You are on page 1of 22

Universidade Federal do Rio Grande do Sul Instituto de Informtica Cincia da Computao

Gerncia e Administrao de Projetos Professor Srgio Felipe Zirbes

Desenvolvimento de SOA: o que e onde se aplica.

Filipe Paz Rodriguez Jos Antnio Ferreira Josu Diogo Neis

Porto Alegre, Novembro de 2007.

1. Introduo: O que SOA?


Service-Oriented Architecture (SOA), ou Arquitetura Orientada a Servios, uma estratgia para desenvolvimento de software onde uma aplicao definida como um conjunto de servios. SOA baseada nos princpios da computao distribuda (apresenta vrias partes processando colaborativamente determinada tarefa de forma coerente e transparente) e utiliza o paradigma request/reply (onde um objeto espera passivo at que executem uma operao sobre ele) para estabelecer a comunicao entre os sistemas clientes e os sistemas que implementam os servios. A idia centrada na reduo da complexidade atravs da abstrao e separao de interesses, e no direcionamento do projeto atravs de atributos de qualidade, que determinam como o sistema ir se comportar. Cada sistema nico devido a natureza do negcio que ele suporta, tal que o nvel dos atributos de qualidade exigidos de um sistema - como compatibilidade, extensibilidade, confiabilidade, manutenibilidade, disponibilidade, segurana, usabilidade - iro variar com cada aplicao. Neste sentido, a arquitetura de software se torna a ligao das mltiplas perspectivas que um sistema traz nele embutido. O fato de que estas vrias perspectivas diferentes possam ser postas juntas em uma arquitetura de software padro justifica e valida a necessidade de criao da arquitetura de software antes do desenvolvimento do software para que projeto alcance a maturidade. No h grande sistema: h colaborao entre sistemas.

2. Definindo Servio
Um servio uma funo independente, sem estado, que aceita uma ou mais requisies e retorna uma ou mais respostas atravs de uma interface padronizada e bem definida. Servios podem tambm realizar partes discretas de um processo, mas no devem depender do estado de outras funes ou processos. A tecnologia utilizada para prover o servio, tal como uma linguagem de programao, no pode fazer parte da definio do servio. O servio a menor unidade dentro de uma arquitetura SOA. So pores componentes de software construdas de tal modo que possam ser facilmente vinculadas a outras pores componentes. A idia por trs destes servios simples: a tecnologia

expressa de forma que o pessoal de negcio possa entender, e no como um aplicativo enigmtico. Deve funcionar de forma independente do estado de outros servios e deve possuir interface bem definida. So criados seguindo as seguintes especificaes: - Encapsulamento: um servio deve funcionar como uma caixa preta - no importa como ela implementada, com uma determinada entrada ela deve responder com a resposta adequada; - Fraco acoplamento: um servio construdo de forma a minimizar as dependncias entre outros elementos; - Re-usabilidade: um servio pode ser consumido por outros servios; - Composio: vrios servios pequenos criam um servio grande; - Autonomia: um servio possui autonomia sobre a lgica que encapsulam; - Otimizao: um servio que prov a mesma funcionalidade mas com melhor qualidade prefervel sobre um de qualidade inferior. No ponto de vista da arquitetura SOA, o servio uma funo de um sistema computacional que disponibilizado para outro sistema na forma de um servio. Um servio deve funcionar de forma independente do estado de outros servios e deve possuir interface bem definida. Normalmente, a comunicao entre o sistema cliente e aquele que disponibiliza o servio realizada atravs de Web Services.

2.1. Viso geral sobre Web Services


Em linhas gerais, os Web Services permitem que objetos possam ser acessados remotamente atravs de interfaces e proxies, executando suas operaes. Sua funo encapsular, contratar funes e objetos remotos oferecidos atravs de um protocolo padro conhecido. Os Web Services no so a primeira tecnologia a permitir isto, mas diferem das tecnologias existentes pelo fato de utilizarem padres Web neutros de plataforma como TCP/IP, HTTP e XML. A arquitetura Web Services um padro do W3C desenvolvido por um grupo de trabalho composto por profissionais de organizaes como Sun, Oracle, IBM,

HP, Microsoft, entre outras. Permitem tirar proveito da experincia de outra empresa sem a necessidade de se tornar especialista no negcio. Possibilitam utilizar a funcionalidade atualizada conectandose a um servio remoto em funcionamento, removendo barreiras de integrao por utilizar padres abertos. Tambm permite aos desenvolvedores de qualquer parte construir e consumir Web Services pela neutralidade quanto linguagem e a plataforma.

2.2. Modelo de Web Services


O modelo conceitual de Web Services destaca dois elementos importantes de qualquer sistema: papis e operaes. Papis so os diferentes tipos de entidades e operaes so as funes executadas por essas entidades para que um Web Service possa funcionar.

Figura 2.1: Modelo de Web Services Identificam-se trs tipos de papis em um ambiente de Web Services tpico, bem como as operaes que eles executam para que os Web Services funcionem. Os papis so: - Provedor de servios: a entidade que cria os servios, geralmente desenvolvendo uma funcionalidade comercial. necessrio descrev-lo em um formato padro, que seja compreensvel por qualquer consumidor que queira utiliz-lo. E para alcanar um grande pblico, o provedor deve public-lo em um registro central e pblico. - Consumidor de servios: qualquer empresa que utilize servios disponibilizados.

Para conhecer as funcionalidades dos servios, o consumidor utiliza a descrio disponibilizada pelo provedor. Para ter acesso a descrio do servio, o consumidor realiza uma pesquisa no registro onde o provedor publicou sua descrio. Assim, o consumidor pode obter, a partir da descrio, o mecanismo para vnculo com o Web Service. - Registro de servios: a localizao central onde o provedor pode publicar seus servios e o consumidor pesquisar. So armazenadas no registro do servio informaes como detalhes da empresa, Web Services por ela fornecidos e detalhes sobre cada servio.

2.2.1. Comunicao em camadas A comunicao entre aplicaes que utilizam Web Services faz uso de quatro camadas (XML, SOAP, WSDL e UDDI) que empacotam a requisio e a resposta entre um servidor e um cliente.

Figura 2.2: Camadas de comunicao O XML (Extensible Markup Language) um padro para representar dados estruturados em um documento de texto. Realiza um papel crucial integrando dados e coordenando a lgica de negcio. Tarefas especficas de negcios e servios (inclusive lgica de workflow, lgica de negcio, lgica seqencial de componentes, lgica de transao, entre outros) podem ser encapsuladas em documentos XML e integradas a ambientes empresariais distintos. O SOAP (Simple Object Access Protocol) um protocolo baseado em XML que permite a troca de informaes em um ambiente computacional distribudo. Possui vrias vantagens em comparao com outros sistemas distribudos: pode transpor firewalls com facilidade, pois pode ser encapsulado em uma requisio HTTP; as mensagens SOAP sejam interpretadas por quase todas as plataformas de hardware, sistemas operacionais, linguagens de programao ou hardwares de rede, pois estruturada em XML.

Figura 2.3: Modelo de Mensagens SOAP

A WSDL (Web Services Description Language) um modelo que utiliza um formato XML padronizado para descrio de servios. Utilizada para definir vrios componentes de um servio como: as interfaces das funes pblicas de um servio (operaes), os tipos de dados das mensagens enviadas e recebidas por um servio, informaes sobre o protocolo de transporte utilizado para invocar o servio, endereo para localizao do servio. Em resumo, a WSDL um vocabulrio XML utilizado para descrever Web Services.

Figura 2.4: Modelo de um WSDL

A finalidade do UDDI (Universal Description Discovery & Integration) definir um modelo que suporte a descrio e a descoberta de negcios, organizaes, e fornecedores de servios e interfaces necessrias para acessar um servio. Os servios disponibilizados por um UDDI no so necessariamente Web e nem so obrigatoriamente providos por computador: o UDDI foi projetado para manter informaes arbitrrias sobre um negcio. Utiliza a linguagem XML Schema para descrever suas estruturas de dados, e

tem como componente principal o registro, que corresponde a um documento XML utilizado para descrever uma organizao e seus servios.

Figura 2.6: Modelo de dados do registro UDDI

3. Arquitetura Orientada a Servios


3.1. Arquitetura

Mais do que uma tecnologia, a SOA tambm influencia regras e processos de negcios, alm de muitas vezes implicar reengenharia de software simultaneamente. A SOA uma arquitetura de software que tem como principal objetivo permitir que agentes de software interajam entre si sem nenhum acoplamento, e tem como seu componente fundamental o conceito de servios. SOA permite desenvolver sistemas que apresentam suas funcionalidades como servios para os usurios finais de outros sistemas ou servios. Ela compreende elementos que podem ser categorizados em funcionais e de qualidade de servio. A figura abaixo ilustra a pilha arquitetnica e os elementos que podem ser observados em uma arquitetura orientada a servios.

Figura 3.1: Elementos de uma SOA

A pilha arquitetnica dividida em duas partes. Uma delas identifica os aspectos funcionais da arquitetura e outra, os aspectos de qualidade.

Aspectos funcionais de uma Arquitetura Orientada a Servios: - Transport: o mecanismo utilizado para transportar as requisies de servio, de um consumidor para um provedor e vice-versa, ou seja, transportar as respostas de servio do provedor para o consumidor e as requisies do consumidor para o provedor; - Service Communication Protocol: um mecanismo de troca de informaes utilizado pelo provedor e consumidor de servios, que possibilita comunicar o que est sendo solicitado e devolvido; - Service Description: um esquema que possibilita descrever o que o servio, como ele deve ser chamado, e quais dados so necessrios para cham-lo com sucesso; - Service: descreve o servio real desenvolvido e disponvel para uso; - Business Process: uma coleo de servios chamados em uma seqncia prestabelecida com um conjunto de regras particulares, satisfazendo as necessidades de negcio. Note que, para que um Business Process possa ser considerado um servio, tem se a idia de que o processo de negcio pode ser composto de servios de diferentes granularidades; - Service Registry: um repositrio de servio e descries de dados que pode ser utilizado por provedores de servios para publicar seus servios, e por consumidores de servio para descobrir ou encontrar servios disponveis. O Service Registry pode prover outras funes para os servios que requerem um repositrio centralizado.

Aspectos de Qualidade de Servio de uma Arquitetura Orientada a Servios: - Policy: um conjunto de condies ou regulamentos atravs das quais o provedor de servios torna o servio disponvel para o consumidor. Existem aspectos polticos funcionais e aspectos polticos relacionados qualidade de servio; - Security: o conjunto de regulamentos que pode ser aplicado para identificao, autorizao e controle de acesso de consumidores de servios; - Transaction: o conjunto de atributos que pode ser aplicado a um grupo de servios para garantir a entrega de um resultado consistente. Por exemplo, se um grupo de trs servios forem necessrios para compor uma funcionalidade de negcio, todos ou nenhum servio deve completar; - Management o conjunto de atributos que pode ser aplicado para gerenciamento de servios providos ou consumidos.

3.2. Implementao

Web Services provem uma base slida para implementar uma arquitetura orientada a servios, mas existem importantes consideraes que afetam a flexibilidade e a manutenibilidade. Primeiro, a comunicao ponto a ponto dos Web Services bsicos significa que os consumidores de servio necessitaro serem modificados sempre que o provedor de servio modificar a interface do servio. Segundo, pode-se ter uma arquitetura frgil e inflexvel quando um grande nmero de consumidores e provedores de servios se comunica utilizando conexo ponto a ponto. Por ltimo, Web Services bsicos requerem que cada consumidor tenha um adaptador de protocolo para cada provedor que necessitar utilizar. Tendo que manter mltiplos adaptadores de protocolo em vrias aplicaes clientes, ocorrer aumento de custo e problemas de manutenibilidade.

Figura 3.2: Seleo e ligao de servios

Tecnologias baseadas em Web Services so utilizadas para o desenvolvimento e integrao de aplicaes corporativas. Um dos desafios crticos encontrar os meios mais eficientes e efetivos de projetar, desenvolver e implantar Web Services baseados em sistemas de negcio; mais importante ainda mudar da comunicao para a utilizao de tecnologias que trabalham no nvel de processos de negcio. Neste contexto, o modelo Enterprise Service Bus (ESB) surge como o principal passo na evoluo dos Web Services e da Arquitetura Orientada a Servios. ESB no um produto, mas a melhor prtica arquitetnica para implementao de uma SOA. A figura abaixo estabelece um barramento

de mensagens que combina infra-estrutura de mensagens com transformao de mensagens e roteamento de contedo baseado em uma camada lgica de integrao entre o consumidor e o provedor de servios.

Figura 3.4: Enterprise Service Bus

O objetivo principal de um ESB prover virtualizao dos recursos das organizaes, permitindo que a lgica de negcio seja desenvolvida e gerenciada independentemente de infra-estrutura, rede e disposio dos servios. Recursos em um ESB so modelados como servios que oferecem uma ou mais operaes de negcio. A tabela 3.1 lista as funes comuns de um ESB junto com os padres de protocolos relevantes. Mostra tambm uma relao de produtos e tecnologias existentes para integrao de aplicaes.

Tabela 3.1: Funes comuns e relaes de infra-estrutura de um ESB

Em um modelo de Web Services onde se utiliza um ESB, o consumidor solicita um servio simplesmente passando ao ESB a descrio do servio e os dados que a mensagem de solicitao espera receber. Baseado nesta solicitao, todos os servios que atendem as especificaes da descrio do servio so identificados e ento o barramento pode selecionar um dos servios dentre os identificados. O barramento, atravs da descrio do servio e dos mecanismos de descoberta, encontra uma lista de servios qualificados, seleciona um deles, recupera as informaes de conexo necessrias, conecta ao servio, transforma os dados de entrada da solicitao, envia a mensagem de solicitao correspondente ao servio, recebe a resposta e passa esta resposta no formato recebido para o solicitante. Desta forma, um ESB prov facilidades significativas para uma implementao de SOA baseada em Web Services.

Figura 3.4: O papel do ESB na SOA

3.3. Benefcios de uma SOA

A grande preocupao das organizaes atualmente a habilidade de mudar com rapidez, e a necessidade de reduzir custos. Para ser competitivo necessrio se adaptar rapidamente aos fatores internos como aquisies e reestruturaes, e fatores externos como concorrncia e exigncias dos clientes. Custo competitivo e infra-estrutura de TI flexvel so necessrios para dar suporte aos negcios. Antes de mais nada, os benefcios devem ser contextualizados. Se sua empresa no for grande ou complexa (se no tiver mais do que dois sistemas primrios que exijam alto nvel de integrao) improvvel que o modelo proporcione grandes benefcios. Esquecese facilmente que a metodologia SOA em si no traz vantagens, mas sim o efeito que ela tem sobre uma infra-estrutura redundante e complexa. Os arquitetos dizem que a criao de um bom aplicativo orientado a servios envolve mais trabalho do que a tradicional integrao de aplicativos. Assim, o desenvolvimento da SOA gera um custo inicial extra. Para que este trabalho produza benefcios, portanto, SOA tem que eliminar trabalho em outro ponto qualquer. O primeiro passo descobrir se existem aplicativos redundantes e mal integrados que poderiam ser consolidados ou eliminados como resultado da adoo de SOA. Se este for o caso, h benefcios potenciais.

Uma Arquitetura Orientada a Servios propicia benefcios que auxiliam na dinmica de negcio das organizaes: - Melhor tomada de decises de negcios: agregando o acesso a servios de negcios e informaes em um conjunto de aplicaes de negcios compostas e dinmicas, os tomadores de deciso ganham informaes mais exatas e amplas. Os funcionrios, processos e sistemas que se estendem a mltiplos departamentos podem ser mapeados prontamente em uma viso nica, permitindo que as empresas compreendam melhor as mudanas que fazem nas operaes dirias de negcios. E, atravs do fornecimento mais gil de informaes, as empresas podem reagir mais rapidamente em relao aos problemas conforme eles surgem. Alm disso, h um melhor alinhamento com o negcio, isto , o pessoal de negcio pode visualizar, pela primeira vez, como a empresa construda em termos de tecnologia. Quando projetos de TI so apresentados em termos de atividades e processos de negcio e no em forma de aplicativos complexos, o pessoal de negcio pode apreciar e suportar melhor os projetos de TI. A viso grandiosa da SOA que, quando TI capacitar plenamente para servios os processos importantes de um negcio, o pessoal de negcio poder assumir controle sobre modificar e mesclar os diferentes servios em novas combinaes prprias de processos. - Maior produtividade dos funcionrios: com o acesso dinamizado aos sistemas e informaes e permitindo a melhoria nos processos de negcios, as empresas podem direcionar uma maior produtividade dos funcionrios. Eles podem concentrar suas energias na distribuio dos processos importantes, com valor adicionado e em atividades colaborativas e semi-estruturadas, ao invs de ter que se conformar com as limitaes e restries dos sistemas base de TI. Alm disso, j que os usurios finais podem acessar as informaes com o fator de formulrio e apresentao (web, cliente rico, dispositivo mvel) que v de encontro s necessidades, a produtividade aprimorada - Conexes mais fortes com clientes e fornecedores: os benefcios da Arquitetura Orientada a Servios se estendem alm dos limites organizacionais. Fuses e aquisies se tornam mais lucrativas, j que mais fcil integrar sistemas e aplicaes diferentes. A integrao com parceiros comerciais e a dinamizao de processos de fornecimento em cadeia so objetivos prontamente atingveis. O fornecimento de um servio mais responsivo ao cliente permitido, assim como novas iniciativas ao cliente, como portais de servio de parada nica. Ao disponibilizar as aplicaes dinmicas e os servios de negcios para clientes e fornecedores externos, no apenas uma colaborao sofisticada possvel, mas a satisfao cliente/parceiro aumentada. A Arquitetura Orientada a Servios liberta os processos crticos de cadeia de fornecimento e demanda - como a terceirizao das tarefas de negcio especficas - das restries das arquiteturas de TI subjacentes, permitindo, portanto o melhor alinhamento dos processos com estratgia organizacional. - Aplicaes mais produtivas e flexveis: abordagem orientada a servios permite que o TI torne os ativos existentes - incluindo sistemas e aplicaes do legado - mais produtivos e lucrativos s empresas sem a necessidade de solues de integrao isoladas e com cdigos personalizados. A orientao a servios tambm permite o desenvolvimento

de uma nova gerao de aplicaes compostas que oferecem capacidades inter-funcionais organizao, independente das plataformas subjacentes e linguagens de programao. Alm disso, como os servios no esto atrelados infra-estrutura subjacente de TI, h, inerentemente, maior flexibilidade no design da soluo. - Desenvolvimento de aplicaes mais rpido e barato: o design de servios baseado em padres permite que TI crie um repositrio de servios reutilizveis que pode ser combinado com servios de alto nvel e aplicaes compostas conforme surgem novas necessidades de negcios. Isso reduz o custo de desenvolvimento e testes da soluo, bem como sua redundncia, e acelera o time-to-value dos negcios. E o uso de um nico modelo de desenvolvimento e estrutura de trabalho simplifica e padroniza o desenvolvimento, testes e manuteno de aplicaes. - Aplicaes mais gerenciveis e seguras: as solues orientadas a servios fornecem uma infra-estrutura comum (e documentao) para o desenvolvimento de servios seguros, monitorados e previsveis. Conforme as mudanas se fazem necessrias nas empresas, a Arquitetura Orientada a Servios facilita a adio de novos servios e capacidades que mapeiam os processos de negcios essenciais. Como so acessados servios ao invs de aplicaes, a orientao de servios fornece os meios para proteger investimentos existentes de TI, sem inibir a implantao de novas capacidades. E j que uma autenticao forte e um modelo de autorizao so usados para todos os servios assim como os servios existem de forma independente e no podem impactar outros servios a abordagem Arquitetura Orientada a Servios fornece maior segurana como um todo.

4. A plataforma SOA Microsoft


A SOA foi projetada levando em conta cada aspecto da camada de protocolos da tecnologia Microsoft, das ferramentas de desenvolvedores que projetam os Web Services como o .NET, aos produtos de servidor (como BizTalk Server e Microsoft Office SharePoint Server) que aumentam a construo dos Web Services atravs da conexo e orquestrao de servios, at as aplicaes compostas que consomem os Web Services (como aplicaes baseadas na web disponveis atravs da Intranet, Extranet ou Internet, assim como aplicaes de cliente rico desenvolvidas com o uso do Microsoft Office ou de tecnologias smart client). A Microsoft investiu substancialmente nos Web Services, tendo estruturado a prxima gerao de plataformas de desenvolvimento em torno de Web Services com o Microsoft .NET. Para os desenvolvedores de software, o .NET o modelo de programao

de cdigo gerenciado para a construo de aplicaes na plataforma Windows. O .NET framework traz ao sistema operacional solues pr-codificadas que anteriormente eram fornecidas individualmente por linguagens de programao e ferramentas de fontes variadas. O framework fornece suporte aos Web Services que permite aos desenvolvedores .NET desenvolver, descobrir, depurar, implantar e consumir Web Services utilizando qualquer uma das mais de 20 linguagens de programao suportadas no .NET. O .NET Framework 3.0, lanado em 2006, amplia as interfaces de programao da aplicao .NET Framework 2.0 com novas tecnologias para o desenvolvimento de aplicaes, para fornecer comunicaes contnuas inter-operveis, a habilidade para modelar uma gama de processos de negcios, e gerenciar a identidade e criar uma experincia diferenciada para o usurio. Os componentes ampliados do .NET Framework 3.0 para a criao e potencializao dos Web Services - o Windows Communication Foundation (WCF) e o Windows Workflow Foundation (WF) - fornecem novas capacidades muito poderosas para o desenvolvimento de aplicaes ativadas por Web Services: - WCF: a prxima gerao de tecnologia Web Services da Microsoft que facilita a conexo de sistemas e aplicaes dentro da empresa e atravs de locais geograficamente distribudos. o primeiro modelo de programao criado do zero para fornecer o desenvolvimento de aplicaes orientadas ao servio. O WCF leva os Web Services a outro nvel, com o fornecimento de desenvolvedores com uma estrutura de trabalho altamente produtiva para desenvolver aplicaes Web Services seguras e confiveis que inter-operem entre plataformas. Os desenvolvedores agora podem se focar na lgica de negcios e deixar a sondagem base para o WCF. Alm disso, para fornecer um modelo de programao para o desenvolvimento de Web Services, o WCF entregue com uma srie de ferramentas e recursos de gerenciamento que facilitam a criao, implantao, configurao e monitoramento de Web Services por profissionais de TI. - WWF: um modelo e um mecanismo para desenvolver rapidamente aplicaes ativadas pelo fluxo de trabalho no Windows. Ela fornece uma estrutura de trabalho comum para desenvolver os fluxos de trabalho s aplicaes Windows, mesmo se esses fluxos de trabalho coordenam interaes entre software, funcionrios, ou ambos.

4.1. Integrando e Orquestrando Processos

A Microsoft fornece a ativao de tecnologias que suportem projetos flexveis, automaes, gerenciamento e otimizao dos processos de negcios, investindo na estratgia de processos People Ready que permite s pessoas o direcionamento de

resultados de negcios, podendo impactar diretamente os processos essenciais que avancem os negcios. Duas das tecnologias de servidor principais para a orquestrao dos processos "People Ready" so: - BizTalk Server: um produto de servidor que permitem que os clientes integrem sistemas, funcionrios e parceiros comerciais. Com sua arquitetura bsica baseada no XML e no .NET Framework, o BizTalk Server suporta completamente todos os padres abertos sob a criao dos Web Services. Uma soluo BizTalk pode consumir Web Services existentes e exportar processos de negcios como Web Services. O BizTalk age como uma camada de gerenciamento que orquestra Web Services, controla o fluxo e interao entre eles e agrega servios individuais em uma soluo composta maior. Tambm permite a integrao de aplicaes e sistemas que no sejam ativados como Web Service e se integra com o Microsoft Office SharePoint Server. Juntos, facilitam a criao de solues de processos de negcios people-ready". - Microsoft Office SharePoint Server: com o fornecimento de uma experincia de usurio simples e consistente atravs de aplicaes familiares de clientes, facilita e flexibiliza a iniciao, participao, acompanhamento e elaborao de relatrios de processos de negcios. Projetado para ajudar a capacitar os usurios a otimizar a forma com que pessoas, contedos e processos interagem dentro e atravs das empresas, o Office SharePoint Server permite que os usurios obtenham vantagens dos fluxos de trabalho para automatizar e ganhar mais visibilidade sobre as atividades comuns de negcios como a reviso e aprovao de documentos, acompanhamento de problemas e coleo de assinaturas. A integrao, com aplicaes familiares ao cliente, e-mail e navegadores web, simplifica a experincia do usurio. Os usurios finais podem facilmente definir e modelar seus prprios processos utilizando ferramentas familiares da Microsoft. O Office SharePoint Server ajuda as empresas a eliminar os ineficazes processos de gerenciamento de informaes manual. Os formulrios eletrnicos podem ser usados para juntar informaes, as quais podem ser facilmente integradas aos sistemas de gesto de negcios, armazenadas em bibliotecas de documentos, utilizadas para iniciar processos de fluxo de trabalho, ou submetidas aos Web Services. Essa abordagem automatizada ajuda os usurios a evitar esforos duplicados e erros caros da entrada de dados manual, e ajuda a garantir o acesso a dados exatos em tempo real.

4.2. Consumindo Web Services e Gerenciando o Ciclo de Vida de Servios

Alm de fornecer uma plataforma aos desenvolvedores para criar Web Services, a Microsoft distribuiu o suporte aos Web Services para sua linha de produtos, atravs da exposio dos recursos dos produtos principais como Web Services. Os produtos Microsoft

e os produtos dos parceiros consomem esses servios para fornecer aos usurios finais uma melhor conexo e melhores experincias aos usurios. - Windows Vista: fornece extensivos Web Services suportados atravs do WCF e facilita o desenvolvimento de aplicativos que sejam mais seguros, confiveis e gerenciveis. Possibilita que os desenvolvedores e projetistas criem lanamentos para a experincia do usurio que melhorem o uso e ativem uma maior relevncia para o trabalho que os usurios fazem. - Office System 2007: pacote de produtividade mais recente da Microsoft para funcionrios de informao, e inclui ferramentas familiares de escritrio como o Word e o Excel. Alm desse pacote de aplicativos de escritrio, o Sistema Office desenvolve uma coleo de ferramentas e servios integrados que possam ajudar os desenvolvedores a criar solues de negcios utilizando os Web Services. Os produtos Office tambm possuem suporte integrado para o consumo de Web Services: o InfoPath tem suporte integrado para ligaes a dados atravs dos Web Services, e o Visio tem suporte integrado ao consumo dos Web Services direcionados ao banco de dados, como Web Services expostos pelo banco de dados relacional do SQL Server. Uma vez desenvolvida e implantada, a infra-estrutura Arquitetura Orientada a Servios e as aplicaes dinmicas devem ser gerenciveis atravs do ciclo de vida da aplicao. A Microsoft desenvolve uma famlia de produtos de gerenciamento de sistemas e estruturas de trabalho para distribuir essas preocupaes: - Dynamic Systems Initiative: compromisso da Microsoft de distribuir sistemas dinmicos auto-gerenciveis que permita que as equipes de TI capturem e utilizem o conhecimento do sistema de TI para projetar sistemas mais gerenciveis e automatizar operaes contnuas. O Dynamic Systems Initiative permite que as empresas reduzam os custos e liberem mais tempo para se focar no que realmente importante para a empresa. - Centro de Sistema: famlia de produtos e solues de gerenciamento de sistemas focado em fornecer aos profissionais de TI as ferramentas e o conhecimento para ajudar a gerenciar a infra-estrutura de TI. Essa famlia de solues incorpora a integrao de ferramentas e tecnologias de gerenciamento de sistemas para ajudar a simplificar operaes, reduzir o tempo na resoluo de problemas e melhorar as capacidades de planejamento organizacional. - Microsoft Operations Framework: fornece a orientao do gerenciamento de servios que permite que as organizaes alcancem a confiabilidade, disponibilidade, o suporte e capacidade de gerenciamento dos sistemas essenciais e de produtos, plataformas e tecnologias. A MOF fornece a construo e orientao para as empresas avaliarem a maturidade atual do gerenciamento de servios em TI, priorizar esses processos que so de grande importncia, e aplicar princpios provados e as melhores prticas para otimizar esses processos, e enfim, toda a infra-estrutura.

5. Adoo de uma estratgia SOA


Sendo uma estratgia arquitetural, SOA envolve muito mais do que o mero desenvolvimento de software. A criao de uma arquitetura baseada em um portflio de servios demanda um case convincente para uma arquitetura corporativa, uma equipe centralizada de gerentes de projeto, arquitetos e desenvolvedores, e uma equipe executiva que prepare o terreno para que o pessoal de TI possa mergulhar nos processos da empresa. Entender estes processos e conquistar adeso para o compartilhamento corporativo so o objetivo principal de uma transformao do negcio baseada em SOA. Gerncia vital: para que os servios sejam reutilizados na empresa, tem de haver uma metodologia de desenvolvimento nica e centralizada, de modo que reas diferentes no criem o mesmo servio de maneiras diferentes ousem conectores incompatveis. Tem que haver um repositrio centralizado para que os desenvolvedores saibam onde procurar servios e para que se saiba por quem estes servios esto sendo utilizados. Os servios tm de ser bem documentados para que os desenvolvedores saibam para que eles servem, como integr-los e as regras para us-los. A maioria das empresas que avana no caminho para SOA cria um grupo de arquitetura centralizado para escolher processos que sero capacitados para servio e consulta reas diferentes da empresa para criar os servios especficos. O grupo centralizado tambm cria um mecanismo conveniente para gerncia. Se todas as solicitaes de servio tm de passar pelo grupo de arquitetura, as metodologias de desenvolvimento de servio, os projetos e os acordos de performance podem ser gerenciados mais facilmente. Grandes empresas cujo negcio baseado em tecnologia (servios de telecomunicao e financeiros) tendem a ter lderes de negcio envolvidos com a rea de TI e dispostos a apoiar seus projetos, e isto acarreta maior xito na adoo da metodologia SOA. Para empresas menores ou empresas que j adotam estratgias slidas de integrao de aplicativos, SOA no tem a ver com QUANDO, mas com SE. Isto , em SOA, os elementos "desenvolvimento de servio" e "planejamento de arquitetura" so distintos, mas no independentes, precisam ser considerados e executados paralelamente. Servios que so criados isoladamente, sem levar em conta as metas de arquitetura e de negcio da empresa, podem apresentar pouco potencial de reutilizao. Planejamento arquitetural consome tempo. O desenvolvimento orientado a servios, baseado em princpios de programao conhecidos e padres de tecnologia amplamente disponveis, pode ser muito mais veloz. Mas os dois tm que acontecer paralelamente. O ideal realizar projetos de desenvolvimento conforme necessidade, e paralelamente, ter um projeto plurianual, mais longo, de mapear os processo e criar servios no nvel corporativo. As pessoas precisam ver o benefcio da SOA muito rapidamente. Ajudaria ter o plano arquitetural e o mapeamento de processo implantados antes de criar os servios, mas o planejamento de arquitetura no apresenta retorno no curto prazo, o que pode ser devastador.

Se a SOA se tornar um ativo estratgico para sua empresa, vital medir seu processo em desenvolver uma infra-estrutura otimizada. Para ajudar a projetar sua jornada para melhorar e desenvolver o estado de suas capacidades, a Microsoft apresenta o modelo Otimizao da Infra-estrutura da Plataforma de Aplicao (APIO). Esse modelo pode ser usado como ferramenta para ajudar voc a avaliar a maturidade da plataforma existente de tecnologia e identificar possveis produtos ou solues que ajudem a alcanar o estado desejado. O modelo APIO identifica um conjunto bsico de capacidades de solues, que formam a base de qualquer plataforma de aplicaes da organizao. Uma das capacidades estratgicas bsicas a capacidade Arquitetura Orientada a Servios e Processos de Negcios, que mapeada ao longo de uma srie contnua de maturidade. A srie contnua de maturidade faz seu progresso de uma infra-estrutura bsica, onde a infra-estrutura de TI de uma empresa pode ser observada como mais reativa, ou um centro de custo, ou um ambiente mais dinmico, onde a infra-estrutura considerada um ativo estratgico que estimula o crescimento dos negcios. O modelo APIO da Microsoft foi desenvolvido com o uso das melhores prticas da indstria e da experincia da Microsoft e seus parceiros com nossos clientes compartilhados, assim como as ltimas anlises de TI de uma das firmas lderes em tecnologia. Um objetivo principal da Microsoft em criar esse modelo foi o desenvolvimento de uma forma simples de usar uma estrutura de trabalho de maturidade que flexvel e pode ser facilmente usada no parmetro de comparao para capacidades tcnicas e valor de negcios. O primeiro passo no uso do modelo trabalhar com a Microsoft ou um de seus parceiros para avaliar qual o nvel de maturidade que sua empresa alcanou. O modelo fornece perguntas que estendem as capacidades e ajudam a identificar o nvel atual de maturidade da organizao.

5. Concluso
Web Services tm se apresentado como proposta de soluo em desenvolvimento e integrao de aplicaes e, caractersticas como interoperabilidade, portabilidade, reuso e interao com tecnologias padres de mercado, atraem o interesse de desenvolvedores e integradores em todas a plataformas computacionais. Os Web Services esto estruturados em um conjunto de padres abertos, incluindo SOAP, WSDL, UDDI e XML, padronizado pelo World Wide Web Consortium (W3C). Por serem acessveis por qualquer um, visto que estes podem ser publicados, reafirmam o desacoplamento iniciado pelo conceito de componentes e enfatizam as formas universais de integrao. Ao contemplar estes conceitos, os Web Services despontam como a tecnologia ideal para implementar uma Arquitetura Orientada a Servios (SOA). Arquitetura Orientada a Servios (SOA) no se refere a uma tecnologia, mas a uma filosofia de desenvolvimento onde os Web Services so um dos requisitos.

SOA e Web Services no so suficientes para aproximar a rea de TI e de negcios, possibilitando flexibilidade e agilidade de resposta ao mercado exigido pelas organizaes. necessrio que toda e qualquer aplicao s saia do papel se estiver devidamente atrelada a um processo de negcio existente. Para isso, torna-se necessria utilizao de metodologias e tcnicas que provem o gerenciamento de processos de negcio, permitindo organizao modelar os processos por fluxo de informao, ao invs de modelar por sistema. Obtm-se, assim, uma estrutura de servios reutilizveis.

6. Referncias
CERAMI, E. Web Services Essentials. [S.l.]: OREILLY, 2002. 304 p. CUNHA, D. Web Services, SOAP e Aplicaes Web. Dezembro 2002. Disponvel em: http://devedge-temp.mozilla.org/viewsource/2002/soapoverview/index_pt_br.html COMPUTERWORLD.UOL.COM.BR. Governana SOA Disponvel em: http://computerworld.uol.com.br/ ENDREI, M. et al. Service-Oriented Architecture and Web Services. [S.l.]: IBM RedBooks, 2004. 364 p. GASPARINI, M. L. Web Services e Arquitetura Orientada a Servios. 2005. Dissertao (Bacharelado em Cincia da Computao) Instituto de Informtica, UFRGS. INJEY, F. et al. Introduction to a Service-Oriented Architecture. [S.l.]: IBM RedBooks, 2003. 264 p. MACHADO, J. C. Um estudo sobre o desenvolvimento orientado a servios. 2004. 87 f. Dissertao (Mestrado em Cincia da Computao) Departamento de Informtica, PUC, Rio de Janeiro. MICROSOFT.COM. Conhea a Arquitetura Orientada a Servios Disponvel em: http://www.Microsoft.com/brasil/servidores/BizTalk/solutions/soa/overview.mspx WEBSERVICES.ORG. Introduction to Web Services Architecture. Disponvel em: http://www.webservices.org

WIKIPEDIA.ORG. Service-Oriented Architecture Disponvel em: http://pt.wikipedia.org/wiki/Service-oriented_architecture

You might also like