Conectando Mundos: Como Integrei OSB, Lambda, API Gateway e DynamoDB Usando LocalStack
A modernização de arquiteturas tem sido uma prioridade nas empresas que buscam eficiência, baixo custo e maior flexibilidade. Porém, quando lidamos com tecnologias legadas — como Oracle Service Bus (OSB) dentro de um container WebLogic — o caminho nem sempre é simples. A combinação entre ferramentas antigas e novas práticas de cloud pode gerar conflitos inesperados, desafios técnicos e atrasos no desenvolvimento.
Este artigo apresenta a construção de uma arquitetura híbrida composta por OSB (em Docker com WebLogic), API Gateway, AWS Lambda e DynamoDB, utilizando LocalStack como ambiente completo de simulação da AWS para evitar custos. Além disso, descreve não só o lado técnico, mas também a jornada emocional de enfrentar dificuldades com o WebLogic/JDeveloper e, ao final, sentir a gratificação de ver tudo funcionando de ponta a ponta.
O Desafio do OSB no Docker com WebLogic e JDeveloper
Antes mesmo de tocar em Lambda, API Gateway ou DynamoDB, o primeiro grande obstáculo foi montar o ambiente OSB dentro de um container Docker com WebLogic. Embora existam imagens base disponíveis, trabalhar com OSB exige:
- Configuração manual de domínios WebLogic
- Controle de bibliotecas específicas
- Deploy de composites e pipelines OSB
- Dependência profunda do JDeveloper, cujo ciclo de vida é lento e repleto de fricções
Além disso, o ambiente OSB/JDeveloper costuma esbarrar em diversos problemas:
- Conflitos de versão de JVM e WebLogic
- Plugins JDeveloper instáveis
- Dependência de bibliotecas antigas
- Builds que exigem scripts Ant difíceis de adaptar
- Erros genéricos durante deploy, exigindo logs extensos para debugging
O que posso dizer com relação aos problemas enfrentados é que o projeto se tornou algo mais desafiador do que esperado o que acabou motivando ainda mais a implementação do mesmo. Não vou dizer que tive não tive vontade de desistir algumas vezes, mas ao final penso o quanto acabamos aprendendo ainda mais com as dificuldades e se estiver passando por algo parecido o que posso dizer é: NÃO DESISTA!
Construindo a Arquitetura no LocalStack
Com o OSB rodando em Docker, a próxima etapa foi integrar a solução ao ecossistema que simula a nuvem AWS. Para isso, o LocalStack foi essencial, permitindo replicar serviços sem custo.
A arquitetura ficou assim:
· OSB (Docker/WebLogic) para orquestrar e expor serviços SOAP/REST internos
· API Gateway (LocalStack) simulando a camada pública da API
· AWS Lambda (LocalStack) processando lógica de negócio
· DynamoDB (LocalStack) armazenando dados com persistência simples e rápida
API Gateway
Configurado para receber requisições externas e acionar a Lambda. Tudo funcionando localmente com comandos como:
awslocal apigateway create-rest-api --name "api-osb"
Lambda
A Lambda era responsável por:
· Receber dados do API Gateway
· Processar informações vindas do OSB
· Inserir/consultar registros no DynamoDB
Deploy local foi simples através do LocalStack: awslocal lambda create-function ...
DynamoDB
Criado com persistência em volume local, sem custo e de forma extremamente rápida.
- awslocal dynamodb create-table ...
Integração Entre OSB e a Arquitetura Serverless
A parte mais crítica foi a implementação do OSB, pois algumas versões da imagem do weblogic não possuía a ferramentas completas para poder subir o weblogic. Isso exigiu:
- Ajustes de versões entre o JDeveloper e a imagem baixada no Docker do weblogic
- Configuração de pipelines OSB para invocar endpoints REST do API Gateway
- Criação de handlers personalizados para manipular respostas da Lambda
- Testes constantes devido à inconsistência de bibliotecas do JDeveloper
Esse processo revelou o quanto OSB e cloud possuem filosofias distintas. Enquanto o OSB exige configurações detalhistas e muitas vezes manuais, AWS/LocalStack favorecem simplicidade e automação.
A jornada de construir uma arquitetura híbrida envolvendo OSB, WebLogic, JDeveloper, API Gateway, Lambda e DynamoDB usando LocalStack foi marcada por desafios técnicos intensos. O OSB rodando em Docker, especialmente com WebLogic, trouxe dificuldades de compatibilidade, conflitos de versão e um ciclo de desenvolvimento mais lento. A integração com JDeveloper exigiu persistência, troubleshooting e conhecimento profundo das ferramentas Oracle.
Por outro lado, a construção da camada serverless com LocalStack trouxe leveza e agilidade, permitindo criar e testar serviços sem gastar um centavo na AWS.
E quando finalmente tudo funcionou, o OSB processando uma requisição, chamando o API Gateway, invocando a Lambda e persistindo dados no DynamoDB o sentimento foi de pura gratificação. A arquitetura provou que é possível unir mundos diferentes, superar barreiras tecnológicas e entregar uma solução moderna, eficiente e totalmente replicável.
Foi difícil, sem dúvida. Mas ver a integração completa funcionando de ponta a ponta fez cada obstáculo valer a pena.



