Oracle Service Bus

O Oracle Service Bus é utilizado para conectar, mediar e administrar interações entre serviços e aplicações. Ele está disponível para download no site da Oracle junto com suas dependências.

Nesse artigo vamos utilizar a versão generic 11.1.1.4.0, pois estamos interessados em subir o OSB utilizando uma JVM 64 bits. Para a instalar o OSB, é necessário ter uma base de dados instalada, o WLS, o RCU, o Eclipse OEPE e o SOA Suite. Caso você esteja utilizando a versão 11.1.1.3.0, a instalação do SOA Suite pode ser encontrada aqui.

Estou fazendo a instalação em um Ubuntu 10.10 64 bits com Oracle XE e com os requisitos mínimos para o funcionamento do SOA Suite. Caso tenha algum problema no decorrer da instalação, verifique as configurações feitas nesse artigo. O primeiro passo é instalar o WLS 10.3.4. Faça o download do JAR de instalação e execute-o:

java -jar wls1034_generic.jar

Clique em Next, selecione Create a new Middleware Home, especifique o diretório de instalação e clique em Next. Informe o seu e-mail e senha de suporte (se tiver) e clique em Next. Selecione Typical para a instalação padrão ou Custom se deseja alterar algum componente ou incluir exemplos do Coherence e WLS. Escolha ou busque por uma nova instalação do Java e clique em Next. Especifique o diretório de instalação do WLS e do Coherence e clique em Next. Verifique o resumo da Instalação e clique em Next.

 

Oracle Installer - WebLogic 10.3.4.0
Oracle Installer - WebLogic 10.3.4.0

Aguarde a instalação e clique em Finish. Instalação do WLS concluída.

Agora é a hora de configurar a base. Para isso utilizamos o RCU, como não existe uma versão genérica, é necessário instalar uma específica, caso seu sistema operacional não seja suportado, você pode executá-lo de outra máquina, sendo apensa necessário especificar o ip e a porta da localização do banco de dados. Apesar do meu Linux ser 64 bits, a versão 32 bits do RCU funciona sem maiores problemas. Decompacte o RCU e execute-o:

./rcuHome/bin/rcu

Clique em Next, escolha a opção Create e clique em Next. Informe os dados de conexão e clique em Next.

 

Repository Creation Utility - Step 2 of 7 : Database Connection Details
Repository Creation Utility - Step 2 of 7 : Database Connection Details

Irá aparecer uma mensagem que não é uma versão suportada de banco de dados, clique em Ignore. Isso ocorre porque o XE não é uma versão suportada pela RCU. Clique em OK. Escolha os componentes que deseja instalar. Para o XE as opções Oracle Identity Manager, Oracle Adaptive Access Manager e AS Common Schemas/Enterprise Scheduler Service não funcionam corretamente. Para agilizar você também pode desmarcar a opção Portal. Esses esquemas podem ser criados posteriormente e removidos também utilizando novamente o RCU. Caso você já tenha uma base RCU anterior (que é o meu caso), altere o prefixo da nova, selecionando Create a new Prefix e especifique um diferente do existente e clique em Next.

 

Repository Creation Utility - Step 3 of 7 : Select Components
Repository Creation Utility - Step 3 of 7 : Select Components

Clique OK para continuar. Especifique uma senha para os esquemas e clique em Next. Entre com as configurações para as variáveis e clique em Next. Como a base XE possui limite na criação das tablespaces, você deve alterar o tamanho para valores menores. Clique em Manage Tablespaces e selecione cada tablespace para que o "SIZE(MB)" não ultrapasse os 4GB. Algumas tablespaces possuem limite mínimo de tamanho. Uma solução mais fácil é remover instalações anteriores de SOA Suite pelo próprio RCU (opção Drop) ou outros tablespaces da base. Após configurar os tablespaces, clique em Next e Create. Aguarde um bom tempo para criação das tabelas e clique em Close.

Base configurada, o próximo passo é a instalação do SOA Suite.Descompacte os dois arquivos do SOA. Execute o arquivo runInstaller do arquivo1/disco 1.

./Disk1/runInstaller

Informe a localização do JDK. Aguarde o carregamento do instalador. Clique em Next. Informe seu usuário e senha para updates ou selecione Skip Software Updates e clique em Next. Se o seu sistema operacional não for certificado, clique em Continue, caso contrário, clique em Next. Especifique o Middleware Home para o mesmo caminho da instalação do WLS e clique em Next.

 

Oracle Fusion Middleware 11g SOA Suite Installation - Step 5 of 8
Oracle Fusion Middleware 11g SOA Suite Installation - Step 5 of 8

Verifique se foi encontrado o WLS. Nessa nova versão existe o suporte ao IBM Websphere também. Clique em Next. Clique em Install e aguarde a instalação. Informe a localização do disco 3 se você descompactou em diretórios diferentes.

Disk change dialog
Disk change dialog

Faça o mesmo com o disco 4 e 5. Clique em Next e Finish para finalizar a instalação.

Faça o download do Eclipse OEPE para sua plataforma. Descompacte o arquivo em uma pasta de sua preferência. Eu coloquei dentro da pasta Middleware mesmo.

Faça o download do Oracle Service Bus, descompacte o arquivo e execute o instalador.

./Disk1/runInstaller

Especifique o caminho do JDK e aguarde a abertura do instalador. Clique em Next. Informe seu e-mail e senha do suporte para atualizações ou selecione Skip Software Updates e clique em Next. Especifique o Middleware Home (o mesmo do WLS e SOA Suite), clique em Next. Escolha a opção Typical para a instalação do OSB no ORACLE_HOME ou custom para alterar o local de instalação e clique em Next. Se o seu sistema operacional não for certificado, clique em Continue, caso contrário, clique em Next. Informe a localização do WLS e do OEPE e clique em Next.

 

Oracle Service Bus 11g Installation - Step 7 of 9
Oracle Service Bus 11g Installation - Step 7 of 9

Verifique o resumo e clique em Install. Aguarde a instalação e clique em Next e Finish para finalizar.

Pronto! Produtos instalados, agora vamos à criação do domínio. Você realizar essa tarefa executando o script: <DIR DO SOA SUITE>/Middleware/wlserver_10.3/common/bin/config.sh ou pelo OEPE. Como foi instalado o OEPE, nós vamos realizar e configurar o domínio por ele. Para essa etapa, abra o OEPE, executando o arquivo eclipse dentro da pasta do OEPE. Escolha o workspace e após abrir o Eclipse, selecione Window, Show View, Other... digite Servers, selecione o resultado e clique OK. Na nova view aberta, clique com o botão direito, New, Server. Escolha a opção Oracle WebLogic Server 11gR1 PatchSet 3 e clique em Next.

 

New Server
New Server

Clique no link: Click here to launch Configuration Wizard to create a new domain. Na nova janela aberta, selecione Create a new Weblogic domain, clique em Next. Nessa tela há a opção para developers. Essa opção é ideal para criar um único servidor ao invés de um admin server e outro managed. Essa opção é altamente não recomendada em produção, mas facilita bastante no desenvolvimento e consumo de memória. O SOA Suite não é obrigatório, mas como eu vou utilizar em meus projetos, configurei ele no meu domínio. Então minha configuração foi a seguinte:

  • Basic Weblogic Server Domain
  • Oracle SOA Suite for developers
  • Oracle Service Bus OWSM Extension
  • Oracle Enterprise Manager
  • Oracle Service Bus for developers
  • Weblogic Advanced Web Services for JAX-RPC Extension
  • Oracle WSM Policy Manager
  • Oracle JRF

Clique em Next.

Fusion Middleware Configuration Wizard
Fusion Middleware Configuration Wizard

Especifique o nome do domínio e as localizações do domínio e aplicações. Clique em Next. Insira o nome do usuário administrador e sua senha, clique em Next. Selecione o startup mode (Development mode, no meu caso), o JDK e clique em Next. Configure as bases com o que foi feito na etapa do RCU e clique em Next. Ignore o teste do OSB JMS Reporting Provider se você estiver utilizando a base de demonstração (derby). Clique em Next, Next e Create. Após a criação, clique em Done.

Voltando ao Eclipse OEPE, coloque o Domain Directory do domínio que foi criado e clique em Finish. Para iniciar o domínio é só selecionar com o botão direito e clicar em Start.

Se ao iniciar o domínio você tiver algum erro parecido com esse:

oracle.mds.lcm.exception.MDSLCMException: MDS-01330: unable to load MDS configuration document
MDS-01329: unable to load element &amp;amp;quot;persistence-config&amp;amp;quot;
MDS-01370: MetadataStore configuration for metadata-store-usage &amp;amp;quot;soa-infra-store&amp;amp;quot; is invalid.
ORA-04063: package body &amp;amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&amp;amp;quot; has errors
ORA-06508: PL/SQL: could not find program unit being called: &amp;amp;quot;DEV_MDS.MDS_INTERNAL_SHREDDED&amp;amp;quot;
ORA-06512: at line 1

É só você recompilar as packages do pacote que está com erro. No caso acima é o DEV_MDS.MDS_INTERNAL_SHREDDED, mas também tive na DEV_MDS.MDS_INTERNAL_COMMON e DEV_MDS.MDS_INTERNAL_UTILS. Por algum motivo eles não são compilados no Oracle XE na instalação (RCU). Acesse: http://localhost:7001/sbconsole para verificar se a instalação e criação do domínio foi bem sucedida.

 

Oracle Service Bus : Dashboard - SLA Alerts - Mozilla Firefox
Oracle Service Bus : Dashboard - SLA Alerts - Mozilla Firefox

Outra recomendação é configurar o Listen Address do weblogic acessando o console: http://localhost:7001/console dentro do nó Environment/Servers do seu domínio para um IP e alterar o localhost do Eclipse para esse mesmo IP. Se aparecer a mensagem [ERROR] AdapterManager - ServletContainerAdapter manager not initialized correctly no log, pode ignorar, pois é um bug conhecido que consiste na exibição incorreta dessa mensagem.

Com a instalação do OSB, também foi configurado o plugin do OSB no OEPE. Agora é só começar o desenvolvimento. O Hello World fica para um próximo post! 🙂

Sobre: Thiago Galbiatti Vespa

Thiago Galbiatti Vespa é mestre em Ciências da Computação e Matemática Computacional pela USP e bacharel em Ciências da Computação pela UNESP. Coordenador de projetos do JavaNoroeste, membro do JCP (Java Community Process), consultor Oracle, arquiteto de software de empresas de médio e grande porte, palestrante de vários eventos e colaborador de projetos open source. Possui as certificações: Oracle Certified Master, Java EE 5 Enterprise Architect – Step 1, 2 and 3; Oracle WebCenter Portal 11g Certified Implementation Specialist; Oracle Service Oriented Architecture Infrastructure Implementation Certified Expert; Oracle Certified Professional, Java EE 5 Web Services Developer; Oracle Certified Expert, NetBeans Integrated Development Environment 6.1 Programmer; Oracle Certified Professional, Java Programmer; Oracle Certified Associate, Java SE 5/SE 6