SlideShare uma empresa Scribd logo
1 de 10
Curso de Pós-graduação Lato-Sensu em Análise, Projeto e Gerenciamento de
Sistemas de Informação
UM ESTUDO SOBRE
SOA – SERVICE ORIENTED ARCHITECTURE:
Conceitos e Características
JULIANA DA SILVA CINDRA
MARIANNA SIQUEIRA REIS
CAMPOS DOS GOYTACAZES/RJ
JULHO DE 2011
JULIANA DA SILVA CINDRA
MARIANNA SIQUEIRA REIS
UM ESTUDO SOBRE
SOA – SERVICE ORIENTED ARCHITECTURE:
CONCEITOS E CARACTERÍSTICAS
Trabalho apresentado ao Instituto Federal
de Educação, Ciência e Tecnologia
Fluminense Campus Campos-Centro como
requisito parcial para aprovação na
disciplina de Laboratório de Tecnologia de
Componentes, do Curso de Pós Graduação
em Análise, Projeto e Gerenciamento de
Sistemas de Informação.
Professor: Jonivan Lisboa
Campos dos Goytacazes/RJ
Julho de 2010
SUMÁRIO
1 SERVICE ORIENTED ARCHITECTURE ......................................................................... 4
1.1 Entendendo o que é SOA.......................................................................................... 4
1.2 Conceitos e princípios envolvidos na definição de um SOA ................................... 5
2 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTAR WEB
SERVICES .................................................................................................................................7
2.1 SOA e a componentização de software ....................................................................7
2.2 Padrões de comunicação ..........................................................................................7
2.3 Características dos web services .............................................................................. 8
2.3.1 Baixo Acoplamento........................................................................................8
2.3.2 Transparência de Rede ...................................................................................9
2.3.3 Controle de acesso .........................................................................................9
3 CONCLUSÃO .......................................................................................................................9
1 SOA – SERVICE ORIENTED ARCHITECTURE
1.1 Entendendo o que é SOA
Service Oriented Architecture (SOA) ou Arquitetura Orientada à Serviços é um estilo
de 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 é uma
solução, não é um produto de software. SOA é um estilo de projeto que guia, trata e permite
que diferentes aplicações troquem informações entre si. Para se entender melhor SOA como
uma 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 funcionalidade
do sistema a tais componentes.
Descreve a estrutura técnica, restrições e características dos componentes e das
interfaces entre eles. A arquitetura é uma ‘planta baixa’ para o sistema e um plano de alto
nível para sua construção” [Banke, Krafizig, Slama - 2005]. Ao entender SOA como uma
arquitetura, pode-se entender os serviços em si como recursos de software bem definidos
através de uma linguagem padrão, sendo auto-contidos, e proveem funcionalidades padrões
do negócio independente do contexto ou estado de outros serviços; serviços podem ainda ser
entendidos como um conjunto de métodos que realizam algo independente da camada de
visualizaçã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 aplicada
tanto no desenvolvimento web, no desenvolvimento para desktop, como também para
dispositivos móveis (mobiles), independente da linguagem utilizada, pois o objetivo é os
serviços estarem disponíveis através de uma interface para que possa ser implementado da
melhor maneira que se julgar necessário.
1.2 Conceitos e princípios envolvidos na definição de um SOA
Algumas definições tecnológicas de SOA: é uma coleção de serviços (barramento de
serviços); utiliza topologia de rede para realizar a troca de mensagens; garante serviços
fracamente 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, que
surge 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-se
excessivas interações com outros módulos; a coesão aqui está fortemente ligada ao princípio
de ocultação e que sugere que um módulo pode realizar a sua função com um mínimo de
interação com os demais módulos do sistema; é desejável que os módulos num software
apresentem um alto grau de coesão; já o acoplamento exprime o grau de conexão entre os
mó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 de
software que trata de objetos, classes, métodos, herança, polimorfismo, etc;
• WOA (Web Orientada à Objetos): são basicamente os softwares SOA
utilizados na internet, seus artefatos são conhecidos como recursos, que são
quaisquer artefatos que possam ser reconhecidos por uma URI (Universal
Resource Identifier), ou seja, o endereço do recurso;
• Web services: são os serviços encontrados para web, esses serviços são
conhecidos como web services; podem ser identificados também como
componentes que permitem às aplicações enviar e receber dados em formato
XML; sendo também padronizados conforme UDDI (Universal Description,
and Discovery Integration);
• RMI (Remoted Metod Invocation): é uma interface de programação que
permite a execução de chamadas remotas em aplicações desenvolvidas em
Java;
• UDDI (Universal Description, Discorevy and Integration): é uma especificação
que define um serviço de registro para web service; a UDDI pode ser utilizada
por provedores de serviços para publicação dos serviços que oferecem;
• WSDL (Webs Service Description Language): documento escrito em XML
que descreve o serviço especificando como acessá-lo e também quais as
operações e métodos encontram-se disponíveis;
• SOAP (Simple Object Accsses Protocol): é um protocolo padronizado para
troca de informações estruturadas entre plataforma descentralizada e
distribuída usando como base o XML, pode ser entendido também como o
envelope que define a estrutura para descrever o conteúdo da mensagem e
como processá-lo. Um diagrama de como a mensagem é provida é mostrado
abaixo:
2 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTAR
WEB SERVICES
2.1 SOA e a componentização de software
Os Web Services constituem um novo modelo de partilha de dados que permite
publicação de rotinas e métodos acessíveis pela Internet. Com uma interface transparente para
o cliente e facilidade de integração de diferentes aplicações, os Web Services são uma
poderosa ferramenta para promover a integração dos dados em diferentes plataformas e
fornecem uma infra-estrutura para manter uma forma mais rica e mais estruturada de
interoperabilidade entre clientes e servidores.
Pulier (2006) define Web Service (WS) como um sistema de software que segue um
conjunto de padrões abertos de interoperabilidade. Estes padrões permitem a interoperação
mundial de computadores independentemente da plataforma de hardware, sistema
operacional, infra-estrutura de rede ou linguagem de programação. Pulier (2006) ainda afirma
que a grande utilidade do WS é baseada no fato de que ele usa protocolos abertos de
comunicação na Internet e XML para transacionar o seu negócio. Um WS é, portanto, um
sistema de software que pode agir a pedido de qualquer computador conectado à rede no
mundo, 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 e
comunicaçã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ção
Um WS depende principalmente, segundo Pulier (2006), de três padrões
interrelacionados baseados no XML para funcionar corretamente:
• Simple Object Access Protocol (SOAP) - O formato da mensagem.
• Web Services Description Language (WSDL) - O documento que descreve
exatamente o que um WS faz e como invocá-lo.
• Universal Discovery, Description, and Integration (UDDI) - O diretório do WS que
está 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 services
Web Services se comportam diferentemente de software tradicionais. Eles são
baseados em padrões abertos, considerando que a maioria dos softwares em uso hoje se
conectam através de uma tecnologia proprietária. Além disso, Pulier (2006) diz que WS são
'fracamente acoplados' quando comparado aos tradicionais sistemas distribuídos de
computadores.
E, como a Internet, Web Services oferecem total transparência na sua implementação e
utilização.
2.3.1 Baixo Acoplamento
Em contraste com os computadores cuja interoperação é “fortemente acoplada”
através de interfaces proprietárias, WS são 'fracamente acoplados'. Pulier (2006) destaca que
essa qualidade permite aos administradores de sistema substituir ou mover os computadores
que contêm os WS com relativa facilidade. Baixo acoplamento também significa que as
mudanças no provedor não conduzem necessariamente a mudanças no consumidor de um
WS. 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 a
produtividade de uma organizacão, permitindo que os processos empresariais sejam mais
ágeis.
2.3.2 Transparência de Rede
Para Pulier (2006), WS funcionam em modo de “transparência de rede”, ou seja, como
websites na Internet, WS podem ser localizados em qualquer lugar de uma rede, ou grupo de
redes conectadas. Como resultado, WS podem ser movidos de lugar na rede sem impacto na
acessibilidade.
2.3.3 Controle de acesso
Pela heterogeneidade dos acessos providos via uma arquitetura SOA, a implementação
de segurança é dificultada. Nesse contexto, necessita-se de um padrão de controle de acessos
que se adapte as necessidades de um sistema desse tipo. É necessário para tanto, se escolher
um padrão comum de arquitetura de segurança que possa prover as funcionalidades de
autenticação e autorização.
3 CONCLUSÃO
Pode-se concluir com esse trabalho que SOA trata-se de um conceito, uma estratégia
de Tecnologia da Informação(TI). O objetivo principal de sua implementação é a realização
do complexo alinhamento do negócio aos sistemas tecnológicos e a integração entre diversos
sistemas diferentes. Quando implementado com sucesso, SOA permite a interoperabilidade de
sistemas, permite que a área de TI agregue real valor ao negócio e facilita a menor resistência
a mudanças.
REFERÊNCIAS BIBLIOGRÁFICAS:
COULOURIS, G., DOLLIMORE, J., KINBERG. Sistemas Distribuídos: Conceitos e
Projetos. 4ª. edição. Bookmann, 2007.
SALES, Fábio de O., BARROS Kecyo S., “Solução de Integração entre Java, WEB
SERVICES 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 de
mensagens e controle de comunicação entre usuários”, Universidade Regional de Blumenau,
2007.
KRAFIZIG, Dirk; BANKE, Karl; e SLAMA, Dirk. “Enterprise SOA – Service-Oriented
Architecture Best Practices”. Prentice Hall (PTR) (2005).
O que é SOA - http://www.guj.com.br/java/93287-o-que-e-soa – acesso em 01/07/2011
O 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/2011
Service Oriented Architecture - SOA -
http://www.linhadecodigo.com/artigo/434/ServiceOriented-Architecture-SOA.aspx - acesso
em 01/07/2011
Conceitos Básicos de SOA - http://finito-log.blogspot.com/2005/07/soa-2-conceitos-
bsicos.html - acesso em 01/07/2011
Modelo 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

Mais conteúdo relacionado

Mais procurados

Definicao.Melhoria.Processos.Fabrica.SL
Definicao.Melhoria.Processos.Fabrica.SLDefinicao.Melhoria.Processos.Fabrica.SL
Definicao.Melhoria.Processos.Fabrica.SLAnnkatlover
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Urique Hoffmann
 
MPS.BR - Melhoria de Processos do Software Brasileiro
MPS.BR - Melhoria de Processos do Software BrasileiroMPS.BR - Melhoria de Processos do Software Brasileiro
MPS.BR - Melhoria de Processos do Software BrasileiroAntônio Filho
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareThomas Kanzig
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em softwareVictor Hugo
 
Reuso de software
Reuso de softwareReuso de software
Reuso de softwarerebekinha
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gilmar Pupo
 
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLImplantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLAnnkatlover
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Thiago Fraga
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...Eder Nogueira
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...tdc-globalcode
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de softwareTatiana Tavares
 

Mais procurados (20)

O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012O emprego do_rup_na_uml_-_trabalho_poo_2012
O emprego do_rup_na_uml_-_trabalho_poo_2012
 
Definicao.Melhoria.Processos.Fabrica.SL
Definicao.Melhoria.Processos.Fabrica.SLDefinicao.Melhoria.Processos.Fabrica.SL
Definicao.Melhoria.Processos.Fabrica.SL
 
RAD - Métodos ágeis
RAD - Métodos ágeisRAD - Métodos ágeis
RAD - Métodos ágeis
 
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
Projeto de Software - PIC Eletrônico - Gerência de Projetos UFAM 2012/2
 
MPS.BR - Melhoria de Processos do Software Brasileiro
MPS.BR - Melhoria de Processos do Software BrasileiroMPS.BR - Melhoria de Processos do Software Brasileiro
MPS.BR - Melhoria de Processos do Software Brasileiro
 
Frameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de softwareFrameworks da web - Uma ferramenta de reutilização de software
Frameworks da web - Uma ferramenta de reutilização de software
 
Corbawebserves
CorbawebservesCorbawebserves
Corbawebserves
 
Es17 predicao de defeitos em software
Es17   predicao de defeitos em softwareEs17   predicao de defeitos em software
Es17 predicao de defeitos em software
 
Reuso de software
Reuso de softwareReuso de software
Reuso de software
 
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
Gerência de Configuração de Software: Benefícios Do Controle de Versões Distr...
 
Es 09
Es 09Es 09
Es 09
 
Implantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SLImplantacao.Processo.Fabrica.SL
Implantacao.Processo.Fabrica.SL
 
Documento de requisitos
Documento de requisitosDocumento de requisitos
Documento de requisitos
 
Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44Revista Engenharia de Software n° 44
Revista Engenharia de Software n° 44
 
Es06 teste de software
Es06   teste de softwareEs06   teste de software
Es06 teste de software
 
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
Interação entre MDA e PMBOK para Suporte ao Desenvolvimento de Aplicações Com...
 
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
UTILIZANDO O FRAMEWORK JBOSS SEAM PARA ACELERAR O DESENVOLVIMENTO DE APLICAÇÕ...
 
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
TDC2016SP - Revitalizando aplicações desktop usando CefGlue, MessageBus e Rea...
 
Reúso
ReúsoReúso
Reúso
 
Aula processo de reuso de software
Aula processo de reuso de softwareAula processo de reuso de software
Aula processo de reuso de software
 

Semelhante a UM ESTUDO SOBRE SOA

Semelhante a UM ESTUDO SOBRE SOA (20)

A Estrutura de um Web Service
A Estrutura de um Web ServiceA Estrutura de um Web Service
A Estrutura de um Web Service
 
Monica vasconcelos
Monica vasconcelosMonica vasconcelos
Monica vasconcelos
 
Monica vasconcelos (1)
Monica vasconcelos (1)Monica vasconcelos (1)
Monica vasconcelos (1)
 
Monica vasconcelos
Monica vasconcelosMonica vasconcelos
Monica vasconcelos
 
Soa Woa Rest
Soa Woa RestSoa Woa Rest
Soa Woa Rest
 
Web services
Web servicesWeb services
Web services
 
Web Services
Web ServicesWeb Services
Web Services
 
Arquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e RESTArquiteturas SOA, WOA e REST
Arquiteturas SOA, WOA e REST
 
Arquitetura e Integração de sistemas
Arquitetura e Integração de sistemasArquitetura e Integração de sistemas
Arquitetura e Integração de sistemas
 
SOA
SOASOA
SOA
 
Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)Arquitetura orientada a serviços (SOA)
Arquitetura orientada a serviços (SOA)
 
Arquitetura Orientada a Serviços e BPM
Arquitetura Orientada a Serviços e BPMArquitetura Orientada a Serviços e BPM
Arquitetura Orientada a Serviços e BPM
 
WebServices
WebServicesWebServices
WebServices
 
Web Service - XML
Web Service - XMLWeb Service - XML
Web Service - XML
 
Soa – Woa Rest Arquiteturas
Soa – Woa   Rest ArquiteturasSoa – Woa   Rest Arquiteturas
Soa – Woa Rest Arquiteturas
 
Projeto VI: Tecnologias Básicas da Web 2 0
Projeto VI: Tecnologias Básicas da Web 2 0Projeto VI: Tecnologias Básicas da Web 2 0
Projeto VI: Tecnologias Básicas da Web 2 0
 
Web services
Web  servicesWeb  services
Web services
 
WebServices-XML
WebServices-XMLWebServices-XML
WebServices-XML
 
SOA - Padrões Associados
SOA - Padrões AssociadosSOA - Padrões Associados
SOA - Padrões Associados
 
201406Carvalho
201406Carvalho201406Carvalho
201406Carvalho
 

Mais de Juliana Cindra

Trabalho de Reengenharia de Software
Trabalho de Reengenharia de SoftwareTrabalho de Reengenharia de Software
Trabalho de Reengenharia de SoftwareJuliana Cindra
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosJuliana Cindra
 
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...Juliana Cindra
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao RestauranteJuliana Cindra
 
Padrões de Projeto - Observer
Padrões de Projeto - ObserverPadrões de Projeto - Observer
Padrões de Projeto - ObserverJuliana Cindra
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - AdapterJuliana Cindra
 
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrFermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrJuliana Cindra
 

Mais de Juliana Cindra (10)

Trabalho de Reengenharia de Software
Trabalho de Reengenharia de SoftwareTrabalho de Reengenharia de Software
Trabalho de Reengenharia de Software
 
Trabalho Web Services
Trabalho Web ServicesTrabalho Web Services
Trabalho Web Services
 
Trabalho de Sistemas Distribuídos
Trabalho de Sistemas DistribuídosTrabalho de Sistemas Distribuídos
Trabalho de Sistemas Distribuídos
 
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...
AVALIAÇÃO DA QUALIDADE DE UM SISTEMA DE GESTÃO ACADÊMICA ATRAVÉS DA MINERAÇÃO...
 
Exercicio de UML - Documentacao Restaurante
Exercicio de UML  - Documentacao RestauranteExercicio de UML  - Documentacao Restaurante
Exercicio de UML - Documentacao Restaurante
 
Padrões de Projeto - Observer
Padrões de Projeto - ObserverPadrões de Projeto - Observer
Padrões de Projeto - Observer
 
Padrão de Projeto - Adapter
Padrão de Projeto - AdapterPadrão de Projeto - Adapter
Padrão de Projeto - Adapter
 
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.BrFermine como ferramenta de apoio à implantação do nível G do MPS.Br
Fermine como ferramenta de apoio à implantação do nível G do MPS.Br
 
Torre de Hanoi
Torre de HanoiTorre de Hanoi
Torre de Hanoi
 
Rail road
Rail roadRail road
Rail road
 

UM ESTUDO SOBRE SOA

  • 1. Curso de Pós-graduação Lato-Sensu em Análise, Projeto e Gerenciamento de Sistemas de Informação UM ESTUDO SOBRE SOA – SERVICE ORIENTED ARCHITECTURE: Conceitos e Características JULIANA DA SILVA CINDRA MARIANNA SIQUEIRA REIS CAMPOS DOS GOYTACAZES/RJ JULHO DE 2011
  • 2. JULIANA DA SILVA CINDRA MARIANNA SIQUEIRA REIS UM ESTUDO SOBRE SOA – SERVICE ORIENTED ARCHITECTURE: CONCEITOS E CARACTERÍSTICAS Trabalho apresentado ao Instituto Federal de Educação, Ciência e Tecnologia Fluminense Campus Campos-Centro como requisito parcial para aprovação na disciplina de Laboratório de Tecnologia de Componentes, do Curso de Pós Graduação em Análise, Projeto e Gerenciamento de Sistemas de Informação. Professor: Jonivan Lisboa Campos dos Goytacazes/RJ Julho de 2010
  • 3. SUMÁRIO 1 SERVICE ORIENTED ARCHITECTURE ......................................................................... 4 1.1 Entendendo o que é SOA.......................................................................................... 4 1.2 Conceitos e princípios envolvidos na definição de um SOA ................................... 5 2 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTAR WEB SERVICES .................................................................................................................................7 2.1 SOA e a componentização de software ....................................................................7 2.2 Padrões de comunicação ..........................................................................................7 2.3 Características dos web services .............................................................................. 8 2.3.1 Baixo Acoplamento........................................................................................8 2.3.2 Transparência de Rede ...................................................................................9 2.3.3 Controle de acesso .........................................................................................9 3 CONCLUSÃO .......................................................................................................................9
  • 4. 1 SOA – SERVICE ORIENTED ARCHITECTURE 1.1 Entendendo o que é SOA Service Oriented Architecture (SOA) ou Arquitetura Orientada à Serviços é um estilo de 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 é uma solução, não é um produto de software. SOA é um estilo de projeto que guia, trata e permite que diferentes aplicações troquem informações entre si. Para se entender melhor SOA como uma 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 funcionalidade do sistema a tais componentes. Descreve a estrutura técnica, restrições e características dos componentes e das interfaces entre eles. A arquitetura é uma ‘planta baixa’ para o sistema e um plano de alto nível para sua construção” [Banke, Krafizig, Slama - 2005]. Ao entender SOA como uma arquitetura, pode-se entender os serviços em si como recursos de software bem definidos através de uma linguagem padrão, sendo auto-contidos, e proveem funcionalidades padrões do negócio independente do contexto ou estado de outros serviços; serviços podem ainda ser entendidos como um conjunto de métodos que realizam algo independente da camada de visualizaçã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 aplicada tanto no desenvolvimento web, no desenvolvimento para desktop, como também para dispositivos móveis (mobiles), independente da linguagem utilizada, pois o objetivo é os serviços estarem disponíveis através de uma interface para que possa ser implementado da melhor maneira que se julgar necessário.
  • 5. 1.2 Conceitos e princípios envolvidos na definição de um SOA Algumas definições tecnológicas de SOA: é uma coleção de serviços (barramento de serviços); utiliza topologia de rede para realizar a troca de mensagens; garante serviços fracamente 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, que surge 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-se excessivas interações com outros módulos; a coesão aqui está fortemente ligada ao princípio de ocultação e que sugere que um módulo pode realizar a sua função com um mínimo de interação com os demais módulos do sistema; é desejável que os módulos num software apresentem um alto grau de coesão; já o acoplamento exprime o grau de conexão entre os mó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 de software que trata de objetos, classes, métodos, herança, polimorfismo, etc; • WOA (Web Orientada à Objetos): são basicamente os softwares SOA utilizados na internet, seus artefatos são conhecidos como recursos, que são quaisquer artefatos que possam ser reconhecidos por uma URI (Universal Resource Identifier), ou seja, o endereço do recurso; • Web services: são os serviços encontrados para web, esses serviços são conhecidos como web services; podem ser identificados também como componentes que permitem às aplicações enviar e receber dados em formato XML; sendo também padronizados conforme UDDI (Universal Description, and Discovery Integration);
  • 6. • RMI (Remoted Metod Invocation): é uma interface de programação que permite a execução de chamadas remotas em aplicações desenvolvidas em Java; • UDDI (Universal Description, Discorevy and Integration): é uma especificação que define um serviço de registro para web service; a UDDI pode ser utilizada por provedores de serviços para publicação dos serviços que oferecem; • WSDL (Webs Service Description Language): documento escrito em XML que descreve o serviço especificando como acessá-lo e também quais as operações e métodos encontram-se disponíveis; • SOAP (Simple Object Accsses Protocol): é um protocolo padronizado para troca de informações estruturadas entre plataforma descentralizada e distribuída usando como base o XML, pode ser entendido também como o envelope que define a estrutura para descrever o conteúdo da mensagem e como processá-lo. Um diagrama de como a mensagem é provida é mostrado abaixo:
  • 7. 2 SOA – A ARQUITETURA MAIS UTILIZADA PARA IMPLEMENTAR WEB SERVICES 2.1 SOA e a componentização de software Os Web Services constituem um novo modelo de partilha de dados que permite publicação de rotinas e métodos acessíveis pela Internet. Com uma interface transparente para o cliente e facilidade de integração de diferentes aplicações, os Web Services são uma poderosa ferramenta para promover a integração dos dados em diferentes plataformas e fornecem uma infra-estrutura para manter uma forma mais rica e mais estruturada de interoperabilidade entre clientes e servidores. Pulier (2006) define Web Service (WS) como um sistema de software que segue um conjunto de padrões abertos de interoperabilidade. Estes padrões permitem a interoperação mundial de computadores independentemente da plataforma de hardware, sistema operacional, infra-estrutura de rede ou linguagem de programação. Pulier (2006) ainda afirma que a grande utilidade do WS é baseada no fato de que ele usa protocolos abertos de comunicação na Internet e XML para transacionar o seu negócio. Um WS é, portanto, um sistema de software que pode agir a pedido de qualquer computador conectado à rede no mundo, 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 e comunicação pra os serviços (tal como o que será explicado no próximo tópico). Figura 02 – Principais elementos de um SOA
  • 8. 2.2 Padrões de comunicação Um WS depende principalmente, segundo Pulier (2006), de três padrões interrelacionados baseados no XML para funcionar corretamente: • Simple Object Access Protocol (SOAP) - O formato da mensagem. • Web Services Description Language (WSDL) - O documento que descreve exatamente o que um WS faz e como invocá-lo. • Universal Discovery, Description, and Integration (UDDI) - O diretório do WS que está 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 services Web Services se comportam diferentemente de software tradicionais. Eles são baseados em padrões abertos, considerando que a maioria dos softwares em uso hoje se conectam através de uma tecnologia proprietária. Além disso, Pulier (2006) diz que WS são 'fracamente acoplados' quando comparado aos tradicionais sistemas distribuídos de computadores. E, como a Internet, Web Services oferecem total transparência na sua implementação e utilização. 2.3.1 Baixo Acoplamento Em contraste com os computadores cuja interoperação é “fortemente acoplada” através de interfaces proprietárias, WS são 'fracamente acoplados'. Pulier (2006) destaca que essa qualidade permite aos administradores de sistema substituir ou mover os computadores que contêm os WS com relativa facilidade. Baixo acoplamento também significa que as mudanças no provedor não conduzem necessariamente a mudanças no consumidor de um WS. Por estas e outras razões, o baixo acoplamento tem o potencial de poupar tempo e
  • 9. dinheiro na criação de interoperação entre computadores, e de aumentar drasticamente a produtividade de uma organizacão, permitindo que os processos empresariais sejam mais ágeis. 2.3.2 Transparência de Rede Para Pulier (2006), WS funcionam em modo de “transparência de rede”, ou seja, como websites na Internet, WS podem ser localizados em qualquer lugar de uma rede, ou grupo de redes conectadas. Como resultado, WS podem ser movidos de lugar na rede sem impacto na acessibilidade. 2.3.3 Controle de acesso Pela heterogeneidade dos acessos providos via uma arquitetura SOA, a implementação de segurança é dificultada. Nesse contexto, necessita-se de um padrão de controle de acessos que se adapte as necessidades de um sistema desse tipo. É necessário para tanto, se escolher um padrão comum de arquitetura de segurança que possa prover as funcionalidades de autenticação e autorização. 3 CONCLUSÃO Pode-se concluir com esse trabalho que SOA trata-se de um conceito, uma estratégia de Tecnologia da Informação(TI). O objetivo principal de sua implementação é a realização do complexo alinhamento do negócio aos sistemas tecnológicos e a integração entre diversos sistemas diferentes. Quando implementado com sucesso, SOA permite a interoperabilidade de sistemas, permite que a área de TI agregue real valor ao negócio e facilita a menor resistência a mudanças.
  • 10. REFERÊNCIAS BIBLIOGRÁFICAS: COULOURIS, G., DOLLIMORE, J., KINBERG. Sistemas Distribuídos: Conceitos e Projetos. 4ª. edição. Bookmann, 2007. SALES, Fábio de O., BARROS Kecyo S., “Solução de Integração entre Java, WEB SERVICES 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 de mensagens e controle de comunicação entre usuários”, Universidade Regional de Blumenau, 2007. KRAFIZIG, Dirk; BANKE, Karl; e SLAMA, Dirk. “Enterprise SOA – Service-Oriented Architecture Best Practices”. Prentice Hall (PTR) (2005). O que é SOA - http://www.guj.com.br/java/93287-o-que-e-soa – acesso em 01/07/2011 O 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/2011 Service Oriented Architecture - SOA - http://www.linhadecodigo.com/artigo/434/ServiceOriented-Architecture-SOA.aspx - acesso em 01/07/2011 Conceitos Básicos de SOA - http://finito-log.blogspot.com/2005/07/soa-2-conceitos- bsicos.html - acesso em 01/07/2011 Modelo 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