Visão geral do IBM Mono2Micro
IBM® Mono2Micro™ é um utilitário semiautomatizado para refatorar aplicativos monolíticos Java® em microsserviços que você executa em WebSphere® Application Server Liberty ou Open Liberty. É possível usar o IBM Mono2Micro e as recomendações que ele fornece para gerar automaticamente uma porção significativa de código que você precisa para construir e implementar seus microsserviços
Por meio de análise estática e dinâmica, o IBM Mono2Micro usa seu mecanismo de aprendizado de máquina e uma análise do código do aplicativo monolítico Java para gerar recomendações de partições.. Recomendações de partição são agrupamentos de classes no monolito que podem servir como pontos de partida para os microserviços. As partições recomendadas juntamente com outras informações pertinentes são exibidas em uma UI de ambiente de trabalho intuitiva. Com base em seu conhecimento integrado sobre a linguagem de programação Java , o IBM Mono2Micro também fornece uma análise semântica profunda de chamadas de classe para classe. Ao utilizar a UI do ambiente de trabalho e a análise detalhada, você obtem uma visão clara das recomendações de particionamento, que você pode afinar iterativamente para se adequar às suas necessidades de negócios. Depois de decidir sobre uma recomendação de particionamento específica, é possível executar IBM Mono2Micro para gerar automaticamente uma parte significativa do código que você precisa para construir e implementar as partições recomendadas juntamente com o seu código monolítico existente Depois de revisar o código gerado, é possível continuar a refinar iterativamente as recomendações e gerar o código até ter os microsserviços que deseja. É possível então executar os microsserviços no WebSphere Application Server Liberty ou Open Liberty.
IBM Mono2Micro está disponível como parte do IBM WebSphere Hybrid Edition e IBM Cloud Pak® for Applications.
A jornada do IBM Mono2Micro
Os comandos IBM Mono2Micro fornecem os seguintes recursos.
Para o IBM Mono2Micro analisar seu aplicativo, primeiro execute o comando mono2micro analyze em seu código e, em seguida, execute seu aplicativo com instrumentação para coletar todos os dados a serem analisados.
- Execute o comando mono2micro analyze em seu arquivo de aplicativos para produzir arquivos JSON de tabela que contenham informações sobre o código como nomes de classe completa, assinaturas de método, variáveis de estado e relações de herança.
- (Opcional) Implementar seu aplicativo com o instrumentador binário ativado.
- (Opcional) Execute o comando mono2micro usecase com seus casos de uso de negócios para produzir um ou mais arquivos JSONs de contexto e arquivos de log para análise.
Para obter as duas opções de refatoração do IBM Mono2Micro, execute o comando mono2micro recommend em seus arquivos coletados anteriormente para obter relatórios e gráfico JSON com as recomendações de partição.
- Coloque arquivos em locais dentro do diretório de entrada para obter recomendações de análise de código estático e, opcionalmente, geração de código.
- Apenas para análise de código estático, coloque os arquivos JSON da tabela (de mono2micro analyze) no local adequado dentro do diretório de entrada...
- Para análise de código estático e geração de códigos, coloque arquivos JSON de tabela (do mono2micro analyze), arquivos de log (do servidor de aplicativos durante a execução de casos de uso de negócios) e o arquivo JSON de contexto (do mono2micro usecase durante a execução de casos de uso de negócios) nos locais adequados dentro do diretório de entrada.
- Execute o comando mono2micro recommend para produzir relatórios e um JSON de gráfico com as abordagens de refatoração
- Coloque arquivos em locais dentro do diretório de entrada para obter recomendações de análise de código estático e, opcionalmente, geração de código.
Execute o comando mono2micro workbench para ativar a UI do ambiente de trabalho onde você pode obter uma compreensão mais profunda do seu aplicativo e suas aulas examinando as duas abordagens de refatoração que são criadas para a sua aplicação. As duas abordagens de refatoração por IBM Mono2Micro são lógicas de negócios e costuras naturais. Essas recomendações foram criadas a partir da análise das chamadas de tempo de execução do seu aplicativo e dependências de dados detectadas. Se nenhuma abordagem for bem o que você deseja, crie e salve um plano para sua própria solução de particionamento customizada.
- Ative a imagem do contêiner de UI do ambiente de trabalho com o comando mono2micro workbench .
- Acesse a UI no seu navegador e carregue o arquivo JSON que é produzido a partir do comando mono2micro recommend .
- Explore abordagens de refatoração.
- (Opcional) Crie e salve o arquivo JSON de opção de refatoração customizado.
Execute o comando mono2micro transform para produzir automaticamente código inaugural para criação de seus microserviços.
- (Opcional) Se você optar por utilizar as sedes naturais ou abordagem de refatoração personalizada, então execute o comando mono2micro refine .
- Execute o comando mono2micro transform para produzir código.
- Edite e implemente código nos ambientes de teste.
Como funciona
A figura a seguir exibe o fluxo de trabalho por meio do IBM Mono2Micro As caixas azuis, que começam com o termo (Action), representam ações do usuário. As caixas não preenchidas, que começam com o termo (File), representam arquivos. As linhas sólidas apontam para as próximas etapas. As linhas tracejadas mostram os usos de arquivos e apontam para as próximas ações ou arquivos do usuário no fluxo de trabalho. O fluxo de trabalho começa com o código de aplicação e, após a análise e geração de código, termina com código iniciador gerado para partições.
IBM Mono2Micro componentes
IBM Mono2Micro é composto pelos seis componentes a seguir, que são exibidos na figura anterior
- Analisador de código (
mono2micro-bluejaycontainer ou binary analyzer .jar) - O comando mono2micro analyze que analisa e opcionalmente instrumentos o código Java de aplicações monolíticas.
- Instrumentador binário (minerva-agent-1.0.jar)
- Um agente Java que instrumentos um aplicativo em execução implementado no servidor de aplicativos.
- Usar gravador de caso (Flicker)
- Execute com o comando mono2micro usecase , um programa Java que registra nomes de casos de uso e horários. Use-o quando executar suites de teste ou casos de teste correspondentes a vários casos de uso de negócios de um aplicativo monolítico Java .
- O motor AI para recomendações de partição (
mono2micro-aiplcontainer) - O comando mono2micro recommend executa o mecanismo AI do IBM Mono2Micro. Ele usa técnicas de aprendizado de máquina no usuário fornecido rastros de tempo de execução e metadados que é obtido a partir do analisador de código-fonte. Ele usa as informações resultantes para gerar recomendações de partição que eventualmente podem se tornar microserviços. Este comando também produz um relatório detalhado para as partições recomendadas.
- UI do ambiente de trabalho IBM Mono2Micro
- O contêiner
mono2micro-uique exibe as recomendações do motor AI quando lançado com o comando mono2micro workbench . As recomendações que são obtidas do mecanismo de IA IBM Mono2Micro são mantidas em seu armazenamento local. Você pode carregar as recomendações na UI do ambiente de trabalho para exibí-las em um visualizador gráfico. Com a UI, é possível modificar as recomendações de partição geradas por IA. - Gerador de código (
mono2micro-cardinalcontainer) O comando mono2micro transform invoca o gerador de código, que possui profundo conhecimento da semântica da linguagem de programação Java . O gerador de código utiliza as recomendações do motor AI para fazer as seguintes coisas:
- Forneça análises de chamada detalhadas das partições recomendadas que podem eventualmente ser implementadas como microserviços.
- Gerar análises de herança detalhadas das partições recomendadas.
- Gere uma parte significativa do código necessário para realizar as partições recomendadas em contêineres.
Você pode fazer o download das ferramentas do Mono2Micro e executá-las em seu computador local.
Etapas para refactoring a um aplicativo monolítico Java
As etapas a seguir descrevem como refatorar um aplicativo monolítico Java usando o IBM Mono2Micro Eles são uma versão mais detalhada da figura anterior.
Algumas das etapas anteriores são explicadas em detalhes em outros tópicos do IBM Mono2Micro .
- A instalação do IBM Mono2Micro inclui aspectos operacionais do IBM Mono2Micro do ponto de vista de um usuário, incluindo requisitos de recursos.
- Coletando dados sobre Java aplicativos monolíticos detalha as etapas necessárias e informações relevantes para concluir as etapas 2a e 2b.
- Obtendo recomendações de partição descreve como executar as etapas 2c e 2de, se necessário, a etapa 3.
- Visualizando recomendações de microsserviço detalha a etapa 2d, incluindo como interpretar e customizar as recomendações de microsserviço geradas IBM Mono2Micro .
- Relatórios incluem mais informações sobre os relatórios de análise de partição e herança produzidos nas etapas 2d e 3.
- Gerando código de início para microsserviços etapa de detalhes 4a para gerar automaticamente o código de microsserviço.