Você está na página 1de 11

Repositrio de Servios

Marcos Roberto Spiazzi Professor(a) Orientador(a): Marclio Oliveira Faculdade Instituto Brasileiro de Tecnologia Avanada - IBTA MBA Engenharia de Software Orientada para Servio (SOA)

RESUMO
Este artigo fala sobre Governana SOA, mais especificamente sobre repositrios de servios, o que um servio, quais as vantagens de se ter um repositrios de servios e mostra os principais fornecedores e suas ferramentas para repositrios de servios alm das principais caractersticas que um repositrio deve ter para atender de forma satisfatria uma governana SOA. Mostra tambm, um estudo de caso real em uma empresa de desenvolvimento onde foi feito um levantamento das dificuldades encontradas para a implantao de um repositrio de servios e qual a forma encontrada para que fossem sanados alguns dos problemas encontrados.

Palavras-Chave: Governana SOA, Repositrio de Servios, Reuso de Servios, ROI SOA

1. INTRODUO
As organizaes atuais precisam responder e atender de forma efetiva e rpida s oportunidades do mercado. Uma organizao de mdio e grande porte possui diversos departamentos que em geral utilizam diferentes aplicaes para realizar suas atividades. Estas aplicaes necessitam se comunicar de forma integrada com o objetivo de atingir agilidade e simplificar processos de negcio, tornando-os mais produtivos, frente a crescente e a intensa competitividade do mercado. O grande uso de servios e de seus padres de suporte integrao automatizada de negcios levou a grandes avanos na integrao de aplicaes. Mais notavelmente, a arquitetura orientada a servios (SOA Service Oriented Architecture) apresenta-se como sendo mais flexvel e capaz de suportar servios independentes de plataforma e protocolo em um ambiente distribudo. Servios, do ponto de vista de SOA, so mdulos de negcio ou funcionalidades das aplicaes que possuem interfaces expostas, e que so invocados via mensagens. Por exemplo, em um sistema bancrio teramos os seguintes servios: servio de nomes e endereos, servio de abertura de conta, servio de balano de contas, servio de depsitos etc. Servios correspondem a recursos de software bem definidos atravs de uma linguagem padro, so autocontidos, provm funcionalidades padres do negcio, independentes do estado ou contexto de outros servios.

2. OBJETIVOS
O corrente trabalho teve como foco reunir os principais atributos do repositrio de servios para Governana SOA. Desta forma, pretende-se demonstrar os ganhos e vantagens que uma empresa tem ao utilizar um repositrio de servio e quais as caractersticas principais de um repositrio de servio alm de listar os fornecedores e seus produtos de repositrio de servio. Por fim, para tornar o resultado mais tangvel, foi realizada uma anlise de um cenrio real em busca da possibilidade da implantao de repositrio de servios em uma empresa de software, cujo nome foi preservado ento chamaremos apenas de Empresa X, onde foi possvel avaliar a necessidade real de um repositrio de servios, quais os benefcios, quais as dificuldades que podem encontrar e qual a melhor ferramenta para atender a essa necessidade.

3. METODOLOGIA DE PESQUISA
Trata-se de um trabalho de anlise de uma classe de ferramentas e da sua aplicao em um cenrio corporativo real. Desta forma, a metodologia utilizada para o desenvolvimento deste trabalho teve as seguintes etapas: Etapa 1: Estudo de referncias conceituais sobre a classe de ferramentas em questo. O objetivo dessa etapa foi pesquisar, analisar e apresentar os conceitos, caractersticas e tecnologias relacionadas ao Repositrio de Servios. Etapa 2: Viso prtica apoiada em entrevista. O estudo do cenrio real (Empresa X) envolveu a realizao de entrevistas com time de arquitetura da empresa, analisando a necessidade de ter um repositrio de servios e quais os problemas existentes e os benefcios que poderia trazer empresa.

4. DESENVOLVIMENTO
Boa parte deste trabalho se concentrou no levantamento de ferramentas e suas caractersticas em um cenrio real. A seguir apresenta-se estas caractersticas, bem como suas ferramentas e o cenrio de uso de uma empresa fictcia (Empresa X).

4.1 Repositrio de Servios 4.1.1 O que ?


Repositrio: O repositrio de servios um local onde todos os clientes de um domnio especfico publicam os seus servios. Dessa forma, todos os membros do domnio passam a conhecer os servios disponveis no domnio deles e a forma como podem acess-los. Para clientes fora do domnio, tambm possvel o acesso aos servios mediante a autenticao. Servio: um componente de software que encapsula uma funcionalidade especfica e que disponibiliza uma interface bem definida.

4.1.2 Utilidade
A principal utilidade de um repositrio de servio a governana de servios, no entanto isso depende mais de disciplina e processos do que de tecnologia.

4.1.3 Vantagens
Algumas das vantagens de ter um repositrio de servio que ele traz agilidade e automatiza algumas das atividades como a aumento da visibilidade e capacidade de reutilizar servio.

4.1.4 Alguns consumidores


Vrias empresas conhecidas no mercado utilizam ferramentas de repositrio de servios, isso um sinal de que este processo de governana vem amadurecendo cada vez mais, tornando uma opo vivel a grandes empresas. Vale; Abril; Bradesco Seguros; Vivo; Ipiranga; Porto Seguro.

4.1.5 Principais caractersticas do repositrio


Muitas ferramentas que atendem a necessidade de repositrio de servios possuem semelhanas e tambm seus diferenciais. Sem descrever nenhuma ferramenta especfica, foram levantadas as principais funcionalidades (ou conjunto

mnimo de funcionalidades) esperadas em uma ferramenta focada em Governana SOA. Gesto dos ativos de software A gesto de ativos de software se concentra na identificao de onde os ativos se encontram, como podem ser configurados e como ser utilizados. Os referidos ativos so os servios, componentes, mensagens, esquemas, entre outros. Mecanismos de colaborao Os mecanismos de colaborao se resumem nas ferramentas utilizadas para troca de mensagens como o RSS, emails de alerta, avaliao/feedback e fruns de discusso. Integrao com ambientes de desenvolvimento Esta caracterstica se baseia na integrao da ferramenta com o ambiente de desenvolvimento, onde h um controle de verses. Para isso utilizado a ferramentas de controle de verso do servio. Ciclos de vida Este se refere ao completo gerenciamento de ativos de software onde so gerenciadas as fases do ciclo (Identificao, Produo, Consumo, Manuteno e Aposentadoria). Relatrio e mtricas Aps a utilizao do servio deve ser extrado relatrios referente as mtricas de utilizao, bem como o retorno sobre o investimento de cada ativo gerenciado. Gesto de artefatos Esta uma caracterstica do servio que consiste em manter a gesto e rastreabilidade dos artefatos referente aos ativos. UDDI v.3 UDDI um padro para publicar e descobrir diretrios de servios em uma arquitetura orientada a servio. Conexo com os ESBs Para completar as caractersticas de um repositrio, este deve conter uma conexo com os ESBs para que os ativos possam ser integrados em qualquer plataforma.

4.1.6 Algumas ferramentas


Definido o que servio precisaremos de alguma coisa para controlar todos esses servios disponveis que representam os processos de negcios mais importantes juntamente com todos os componentes reutilizveis, sendo assim fundamental levar em considerao que se devem conhecer as ferramentas existentes no mercado, e dentro dessa ideia escolhemos as principais. Oracle - Oracle Enterprise Repository1

Este repositrio de servio cria uma base slida para o gerenciamento do ciclo de vida do servio e Governana SOA que fornece uma viso abrangente sobre o impacto comercial de projetos e alteraes relacionadas com os servios e outros artefatos de integrao. Alguns dos pontos chaves do Oracle Enterprise Repository so: Visibilidade da Empresa: Dar visibilidade baseada em funes para todos os ativos, independente da fonte, atravs de um sistema de repositrio centralizado para processos de negcios, servios, aplicaes, componentes, modelos, frameworks, polticas, servios e dados. Visibilidade em ativos sob desenvolvimento minimiza a redundncia e promove a colaborao de servios e reutilizao. Rastreabilidade de ponta a ponta: Exibir graficamente e navegar nos ativos, relacionamentos e interdependncias para simplificar a anlise de impacto e garantir o alinhamento de negcios, permitindo que os usurios organizem os ativos ligados aos processos de negcio. Abrangente, Metadados Extensvel: Criar um sistema de registro para todas as informaes de ativos atravs da agregao de dados sobre o estgio do ciclo de vida, status de aprovao, o cumprimento da poltica e muito mais. Isso permite as organizaes a expor as informaes diretas de ativos a todas as equipes de projeto. Integrao com Ambientes de Desenvolvimento: Permitir aos desenvolvedores publicar facilmente, localizar e consumir bens diretamente do seu ambiente de desenvolvimento integrado (IDE), utilizando plug-ins para o Eclipse e Microsoft Visual Studio. NET, ambientes de desenvolvimento. Introspeco automatizada: Ativar introspeco automtica de BPEL, Web Services Description Languages, e XML Definies de esquema, o que mantm os servios de repositrio e relacionamentos atuais.
1

Oracle Enterprise Repository - http://www.oracle.com/us/technologies/soa/enterprise-repository-ds1953749.pdf

Integrao de Terceiros: Conecte ativos, projetos, usurios e outros elementos da empresa heterognea, padres habilitados ou integraes personalizadas. Enviar facilmente e ativos de acesso de qualquer digite atravs de interfaces de usurio com base na Web e plug-ins do IDE.

Sensedia - Sensedia Repository2 O Sensedia Repository um repositrio de ativos de software reutilizveis que auxilia no processo de governana e tomada de deciso. Geralmente est atrelado ao processo de governana SOA e reuso, mas pode ser aplicado em outros contextos. Capaz de centralizar informaes sobre web services, APIs, modelos cannicos e schemas, componentes e outros ativos, bem como a teia de dependncias entre esses elementos, o Sensedia Repository auxilia o time de arquitetura e desenvolvimento de TI dando visibilidade e identificando ativos que foram criados e podem ser reutilizados ao longo do processo de desenvolvimento, aumentando a produtividade e diminuindo o custo do desenvolvimento. O Sensedia Repository tambm bastante utilizado para a integrao de sistemas heterogneos, facilitando o processo e reduzindo o tempo de integrao. O Sensedia Repository integra-se aos principais sistemas ESB (Enterprise Service Bus) do mercado, tais como Oracle, IBM, InterSystems, Progress, JBoss, entre outros. Dentre os principais benefcios do Sensedia Repository destacam-se: Identifica e cataloga servios, componentes e outros ativos criados ao longo do processo de desenvolvimento; Mapeia o relacionamento entre servios e sistemas, auxiliando o processo de anlise de impacto frente a mudanas; Permite governar, controlar e organizar todos os ativos mesmo em ambientes heterogneos de TI; Viabiliza o processo de anlise de Retorno do Investimento (ROI);

Sensedia Repository - http://www.sensedia.com/br/produtos/sensedia-repository/

Auxilia o exerccio das melhores prticas de programas SOA, otimizando os processos de reuso, padronizao e consolidao de ativos.

IBM - WebSphere Registry and Repository3 Esta ferramenta fornece registro de servios e funes do repositrio para a arquitetura orientada a servios (SOA). Este software permite a governana do ciclo de vida de servios para ajudar a otimizar a produtividade e recursos em um ambiente SOA. Uma parte importante da infra-estrutura SOA para permitir governana de SOA o registro/repositrio. Hoje, registro/repositrios so inteiramente direcionados para solues de gerenciamento de metadados de SOA que coordenam as atividades de segurana e permitir a aplicao de polticas de segurana em todo o ciclo de vida do servio. Quando as organizaes pensam em suas iniciativas de SOA, importante considerar a governana SOA como um dos passos iniciais, e um registro/repositrio muitas vezes a primeira parte mais importante, de infraestrutura SOA para colocar no lugar.

Figura 1 WebSphere Repositrio de Servio

Algumas das caractersticas do WebSphere: Gerenciamento do ciclo de vida para controlar o ciclo de vida, verses e disponibilidade dos servios.

IBM WebSphere http://www-03.ibm.com/software/products/en/wsrr/

Visualizao dos servios e dependncias para ajud-lo a visualizar e calcular o impacto das mudanas. Integrao com outras solues da IBM para ajudar a otimizar os servios e conectividade. Mule Galaxy - AnyPoint Service Registry4 AnyPoint Service Registry uma plataforma de governana SOA, que garante o cumprimento das normas internas e melhores prticas, bem como exigncias regulatrias. Alm disso, AnyPoint Servio de Registro torna mais fcil de gerenciar e controlar os servios, mantendo-o informado sobre o desempenho e os padres de uso de todos os seus servios, para que possa concentrar-se na inovao e otimizao, no governana. Algumas caractersticas do AnyPoint Service Registry Policy Manager: Servir como um centro de comando para gerenciamento de polticas, este mdulo faz com que seja fcil de criar, excluir e gerenciar polticas. Gerente de Contratos: contratos podem ser criados, removidos definido, implementado e gerido com gerente de contrato. Os consumidores e os prestadores de servios tm acesso a fazer as mudanas necessrias. Uma vez configurado, Service Registry pode facilmente monitorar e garantir condies so aplicadas em conformidade. Analytics Servio: Servio de anlise fornece informaes em tempo real sobre o desempenho de cada aplicativo de servio, dando s organizaes a capacidade de monitorar coisas como o nmero de consumidores, trfego, utilizaes, disponibilidade e tempo de atividade. As empresas tm uma visibilidade completa sobre o que se passa dentro de servios. Virtualizer Servio: Fornecer transparncia de localizao com virtualizador servio e os consumidores de blindagem de mudana. Com este mdulo, fazer e implementar novas mudanas podem ser feitas sem problemas, sem afetar os consumidores. Repositrio Servio: O corao do AnyPoint Service Registry o prprio repositrio de servio que cataloga aplicaes e servios, tornando mais fcil para pesquisar e navegar. O repositrio de servio oferece s empresas gerenciamento de servios centralizado, promovendo a reutilizao e impedindo a duplicao.

Mule Software http://www.mulesoft.com/resources/esb/service-registry-repository

Figura 2 Mule Galaxy Repositrio de Servio

5. CENRIO REAL, GOVERNANA SOA E SEUS GAPS


Este trabalho teve a proposta de avaliar a empresa de software cujo nome foi preservado e chamaremos apenas de empresa X, situada no interior de SP onde desde 1985 est no mercado oferecendo mais de 50.000 usurios a sua soluo de gesto empresarial. A misso da empresa X fornecer solues integradas que proporcionem competitividade e apoio estratgico aos seus clientes. A empresa X, destaque no desenvolvimento de solues tecnolgicas diferenciadas de gesto empresarial (ERP) para companhias que atuam nos segmentos de Construo, Logstica, Manufatura, Combustveis, Agronegcios e Servios. Utilizando linguagem Delphi e banco de dados Oracle ela possui 2.000 clientes e o pensamento claro de que inovar a nica maneira de continuar crescendo ela procura uma soluo para controlar os diversos servios novos que esto surgindo. Cenrio atual O que servio para a empresa X? Um servio para a Empresa X uma funcionalidade do produto ERP que est disponvel para ser consumida por outros softwares de terceiros e pelo prprio ERP. A emisso de uma Nota Fiscal, por exemplo, uma funcionalidade j existente no produto desde sua criao que foi re-desenvolvida de uma forma que qualquer outro software possa utilizar para gerar suas Notas Fiscais pelo ERP. Com isto, o produto permite que esta funcionalidade possa ser estendida conforme a necessidade do cliente. Todas as funcionalidades do ERP que podem ser isoladas e consumidas externamente so re-desenvolvidas para este fim.

Quais os problemas referente a servios? Existem alguns limitantes na criao e disponibilizao dos servios da empresa X por causa da tecnologia utilizada na criao do produto. O ERP tem cerca de 15 anos do incio de sua construo e foi construdo utilizando a linguagem e ambientes Delphi. Esta linguagem suporta orientao a objetos, porm no a obriga. Desta forma o software no foi construdo no seu incio nas melhores prticas de orientao a objeto. Portanto, isolar as principais funcionalidades do produto muito complicado. Outro complicador que a tecnologia Delphi no suporta ou suporta de forma trabalhosa e pouco performtica os vrios protocolos de comunicao. E outro limitador das solues adotadas o fato que no possvel desenvolvermos outro produto desde o incio. O custo seria muito alto. Desta forma, a soluo disponibilizar as partes do sistema como servio de uma forma que o ERP possa reutilizar em Delphi e os parceiros e clientes possam consumir de qualquer outra tecnologia. Para desenvolver os servios com as premissas acima foi utilizada a linguagem PL/SQL. Esta tecnologia funciona dentro do banco de dados Oracle. Com isto, os servios aproveitam todo o poder e confiana do Oracle. Como o requisito "multibanco" no pertence ao escopo do produto, esta soluo a mais interopervel. Todas as linguagens e at a prpria Oracle disponibilizam drivers de comunicao com o banco de dados, qualquer tecnologia poderia consumir os servios do ERP. E para os softwares que no tem como conectar com o Oracle, so disponibilizados WebServices que resolvem outros protocolos possibilitando vrios meios para consumir os servios. Ento os servios so construdos no banco de dados, com uma linguagem procedural com recursos de comunicao disponibilizados em WebServices construdos nas tecnologias Microsoft. Existem alguns requisitos de servios que no esto resolvidos. A segurana um deles. Talvez o mais importante. Hoje no controlado o acesso nem o consumo dos servios. Basta uma conexo com o banco de dados e conhecer o servio que se pode consumir o servio. preciso criar recursos de acesso e autenticao para evitar o consumo indevido a respeito de licena de uso e de invaso aos dados da empresa. Alm disto, o alto consumo indiscriminado e sem controle pode comprometer o desempenho e o uso das demais funcionalidades do produto. Outro ponto importante a ressaltar que o servio executado no banco de dados. Assim, o bom funcionamento dos servios est atrelado diretamente na configurao e desempenho do banco de dados. Um DBA deve estar sempre acompanhando os servios alm das querys e funcionamento do banco de dados. Outra dificuldade "subir" o produto para a nuvem (Cloud). Para funcionar na nuvem o banco deve estar tambm na nuvem. Isto um complicador principalmente por causa dos custos envolvidos. Diante de tantos percalsos foi criado uma ferramenta para que de forma paleativa fossem atendidos alguns requisitos de um repositrio de servios, como cadastro de onde os ativos se encontram, como podem ser configurados e como os mesmos podem ser utilizados.

Atravs dessa ferramenta possivel visualizar todos os servios cadastrados e como eles funcionam, que pode ser atravs de XML, WebServices ou diretamente no Banco de Dados. O grande desafio est em fazer com que todos os colaboradores da organizao sigam as polticas adotadas, como por exemplo, verificar no repositrio se o servio j existe antes de criar um novo, padres de desenvolvimento e desenvolvimento orientado a servios.

6. CONCLUSES
Como foi visto, atravs das diversas ferramentas de fornecedores de repositrio de servios, pudemos verificar quais as principais caractersticas um repositrio de servio deve ter para atender ao mnimo requerido de satisfao em governana SOA. Vimos que pode-se obter diversos benefcios na utilizao de um repositrio de servios, tais como, agilidade e aumento da visibilidade e capacidade de reutilizar servio. Demonstramos tambm que, uma empresa de desenvolvimento de software possui diversos servios que podem ser reutilizados, porm sem nenhuma governana, no podemos saber quais os servios disponveis para uso, no tem rastreabilidade dos servios e suas dependncias, como utiliz-los, e onde esto. Essa falta de governana pode gerar retrabalho, duplicidade de servios, falta de organizao, perca de tempo entre outros problemas. Porm, uma parte desses problemas foi solucionado atravs de uma ferramenta interna que faz a vez do repositrio de servio, onde possvel cadastrar os servios, descrever como devem ser utilizados, ver quais servios esto criados e configurar a forma que sero utilizados. Essa ferramenta utilizada em larga escala, tanto internamente como pelos clientes e foi desenvolvida pela prpria empresa de desenvolvimento. Antes de adotar SOA as empresas precisam ver se arquitetura atual possibilita a adoo de SOA e de um repositrio de servios. Se for uma empresa nova ou que tenha novos produtos dever levar sempre em considerao a questo da arquitetura para que seja voltada para servios e as ferramentas de repositrio de servios possam atender a todas as necessidades da empresa, como a questo da segurana e direitos de usurios.

7. REFERNCIAS BIBLIOGRFICAS
LUNA, Srgio. Planejamento de Pesquisa: uma introduo. So Paulo: Editora PUC-SP, 1999. DHIEL, Antonio e TATIM, Denise Carvalho. Pesquisa em Cincias Sociais Aplicadas: mtodos e tcnicas. So Paulo: Prentice Hall, 2004.

http://www.aqueleblogdesoa.com.br/2009/05/cenarios-e-etapas-para-implantacao-soa/

Você também pode gostar