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.