web services
DESCRIPTION
Palestra apresentada no seminário One Day Oracle.TRANSCRIPT
javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl
Web Services
Armênio CardosoConsultor, Arquiteto de Sistemas e Professor
java users group de petrópolis
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.
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.
javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl
O Que São Web Services?
:: Quais são as consequências dessa tecnologia?
Software Serviços
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
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.
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.
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.
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.
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
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
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.
javajavaxmlxml soapsoapwsdlwsdluddiuddiwsflwsfl
XML
Conteúdo
XML
DTD ouSchema
XSL
Renderização Browser
HTML
PDFXSLT
DTD – document type definitionXSL/XSLT - stylesheet
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
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.
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
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
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.
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.
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.
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.
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.
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.
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).
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