Oracle SOA Suite 12c – novidades desta nova versão

A mais nova versão lançada pelo Oracle do SOA Suite, a 12c, apresenta muitas novidades e promete melhorias em desempenho e interface. Neste artigo apresentamos uma visão geral das novidades apresentadas pela Oracle, baseada no documento disponibilizado pela empresa nomeado “What’s New in Oracle SOA Suite 12c”.

Introdução

O aumento inevitável da complexidade das integrações e novos desafios apresentados pelo mundo atual, como a integração com as aplicações na nuvem, com os dispositivos móveis e a Internet das Coisas (“Internet of Things”, IoT), foram os pilares para o desenvolvimento desta nova versão. O Oacle SOA Suite 12c foi desenvolvido com foco na simplificação das integrações destes desafios em uma única plataforma baseada em padrões de mercado.

Integração com a nuvem

O recentemente lançado Oracle Cloud Adapters simplifica a integração das aplicações na nuvem com a infraestrutura já existente, oferecendo, além de conectividade baseada em padrões, bases para auditorias, conformidade, segurança e governança.

Eles permitem que o desenvolvedor não precise desenvolver lógicas específicas para gerenciar as conexões, focando na lógica de negócio. Para a criação dos adapters, são oferecidos assistentes com opções e configurações.

Em resumo, a maioria das nuances da integração com as aplicações na nuvem, tais como gerenciamento de sessão, tratamento de arquivos WSDL complexos e segurança são tratadas pelo próprio adapter, reduzindo a possibilidade de erros, o ciclo de desenvolvimento e o custo de manutenção.

Também foi disponibilizado o Cloud Adapter SDK, onde é possível criar o seu próprio adapter utilizando a mesma ferramenta usada pela Oracle. Ela oferece um conjunto de APIs, tanto para situações em tempo de projeto quanto em tempo de execução.

Dispositivos móveis

Atualmente os usuários exigem a possibilidade de utilizar seus smartphones e tablets para acessar os dados corporativos e aplicativos de negócio, onde e quando quiserem. Para ajudar nesta mudança de paradigma, o Representational State Transfer (REST) e o JavaScript Object Notation (JSON) surgiram como padrões dominantes para expor serviços e APIs para dispositivos móveis.

O Oracle SOA Suite 12c incluiu o REST bindind no JDeveloper para simplificar a exposição das implementações tradicionais do SOA Suite para dispositivos móveis. Ele está disponível para os composites SOA e para os serviços do Service Bus, permitindo expor interfaces e invocar serviços REST externamente.

Internet das Coisas (IoT)

Os dispositivos e aparelhos estão se tornando cada vez mais conectados, e a internet das coisas está se fazendo muito presente. Neste cenário, o Middleware atua como uma ponte entre os dispositivos e as aplicações corporativas.

Processamento de eventos é parte integrante desse tipo de plataforma, pois grande quantidade de dados são enviados dos dispositivos e é essencial distinguir que dados são importantes e quais não são.

O Oracle Event Processing (OEP) vem com a promessa de análise em tempo real e dados em alta velocidade, se tornando uma solução para construir aplicações IoT para filtrar, correlacionar e processar os eventos. Nesta nova versão, a Oracle integrou mais fortemente a plataforma OEP com o Oracle Service Bus (OSB) e com o Oracle SOA Suite Event Delivery Network (EDN).

Managed File Transfer

O Oracle Managed File Transfer (Oracle MFT) é um produto novo desta versão, que permite trocas de arquivo seguras, gerenciamento entre departamentos internos e parceiros externos e facilidade de uso, especialmente por pessoal não técnico. As suas capacidades de relatório permitem obter um status da transferência do arquivo e o seu reenvio, se necessário.

B2B

O Oracle B2B 12c foi integrado mais fortemente com o Oracle SOA Suite e Oracle Managed File Transfer. Os usuários do B2B podem enviar e receber mensagens no Oracle B2B utilizando o Managed File Transfer, além da possibilidade da transmissão de documentos grandes. Para melhoria de gerenciamento e monitoramento, o B2B foi integrado com o SOA Error Hospital, comentado posteriormente. Para simplificar a experiência dos usuários que utilizam Web Services no B2B, foi adicionado o suporte ao Local Policy Attachment para configuração de segurança de Web Services.

Melhoramentos para produtividade

  • Instalação rápida: o processo foi simplificado, e para ambientes de desenvolvimento oferece uma base onde todos os componentes do SOA Suite são instalados, além do JDeveloper com o servidor WebLogic integrado e todas extensões .
  • Interface unificada de desenvolvimento: foi dado um passo para integrar os componentes do Oracle SOA Suite, Oracle Service Bus (OSB) e o Oracle Event Processing (OEP). Foram criadas interfaces e editores no JDeveloper para o desenvolvimento de projetos do OSB e OEP integrados e compartilhando recursos já presentes anteriormente.
  • Templates: novos recursos que ampliam a possibilidade de compartilhamento e reuso de serviços e componentes, permitindo a customização de modelos de projetos, de componentes, de grupos de atividades em um processo BPEL e pipeline do OSB.
  • Subprocessos BPEL: promovem o reuso e compartilhamento de fragmentos da lógica de negócio, que podem ser inline (dentro de um processo BPEL) ou standalone (externo).
  • Melhoramentos no depurador: foi incluído no JDeveloper um depurador visual, como um depurador java, que permite definir pontos de parada nos composites SOA, processos BPEL e pipeline do OSB.
  • Melhoramentos nos testes: o SOA Suite test framework foi aprimorado, onde as entradas e saídas podem ser geradas automaticamente ou carregadas de um arquivo, mensagens podem ser verificadas, serviços externos e falhas podem ser emuladas e os testes podem ser rodados diretamente do JDeveloper, mostrando relatórios detalhados de cada rodada de testes.
  • Novos adapters: novos adapters de aplicação e tecnologia estão disponíveis nesta nova versão. Eles são o Oracle Adapter for SAP R/3, Oracle Adapter for JD Edwards World, Coherence Adapter, Oracle Adapter for MSMQ, Oracle Adapter for LDAP e o melhorado UMS Adapter.
  • Novas funcionalidades nos adapters: foi ampliado o suporte ao SOA Suite, Service Bus e projetos BPM, ativação e desativação agendada, integração com o depurador, monitoramento e diagnóstico no Enterprise Manager Fusion Middleware Control (EM).
  • Tradução e transformação de dados: foi estendida a habilidade de tradução do native XSD (nXSD) para os processos BPEL, Service Bus e Mediador. Inclui também um novo editor para XQuery, fornecendo uma visão bidirecional para a construção de módulos e bibliotecas XQuery 1.0. Houve também aprimoramentos no XSLT Mapper, permitindo o uso do Design View para lógicas maiores e mais complexas, a introdução de duas novas visões (Map View e XSLT View), entre outros melhoramentos.

 Melhoramentos de gerenciamento

  • Gerenciamento dos projetos OSB: todas as operações e tarefas de gerenciamento do OSB foram movidas para o Enterprise Manager Fusion Middleware Control, porém as configurações dos serviços continuam disponíveis no Service Bus Console juntamente com o JDeveloper.
  • Melhoramentos no Enterprise Fusion Middleware Controlforam implementadas mudanças para melhorar a responsividade e simplificar a administração e o tratamento de problemas diários. Entre as mudanças estão o redesenho do dashboard SOA principal, o melhoramento das pesquisas, a prevenção ao carregamento inicial de dados excessivos e o melhoramento no rastreamento das instâncias (incluindo Service Bus, B2B e Managed File Transfer). Também foi criado o Error Hospital para agregar as instâncias que geraram falhas, baseado em vários critérios, permitindo assim realizar ações corretivas coletivamente.
  • Alertas de notificação de falhas: alertas de falha podem ser enviados aos administradores automaticamente, ou por agendamento, por vários canais de comunicação como e-mail e SMS.
  • Melhoramentos para desempenho: esta nova versão utiliza os gerenciadores de trabalho do servidor WebLogic. Isto simplifica a configuração e permite ao SOA efetivamente utilizar os recursos disponíveis. Esta versão também fornece perfis de banco de dados pré-ajustados para automaticamente habilitar características de desempenho apropriadas, baseadas no tamanho esperado dos dados.
  • Enterprise Scheduler Service: novo componente que permite agendar a execução de componentes SOA ou serviços. Também pode ser utilizado para ativar ou desativar adapters que estão realizando pooling em horários específicos.
  • Integração contínua: esta versão fornece um plugin Maven que permite os times de desenvolvimento criar, construir, empacotar e realizar deploy de projetos SOA. Através do Maven, um servidor de integração contínua pode ser utilizado para gerenciar os projetos SOA.

 Melhoramentos adicionais

  • Criptografia de informações pessoais: devido ao Enterprise Manager Fusion Middleware Control expor as mensagens aos administradores, foi adicionada a possibilidade de realizar a criptografia de campos específicos da mensagem.
  • Fault Policy Editor no BPEL: nesta versão as politicas de falhas podem ser configuradas utilizando a interface visual Fault Policy Editor.
  • SOA Design-Time Meta Data Services Repository: foi criado um repositório MDS baseado em arquivos para ser usado em tempo de desenvolvimento. Ele é automaticamente configurado quando a aplicação SOA é criada.
  • Aceleração da inicialização: novos perfis modulares permitem iniciar a plataforma SOA em subconjuntos de funcionalidades, reduzindo o tempo médio de inicialização da plataforma. Outra novidade quanto a isso é a possibilidade de realizar o carregamento dos composites apenas quando utilizados.
  • Re-sequencer no Service Bus: este recurso permite que o Service Bus ordene as mensagens baseado em uma informação sequencial ou cronológica.

 

Uso do MDS (MetaData Service) no Oracle SOA Suite

O Oracle SOA Suite, solução da Oracle para integração de sistemas e automação de processos, na sua versão 11g, trouxe muitas novidades, se compararmos com a versão 10g. Uma delas foi o MDS, ou o MetaData Service. Nesse post vamos falar sobre ele, procurando esclarecer para que serve e como utilizá-lo.

Definição
O MDS é um repositório unificado para armazenamento de arquivos (metadados) usados nos projetos do SOA Suite. Quando, por exemplo, um projeto BPEL ou BPM é implementado (deploy) os seus arquivos são armazenados no MDS.

Além disso, é possível utilizar o MDS para outros fins, como, por exemplo, compartilhar artefatos comuns entre os vários projetos, sejam eles schemas XML (XSD), arquivos EDL, DVM ou WSDL.

Porque usar o MDS para artefatos comuns?
O MDS provê maior segurança e melhor manutenção dos artefatos comuns aos projetos do SOA Suite. Existe total compatibilidade com o JDeveloper (IDE de desenvolvimento) para visualizar o conteúdo do repositório e total compatilidade do EM para a sua manutenção.

Um exemplo de situação que justifica o uso do MDS é quando um arquivo XSD é compartilhado por vários projetos, o que ocorre com certa freqüência quando utilizamos modelos canônicos. Ter uma cópia desse arquivo em cada projeto pode gerar um problema de manutenção (pensemos que, cada nova versão do arquivo deveria ser replicada 10, 20 vezes, dependendo da quantidade de projetos envolvidos na integração). Se utilizamos o MDS, os projetos envolvidos farão uma referência para ele no repositório e, sempre que o arquivo XSD for atualizado, automaticamente todos os projetos também estarão atualizados.

Como utilizar o MDS
Existem duas versões do MDS: uma armazenada em forma de arquivos e outra registrada no banco de dados (servidor). A primeira é usada para o desenvolvimento e pode ser salva, por exemplo, num repositório subversion (GIT, SVN, CVS, TFS, etc), de forma que todos os desenvolvedores tenham acesso ao conteúdo.

A versão do banco de dados, por sua vez, será aquela utilizada pelo servidor SOA Suite, que estará rodando sobre um server Weblogic. Assim será necessário implementar (deploy) o conteúdo dos arquivos no banco de dados para que o servidor tenha acesso ao conteúdo atualizado pelos desenvolvedores.

Cada projeto utiliza um padrão próprio para implantação (deploy) dos projetos no servidor SOA Suite. Esse artigo explica como criar a árvore de arquivos e como atualizar o MDS da maneira nativa, ou seja, via JDeveloper.

Uma vez que o MDS esteja configurado e com o conteúdo armazenado, a referenciação dentro do projeto é bastante simples, bastando informar, na localização, o caminho completo dentro do MDS e incluindo o prefixo oramds. Veja no exemplo:

  • Para referenciar o XSD que está no caminho apps/MyCannonical: oramds:/apps/MyCannonical.xsd
  • Para referenciar um WSDL:

 

Utilizar o MDS em projetos SOA Suite é uma opção de arquitetura que pode simplificar muito o desenvolvimento. Porém, é necessário que exista um forte controle das atualizações dos arquivos locais e do banco de dados. Trabalhar com multi-desenvolvedores também pode causar algum tipo de transtorno caso isso não ocorra.

Podem haver problemas, também, no uso compartilhado do conteúdo do repositório. Indispensável dizer que deve haver uma preocupação muito grande quando esses artefatos forem atualizados, evitando incompatibilidade com outros projetos.