Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouStefany Camara Alterado mais de 10 anos atrás
1
SOA e Web Services Aluno: Thiago Caproni Tavares
Orientador: Prof. Dr. Marcos José Santana Seminários – Disciplina de Sistemas Distribuídos 22 de Novembro de 2007
2
Agenda Introdução Arquitetura Orientada a Serviço Web Services
Por que utilizar? Visão dos web services Arquitetura Camada Física Camada de Descrição Camada de Descoberta Objetos Distribuídos e Web Services
3
Introdução A Internet mudou a maneira de se fazer negócios
Facilidade para o acesso as aplicações HTML e HTTP -> Padrão de troca de informação Navegadores Web – Tornaram a comunicação simples e possível
4
Introdução Problema Diferentes empresas utilizam diferentes tecnologias e soluções Como realizar integração de maneira automatizada? Muitas vezes é necessário reimplementar as soluções
5
Arquitetura Orientada a Serviço
Forma de reorganização de aplicações Infra-estrutura de um conjunto de serviços Acessados através de interfaces padronizadas de protocolos de mensagens Quando utilizar? Quando múltiplas aplicações precisam se comunicar sobre uma variedade de tecnologias e plataformas
6
Arquitetura Orientada a Serviço
7
Arquitetura Orientada a Serviço
Base da Arquitetura Agentes de softwares que se interagem por troca de mensagens Clientes são agentes que requisitam a execução de um serviço Provedores são agentes que fornecem o serviço Ambos podem ser clientes e provedores
8
Arquitetura Orientada a Serviço
Provedores são responsáveis pela publicação e descrição do serviço Clientes devem estar aptos a encontrar essas descrições e acessá-los Três tipos de participante fazem parte da SOA: O Provedor do Serviço O Serviço de Descoberta Cliente do Serviço
9
Arquitetura Orientada a Serviço
Service Provider Publish Bind Service Registry Service Client Find
10
Arquitetura Orientada a Serviço
Um serviço possui uma interface e uma implementação Função de negócio implementada em software Encapsulada com uma interface documentada formalmente (Encapsulamento de caixa-preta) Modularidade A interface é uma descrição do conjunto de operações que estão disponíveis para o cliente
11
Arquitetura Orientada a Serviço
Resumidamente: A SOA é a base dos web services Reorganiza as funcionalidades de uma aplicação através de serviços Suas principais características são: Neutralidade de Tecnologia Acoplamento fraco Transparência de localização
12
Web Services Tecnologia para computação distribuída baseada na web
Mecanismo popular na implementação de SOA’s Tem ganhado uma rápida adoção e suporte de empresas:
13
Web Services Podem ser vistos como um componente de software onde os detalhes da implementação são escondidos atrás de uma interface. Apache Axis e Java2WSDL Ferramentas que obtém interfaces a partir de sistemas orientados a objetos já existentes
14
Por que Utilizar Web Services
Interoperabilidade Independência de hardware, sistemas operacionais e linguagens de programação Padrões são abertos Uso de XML (Troca de documentos) Integração B2B
15
Por que Utilizar Web Services
Enterprise Application Integration (EAI)
16
Por que Utilizar Web Services
Protocolos Envolvidos HTTP XML SOAP WSDL UDDI
17
Visão dos Web Services Combinação
Operações podem ser combinadas entre diversos WS’s fornecendo uma única funcionalidade
18
Visão dos Web Services Padrões de Comunicação
Síncrona, assíncrona ou por eventos Cliente Provedor Cliente Provedor Cliente Provedor Δt Evento Δt Síncrona Assíncrona Evento
19
Visão dos Web Services Modelo de programação não particular
Ambiente web possui uma infinidade de linguagens de programação Paradigma de programação dos WS’s são independentes de qualquer outro paradigma
20
Visão dos Web Services Representação de mensagens
Representação do SOAP e dos dados são feitas através de XML Maior ocupação de espaço com relação ao formato binário Maior custo de processamento Legível para seres humanos e de fácil depuração
21
Visão dos Web Services Referências de Serviços
Cada serviço na web tem um URI (Uniform Resource Indentifier) O URL (Uniform Resource Locator) é a forma mais comum de URI Frequentemente os domínios são mudados Necessidade de um URN (Uniform Resource Names)
22
Visão dos Web Services Transparência
Clientes e provedores lêem e gravam suas mensagens diretamente em envelopes SOAP utilizando XML Linguagens de programação com Java, Perl, Phyton ou C++ oferecem API’s (Application Programming Interface) Geração automática dos procedimentos de empacotamento
23
Arquitetura dos Web Services
Composta por pelo menos três camadas: Camada Física Camada de Descrição Camada de Descoberta
25
Web Services – Camada Física
Camada mais baixa onde está a base de todo o desenvolvimento dos web services Sintaxe de roteamento das mensagens Suporte a transações simples Assinatura digital Criptografia Qualidade de serviço Protocolos propostos para essa camada: XML- RPC e SOAP
26
Web Services – Camada Física
XML-RPC Utilizado por serviços mais leves Cada requisição é enviada como uma mensagem HTTP-POST e as respostas são recebidas através de uma mensagem HTTP 200 Todas mensagens possuem cabeçalhos HTTP
27
Web Services – Camada Física
SOAP (Simple Object Access Protocol) Assim como o XML-RPC, o SOAP é um protocolo de troca de informações para dados “tipados” Versão 1.1 foi desvinculada do HTTP, diferentemente do XML-RPC Possibilidade da utilização de protocolos como SMTP, POP3, FTP e etc. A especificação é composta por três partes: um envelope, um conjunto de regras de codificação e uma convenção RPC
29
Web Services – Camada de Descrição
Contém a semântica formal para descrever as mensagens que os WS’s podem entender Descreve as restrições de dados dentro das mensagens, as ontologias e a maneira com que os WS’s podem ser combinados Os tipos de dados são expressadas por um XML Schema As semânticas são expressadas pela Web Service Description Language (WSDL)
30
Web Services – Camada de Descrição
XML Schema É uma alternativa aos DTD`s (Document Type Definition) define os elementos e os atributos que podem aparecer em um documento. define quais elementos são elementos filhos. define a ordem e o número dos elementos filhos. define se um elemento é vazio ou pode conter texto. define os tipos que podem ser atribuídos a elementos e atributos. define padrões e valores fixos a elementos e atributos.
31
Web Services – Camada de Descrição
WSDL Análoga a um interface Java ou a linguagem de definição de interface do CORBA (IDL) Fornece um mecanismo capaz de descrever as comunicações de um modo estruturado Serviços como coleções de endpoints Alguns Elementos: Types Message Operation Etc...
33
Web Services – Camada de Descoberta
Oferece processos e mecanismos pelos quais os web services podem ser encontrados Diretório de serviço onde os web services podem ser registrados e encontrados (W3C) O UDDI (Universal Description Discovery and Integration) provê as interfaces de serviços descritas em um documento WSDL
34
Web Services – Modelo Geral
Service Provider SOAP WSDL SOAP Service Registry Service Client Busca WSDL
35
Objetos Distribuídos e Web Services
CORBA e RMI – Objetos remotos Em WS’s não existe o conceito de referências a objetos Serviço definido por um endpoint que suporta várias operações Em termos de objetos distribuídos, os WS possuem um caráter singleton (stateless) RMI e CORBA foram projetados para uso dentro de uma organização ou entre um pequeno número de organizações
36
Objetos Distribuídos e Web Services
WS possui computação orientada a documentos (XML) Diferentemente de uma requisição a uma instância de um objeto Objetos distribuídos permitem o acesso ao mesmo estado repetidamente CORBA – Interoperable Object Reference Cliente e Servidor devem possuir o mesmo repositório de interfaces
37
Objetos Distribuídos e Web Services
Principais diferenças Não incluem noções de objetos Referências de objetos Ciclos de vida Comunicação através de encapsulamento de documentos XML
38
Objetos Distribuídos e Web Services
Tecnologia robusta e madura Restrição ao ambiente em que eles foram projetados (ex. uma intranet corporativa) Homegeneidade e latência conhecida Web Services Computação distribuída sobre a internet Interoperabilidade Heterogeneidade de plataformas e redes
39
OBRIGADO!!!
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.