- Java Developer Kit (JDK) 1.8
- Maven 3.0.4 ou superior
- ServiceMix
-
Baixe o servicemix no site oficial.
Com o servicemix instalado podemos inicar as configurações básicas necessárias para acompanhar os passos de instalação de cada bundle da arquitetura soft-iot-dlt.
Após baixar e descompactar o Apache ServiceMix é recomendado que ele seja configurado como variável de ambiente. Afim de facilitar o acesso do mesmo em qualquer diretório através do comando servicemix
.
Para fazer isso linux será necessário executar o seguinte comando.
echo "export PATH=$PATH:SERVICEMIX_HOME/bin" >> ~/.bashrc
Atenção: SERVICEMIX_HOME deve ser substituido pelo caminho do diretório onde você descompatou o Apache ServiceMix.
Exemplo:
Caso tenha descompactado o servicemix na pasta /opt/servicemix
então o comando comando ficará:
echo "export PATH=$PATH:/opt/servicemix/bin" >> ~/.bashrc
Reinicie terminal e em seguida execute o comando servicemix
para executar o terminal do servicemix.
...
Esse passo é importante pois é graças a ele que será possivel utilizar os comandos de instalação dos bundles
pertencentes a arquitetura soft-iot-dlt
.
config:edit org.ops4j.pax.url.mvn
config:property-append org.ops4j.pax.url.mvn.repositories ", https://jitpack.io@jitpack.io"
config:update
Tutorial de como fazer um bundle OSGI com o framework blueprint.
É possível gerenciar os bundles OSGI utilizando o terminal para fazer isso utilize os comandos com préfixo bundle
, caso tenha dúvidas utilize o comando bundle --help
para visualizar a lista de comandos disponíveis. Segue abaixo uma tabela com os comandos mais utilizados.
Comando | Ação | Exemplo |
---|---|---|
bundle:list | Lista todos os bundles instalados. | bundle:list |
bundle:install | Instala um novo bundle. | bundle:install mvn:group-id/artifact-id/version |
bundle:unistall | Desistala um bundle. | bundle:unistall <ID> |
bundle:start | Inicia a execução de um bundle. | bundle:start <ID> |
bundle:stop | Para a execução de um bundle. | bundle:stop <ID> |
bundle:restart | Reinicia um bundle. | bundle:restart <ID> |
bundle:diag | Exibe informações que justificam o por que o bundle não está inicalizando | bundle:diag |
Dica: Utilize o webconsole para instalar ou atualizar um bundle recém construido.
O webconsole
é uma interface gráfica web que permite gerenciar os bundles de forma simples. Com ele é possível instalar, remover, iniciar, parar e atualizar bundles.
O processo de instalação do webconsole é simples, bastando apenas Executar o comando abaixo no terminal do ServiceMix.
feature:install webconsole
Para visualizar o webconsole do karaf é necessário acessar a URL abaixo.
http://localhost:8181/system/console/bundles
⚠️ O usuário e senha é "karaf"⚠️
A soft-iot-dlt
é uma arquitetura inspirada e totalmente compatível com a soft-iot (código fonte). Ela surge a partir da ideia de balancear a carga dos gateways
utilizando um algoritimo de balanceamendo distribuido e seguro.
A soft-iot-dlt
é composta por 5 bundles especificos da arquitetura e uma implementação baseada no soft-iot-mapping-devices utilizado na plataforma soft-iot
como demonstrada na imagem abaixo.
Após ter executado o passo 3.2 será possível utilizar o comando abaixo para instalar qualquer bundle da arquitetura.
bundle:install mvn:com.github.larsid/<NOME_BUNDLE>/<VERSION>
Exemplo:
Caso queira instalar a versão master
do soft-iot-dlt-client-tangle
então o comando a ser executado deverá ser:
bundle:intall mvn:com.github.larsid/soft-iot-dlt-client-tangle/master
Alguns bundles possuem dependências de serviços e isso significa que o bundle não será inicializado o serviço que ele precisa não estiver disponivel. Por esse motivo é recomendado os que instale os bundles da soft-iot-dlt
na ordem demonstrada pelo ID da tabela de dependências abaixo.
ID | Bundle | Dependência ID |
---|---|---|
0 | soft-iot-mapping-devices | - |
1 | soft-iot-dlt-id-manager | - |
2 | soft-iot-dlt-client-tangle | - |
3 | soft-iot-dlt-auth | 0 |
4 | soft-iot-dlt-load-balancer | 0, 1, e 2 |
5 | soft-iot-dlt-load-monitor | 0, 1, e 2 |
Tabela de dependências entre bundles
As imagens Docker estão disponibilizadas no Docker Hub, clique em um dos links abaixo para acessá-las.
5.1.1 - soft-iot-base
Imagem com os bundles básicos, utilize o seguinte comando para executá-la:
docker run -i -t -p 1883:1883 -p 8181:8181 -p 1099:1099 -p 8101:8101 -p 61616:61616 -p 44444:44444 larsid/soft-iot-base:<tagname>
Clique aqui para obter mais informações sobre a imagem.
5.1.2 load-balancer
Imagem com os bundles necessários para executar o balancemento de carga. Utilize o seguinte comando para executá-la:
docker run -i -t -p 1883:1883 -p 8181:8181 -p 1099:1099 -p 8101:8101 -p 61616:61616 -p 44444:44444 larsid/load-balancer:<tagname>
Clique aqui para obter mais informações sobre a imagem.
Caso tenha se interessado pela arquitetura soft-iot-dlt e queria saber mais detalhes sobre a implementação clique aqui e conheça o soft-iot-dlt-auth
ponto de entrada de toda à arquitetura.