© Copyright 2005 Rodrigo Rebouças de Almeida (http://rodrigor.com) Estudo de caso: Café Expresso Ltda. A estória de João...

Slides:



Advertisements
Apresentações semelhantes
Desenvolvimento de Sistemas Distribuídos Web Services
Advertisements

Web Services aplicado à Computação em Grade
Sistemas Distribuídos Baseados na Web
Módulo II – Domine a Internet Introdução a Informática DCC - UFMG.
UNIPAC – ARAGUARI CAMPUS – IX PROF. EVERTON HIPÓLITO DE FREITAS
Web Services Um Web Service é um bloco de software que pode ser acedido pela Internet e usado remotamente por outras aplicações Infra-estrutura para a.
Web Services 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Sistemas Distribuídos Web Services
Programas Utilitários Básicos
Introdução aos Serviços Web
Universal Description, Discovery and Integration (UDDI)
Web Services Erika Hmeljevski Estefania Borm Leonardo Malagoli
SOA e Web Services Aluno: Thiago Caproni Tavares
1 Comunicação Inter-Processos -> RMI -> RPC -> TCP -> UDP (Abstração de passagem de mensagem)
1 Arquitetura CORBA Repositório de Implementação Repositório de Interface cliente programa cliente proxy ORB Core ou invocação dinâmica servidor ORB Core.
Área de Desenvolvimento de Sistemas
DAS Sistemas Distribuídos para Automação Industrial
DAS Sistemas Distribuídos para Automação Industrial
Sistemas Distribuídos
SOA - Arquitetura Orientada a Serviços
Introdução a Arquitetura Orientada a serviços
Tópicos de Sistemas de Informação A
Middleware e Sistemas Distribuídos
Universal Description, Discovery and Integration (UDDI) Rafael Andrade
Aula 9 - Camada de aplicação
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Tópicos de Sistemas de Informação A
Tópicos de Sistemas de Informação A
Web Services Uninorte Semana de Tecnologia da Informação
CORBA e Desenvolvimento Baseado em Componentes
Web Services Desmistificando o pré-conceito.
Desenvolvimento de Aplicações Web nas plataformas J2EE e IDE Eclipse
Professor: Márcio Amador
Tecgraf PUC-Rio maio de 2011 Principais conceitos de CORBA.
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Da Introdução à Prática
RMI - JAVA.
Tópicos avançados em internet B Carlos Oberdan Rolim Ciência da Computação.
RPC and Web Service André Pereira.
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
Inteligência Artificial Web Semântica
Prof.°: João Henrique Disciplina: SOR II
Unidade 1 – Introdução a J2EE Prof.: Henrique Santos
Gerenciamento baseado na Web
Objetos Distribuídos para WEB Prof. Paulo Fernando da Silva FURB – Universidade Regional de Blumenau Pós-Graduação em Desenvolvimento WEB.
SQLite Banco de Dados II.
Web Services Equipe: Cláudia Brito Lyra Nunes da Silva
WSIT: Extensão de uma ferramenta de busca federada para Web Services Emanuel Müller Ramos Orientador: Cláudio Fernando Resin Geyer.
RMI Objetos Distribuídos Luiz C. D´oleron SCJP
.NET com C#.  Conceitos e Características  Vantagens do SOAP  Descrição do WebService  Gerenciamento de Estados  UDDI  Novidades do Framework 2.0.
Integrando sistemas através de HTTP + XML. * Muitos processos manuais começam a ser realizados online. * Ferramentas desenvolvidas precisavam ser interoperáveis.
Web Services: Conceitos e Transações
Universidade Federal de Alagoas Instituto de Computação - IC Redes de Computadores 2 Serviços Web Felipe Santos José Oswaldo.
SyncML Apresentação –Introdução Motivação Iniciativa SyncML –XML (eXtensible Markup Language) –Protocolos SyncML –Sincronização em duas vias –Conclusões.
WSDL Web Services Description Language. Tecnologias Relacionadas Web Services SOAP (Simple Object Access Protocol) HTTP (HyperText Markup Language) UDDI.
Web Services Marden Menezes Sharp Shooters.NET User’s Group Recife-PE11/11/2002.
1 Web Services Júlio Gerchman 2 Motivação XML Web Services Desacoplar componentes Formato padrão –“Consumível” pela máquina –Legível.
1 Web Services Uma Introdução Jacques P. Sauvé DSC/UFCG 2003.
Redes de computadores: Aplicações Prof. Dr. Amine BERQIA
Camada de Aplicação Prof. Horácio. Objetivo Apresentar os detalhes específicos dos tipos de aplicação; Apresentar o modelo cliente-servidor; Apresentar.
Pesquisa sobre o uso de Web Service Alunos:Felipe Silveira Israel Andreis Programação Distribuída e Paralela Prof. Dr. Cláudio F. R. Geyer.
WebPTM Web Project and Time Manager Autor: Daniel Nicoletti Orientador: Prof. Dr. Carlos Miguel Tobar Toledo Co-Orientador: Murilo Woigt Miranda PONTIFÍCIA.
Tecgraf PUC-Rio maio de 2011 Introdução ao Openbus.
Versão 1 - julho/2013 Tecgraf PUC-Rio Novembro de 2013 Introdução ao OpenBus.
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Web Services / SOA. O cenário de TI nas corporações Novas tendências batiam à porta das corporações Migraram o foco do “gerenciamento de dados” para o.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Curso Superior em Redes de Computadores Camada de Aplicação Prof. Sales Filho.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Transcrição da apresentação:

© Copyright 2005 Rodrigo Rebouças de Almeida ( Estudo de caso: Café Expresso Ltda. A estória de João...

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. Características: Sistema de controle de vendas de café: Implementado em Delphi Interface Windows p/ Desktop Possui um SGBD

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. Um dia o chefe de João traz novos requisitos... Preciso vender café através da Internet!! Estou perdendo dinheiro! Quero isso PARA ONTEM!

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. Como vou integrar o sistema existente com um novo módulo de acesso à Internet? Terei que reescrever o sistema em Java? ASP? João pensa...

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. Enquanto isso, o chefe traz mais requisitos... Meus concorrentes estão vendendo mais variedades de café do que eu! Preciso integrar nosso sistema de venda pela internet com os sistemas de meus fornecedores, e de novos fornecedores, para aumentar meus lucros!!! PARA ONTEM!!!

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. João desesperado... Já estou reescrevendo o sistema em Java... Pelo menos o sistema dos fornecedores é escrito em Java??

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. O chefe esclarece... Um dos fornecedores tem o sistema em Delphi o outro em C o outro em Visual Basic... Preciso disso PRA ONTEM!

© Copyright 2005 Rodrigo Rebouças de Almeida ( Café Expresso Ltda. Precisamos ajudar João...

Web Services Rodrigo Rebouças de Almeida Parte 1 – Introdução

© Copyright 2005 Rodrigo Rebouças de Almeida ( Arquiteturas - Histórico MainFrames [ Dados + Lógica + Interface ] Mainframe Terminal

© Copyright 2005 Rodrigo Rebouças de Almeida ( Arquiteturas - Histórico Arquitetura Cliente-Servidor Servidor c/ SGBD [ Lógica + Interface ] [ Dados ] PC Cliente PC Cliente

© Copyright 2005 Rodrigo Rebouças de Almeida ( Arquiteturas - Histórico Arquitetura em n-camadas Browser Web Internet Servidor Web Servidor de Aplicação SGBD [ Interface ] [ Dados ][ Lógica ]

© Copyright 2005 Rodrigo Rebouças de Almeida ( O Problema de João... Servidor de Aplicação Internet Fornecedor A Fornecedor B Fornecedor C Cliente 1.Integrar o sistema legado com um novo sistema 2.Integrar o sistema da empresa com os sistemas dos fornecedores A, B, C 1 2

© Copyright 2005 Rodrigo Rebouças de Almeida ( Vamos tentar resolver o problema de João usando Web Services.

© Copyright 2005 Rodrigo Rebouças de Almeida ( O que é um Web Service? Um Web Service é um ponto de acesso a funcionalidade que pode ser:  Localizado dinamicamente  Ter sua interface descoberta automaticamente, porque o serviço sabe se descrever  Ser chamado na Web

© Copyright 2005 Rodrigo Rebouças de Almeida ( Web services Se fundamenta basicamente em três tecnologias:  Web Services Description Language (WSDL) Define a interface de acesso ao serviço  Simple Object Access Protocol (SOAP) Um protocolo baseado em XML. Permite que os clientes se comuniquem com os provedores de serviço.  Universal Description, Discovery and Integration (UDDI) Permite Web services registrarem suas características, permitindo que outras aplicações as encontrem.

© Copyright 2005 Rodrigo Rebouças de Almeida ( Usar XML para toda a comunicação Extended Markup Language (XML) Oferece um formato ASCII para trocar qualquer tipo de informação estruturada Usa o “estilo” HTML de markup com tags  Manga Maçã Uva Os tags podem ser definidos para criar uma “Aplicação XML” ou “Linguagem XML”

© Copyright 2005 Rodrigo Rebouças de Almeida ( Usar SOAP fazer RPC SOAP é uma forma de fazer Remote Procedure Call (RPC) usando documentos XML

© Copyright 2005 Rodrigo Rebouças de Almeida ( Descrever o serviço remoto usando WSDL WSDL = Web Services Description Language Pronunciado “wisdle” É uma linguagem XML que contém informação sobre a interface, a semântica, e outros detalhes de chamadas a um Web Service

© Copyright 2005 Rodrigo Rebouças de Almeida ( Definir ontologias Precisamos saber o que as coisas significam Exemplo: como mandar uma ordem de serviço se não sei o que cada campo deve conter? Várias organizações definem e padronizam ontologias  ebXML  RosettaNet  (...)

© Copyright 2005 Rodrigo Rebouças de Almeida ( Usar UDDI para localizar serviços UDDI = Universal Description, Discovery, and Integration Permite cadastrar serviços e localizá-los Não é necessário usar UDDI se o cliente já tiver o documento WSDL

© Copyright 2005 Rodrigo Rebouças de Almeida ( Web services, Arquitetura Serviço de diretório Serviço cliente Provedor de serviço 1 - Registra-se 2 - Busca serviço 3 - Provê serviço >

© Copyright 2005 Rodrigo Rebouças de Almeida ( SOAP Simple Object Access Protocol  Define uma forma de transferir documentos XML através da Internet;  Aplicações cliente se comunicam com Web services usando SOAP como protocolo;  SOAP define um envelope para transmissão de mensagens, oferece regras para representar “remote procedure calls” (RPCs);

© Copyright 2005 Rodrigo Rebouças de Almeida ( SOAP  É o padrão para troca de mensagens usando XML;  Desenvolvido sob a supervisão da W3C;  Permite a transferência de mensagens através de protocolos de alto nível, como HTTP e SMTP;  É mais usado sobre HTTP, pois consegue atravessar firewalls!

© Copyright 2005 Rodrigo Rebouças de Almeida ( SOAP

© Copyright 2005 Rodrigo Rebouças de Almeida ( SOAP Estrutura de uma mensagem SOAP:

© Copyright 2005 Rodrigo Rebouças de Almeida ( João agora não precisa reimplementar o sistema de controle de vendas de café para este ser acessível via Internet... Basta fazer o sistema existente e o módulo de acesso a Internet conversarem usando SOAP e descrever os dados em XML

© Copyright 2005 Rodrigo Rebouças de Almeida ( Servidor de Aplicação Internet Parser XML XML SOAP XMLHTML Integração entre aplicações dentro de um domínio administrativo

© Copyright 2005 Rodrigo Rebouças de Almeida ( Resolvemos o 1o problema, publicamos o sistema existente na Internet, agora precisamos ligar nosso sistema aos sistemas dos nossos fornecedores! Podemos usar SOAP como protocolo de comunicação! Mas, como saber a interface do sistema do meu fornecedor? Como posso fazer meu sistema iteragir com um sistema escrito em outra linguagem, em outra plataforma?

© Copyright 2005 Rodrigo Rebouças de Almeida ( WSDL Web Service Description Language  É uma linguagem XML para descrever Web services;  Segue um conceito parecido da “Interface Definition Language” (IDL) usado em CORBA;  Descreve detalhes como definição de tipos de dados, operações suportadas pelo Web service, formato das mensagens, endereço de rede do Web service, etc.

© Copyright 2005 Rodrigo Rebouças de Almeida ( Fornecedor A Fornecedor B Fornecedor C WSDL Internet Café Expresso Ltda. > Resolvido o problema, agora João tem seu Sistema integrado com os fornecedores. Último detalhe... Como descobrir novos fornecedores??

© Copyright 2005 Rodrigo Rebouças de Almeida ( UDDI Universal Description, Discovery and Integration Provê um mecanismo para registro e localização de Web services; É um diretório que contém vários Web services registrados, onde associamos um nome a um serviço, como um Web service.

© Copyright 2005 Rodrigo Rebouças de Almeida ( UDDI Permite que empresas registrem seus serviços e possam interagir com outras empresas interessadas. UDDI é um Webservice baseado em XML e SOAP; A interação com um serviço UDDI é baseado em interfaces SOAP pré-definidas.

© Copyright 2005 Rodrigo Rebouças de Almeida ( UDDI Um registro UDDI é organizado em duas entidades fundamentais:  businessEntity : provê informações a sobre a empresa que está publicando o serviço. Contém um ou mais elementos businessService;  businessService: representa um serviço provido pela businessEntity;  Cada entidade é identificada por uma chave única, permitindo que haja referências a serviços, definições WSDL;

© Copyright 2005 Rodrigo Rebouças de Almeida ( Fornecedor A Fornecedor B Fornecedor C WSDL Internet Café Expresso Ltda. > João agora pode encontrar outros Fornecedores através de um serviço UDDI. UDDI Service Fornecedores XYZ Registram-se Busca novos fornecedores

© Copyright 2005 Rodrigo Rebouças de Almeida ( Fornecedor A Fornecedor B Fornecedor C WSDL Internet Café Expresso Ltda. > João agora pode encontrar outros Fornecedores através de um serviço UDDI. UDDI Service Fornecedores XYZ Registram-se Comunica-se com novos fornecedores >

© Copyright 2005 Rodrigo Rebouças de Almeida ( Ferramentas - Como desenvolver Web Services? Ferramentas da Sun  JWSDP com muitas APIs: JAXP, JAXB, JAX-RPC, SAAJ, JAXR, JWSDL Ferramentas da IBM Ferramentas da Microsoft (.NET) Ferramentas da Apache  Axis do projeto Apache WSDL2Java converte WSDL para Java

© Copyright 2005 Rodrigo Rebouças de Almeida ( Exemplo com Axis Usando JWS  Criando um serviço de soma e subtração de números Recursos:  Axis  Apache Tomcat 5.x  Eclipse 3.1  Plugin do Eclipse: Lavadora

© Copyright 2005 Rodrigo Rebouças de Almeida ( Passo a passo (1) Passo 1: Download Axis  Passo 2: Crie contexto Axis no Tomcat  Copie (...)/axis/webapps/axis para o diretório webapps do Tomcat Passo 3: Inicie o Tomcat e teste a instalação do Axis  Acesse:  Corrija as dependências Passo 4: Crie o WebService  Crie uma classe Java, altere a extensão de.java para.jws  Copie o jws para o contexto do Axis, no tomcat

© Copyright 2005 Rodrigo Rebouças de Almeida ( Passo a passo (2) Passo 5: Acesse o WSDL do webservice gerado  Passo 6: Instale o plugin do Eclipse  Download:  Descompacte no diretório onde seu Eclipse está instalado Passo 7: Crie o cliente para acessar o serviço  No Eclipse: File -> New -> WebServices-> Web Service Client  Digite o caminho do wsdl do seu serviço: Passo 8: Execute o cliente e acesse o webservice  Veja código no próximo slide

© Copyright 2005 Rodrigo Rebouças de Almeida ( Passo a passo (3) Código do cliente public static void main(String[] args) { try { CalculatorServiceLocator locator = new CalculatorServiceLocator(); Calculator calc = locator.getCalculator(); System.out.println(calc.add(10,5)); } catch (ServiceException e) { } catch (RemoteException e) { } }

© Copyright 2005 Rodrigo Rebouças de Almeida ( Conclusões João não foi despedido João com seu salário

© Copyright 2005 Rodrigo Rebouças de Almeida ( Conclusões O chefe de João conseguiu barrar a concorrência..

© Copyright 2005 Rodrigo Rebouças de Almeida ( Fontes de consulta Axis User’s Guide developers.ibm.com/webservices JavaWorld: webservices.org xml.apache.org

© Copyright 2005 Rodrigo Rebouças de Almeida ( Obrigado!! Rodrigo Rebouças de Almeida