O que é fusível?

JBoss Fuse é uma solução ESB de código aberto da Redhat. É uma solução empresarial baseada no projeto da comunidade, Apache Servicemix.

Integração para Fusível

O JBoss Fuse é uma plataforma de integração leve e flexível que permite a integração rápida de aplicativos corporativos.

O Fuse foi inicialmente desenvolvido pela Progressive software Inc., que foi adquirida pela Redhat em 2012. JBoss Fuse 6.1.0.redhat-379 GA é uma versão estável do Fuse que pode ser baixada de seu site oficial.

Arquitetura

A Fuse combina várias tecnologias em um único produto.

Componentes

Apache CXF

Apache CXF é uma estrutura de desenvolvimento de serviços da web de código aberto que também oferece suporte ao desenvolvimento de serviços da web SOAP e Rest.

Apache Camel

Apache Camel é uma estrutura de integração baseada em EIP. Os padrões EIP ou Enterprise Integration são soluções identificadas para os problemas recorrentes na Enterprise Integration. Uma solução de integração completa pode ser alcançada meteoricamente com combinações desses padrões predefinidos prontos para uso.

Ele permite escrever a lógica de roteamento em várias linguagens específicas de domínio como Java, Spring DSL e Scala etc.

Apache AMQ

Apache AMQ é um JMS que fornece um sistema de mensagens confiável de acordo com os padrões JMS. Ele não apenas suporta a especificação JMS, mas também fornece alguns recursos interessantes e úteis que não estão incluídos nas especificações JMS.

Apache Karaf

Apache Karaf é um contêiner OSGi leve que atua como tempo de execução para os artefatos. O Apache Karaf é mais dinâmico por natureza em comparação com o JVM. Ele permite instalar ou desinstalar módulos em tempo de execução. Todos os artefatos no Fuse são implantados no Karaf.

Tecido

O Fabric fornece uma maneira fácil de gerenciar implementações de artefatos em um ambiente grande e distribuído. Ele fornece gerenciamento centralizado para todas as instâncias de fusíveis múltiplas.

Instalando Fusível

Instalar o Fuse é bastante simples. Como outros produtos JBoss, o Fuse vem como um arquivo zip que pode ser extraído e, após algumas pequenas alterações na configuração, pode ser iniciado diretamente.

A instalação do fusível é um processo de quatro etapas -

Baixar

Baixe o Fuse 6.1.0 GA no link a seguir. http://www.jboss.org/

Descompactar

Como todos os outros produtos JBoss, o Fuse também é um zip independente de plataforma.

Descompacte o arquivo baixado no diretório de destino que você deseja que seja o diretório de instalação do Fuse. Escolha este diretório com sabedoria, pois ele deve permanecer o mesmo durante a vida útil da instância do Fuse.

Note - Mesmo que o Fuse descompacte e inicie como outros produtos JBoss, não é recomendado mover a instalação do Fuse de um local para outro após a conclusão da instalação.

Configurar

Depois de descompactar o Fuse, você encontrará os seguintes diretórios dentro do diretório extraído -

  • bin
  • etc
  • deploy
  • lib
  • licenses
  • extras
  • quickstarts

Dos quais usaremos apenas dois diretórios bin E etc.

Praticamente depois de extrair o Fuse, devemos ser capazes de iniciar o Fuse diretamente, mas isso iniciará o Fuse com todas as configurações padrão, o que não é aconselhável para ambiente de produção. É altamente recomendável fazer as seguintes alterações antes de iniciar o Fuse.

Definir variáveis ​​de ambiente

  • Defina as seguintes variáveis ​​de ambiente - JAVA_HOME

  • A variável deve apontar para o diretório de instalação java - M2_HOME

  • A variável deve apontar para o diretório de instalação do Maven - PATH

  • Defina a variável de caminho para incluir executáveis ​​Java e Maven.

janelas

No Windows, as configurações podem ser feitas seguindo as instruções fornecidas abaixo -

Iniciar → Meu computador → Clique com o botão direito → Propriedades → Configurações avançadas do sistema → Variáveis ​​de ambiente.

UNIX e clones

Para cada usuário, há um perfil bash no *nixsistemas operacionais. Podemos adicionar ou editar a variável de sistema existente, alterando este arquivo.

$ vi ~/.bash_proflle

Note- Quaisquer alterações neste arquivo são permanentes. É altamente recomendável fazer um backup do arquivo existente antes de alterar o original.

Configuração básica

Vamos discutir sobre a configuração básica do JBoss Fuse e para isso temos que começar com o seguinte comando Edit $FUSE_INSTALLATION_DIR/etc/

  • Dentro user.properties

    • #admin=admin,admin

    • Isso precisa ser alterado de acordo com o primeiro administrador com o nome de usuário que queremos, o segundo administrador com a senha, o terceiro pode ser mantido como está porque indica uma função e não se esqueça de remover #

    • Por exemplo - FuseAdmin = FusePAss, admin

  • Dentro System.properties

    • karafName = root

      • Isso indica o nome que você deseja dar à instância Karaf.

      • Podemos nomeá-lo como quisermos, como Cont1.

      • Certifique-se de que o nome fornecido seja exclusivo e não esteja sendo usado por outra instância do Fuse.

  • Dentro org.ops4j.pax.web.cfg

    • Org.osgi.service.http.port = 8181

    • Esta propriedade indica a porta que deve ser usada para acessar a interface HAWTIO baseada em navegador fornecida pela Fuse

    • HAWTIO é uma interface de navegador embutida para Fuse que está disponível a partir de 6.0

  • Dentro org.ops4j.pax.url.mvn.cfg

    • org.ops4j.pax.url.mvn.localRepository = D: / repositório

    • Esta propriedade indica o caminho para localRepository de nosso Maven de onde o Fuse instalará seus artefatos.

    • org.ops4j.pax.url.mvn.settings = D: /Maven/conf/settings.xml

    • Esta propriedade indica settings.xml que o Fuse deve usar para obter artefatos do Maven.

Configurando Maven

Maven é um pré-requisito para instalar o Fuse. Se você não sabe o que é maven, consulte

Maven é uma ferramenta construída usada para construir artefatos Fuse. O Fuse primeiro procura no repositório local Maven por artefatos quando emitimos o comando para instalar o artefato. Portanto, devemos informar ao Fuse onde o Maven está instalado e o caminho do repositório local do Maven.

Editar $ FUSE_INSTALLATION_DIR / etc /org.ops4j.paxurl.mvn.cfg

Atualize as duas propriedades a seguir -

  • org.ops4j.pax.url.mvn.settings = $ M2_HOME / conf /settings.xml
  • org.ops4j.pax.url.mvn.localRepository = $ local_repo

Note - Por favor mude $local_repo com o caminho real do seu repositório local mencionado em Mavens settings.xml.

Corre

Depois de fazer alterações básicas na configuração, podemos iniciar o Fuse. Todos os arquivos binários para trabalhar com o Fuse estão localizados em$FUSE_INSTALLATION_DIR.

Existem duas maneiras de iniciar o Fuse -

  • Usando ./fuse

    • Isso permitirá que você veja todo o progresso e os registros na mesma janela em que iniciou o Fuse.

    • Ele lhe dará o console Karaf no mesmo terminal mostrado abaixo.

Note- Isso iniciará o fusível no modo de console, o que significa que o processo do fusível também será interrompido quando o usuário fizer logout da sessão ou fechar o terminal, o que não é desejável no cenário de produção ou desenvolvimento. Este script deve ser usado apenas para depurar o Fuse.

  • Usando ./start

    • Isso não mostrará nenhum log na tela, nem mesmo o progresso, mas iniciará o Fuse em segundo plano e o serviço Fuse não será interrompido quando o usuário sair da sessão ou fechar o terminal.

    • No aplicativo do mundo real, esse tipo de comportamento é desejado. O fusível deve estar funcionando em segundo plano, mesmo se fecharmos o terminal.

    • Se você deseja se conectar ao Fuse rodando em segundo plano, você pode usar client script que está localizado na mesma pasta.

    • Você deve obter a exibição conforme mostrado na imagem a seguir.

    • Sair do script do cliente não interromperá o serviço Fuse. Isso simplesmente fechará o console do Fuse.

HAWTIO

O Fuse também fornece acesso GUI completo a ele usando FMC (console de gerenciamento do Fuse). Você pode encontrar a GUI no URL abaixohttp://localhost:8181.

Tudo o que fizemos executando comandos também pode ser feito acessando esta GUI baseada em navegador. É extremamente útil quando temos mais de um contêiner e estamos executando em um ambiente Fabric.