1 / 21

Sistemas Distribuídos SOA – Arquitetura Orientada a Serviços

Sistemas Distribuídos SOA – Arquitetura Orientada a Serviços. Prof. Odair Indena Jr. odair@umc.br / odairindena@gmail.com. SOA é.

Download Presentation

Sistemas Distribuídos SOA – Arquitetura Orientada a Serviços

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistemas DistribuídosSOA – Arquitetura Orientada a Serviços Prof. Odair Indena Jr. odair@umc.br / odairindena@gmail.com

  2. SOA é ... “SOA é uma abordagem arquitetural corporativa que permite a criação de serviços de negóciointeroperáveis que podem facilmente ser reutilizados e compartilhados entre aplicações e empresas.” — GartnerGroup

  3. SOA é ... “É uma arquitetura de desenvolvimento cujo objetivo é criar módulos funcionais chamados de serviços, com baixo acoplamento e permitindo reutilização de código” — SAMPAIO, Cleuton. SOA e Web Services em Java, Rio de Janeiro, 2006

  4. SOA é ... “ ...produzir seu software com APIsricas, inteligentes e poderosamente reutilizáveis, onde qualquer plataforma e linguagem possa fazer uso da sua funcionalidade. “ Saudate, Alexandre. SOA aplicado, Integrando web services e além, São Paulo, 2012.

  5. SOA não é ... • Igual a webservices, muito menos XML(São aliados). • Tecnologia. • Vendido em prateleira(Não estou falando de ferramentas). • Resolução de todos os problemas. • Ágil no processamento(Nos negócios/serviços da empresa é outra coisa).

  6. Serviços É uma função do sistema computacional construído de tal forma que possa ser facilmente vinculado a outros componentes de software • Encapsula uma função do negócio reutilizável • Serviços são independentes da implementação • Serviços são fracamente interligados

  7. Níveis de Abstração

  8. Serviços • Serviços são reutilizáveis; • Serviços compartilham um contrato formal; • Serviços possuem baixo acoplamento; • Serviços abstraem a lógica; • Serviços são capazes de se compor; • Serviços são autônomos; • Serviços evitam alocação de recursos por longos períodos; • Serviços devem possuir a capacidade de serem descobertos

  9. Componentes vs. Serviços Arquitetura Baseada em Componentes • Para a execução de MeuSoftware é necessário funcionalidades existentes em outros componentes presentes no sistema (computador). • São biblioteca de aplicações já desenvolvidas que disponibilizam serviço a novos software.

  10. Componentes vs. Serviços Web Services • Para a execução de MeuSoftware é necessário funcionalidades existentes em outros componentes presentes no sistema (computador) e também de funcionalidades presentes em sistemas remotos, acessados via internet. Servidor Web Servidor Aplicações Requisita Autenticação Internet

  11. Web Services Web Services referem-se aos projetos de comunicações na Web entre aplicações e baseiam-se em tecnologias como HTTP, XML, SOAP, WSDL, SPARQL, e outras. W3C

  12. DB WEB WebService Máquina Servidor Biblioteca de Classes Aplicações Consumidoras Arquitetura baseada em web services

  13. Exemplos de Web Services • NFP Secretaria da Fazenda https://www.nfp.fazenda.sp.gov.br/ws/arquivocf.asmx • Correios - Calculador remoto de Preços e Prazos http://www.correios.com.br/webservices/ • SERASA - Consulta CPF http://www.consultacpf.com/webservices/consultacpf.asmx

  14. Vantagens de Web Services • Empresa que disponibiliza web service: • Disponibilização de seus serviços em maior escala • Possibilidade de crescimento • Aplicação que consome web service • Possibilidade de reuso • Integração com aplicações existentes • Facilidade na transferência de informações • Independência de lógicas externas • Interoperabilidade entre plataformas de múltiplos fabricantes • Tendência: que os serviços sejam portados para a web (computação em nuvens)

  15. Web Services UDDI – Descreve, descobre e integra web services (Universal Description, Discovery and Integration) Registro de Serviço (UDDI) Descobrir Publicar Aplicação Cliente Provedor de Serviço Solicita serviço Conhece a especificação do serviço Fornece serviço desejado Publica na internet

  16. Web Services e SD

  17. Protocolos de Web Services SOAP (SimpleObject Access Protocol) • Definido pelo W3C • Requisição/resposta XML • Padrão de utilização com web services • Compatível com WSDL (Web Services DescriptionLanguage)

  18. Protocolos de Web Services • Exemplo de requisição de Envelope SOAP GET /StockPrice HTTP/1.1 Host: example.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <?xmlversion="1.0"?> <env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:s="http://www.example.org/stock-service"> <env:Body> <s:GetStockQuote> <s:TickerSymbol>IBM</s:TickerSymbol> </s:GetStockQuote> </env:Body> </env:Envelope>

  19. Protocolos de Web Services • Exemplo de resposta de Envelope SOAP HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: nnn <?xmlversion="1.0"?> <env:Envelopexmlns:env="http://www.w3.org/2003/05/soap-envelope" xmlns:s="http://www.example.org/stock-service"> <env:Body> <s:GetStockQuoteResponse> <s:StockPrice>45.25</s:StockPrice> </s:GetStockQuoteResponse> </env:Body> </env:Envelope>

  20. Protocolos de Web Services REST (RepresentationalStateTransfer) • Dependente do protocolo HTTP • Mensagens XML, JSON, YAML ou texto • Simples e independente de tecnologias • Não há padrões de especificação • Segurança baseada em HTTP

  21. Protocolos de Web Services • Exemplo de requisição REST GET /StockPrice/IBM HTTP/1.1 Host: example.org Accept: text/xml Accept-Charset: utf-8 • Exemplo de resposta REST HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: nnn <?xmlversion="1.0"?> <s:Quotexmlns:s="http://example.org/stock-service"> <s:TickerSymbol>IBM</s:TickerSymbol> <s:StockPrice>45.25</s:StockPrice> </s:Quote>

More Related