Arquitetura Orientada a Serviços A Evolução de Estruturas Complexas a partir de Estruturas Simples. Neil Paiva Tizzo GEINFO

Documentos relacionados
A API de Publicação (Publishing API) suporta a operação publish que habilita empresas a colocarem e atualizarem a informação em um registro UDDI.

Serviços Web: Arquitetura

BPMN (Exemplos e Exercícios) e UDDI

WSDL e UDDI. Pedro Miguel Martins Nunes WSDL. WSDL Exemplo prático Resumo UDDI. Serviço UDDI Estruturas de dados UDDI e WSDL API Resumo

Introdução Serviços Web WSDL SOAP UDDI Ferramentas. Serviços Web. (Web Services) Emerson Ribeiro de Mello

2 Conceitos relativos a Web services e sua composição

Introdução a Web Services

Web Services. (Introdução)

Arquitetura de Aplicações J2EE. Jorge Fernandes Outubro de 2003

UFG - Instituto de Informática

Sistemas Distribuídos

Service Oriented Architecture (SOA)

Service Oriented Architecture SOA

UNIVERSIDADE. Sistemas Distribuídos

Integração Orientada a Serviços

Web Services. Integração de aplicações na Web. Sistemas Distribuídos

UNIVERSIDADE. Sistemas Distribuídos

Conceito Básicos de Programação com Objetos Distribuídos. Programação com Objetos Distribuídos (C. Geyer) Conceitos de POD 1

Programação Cliente em Sistemas Web

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V

SOA na Prática Ricardo Limonta

SOA Introdução. SOA Visão Departamental das Organizações

3 Serviços na Web (Web services)

Sistemas Distribuídos Arquiteturas Middlewares

SOA - Service Oriented Architecture. Marcelo Canevello Ferreira

PROGRAMA DE MBA em Gestão e Engenharia do Produto. O Produto Internet e suas Aplicações

Web services. Um web service é qualquer software que está disponível através da Internet através de uma interface XML.

PROGRAMAÇÃO SERVIDOR WEBSERVICES EM SISTEMAS WEB. Prof. Dr. Daniel Caetano

REST Um Estilo de Arquitetura de Sistemas Distribuídos

A Figura... mostra a arquitetura técnica de serviços na Web

Web Services. Melhor aceite que RPC, CORBA e DCOM devido à simplificação dos protocolos (> 90 implementações) Web Services. UDDI e Outras normas

Sistemas Distribuídos

Técnicas de Programação para a Web. Luiz Cláudio Silva. Novembro de Apresentação

WS-BPEL Web Service Business Process Execution Language

11/20/10. Resoluções: Teste de Áudio. Não suporto esses malucos de TI. Só inventam despesas. Não acredito que teremos que pagar por mais softwares.

Linha de Produto para BPM

Microsoft.NET. Desenvolvimento Baseado em Componentes

Integração de sistemas utilizando Web Services do tipo REST

Computação Distribuída Cap. VI

Trabalho de Sistemas Distribuídos

UNIVERSIDADE DO VALE DO RIO DOS SINOS. Programa Interdisciplinar de Pós-Graduação em Computação Aplicada

A Estrutura de um Web Service

2. Gerar um arquivo XSD e referenciá-lo no WSDL, fazendo com que seja possível catalogar o XML Schema no catálogo de XML Schemas da e-ping;

Web Services. Tópicos. Motivação. Tecnologias Web Service. Passo a passo Business Web Conclusão. Integração de aplicações SOAP, WSDL, UDDI, WSFL

UNIVERSIDADE DO VALE DO RIO DOS SINOS. Programa Interdisciplinar de Pós-Graduação em Computação Aplicada

Kassius Vargas Prestes

Combinação de serviços já existentes para criar um novo serviço. cin.ufpe.br. cin.ufpe.br. Composição de Serviços Com WS-BPEL

Infra estrutura da Tecnologia da Informação

Um Processo para Desenvolvimento de Aplicações Web Baseado em Serviços. Autores: Fábio Zaupa, Itana Gimenes, Don Cowan, Paulo Alencar e Carlos Lucena

Arquiteturas SOA, WOA, e REST

acoplamento Exprime o grau de conexão entre os módulos; os módulos de um software devemapresentar um baixo coeficiente de acoplamento.

Unidade 14: Web Services Prof. Daniel Caetano

Desenvolvimento de um sistema de leilão utilizando JavaServer Pages

Serviços Web: Introdução

Arquitetura SOA SCP. Sistema de Controle Patrimonial. Pandora Tech Soluções em Software Livre. Versão Atual 1.0. Data Versão Descrição Autor

INTEGRAÇÃO DE APLICAÇÕES UTILIZANDO WEB SERVICE 1. Kellen Kristine Perazzoli 2 ; Manassés Ribeiro 3

2ª edição. Daniel Adorno Gomes. Novatec

UNIVERSIDADE DO VALE DO RIO DOS SINOS. Programa Interdisciplinar de Pós-Graduação em Computação Aplicada

Modelagem De Sistemas

CORBA Integração com a Web

ENGENHARIA DE SOFTWARE

Arquitetura Orientada a Serviço

Sistemas Distribuídos. Web Services. Edeyson Andrade Gomes.

Gerenciamento e Interoperabilidade de Redes

CONSTRUÇÃO DE APLICAÇÕES DISTRIBUÍDAS UTILIZANDO SERVIÇOS WEB

Análise de Sistemas 3º Bimestre (material 2)

Gestão de Nomes. 8/28/2003 José Alves Marques 1. Gestão de nomes: Objectivo

DISTRIBUTED SYSTEMS ARCHITECTURES. Ian Sommerville, 8º edição Capítulo 12 Aula de Luiz Eduardo Guarino de Vasconcelos

Criando Web Services. Palestrante: Daniel Destro do Carmo

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Web Services e SOAP. Alexandre Zua CaldeiraTecnologias de Middleware 2006/ Faculdade de Ciências da Universidade de Lisboa

: : Interoperabilidade entre Sistemas de Informação baseados na WEB - uma abordagem Multicanal

18/04/2006 Micropagamento F2b Web Services Web rev 00

Métricas de Software Importância e Aplicação

Web Services Uma Análise Comparativa

Arquitetura Orientada a Serviços (SOA) Copyright e-core LTDA, Todos os direitos reservados.

Manual de Integração WebService

Consultar Tabelas Administrativas

Sistemas de Informações Gerenciais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios

Web services. Web services. Web services. Web services. Web services. Web services. Web services. Ângelo Vimeney. Rafael Martinelli.

MADALENA PEREIRA DA SILVA SLA Sociedade Lageana de Educação DCET Departamento de Ciências Exatas e Tecnológica

SOA Service Oriented Architecture. Fabiano Oss

Roteiro... Sistemas Distribuídos Aula 4. Troca de mensagens. Comunicação entre processos. Conceitos de SD, vantagens e desvantagens

RELATÓRIO DEFINIÇÃO. Resumo

UFG - Instituto de Informática

SOAP. Web Services & SOAP. Tecnologias de Middleware 2004/2005. Simple Object Access Protocol. Simple Object Access Protocol SOAP

UNIVERSIDADE FEDERAL DE CAMPINA GRANDE CENTRO DE CIÊNCIAS E TECNOLOGIA COORDENAÇÃO DE PÓS-GRADUAÇÃO EM INFORMÁTICA

Arquitetura de Software: Uma Central para Gestão da execução de serviços

Transcrição:

Arquitetura Orientada a Serviços A Evolução de Estruturas Complexas a partir de Estruturas Simples Neil Paiva Tizzo GEINFO - 2010

Objetivos Apresentar a Arquitetura Orientada a Serviços (SOA) como uma evolução natural das tecnologias de desenvolvimento de sistemas distribuídos Esboçar os conceitos fundamentais de SOA Ilustrar as potencialidades de SOA

Histórico Evolutivo Movimento dialético entre pressão e alívio Viabilidade econômica Diminuir custo sem sacrificar a qualidade e a longevidade Custo de Produção Qualidade

Evolução da Computação Distribuída 1ª. Fase Cliente/Servidor DCE 2ª. Fase CORBA DCOM EJB 3ª. Fase MOM 4ª. Fase SOA

Problemas das Tecnologias Anteriores Protocolos proprietários Falta de interoperabilidade Dependência de plataforma Falta de flexibilidade Necessidade de desenvolvimento em tempo de Internet

Tópicos O que é SOA Serviços Web Protocolo de Comunicação: SOAP Linguagem de Descrição: WSDL Registro de Serviços: UDDI Composição de Serviços: WS-BPEL

Service Oriented Architecture O QUE É SOA?

SOA Arquitetura Orientada a Serviços Arquitetura de TI para aplicações do tipo pedido resposta Funções de aplicação são modularizadas e apresentadas como serviços Serviços podem ser consumidos por outros serviços Serviços podem ser compostos

SOA: Características Fraco Acoplamento Composição Reutilização Padronização Interoperabilidade

Ciclo de Vida de um SW Provedor do Serviço Publica 1 4 Mapeia Interface Cliente do 5 Usa Registro do Serviço Acha 2 3 Serviço Procura

SERVIÇOS WEB

Serviços Web Os SW são atualmente a tecnologia mais utilizada para a implementação da arquitetura SOA São otimizados para serem usados por outros programas e não por pessoas É o uso ubíquo de HTTP que possibilita a adoção dos Serviços Web

Serviços Web: Padrões Um SW é um sistema de software identificado por uma URI, cujas interfaces públicas e mapeamentos são definidos e descritos usando-se XML Os SW são baseados no seguintes padrões: Protocolo de comunicação: SOAP Linguagem de descrição: WSDL Registro de serviços: UDDI Linguagem de composição: WS-BPEL

PROTOCOLO DE COMUNICAÇÃO SOAP

SOAP Originalmente ele define um formato de documento XML que descreve como invocar um método de um pedaço remoto de código Define uma forma de transmitir dados através de XML e de realizar RPC usando o HTTP como protocolo base Geralmente, SOAP usa o protocolo HTTP, mas outros tipos podem ser usados

Mensagem SOAP Envelope SOAP Cabeçalho SOAP Corpo SOAP É o elemento mais elevado É equivalente a um envelope do correio convencional Autenticação Gerenciamento de transação Pagamento e outros Consiste tipicamente de uma chamada RPC, resposta RPC ou código de erro

Arquitetura do SOAP no Java Servidor Web Cliente SOAP Máquina 1 Solicitação RPC SOAP por HTTP Resposta RPC SOAP por HTTP Processador SOAP A solicitação RPC é encaminhada a um objeto Java A resposta RPC é encaminhada ao processador SOAP Java Virtual Machine Objeto Java Máquina 2

SOAP: Exemplo de Resposta HTTP/1.1 200 OK Content-Type: text/xml;charset=utf-8 X-Powered-By: Servlet/2.5 JSP/2.1 Date: Thu, 02 Sep 2010 21:43:32 GMT X-ORACLE-DMS-ECID: 0000IfKPtFxAxGWFLzaQOA1CW1dA000009 Content-Length: 237 X-HTTPAnalyzer-RuleName: Pass through : <?xml version = '1.0' encoding = 'UTF-8'?> <S:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <S:Body> <ns2:alovoceresponse xmlns:ns2="http://projetoalovoce/"> <return>alo, Neil!</return> </ns2:alovoceresponse> </S:Body> </S:Envelope>

Web Services Description Language LINGUAGEM DE DESCRIÇÃO WSDL

WSDL Linguagem XML que descreve a interface de um Serviço Web Um documento WSDL define o nome de um Serviço Web, os nomes de seus métodos, os argumentos dos métodos, protocolo de acesso etc. É para os SW o que a IDL é para o CORBA

<definitions> <types> Descrição dos tipos de dados </types> <messages> Parâmetros de entrada e saída </messages> <porttype> <operations> Descrição das mensagens de entrada e saída </operations> </porttype> <binding> Descrição do protocolo de invocação </binding> Arquitetura do WSDL <service> <port> Referência à localização do serviço </port> </service> </definitions>

Universal Description, Discovery, and Integration REGISTRO UDDI

UDDI UDDI é um repositório para descrever, descobrir e integrar serviços Esses serviços não são necessariamente Web, ou até mesmo não estão relacionados a computadores São estruturados de maneira semelhante a um catálogo telefônico Páginas brancas Páginas amarelas Páginas verdes tmodel

Páginas Brancas Informação sobre negócios Nome Descrição do negócio Potencialmente em vários idiomas Informação para contato Endereço, telefone etc.

Páginas Amarelas Classificação de serviços e entidades de negócios baseada em taxonomias-padrão Standard Industrial Classification (SIC) 7361 = Services - Employment Agencies 7385 = Services - Telephone Interconnect Systems Uma entidade de negócios pode fornecer vários serviços

Páginas Verdes Informações técnicas sobre o serviço Informações sobre como o serviço pode ser acessado Relacionadas aos Serviços Web Endereços Parâmetros Não relacionadas aos Serviços Web E-mail FTP CORBA Telefone

tmodels (Technical Model) tmodel associa uma descrição de interface a um mapeamento, por exemplo, WSDL Vários mapeamentos podem se referir à mesma interface (tmodel) O setor de transporte aéreo pode definir uma interface de reserva de passagens padrão que pode ser implementada por várias companhias

tmodel: Modelo de Dados <businessentity businesskey= ABC > <name>bbc</name> <description> </description> </businessentity> <tmodel tmodelkey= QRS > <overviewdoc> <overviewrl> http://bbc.co.uk/news?wsdl> </overviewrl> </overviewdoc> </tmodel> <businessservice servicekey= EFG businesskey= ABC > <name>news</name> </businessservice> <bindingtemplate bindingkey= KLM servicekey= EFG > <description> Web Service </description> <acesspoint> http://bbc.co.uk/new </acesspoint> <tmodelinstancedetails> < tmodelinstanceinfo tmodelkey= QRS /> </tmodelinstancedetails > </bindingtemplate>

APIs (Mensagens SOAP) API Pesquisa Find things find_business find_service find_binding find_tmodel Get Details about things get_businessdetail get_servicedetail get_bindingdetail get_tmodeldetail API Publicação Save things save_business save_service save_binding save_tmodel Delete things delete_business delete_service delete_binding delete_tmodel security get_authtoken discard_authtoken

Web Service Business Process Execution Language COMPOSIÇÃO DE SERVIÇOS WS-BPEL

Necessidade da Integração A composição de Serviços Web é a habilidade de um negócio em fornecer serviços com valor agregado a seus clientes através da composição de serviços básicos possivelmente ofertados por diferentes companhias

Dificuldades da Integração Coordenar a comunicação assíncrona entre serviços Relacionar trocas de mensagens entre as partes Manipular/transformar dados trocados pelos parceiros Suportar atividades e transações de negócios demoradas Prover tratamento de exceções consistentemente Lidar com alto grau de autonomia e heterogeneidade dos serviços

WS-BPEL Linguagem de descrição de processos Ambiente de execução de processos Alto desempenho na execução de processos de longa duração Monitoração de processos e gerenciamento de ciclo de vida Ambiente para projeto de processos

BPEL: Exemplo de Processo BPEL Process User Partner Link PortType <receive> <invoke> PortType Partner Link Web Service <reply>

WS-BPEL no JDeveloper

A Evolução de Estruturas Complexas a Partir de Estruturas Simples SC1 SC2 SC3 Serviços Compostos SA1 SA2 SA3 SA4 SA5 Serviços Atômicos Recursos do Sistema

CONSIDERAÇÕES FINAIS

Porque SOA?

Aplicações de Serviços Web Comércio eletrônico (e-commerce) Negócio eletrônico (e-business) Governo eletrônico (e-government) Plataformas de Desenvolvimento Java.NET

Serviços Web Semânticos Adição de semântica aos padrões atuais de Serviços Web ou mesmo o desenvolvimento de novos padrões Uso de semântica para facilitar a composição manual Uso de semântica para permitir a composição automática Animal Humano:Penélope Anfíbio Mamífero Réptil eesposade Humano:Ulisses Humano Gato Lagarto =Pessoa

Neil Paiva Tizzo neil@pucpcaldas.br

SOA O que a Web fez para a interação usuário-programa, os Serviços Web farão para a interação programaprograma