• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
UM ESTUDO SOBRE SOA
 

UM ESTUDO SOBRE SOA

on

  • 415 views

UM ESTUDO SOBRE

UM ESTUDO SOBRE
SOA – SERVICE ORIENTED ARCHITECTURE:
Conceitos e Características

Statistics

Views

Total Views
415
Views on SlideShare
415
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    UM ESTUDO SOBRE SOA UM ESTUDO SOBRE SOA Document Transcript

    • Curso de Pós-graduação Lato-Sensu em Análise, Projeto e Gerenciamento deSistemas de InformaçãoUM ESTUDO SOBRESOA – SERVICE ORIENTED ARCHITECTURE:Conceitos e CaracterísticasJULIANA DA SILVA CINDRAMARIANNA SIQUEIRA REISCAMPOS DOS GOYTACAZES/RJJULHO DE 2011
    • JULIANA DA SILVA CINDRAMARIANNA SIQUEIRA REISUM ESTUDO SOBRESOA – SERVICE ORIENTED ARCHITECTURE:CONCEITOS E CARACTERÍSTICASTrabalho apresentado ao Instituto Federalde Educação, Ciência e TecnologiaFluminense Campus Campos-Centro comorequisito parcial para aprovação nadisciplina de Laboratório de Tecnologia deComponentes, do Curso de Pós Graduaçãoem Análise, Projeto e Gerenciamento deSistemas de Informação.Professor: Jonivan LisboaCampos dos Goytacazes/RJJulho de 2010
    • SUMÁRIO1 SERVICE ORIENTED ARCHITECTURE ......................................................................... 41.1 Entendendo o que é SOA.......................................................................................... 41.2 Conceitos e princípios envolvidos na definição de um SOA ................................... 52 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTAR WEBSERVICES .................................................................................................................................72.1 SOA e a componentização de software ....................................................................72.2 Padrões de comunicação ..........................................................................................72.3 Características dos web services .............................................................................. 82.3.1 Baixo Acoplamento........................................................................................82.3.2 Transparência de Rede ...................................................................................92.3.3 Controle de acesso .........................................................................................93 CONCLUSÃO .......................................................................................................................9
    • 1 SOA – SERVICE ORIENTED ARCHITECTURE1.1 Entendendo o que é SOAService Oriented Architecture (SOA) ou Arquitetura Orientada à Serviços é um estilode arquitetura baseada na computação distribuída. Muitos confundem a Arquitetura Orientadaà Serviços com os serviços em si. SOA é um conceito. Ante de definir o que é SOA, seráidentificado aqui o que não é: SOA não é um produto, não é uma tecnologia, não é umasolução, não é um produto de software. SOA é um estilo de projeto que guia, trata e permiteque diferentes aplicações troquem informações entre si. Para se entender melhor SOA comouma arquitetura, deve-se primeiro entender que uma arquitetura de software nada mais é que“um conjunto de definições que descreve componentes de software e associa a funcionalidadedo sistema a tais componentes.Descreve a estrutura técnica, restrições e características dos componentes e dasinterfaces entre eles. A arquitetura é uma ‘planta baixa’ para o sistema e um plano de altonível para sua construção” [Banke, Krafizig, Slama - 2005]. Ao entender SOA como umaarquitetura, pode-se entender os serviços em si como recursos de software bem definidosatravés de uma linguagem padrão, sendo auto-contidos, e proveem funcionalidades padrõesdo negócio independente do contexto ou estado de outros serviços; serviços podem ainda serentendidos como um conjunto de métodos que realizam algo independente da camada devisualização.Pode-se citar como exemplo de arquitetura orientada à serviços os Web Services,assim como o RMI (Remoted Metod Invocation). Este tipo de arquitetura pode ser aplicadatanto no desenvolvimento web, no desenvolvimento para desktop, como também paradispositivos móveis (mobiles), independente da linguagem utilizada, pois o objetivo é osserviços estarem disponíveis através de uma interface para que possa ser implementado damelhor maneira que se julgar necessário.
    • 1.2 Conceitos e princípios envolvidos na definição de um SOAAlgumas definições tecnológicas de SOA: é uma coleção de serviços (barramento deserviços); utiliza topologia de rede para realizar a troca de mensagens; garante serviçosfracamente acoplados, altamente coesos e com alta possibilidade de reutilização.A coesão e o acoplamento no SOA trás consigo uma independência funcional, quesurge como consequência da aplicação dos princípios de abstração e ocultação de informação;pode ser obtida a partir da definição de módulos de "propósito único" e evitando-seexcessivas interações com outros módulos; a coesão aqui está fortemente ligada ao princípiode ocultação e que sugere que um módulo pode realizar a sua função com um mínimo deinteração com os demais módulos do sistema; é desejável que os módulos num softwareapresentem um alto grau de coesão; já o acoplamento exprime o grau de conexão entre osmódulos; os módulos de um software devem apresentar um baixo coeficiente de acoplamento.Algumas tecnologias ligadas ao SOA:• POO (Programação Orientada à Objetos): paradigma de desenvolvimento desoftware que trata de objetos, classes, métodos, herança, polimorfismo, etc;• WOA (Web Orientada à Objetos): são basicamente os softwares SOAutilizados na internet, seus artefatos são conhecidos como recursos, que sãoquaisquer artefatos que possam ser reconhecidos por uma URI (UniversalResource Identifier), ou seja, o endereço do recurso;• Web services: são os serviços encontrados para web, esses serviços sãoconhecidos como web services; podem ser identificados também comocomponentes que permitem às aplicações enviar e receber dados em formatoXML; sendo também padronizados conforme UDDI (Universal Description,and Discovery Integration);
    • • RMI (Remoted Metod Invocation): é uma interface de programação quepermite a execução de chamadas remotas em aplicações desenvolvidas emJava;• UDDI (Universal Description, Discorevy and Integration): é uma especificaçãoque define um serviço de registro para web service; a UDDI pode ser utilizadapor provedores de serviços para publicação dos serviços que oferecem;• WSDL (Webs Service Description Language): documento escrito em XMLque descreve o serviço especificando como acessá-lo e também quais asoperações e métodos encontram-se disponíveis;• SOAP (Simple Object Accsses Protocol): é um protocolo padronizado paratroca de informações estruturadas entre plataforma descentralizada edistribuída usando como base o XML, pode ser entendido também como oenvelope que define a estrutura para descrever o conteúdo da mensagem ecomo processá-lo. Um diagrama de como a mensagem é provida é mostradoabaixo:
    • 2 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTARWEB SERVICES2.1 SOA e a componentização de softwareOs Web Services constituem um novo modelo de partilha de dados que permitepublicação de rotinas e métodos acessíveis pela Internet. Com uma interface transparente parao cliente e facilidade de integração de diferentes aplicações, os Web Services são umapoderosa ferramenta para promover a integração dos dados em diferentes plataformas efornecem uma infra-estrutura para manter uma forma mais rica e mais estruturada deinteroperabilidade entre clientes e servidores.Pulier (2006) define Web Service (WS) como um sistema de software que segue umconjunto de padrões abertos de interoperabilidade. Estes padrões permitem a interoperaçãomundial de computadores independentemente da plataforma de hardware, sistemaoperacional, infra-estrutura de rede ou linguagem de programação. Pulier (2006) ainda afirmaque a grande utilidade do WS é baseada no fato de que ele usa protocolos abertos decomunicação na Internet e XML para transacionar o seu negócio. Um WS é, portanto, umsistema de software que pode agir a pedido de qualquer computador conectado à rede nomundo, que se comunica usando padrões XML.Um web service baseado em SOA é composto de 4 elementos principais (figura 02):frontends de aplicações, serviços, repositório de serviços e um mecanismo de execução ecomunicação pra os serviços (tal como o que será explicado no próximo tópico).Figura 02 – Principais elementos de um SOA
    • 2.2 Padrões de comunicaçãoUm WS depende principalmente, segundo Pulier (2006), de três padrõesinterrelacionados baseados no XML para funcionar corretamente:• Simple Object Access Protocol (SOAP) - O formato da mensagem.• Web Services Description Language (WSDL) - O documento que descreveexatamente o que um WS faz e como invocá-lo.• Universal Discovery, Description, and Integration (UDDI) - O diretório do WS queestá disponível para ser usado.Juntos estes três padrões se combinam para oferecer ao WS a habilidade de funcionar,de descrever a si próprio e de ser localizado em uma rede.2.3 Características dos web servicesWeb Services se comportam diferentemente de software tradicionais. Eles sãobaseados em padrões abertos, considerando que a maioria dos softwares em uso hoje seconectam através de uma tecnologia proprietária. Além disso, Pulier (2006) diz que WS sãofracamente acoplados quando comparado aos tradicionais sistemas distribuídos decomputadores.E, como a Internet, Web Services oferecem total transparência na sua implementação eutilização.2.3.1 Baixo AcoplamentoEm contraste com os computadores cuja interoperação é “fortemente acoplada”através de interfaces proprietárias, WS são fracamente acoplados. Pulier (2006) destaca queessa qualidade permite aos administradores de sistema substituir ou mover os computadoresque contêm os WS com relativa facilidade. Baixo acoplamento também significa que asmudanças no provedor não conduzem necessariamente a mudanças no consumidor de umWS. Por estas e outras razões, o baixo acoplamento tem o potencial de poupar tempo e
    • dinheiro na criação de interoperação entre computadores, e de aumentar drasticamente aprodutividade de uma organizacão, permitindo que os processos empresariais sejam maiságeis.2.3.2 Transparência de RedePara Pulier (2006), WS funcionam em modo de “transparência de rede”, ou seja, comowebsites na Internet, WS podem ser localizados em qualquer lugar de uma rede, ou grupo deredes conectadas. Como resultado, WS podem ser movidos de lugar na rede sem impacto naacessibilidade.2.3.3 Controle de acessoPela heterogeneidade dos acessos providos via uma arquitetura SOA, a implementaçãode segurança é dificultada. Nesse contexto, necessita-se de um padrão de controle de acessosque se adapte as necessidades de um sistema desse tipo. É necessário para tanto, se escolherum padrão comum de arquitetura de segurança que possa prover as funcionalidades deautenticação e autorização.3 CONCLUSÃOPode-se concluir com esse trabalho que SOA trata-se de um conceito, uma estratégiade Tecnologia da Informação(TI). O objetivo principal de sua implementação é a realizaçãodo complexo alinhamento do negócio aos sistemas tecnológicos e a integração entre diversossistemas diferentes. Quando implementado com sucesso, SOA permite a interoperabilidade desistemas, permite que a área de TI agregue real valor ao negócio e facilita a menor resistênciaa mudanças.
    • REFERÊNCIAS BIBLIOGRÁFICAS:COULOURIS, G., DOLLIMORE, J., KINBERG. Sistemas Distribuídos: Conceitos eProjetos. 4ª. edição. Bookmann, 2007.SALES, Fábio de O., BARROS Kecyo S., “Solução de Integração entre Java, WEBSERVICES E ANDROID, utilizando a arquitetura SOA”, Projeto Final de Graduação,Universidade Católica de Salvador, BA, 2008.OLIVEIRA, Alex de, “Web Service para integração de aplicações que utilizam troca demensagens e controle de comunicação entre usuários”, Universidade Regional de Blumenau,2007.KRAFIZIG, Dirk; BANKE, Karl; e SLAMA, Dirk. “Enterprise SOA – Service-OrientedArchitecture Best Practices”. Prentice Hall (PTR) (2005).O que é SOA - http://www.guj.com.br/java/93287-o-que-e-soa – acesso em 01/07/2011O que é SOA e por que usá-la - http://www.celtainformatica.com.br/noticias/o-que-e-soa-e-por-que-usa-la - acesso em 01/07/2011Service Oriented Architecture - SOA -http://www.linhadecodigo.com/artigo/434/ServiceOriented-Architecture-SOA.aspx - acessoem 01/07/2011Conceitos Básicos de SOA - http://finito-log.blogspot.com/2005/07/soa-2-conceitos-bsicos.html - acesso em 01/07/2011Modelo de Controle de Acesso para uma Arquitetura Orientada a Serviços -Visando a Integração de Aplicações de Comando e Controle -http://161.24.2.250/sige/sige_old/IXSIGE/Artigos/CC_04.pdf - acesso em /07/2011