Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.

Slides:



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

Sistemas Distribuídos Baseados na Web
Sistemas distribuídos
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 2º Semestre 2009 > PUCPR > Pós em BD Bruno C. de Paula.
Web Services 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Sistemas Distribuídos Web Services
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
Área de Desenvolvimento de Sistemas
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
Funcionalidades e Protocolos da Camada de Aplicação
Middleware e Sistemas Distribuídos
Aplicativos Web Com Orientação a Objetos
Minicurso PHP – Parte 2 João Paulo Ribeiro jpribeiro.com
Treinamento do Microsoft® Access® 2010
Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Computação e Estatística Servidor de Documentos XML Usando.
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
Chamada Remota de Procedimentos
Arquitetura Cliente /Servidor
Tecnologia da Informação
Web Services Desmistificando o pré-conceito.
Concorrência e Java RMI
Conceitos de J2EE para a WEB
Professor: Márcio Amador
SISTEMAS OPERACIONAIS I
Aplicações Web com Orientação a Objetos
Tecgraf PUC-Rio Setembro de 2013 Introdução ao Openbus.
Da Introdução à Prática
Processos.
RPC and Web Service André Pereira.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Comunicação.
Prof.°: João Henrique Disciplina: SOR II
Gerenciamento baseado na Web
Integração de Ferramentas CASE
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
.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.
© Copyright 2005 Rodrigo Rebouças de Almeida ( Estudo de caso: Café Expresso Ltda. A estória de João...
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.
Análise de estratégias para implantação de segurança em arquiteturas orientadas a serviços Dezembro/2010 Itabaiana/SE Universidade Federal de Sergipe –
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.
Serviços de rede e internet Jackson Eduardo da Silva.
UCSal – Tecnologia em Análise e Desenvolvimento de Sistemas Programação para Aplicações WEB Profa. Semíramis Assis
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.
Desenvolvimento WEB II Professora: Kelly de Paula Cunha Apresentação baseada no material didático elaborado pelo Prof. Pasteur Ottoni de Miranda Junior.
SOA SOA – Arquitetura Orientada a Serviços Conceitos e Aplicações
Aula: Arquiteturas de redes: modelo de referência OSI 04/12/2010.
YOUR LOGO Tópicos Avançados em Internet Prof. Lincoln Ferreira Dantas Sistemas de Informação UNIESP – Presidente Epitácio.
Segurança em Comércio Eletrônico Comércio tradicional realizado de maneira centralizada cercado de restrições legais Comércio eletrônico realização de.
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.
Internet - Intranet - Extranet Internet Rede pública mundial Padrões e protocolos multiplataforma Intranet Rede privada, corporativa Mesmos protocolos.
Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes.
Transcrição da apresentação:

Web Services Conceitos e Tecnologias Amanda Modesto Suzanna Sandes

O que são Web Services Nos últimos anos, novas tecnologias e frameworks de desenvolvimento estão surgindo, permitindo uma maior integração entre os diversos aplicativos e serviços disponíveis na internet. Este novo modelo em crescimento deve tratar de tarefas complexas, como o gerenciamento de transações, através da disponibilização de serviços distribuídos que utilizem interfaces de acesso simples e bem definidas. Esses serviços ou aplicativos distribuídos são conhecidos como Web Services. Ex: Um site de vendas pela Internet, que necessita validar o crédito do cliente antes de proceder com a venda.

Web Services Características: o Uso intenso de XML- Tanto a descrição de um serviço quanto a comunicação entre serviços é feita usando XML. o Grande apoio da indústria- Web Services se tornaram parte das plataformas J2EE e.NET. o Baseado em padrões abertos - Web Sevices são baseados em uma série de padrões abertos e amplamente difundidos, tais como XML,SOAP,HTTP,WSDL e UDDI.

Web Services Características o Web Services são identificados por uma URI. o São utilizados para disponibilizar serviços interativos na WEB, podendo ser acessadospor outras aplicações. o As mensagens trocadas entre webservices tipicamente usam o protocolo HTTP como protocolo de transporte, evitando problemas com firewalls, ja que a única coisa que trafega é oXML, usando a porta 80.

Benefícios São independentes da plataforma e linguagem de programação - permitem que programas, escritos em diferentes linguagens e diferentes plataformas comuniquem uns com os outros de uma forma standard. São suportados por protocolos standard - trabalham com protocolos standard da Web - XML, HTTP e TCP/IP. Um grande número de empresas já tem uma infra-estrutura Web e pessoas com conhecimentos e experiência suficientes para a manter. Mais uma vez, o custo da entrada dos webservices é significativamente menor do que o das tecnologias anteriores. São flexíveis, escaláveis e reutilizáveis - os webservices podem ser registados para que potenciais utilizadores possam localizá-los com maior facilidade.

Benefícios Reduzem custos - automatizando a interacção entre aplicações e processos de negócio, reduzem- se os custos de transacção e minimiza-se o erro humano. Além disso, os webservices são componentes reutilizáveis que possibilitam que, facilmente, se melhorem funcionalidades e conteúdos existentes, reduzindo assim o custo de desenvolvimento. Geram novas oportunidades de negócio - publicando as funcionalidades de aplicações como webservices, pode gerar-se procura imediatamente (por exemplo, serviços de cotação online), ou indirectamente (por exemplo, serviços de rastreio de encomendas).

Aplicação

Arquitetura A arquitetura dos Web Services é baseada na interação de três personagens: o Provedor de Serviços o Consumidor de Serviços o Registro dos Serviços

Arquitetura

Tecnologias Especificações e tecnologias definidas para a construção ou utilização de Web Services: XML - Extensible Markup Language SOAP - Simples Object Access Protocol WSDL - Web Services Definition Language UDDI - Universal Discovery Description Integration

XML Descreve como os dados trocados entre aplicativos devem ser estruturados. Na prática, é uma forma de descrever e compartilhar dados, usando um formato comum de apresentação. o Escrito em forma de texto o Simples e legível o Marcações bem definidas o Hierárquico

XML - Exemplo JANICE JEFFERSON 5 8 7

SOAP É um protocolo de comunicação para os web services; permite a troca de informações. É uma especificação para requisitar métodos de negócio, como documentos XML, e suporta outros protocolos como HTTP, SMTP, FTP e RMI. Define o formato das mensagens XML Possibilita que dois processos (possivelmente em duas máquinas diferentes) se comuniquem entre si, desconsiderando o hardware e a plataforma que eles estão rodando.

SOAP - Vantagens É um protocolo de comunicação para os web services; permite a troca de informações. É uma especificação para requisitar métodos de negócio, como documentos XML, e suporta outros protocolos como HTTP, SMTP, FTP e RMI. Define o formato das mensagens XML Possibilita que dois processos (possivelmente em duas máquinas diferentes) se comuniquem entre si, desconsiderando o hardware e a plataforma que eles estão rodando.

SOAP - Desvantagens Falta de interoperabilidade entre ferramentas de desenvolvimento do SOAP. Embora o SOAP tenha amplo suporte, ainda existem problemas de incompatibilidades entre diferentes implementações do SOAP. Mecanismos de Segurança Imaturos. O SOAP não define mecanismo para criptografia do conteúdo de uma mensagem SOAP, o que evitaria que outros tivessem acesso ao conteúdo da mensagem. Não existe garantia quanto à entrega da mensagem. Quando uma mensagem estiver sendo transferida, se o sistema falhar, ele não saberá como reenviar a mensagem. Um cliente SOAP não pode enviar uma solicitação a vários servidores, sem enviar a solicitação a todos os servidores.

SOAP - Estrutura

WSDL Define um sistema para a descrição de serviços. Através dela, descrevemos os serviços externos, ou interfaces que são oferecidos por uma determinada aplicação, independente de sua plataforma ou linguagem de programação. Simplificadamente: o O arquivo WSDL é um documento XML que descreve um conjunto de mensagens SOAP e a forma como essas mensagens são trocadas.

WSDL – Principais Elementos

WSDL Além de definir o conteúdo das mensagens, o WSDL define onde o serviço está disponível e quais protocolos de comunicação são usados para conversar com o serviço. O WSDL especifica o que a mensagem de requisição deve conter e como vai ser a resposta. Ou seja, o arquivo WSDL define tudo que é necessário para escrever um programa que utilize o Web Service.

WSDL Além de definir o conteúdo das mensagens, o WSDL define onde o serviço está disponível e quais protocolos de comunicação são usados para conversar com o serviço. O WSDL especifica o que a mensagem de requisição deve conter e como vai ser a resposta. Ou seja, o arquivo WSDL define tudo que é necessário para escrever um programa que utilize o Web Service.

UDDI No momento que construímos um Web Services, necessitamos que os serviços sejam acessados em algum lugar da Internet por um cliente Padrão desenvolvido para fornecer um diretório de busca para os negócios e seus serviços. Tem como objetivo ser um mediador do serviço, permitindo que os clientes requisitantes encontrem um fornecedor do serviço apropriado. Como as demais tecnologias, o UDDI é baseado na tecnologia XML, a qual fornece uma plataforma- neutra de dados e permite descrever relações hierárquicas de um modo natural.

UDDI Podemos comparar o UDDI com uma lista telefônica, da seguinte maneira: o Páginas Brancas: contêm informações sobre nomes, endereços, números de telefone, além de outras informações sobre os fornecedores do serviço. o Páginas Amarelas: contêm listagens comerciais baseadas nos tipos desses negócios, de maneira organizada por categoria específica ou regiões demográficas. o Páginas Verdes: são usadas para indicar os serviços oferecidos por cada negócio, incluindo todas as informações técnicas envolvidas na interação com o serviço. Resumindo, explica como fazer a comunicação com eles.

Resumindo... Serviço de software publicado na Web através do SOAP, descrito com um arquivo WSDL e registrado em UDDI

Exemplo de Web Service via J2SE e J2ME O que será usado: o Axis o Tomcat o KSOAP o KXML

Exemplo – Serviço.java public class Servico{ public int soma(int valor1, int valor2){ return valor1+valor2; }

Disponibilização 1.Alterar o nome do arquivo de Servico.java para Servico.jws 2.Colocar o arquivo no diretorio CATALINA_HOME/webapps/axis e iniciar o servidor. 3.O web service está publicado! 4.Para acessar o web service criado:

Exemplo – Arquivo WSDL

Continuação – Arquivo WSDL

Exemplo - Teste Resultado da execução - documento XML: 6

Exemplo – Cliente.java 01. import org.apache.axis.client.Service; 02. import org.apache.axis.client.Call; public class Cliente { 05. public static void main(String[] args) throws Exception { 06. // Endereço, local onde encontra-se o Web Service 07. String local = " // Criando e configurando o serviço 10. Call call = (Call) new Service().createCall(); 11. // Configurando o endereço. 12. call.setTargetEndpointAddress(local); 13. // Marcando o método a ser chamado. 14. call.setOperationName("soma"); // Parâmetros da função soma. 17. Object[] param = new Object[]{new Integer(2),new Integer(4)}; 18. // Retorno da Função 19. Integer ret = (Integer)call.invoke(param); // Imprime o resultado: ret = System.out.println("Resultado da soma : " + ret); 23. } 24. }

Acessando o Web Service via J2ME Como o J2ME não possui classes para tratar estas implementações, é necessário utilizar outros dois projetos para atender as transparência. Os projetos são o KSOAP e o KXML da ObjectWeb. Ambos estão sob licença pública.

Exemplo – ClienteJ2ME.java import javax.microedition.lcdui.Display; import javax.microedition.lcdui.TextBox; import org.ksoap.SoapObject; import org.ksoap.transport.HttpTransport; public class ClienteJ2ME extends javax.microedition.midlet.MIDlet { private Display display; private String url = " TextBox textbox = null; public void startApp() { display = Display.getDisplay(this); try { testWebService(); } catch (Exception ex){ System.out.println(ex); } }

Continuação – ClienteJ2ME.java public void pauseApp() {} public void destroyApp(boolean unconditional) {} public void testWebService() throws Exception { StringBuffer stringBuffer = new StringBuffer(); TextBox textBox = null; // Chama o WebService SoapObject client = new SoapObject(url,"soma"); client.addProperty("valor1",new Integer(2)); client.addProperty( "valor2",new Integer(4)); HttpTransport ht = new HttpTransport(url,"soma"); stringBuffer.append(" Resultado: " + ht.call(client)); // mostra o valor do resultado na tela. textBox = new TextBox("Teste WebService", stringBuffer.toString(), 1024, 0); display.setCurrent(textBox); }

Referências ndo_descobrindo_e_integrando_web_services_-_uddi/ ndo_descobrindo_e_integrando_web_services_-_uddi/ ndo_um_web_service_-_wsdl/ ndo_um_web_service_-_wsdl/ do_os_webservices/ do_os_webservices/ o_de_transporte_padrao_-_soap/ o_de_transporte_padrao_-_soap/