Sie sind auf Seite 1von 5

1.1.

Arquitetura Orientada a Servios

Segundo Josuttis (2007), Arquitetura Orientada a Servios um paradigma (conceito ou filosofia) que lida com sistemas distribudos que, necessariamente, no pertencem a um mesmo proprietrio. Dessa forma, SOA uma maneira de pensar que guia o modo como sistemas so projetados, desde sua arquitetura at sua implementao. SOA tem o propsito de tratar os requisitos de baixo acoplamento, desenvolvimento baseado em padres, computao distribuda independente de protocolo, mapeamento dos sistemas de informao da organizao para todos os seus fluxos de processos de negcios, integrao de aplicaes, gerncia de transaes, polticas de segurana e coexistncia de sistemas em mltiplas plataformas e tambm sistemas legados (Papazoglou et al, 2007). SOA estabelece um modelo arquitetural que permite aumentar a eficincia, agilidade e produtividade de um negcio, a partir da utilizao de servios como principal meio no qual a soluo representada em suporte a realizao de um objetivo estratgico para a organizao (Erl, 2012). SOA pode ser vista como um paradigma para o desenvolvimento de sistemas distribudos de modo que as funcionalidades sejam compostas a partir de um conjunto de servios, onde estes podem ser reutilizveis por outras aplicaes ou servios. Dentro do modelo arquitetural de SOA, Erl (2005) afirma que existem trs nveis de abstrao, que compem uma arquitetura SOA: Orquestrao de Servios, Servios de Negcio e Servios de Aplicao. Essas camadas so utilizadas para criar sistemas mais flexveis e evita que um servio tenha complexidade alm da necessria. A figura 1 mostra o modelo arquitetural de SOA e os nveis de abstrao citados por Erl (2005):

Figura 1 - Modelo Arquitetural de SOA e os nveis de Abstrao na camada de Servios. (Figura retirada de Erl, 2005).

A criao de camadas independentes de servios vista na figura anterior, tambm facilita a manuteno e evoluo dos mesmos atravs da criao de nveis de abstrao. A camada de servios de aplicao a camada base que existe para fornecer servios reutilizveis, chamados de Application Services, relacionados ao

processamento de dados em ambientes de aplicao novos ou legados. O segundo nvel de abstrao a camada de servios de negcio. Atravs dos Business Services, a camada de servios de negcio tem como objetivo representar a lgica do negcio da forma mais pura possvel. Business Services so responsveis por expressar a lgica dos negcios atravs da orientao a servios. Por fim, a camada de orquestrao de servios que tem o objetivo de gerenciar a interao entre os diversos servios pertencentes a um fluxo de trabalho. A camada de orquestrao de servios consiste em um ou mais process services que compem os business e application services de acordo com as regras de negcio embutidas em um processo.

1.1.1. Por que adotar SOA?

Segundo Medeiros (2010), existem diversas razes pelas quais se deve desenvolver um software orientado a servios. As principais so: Reusabilidade: Conforme os mercados vo se interligando cada vez mais, o ambiente de negcios vai se tornando cada vez mais complexo. Segundo Medeiros (2010), em um contexto de SOA, a reusabilidade alcanada a partir da composio de servios j existentes com a criao de novos servios. Segundo Erl (2009), um dos principais objetivos por trs da reusabilidade em SOA permitir que, em longo prazo, haja um aumento significativo do retorno em relao ao investimento inicial, permitindo que novos servios sejam feitos a partir da composio de servios j existentes;

Integrao e Interoperabilidade: Segundo Erl (2005), servios devem ser feitos de modo que sejam utilizados princpios de design, como uso de padres abertos e disponibilizao de um ambiente de descoberta de servios, que permitam aos servios serem naturalmente interoperveis. Promover essas caractersticas pode diminuir significativamente o custo e o esforo em cumprir requisitos futuros de integrao entre aplicativos. Segundo Medeiros (2010), SOA permite que as organizaes selecionem entre os diversos produtos de fornecedores, uma vez que possibilita a existncia de um ambiente heterogneo, fator diretamente ligado a integrao.

1.1.2. Caractersticas

Sistemas Distribudos Conforme as empresas crescem, se tornam mais complexas, com mais e mais sistemas e envolvidas com cada vez mais empresas (Josuttis, 2007). Dessa forma, solues que envolvem SOA do suporte a integrao com sistemas pertencentes a diferentes empresas e que podem ter sido desenvolvidos em diferentes plataformas e linguagens de programao (Medeiros, 2010), alm de permitir que fornecedores e

consumidores de servio possam interagir de maneira mais fcil, permitindo a realizao de funcionalidades de maneira distribuda (Josuttis, 2007).

Diversos Fornecedores Outra caracterstica de SOA, alm dos grandes sistemas distribudos, que diferentes partes de um sistema podem pertencer a diversos fornecedores (Medeiros 2010 apud MacKenzie et al., 2006). SOA inclui prticas e processos que se baseiam no fato de que partes dos sistemas distribudos no so controladas por um nico proprietrio (Josuttis, 2007). Dessa forma, SOA precisa lidar com diferentes plataformas, linguagens, Bugs e polticas de acesso.

Heterogeneidade Segundo Medeiros (2010), grandes sistemas podem ser compostos por mainframes, bancos de dados, aplicaes Java, e assim por diante. No passado, algumas abordagens propostas para resolver o problema da integrao em sistemas distribudos eliminavam a heterogeneidade (Josuttis, 2007). Porm, por motivos j citados, esse um fator que no se pode ignorar e que deve ser tratado. Dessa forma, SOA aceita e apoia a heterogeneidade como forma de tratar grandes sistemas distribudos (Medeiros, 2010).

1.1.3. Conceitos

Servios SOA focada em processos de negcio e um servio pode ser definido como uma funcionalidade que representa um processo de negcio ou parte dele, disponibilizado atravs de uma interface de acesso bem definida. Para Erl (2005), servios so unidades pertencentes a um contexto (processo, entidade, etc.) que existem e funcionam de forma autnoma e que obedecem a um conjunto de princpios que os possibilita evoluir continuamente, mantendo sua padronizao e uniformizao. Dias (2008) define um servio como um contrato, um

ou mais interfaces e uma implementao. J Josuttis (2007), d uma nfase mais tcnica ao definir um servio como uma interface para mltiplas mensagens que retorna uma informao e/ou altera o estado de uma entidade associada.

Interoperabilidade Com sistemas cada vez mais complexos, houve a necessidade de ser ter sistemas heterogneos. O conceito de interoperabilidade vem com o objetivo de fazer com que sistemas desenvolvidos em diferentes plataformas possam trocar informaes. Segundo Josuttis (2007), interoperabilidade o inicio de tudo para SOA. A partir dela que processos de negcio espalhados por vrios sistemas distribudos podem ser desenvolvidos. Em SOA, os processos so desenvolvidos de modo que estejam disponveis para serem utilizados por outros sistemas. Para Erl (2005), a interoperabilidade em SOA motivada por fatores como o uso obrigatrio de padres abertos, a existncia de diversos fornecedores e os mecanismos de descoberta.

Das könnte Ihnen auch gefallen