Web Services

25
java java xml xml soap soap wsdl wsdl uddi uddi ws ws fl fl Web Services Armênio Cardoso Consultor, Arquiteto de Sistemas e Professor java users group de petrópolis

description

Palestra apresentada no seminário One Day Oracle.

Transcript of Web Services

Page 1: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Web Services

Armênio CardosoConsultor, Arquiteto de Sistemas e Professor

java users group de petrópolis

Page 2: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Agenda:: O Que São Web Services?

:: Tipos de Aplicações.

:: XML.

:: Requisitos dos Web Services.

:: Descrição de Web Services.

:: Localização de Web Services.

:: Transporte para Web Services.

:: Frameworks para Web Services.

:: Referências Bibliográficas.

Page 3: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

O Que São Web Services?

:: Web Services permitem que aplicações acessem componentes de software através de protocolos padronizados, tais como HTTP ou SMTP.

:: Usando a Internet e a linguagem XML, é possível criar componentes que se comunicam com outros componentes, independente da linguagem de programação, plataforma ou cultura organizacional.

Page 4: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

O Que São Web Services?

:: Quais são as consequências dessa tecnologia?

Software Serviços

Page 5: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

O Que São Web Services?

Serviços de Cálculos

Cotações da Bolsa de Valores

Previsão do Tempo

Leilões e Comércio Eletrônico

Centros de Controle Industriais

Sistemas Administrativos

Sistemas Públicos

Page 6: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Tipos de Aplicações

:: Aplicações Verticais:

Cobrem um único aspecto do negócio das empresas.

:: Aplicações Horizontais:

Cobrem vários aspectos do negócio das empresas.

Page 7: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Tipos de Aplicações

:: Uma mudança estrutural básica vem ocorrendo na forma como as aplicações são desenvolvidas para solucionar problemas corporativos.

:: Esse fato tem se tornado o maior combustível que impulsiona os Web Services.

:: No passado, o foco do desenvolvimento se situava em aplicações verticais.

Page 8: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Tipos de Aplicações

:: Historicamente as aplicações verticais têm sido mais fáceis de implementar do que as horizontais.

:: Agora, todas as empresas desejam dispor de eBusiness, onde uma aplicação virtual cobriria o seu portifólio de aplicações verticais e horizontais.

Page 9: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Tipos de Aplicações

:: Quando problemas de B2B se apresentam, verifica-se uma similaridade com a integração de aplicações verticais.

:: Cada empresa desenvolve a sua infraestrutura de forma independente e aderente à sua própria cultura.

:: B2B pode ser visto como a “cola” que junta essas aplicações de empresas diferentes.

Page 10: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Tipos de Aplicações

:: A única maneira de lidar com esse número enorme de entidades heterogêneas na Internet é “fatorar” o problema em um “denominador comum” mais baixo.

:: Quando os dados são transferidos de um site para outro, é necessário que estejam codificados em um padrão que todos possam dispor.

http://www.meusite.com.br/dados.xml

Page 11: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

XML

:: XML = Extensible Markup Language é uma nova tecnologia para aplicações Web.

:: É um padrão definido pelo World Wide Web Consortium que permite que se crie tags próprias e gramáticas de linguagens próprias.

:: Site do W3 Consortium:

http://www.w3.org

Page 12: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

XML

:: Com XML é possível entender o significado das tags e estruturar informações de forma relacional ou hierárquica.

:: Mais do que isso, é possível escrever aplicações que “entendam” o significado das tags XML.

Page 13: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

XML

Conteúdo

XML

DTD ouSchema

XSL

Renderização Browser

HTML

PDFXSLT

DTD – document type definitionXSL/XSLT - stylesheet

Page 14: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Requisitos dos Web Services

:: Um Web Service é projetado para ser publicado, descoberto e invocado dinamicamente em um ambiente computacional distribuído.

Descrever Descobrir Transportar

Page 15: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Requisitos dos Web Services

:: Existem três requisitos para os Web Services:Descrever: descrição dos serviços, incluindo

especificações de interfaces de I/O e meta informações.

Descobrir: localização de serviços a partir das características desejadas.

Transportar: enviar requisições aos serviços e receber resultados.

Page 16: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Requisitos dos Web Services

Os padrões que estão por trás desses requisitos são WSDL, UDDI e SOAP.

WSDL UDDI SOAP

Page 17: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Descrição de Web Services

:: WSDL = Web Services Description Language.

:: Para que aplicações clientes entendam como interagir com os Web Services, é necessário haver uma descrição das funções disponíveis.

:: O arquivo que descreve o documento está codificado em um schema XML chamado WSDL.

schema = gramática escrita em XML

Page 18: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Localização de Web Services

:: Os Web Services podem ser públicos ou privados, tornando a sua publicação opcional.

:: Para publicar Web Services, os desenvolvedores colocam arquivos de localização na Internet, contendo código WSDL descrevendo o que cada serviço faz.

:: Existem dois tipos de localização de serviços: estática e dinâmica.

Page 19: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Localização de Web Services

:: A localização estática envolve a descrição absoluta da URL onde se encontra o Web Service.

:: A localização dinâmica envolve um algoritmo de pesquisa que procura em uma lista de URLs, todos os diretórios que contém Web Services.

Page 20: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Localização de Web Services

:: UDDI = Universal Description, Discovery and Integration funciona como um repositório de Web Services (Business Registry), tal como uma lista de páginas amarelas.

:: Esse recurso permite a publicação e localização de serviços através de critérios de pesquisa, tal como o Cadê ou Yahoo.

Page 21: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Transporte para Web Services

:: Web Services utilizam a Internet como meio físico de transporte e os protocolos HTTP e SMTP para estabelecer a comunicação.

:: Um Web Service é similar a um componente rodando no servidor Web, exposto ao mundo através de protocolos padrão.

Page 22: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Transporte para Web Services

:: Os frameworks que implementam Web Services, em geral, suportam HTTP GET, HTTP POST e SOAP (Simple Object Access Protocol).

:: Como HTTP é bastante comum, é possível desenvolver aplicações clientes de Web Services em diversas linguagens, tais como C/C++, Java, Visual Basic, Delphi etc, de forma fácil e rápida.

Page 23: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Transporte para Web Services

:: SOAP = Simple Object Access Protocol - descreve um formato para trocas de requisições e respostas entre clientes e Web Services.

:: SOAP é diferente do HTTP porque utiliza XML para formatar o conteúdo das mensagens e “envelopá-lo”, permitindo conduzir informações mais complexas a respeito das requisições e das respostas.

Page 24: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Frameworks para Web Services

:: Oracle 9i Web Services Framework.

:: Java Technology Web Services Model.

:: IBM B2Bi.

:: BEA Process Integrator-Collaborator.

:: Microsoft .NET (dot net).

Page 25: Web Services

javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl

Requirements for Building Industrial Strength Web Services

Billy Newport The Server Side

www.theserverside.com

Developing, Deploying, Managing Web Services with Oracle 9i

•Rob Cheng•Joe Meeks

Oracle

www.oracle.com

The Web at your (machine´s) service

•Sonal Bansal•Gurav Pal

JavaWorld

www.javaworld.com

Java Web services: What´s not to like?

Eric Armstrong JavaWorld

www.javaworld.com

Web Services Made Easier Sun Microsystems

java.sun.com/xml

.NET Framework Essetials •Thuan Thai•Hoang Lam

O´Reilly Press

www.ora.com

Referências Bibliográficas