Monica vasconcelos

23

Click here to load reader

Transcript of Monica vasconcelos

Page 1: Monica vasconcelos

ISVOUGA

Instituto Superior entre Douro e Vouga

Trabalho de tecnologias de Informática

Docente: Drº Nuno Peixoto

Discente: Mónica Vieira de Vasconcelos

Page 2: Monica vasconcelos

Tecnologias da Informática

Índice

1.INTRODUÇÃO 3

2 .WEB SERVICES 5

2.1 O que é um Serviço? 6

2.2 Arquitetura Orientada a Serviços 6

2.3 Tecnologias chave de Web Services 8

3. SOAP 9

4. WSDL 10

5. UDDI 13

6. CONCLUSÃO 16

7. BIBLIOGRAFIA

1 - INTRODUÇÃO

Mónica Vasconcelos 2

Page 3: Monica vasconcelos

Tecnologias da Informática

Web Services, consiste na mais recente evolução nos padrões de desenvolvimento de

aplicações distribuídas, permitindo que aplicações cooperem facilmente e compartilhem

informações e dados umas com as outras. Espera-se que esta evolução altere a forma

como as aplicações são construídas e desenvolvidas, como a informação é

apresentada e compartilhada e como software é comprado e vendido. Tecnicamente,

Web Services são serviços distribuídos que processam mensagens SOAP codificadas

em XML, enviadas através de HTTP e que são descritas através deWeb Services

Description Language (WSDL). Web Services fornecem capacidade a um sistema para

interagir e comunicar com outro entre componentes de software que pode mestar em

diferentes empresas e podem residir em diferentes infra-estruturas. O SOAP é baseado

em XML e “navega” sobre o HTTP através de requisições GET ou POST na porta 80,

base de funcionamento da Web, isto é o que garante a interoperabilidade de entre

diferentes plataformas. O WSDL, que também é baseado em XML e “navega”sobre

HTTP, fornece a descrição do serviço possibilitando a integração dele com ferramentas

de desenvolvimento e de gestão de componentes. No WSDL de um Web Services

estão descritos a URL para cessar o serviço, o nome do Web Service, a descrição de

cada método e a forma de fazer a requisição utilizando SOAP, GET ou POST. Uma das

principais razões para o crescente interesse em Web Services é que eles permitem

uma Arquitectura Orientada a Serviços (SOA - Service-Oriented Architecture). Quando

se utiliza Web Services para a construção de tal arquitectura, as soluções consistem de

colecções de serviços autónomos, identificados por URLs, com interfaces

documentadas através de WSDL e processando mensagens XML. SOA é um

complemento a abordagens orientadas a objectos (OO) e processuais.

A web services é uma arquitectura orientada a serviços difere de sistemas (OO) e

processuais num aspeto: a informação de ligação entre os componentes (binding).

Serviços interagem baseando-se em quais funções eles fornecem e como elas são

entregues. Sistemas (OO) e processuais ligam os elementos baseando-se em tipos e

nomes. Diferente de sistemas anteriores, o modelo de Web Services não opera sobre a

noção de tipos compartilhados que requerem implementações comuns. Em vez disso,

os serviços interagem baseando-se somente em contratos e esquemas. Isto permite

que o serviço descreva a estrutura das mensagens que ele pode enviar e/ou receber e

estabelecer limitações nas suas mensagens. A separação entre estrutura e

procedimento, e a precisa descrição dessas características simplificam a adaptação em Mónica Vasconcelos 3

Page 4: Monica vasconcelos

Tecnologias da Informática

ambientes heterogéneos. Além disso, esta informação caracteriza completamente a

interface do serviço, de forma que a adaptação da aplicação não requer um ambiente

de execução compartilhado para criar a estrutura ou o comportamento das mensagens.

Web Services, utilizam características de XML, esquemas e cabeçalhos SOAP para

permitir o desenvolvimento dos serviços de forma que não ponha em causa aplicações

que já os estejam a utilizar.

2 - WEB SERVICESMónica Vasconcelos 4

Page 5: Monica vasconcelos

Tecnologias da Informática

As organizações estão a adotar cada vez mais a Arquitetura Orientada a Serviços

(Service Oriented Architecture, SOA) com a finalidade de suportar as suas aplicações

mais críticas. SOA consiste num paradigma computacional que emergiu como

consequência direta da necessidade de colaboração e integração de componentes

funcionais, disponibilizados nesse contexto como serviços, entre empresas, de forma

interoperável e com fraco acoplamento. Web Services é uma implementação poderosa

dessa arquitetura, que podem ser basicamente definidos como uma interface para

recursos computacionais, acessível através da troca de mensagens baseadas em XML

e construída com a utilização de protocolos padrões da Internet.

Web services é um factor decisivo para a consolidação deste novo conceito como um

segmento da indústria de tecnologia foi a formação de um consórcio, designado como

Web Services Interoperability Organization (WS-I), objectivando o desenvolvimento de

padrões. Tal grupo reuniu grandes líderes do mercado de tecnologia, tais como IBM,

Microsoft, SAP, Oracle, BEA System, Fujitsu entre outras, apoiado por duas

importantes empresas de consultoria nesta área: o Gartner Group e a Forrester

Research. A reunião destes grandes competidores foi marcada, espantosamente, pelo

interesse genuíno e autêntico de se estabelecer padrões satisfatórios para todos os

envolvidos. Adiciona-se a isto o fato de que este consórcio, mais nitidamente através

da Microsoft, vem trabalhando junto ao W3C, entidade responsável pela padronização

de diversas linguagens e protocolos de Internet, numa proposta visando a

padronização do SOAP (Simple Object Access Protocol) e de outros padrões que dão

suporte ao uso de Web Services. Conforme citado anteriormente, um Web Service é

um componente ou unidade desoftware que fornece uma funcionalidade específica,

como uma rotina para validação do número de cartão de crédito. A mesma poderá ser

acessada por diferentes sistemas, através do uso de padrões da Internet, como XML

(Extensible Markup Language) e HTTP (Hyper Text Transfer Protocol). A utilização de

tais padrões é importante para o desenvolvimento de aplicações distribuídas com Web

Services. Portanto, um Web Service poderá ser utilizado internamente, por uma única

aplicação ou por várias aplicações da mesma empresa, podendo ser exposto através

da Internet, a fim de ser utilizado por qualquer aplicação, bastando para isso que a

aplicação seja capaz de entender SOAP e XML. Acrescente-se ao uso do XML, HTTP

e SOAP a necessidade de uma linguagem que esclareça sobre sintaxe, parâmetros,

métodos ou funções, a WSDL (Web Services Description Language) e um directório Mónica Vasconcelos 5

Page 6: Monica vasconcelos

Tecnologias da Informática

geral, UDDI(Universal Description, Discovery and Integration Services), verdadeira

espécie depáginas amarelas descrevendo os serviços disponíveis.

WEB SERVICES tais nomenclaturas compõem o conjunto de tecnologias aceites pelos

padrões acordados entre os fornecedores, acima citados, e propostos ao W3C no que

diz respeito ao assunto Web Services, a saber: HTTP, XML, SOAP, WSDL e UDDI.

Neste trabalho abordar-se-á mais detalhadamente as últimas três tecnologias, SOAP,

WSDL e UDDI.

2.1 O que é um Serviço?

O conceito de serviço pode ser encontrado no mundo real por meio dos serviços de

utilidade pública como, telefonia, água, eletricidade, provedores de Internet, etc. Um

serviço representa uma funcionalidade disponibilizada ao público em geral. No mundo

computacional, um serviço está disponível num ponto particular de uma rede de

computadores, recebe e envia mensagens e comporta-se de acordo com sua

especificação. Os aspectos funcionais de um serviço são descritos utilizando

metadados, e as limitações e as condições que estão associadas com o uso do serviço

são especificadas através de políticas que podem ser adicionadas a esses metadados.

Interfaces e políticas que descrevem os termos e as condições que guiam a utilização

do serviço são publicadas de forma que os utilizadores possam descobrir e receber

toda a informação de que eles precisam para se associar, muitas vezes

dinamicamente, àquele serviço.

A informação que é publicada sobre o serviço fornece detalhes daquilo que o serviço é

e faz. O serviço também oferece toda a informação necessária para que o ambiente

onde está hospedado um cliente do serviço possa aceder e interagir com ele de forma

bem sucedida.

2.2 Arquitetura Orientada a Serviços

A Arquitetura Orientada a Serviços é um paradigma arquitetural específico que oferece

fraco acoplamento e associação dinâmica entre serviços. Ela permite que organizações

colaborem entre si competências para resolver ou suportar soluções para problemas

que encontram no decorrer de seus negócios, integrando componentes funcionais Mónica Vasconcelos 6

Page 7: Monica vasconcelos

Consumidor de Serviços

Provedor de Serviços

Registo de serviços

Tecnologias da Informática

distribuídos de modo transparente e homogéneo. Os princípios que servem como base

para a arquitetura estão ilustrados na figura que se segue.

Associar Descobrir

Publicar

Figura.1 - Arquitetura Orientada a Serviços

Primeiro, é necessário fornecer uma definição abstrata do serviço, incluindo os

detalhes que permitam a qualquer um associar-se ao serviço de forma adequada.

Segundo, os provedores de serviços necessitam publicar os detalhes dos seus serviços

de forma que aqueles que desejam utilizá-los, possam entender mais precisamente o

que eles fazem e terem conhecimento de quais procedimentos devem ser tomados

para se conectarem a eles.

Terceiro, os consumidores de serviços precisam ter alguma forma de descobrir quais

serviços disponíveis atendem as suas necessidades. Para que esse tripé

associar/publicar/descobrir, trabalhe satisfatoriamente, padrões devem ser definidos

para administrar o que e como publicar, como descobrir uma informação, e detalhes

específicos sobre como se associar a um serviço.

O provedor de serviços, entidade criadora dos serviços, descreve sua semântica, isto

é, as funções que ele suporta, além das suas características operacionais e as

Mónica Vasconcelos 7

Page 8: Monica vasconcelos

SOAP WSDL UDDI

Tecnologias da Informática

informações necessárias sobre como se associar a um serviço. Essa informação

descritiva (metadados) sobre o serviço é publicada no registo de serviços. O

consumidor de serviços usa o registo de serviços para descobrir os serviços pelos

quais ele tem interesse e seleciona aquele que mais o satisfaz. Baseado no acesso à

informação publicada sobre o serviço, o consumidor pode solicitar o serviço

selecionado.

2.3 Tecnologias chave de Web Services

A Web Services, uma das concepções mais bem sucedidas da Arquitetura Orientada a

Serviços que podem ser definidos como um método de integração de dados e

aplicações via padrões XML através de plataformas computacionais e sistemas

operacionais.

Aplicações habilitadas para Web Services fazem chamadas e enviam respostas umas

às outras através de um formato XML chamado de SOAP (Simple Object Access

Protocol). Na Web Services são descritos aos clientes e a outras aplicações servidoras

através do uso de outro formato XML que se denomina WSDL (Web Services

Description Language). Informação de registo e localização de um Web Service que

pode ser publicada num diretório UDDI (Universal Description, Discovery and

Integration).

No núcleo da tecnologia de Web Services, XML desempenha um papel fundamental

por ser facilmente transportável, compatível e comum com a camada de transporte pela

qual é transmitida em todos os formatos de comunicação. A figura 2 ilustra como XML

está posicionadomna base dos três principais padrões adotados para formar a

tecnologia de Web Services. Outros padrões também compatíveis com Web Services

empregam XML como sua linguagem básica.

Mónica Vasconcelos 8

Page 9: Monica vasconcelos

Tecnologias da Informática

Figura 2 – Linguagem XML como base de Web Services

3. SOAP (SIMPLE OBJECT ACCESS PROTOCOL)

É utilizado para invocar serviços remotos de forma síncrona ou assíncrona de um Web

Service. Trata-se, na realidade, de um protocolo padrão para troca de mensagens.

Possibilita que qualquer aplicação invoque e responda a qualquer outra aplicação.

Justamente, o que garante a inter-operabilidade do Web Services é o uso deste

protocolo padrão (SOAP) para o envio e recepção destas mensagens. De notar que a

união das tecnologias amplamente difundidas HTTP e XML deram origem aos demais

elementos que compõem a plataforma Web Services, como o protocolo SOAP, por

exemplo. Vale ainda citar, a título de referência, que este protocolo ainda se encontra

em fase de estudo junto ao W3C, conforme citado, sendo que esta entidade referenda

o mesmo como XML Protocol (XMLP).

No contexto de Web Services, um software hipotético de e-commerce formata uma

mensagem com informações do produto e do local de destino, na forma de uma

mensagem XML, a qual é encapsulada no formato SOAP, a fim de ser transportada

pelo protocolo HTTP, utilizado amplamente na Internet. No destino, o Web Service , lê

informações no formato XML, faz cálculos e empacota o resultado no formato XML, o

qual é encapsulado pelo protocolo SOAP para ser transportado pelo protocolo HTTP,

de volta para o programa que fez a solicitação de cálculo. O SOAP possui duas

vantagens em relação a tais protocolos:

1) Não se utiliza de mecanismos de selecção dinâmica de "ports" e, portanto, pode

processar facilmente através de "firewalls" padrões;

2) Pelo facto de ser derivado do padrão XML pode ser utilizado para dispor

argumentos de qualquer aplicação para qualquer outra aplicação, não importando o

Mónica Vasconcelos 9

Page 10: Monica vasconcelos

Tecnologias da Informática

tipo de sistema, linguagem de programação ou sistema distribuído. Basicamente, este

protocolo compõe-se de três partes:

1) Um envelope que define um "framework", o qual descreve o que a mensagem

contém e como processá-la;

2) Um conjunto de regras codificadas para expressar instâncias dos tipos definidos da

aplicação;

3) Uma convenção que representa chamadas e respostas remotas de procedimento.

Percebe-se que o SOAP não especifica necessidades da informação a ser trocada,

isso cabe às aplicações que o usam. O SOAP é assim uma plataforma sobre a qual

informação específica de aplicações pode ser trocada. É um standard que permite

grande expansibilidade e interoperabilidade entre sistemas. Esta interoperabilidade

poderá naturalmente estar ameaçada se não forem utilizados standards puros SOAP.

4. WSDL (Web Services Description Language)

WSDL (Web Services Description Language) é um formato XML para descrever

serviços de rede como um conjunto de pontos de acesso que funcionam através de

mensagens contendo informação orientada ao documento ou orientada ao

procedimento. As operações e as mensagens são descritas de forma abstrata e ligadas

concretamente ao protocolo de transporte e ao formato da mensagem para definir um

ponto de acesso. Pontos de acesso concretos e relacionados são combinados em

pontos de acesso abstratos (serviços). WSDL é extensível para permitir que a

descrição de pontos de acesso e suas mensagens não levem em consideração quais

formatos de mensagem ou protocolos de transporte que estão a ser usados na

comunicação.

O provedor (desenvolvedor) de um Web Service utiliza a WSDL para construir um

documento que descreve detalhes necessários na invocação do serviço por um cliente.

Detalhes como, a interface do serviço, esses métodos estão disponíveis, as

assinaturas dos métodos e os valores retornados, o endereço onde o serviço está

localizado e o protocolo que o serviço é capaz de processar para efetuar a

comunicação, são disponibilizados para a conquista independente de plataforma e

linguagem.

O uso da WSDL proporciona algumas vantagens:Mónica Vasconcelos 10

Page 11: Monica vasconcelos

<definitions>

DESCRIÇÃO ABSTRATA

Tecnologias da Informática

Torna mais fácil a criação e a manutenção de serviços através do fornecimento

de uma abordagem mais estruturada para definir interfaces de Web Services;

Facilita o consumo de Web Services ao reduzir a quantidade de código (e erros

potenciais) que uma aplicação cliente precisa implementar;

Facilita a implementação de mudanças que provavelmente terão menos

impacto às aplicações clientes SOAP.

A descoberta dinâmica de descrições WSDL permite que tais mudanças sejam

repassadas automaticamente aos clientes que estejam a utilizar WSDL, de forma a que

modificações difíceis no código do cliente não tenham que ser feitas a cada mudança

ocorra.

4.1 Estrutura do Documento WSDL

A estrutura sintática do documento WSDL como mostra a figura.

Mónica Vasconcelos 11

Page 12: Monica vasconcelos

Tecnologias da Informática

Figura -3 estrutura sintática do documento WSDL

Um documento WSDL organiza-se em duas seções lógicas: uma descrição abstrata e

uma descrição concreta. A parte abstrata, composta pelos elementos

<types>,<message> e <portType>, descreve o comportamento de um Web Service em

relação às mensagens que ele consome e produz. A parte concreta ocupa-se em

informar como e onde aceder a implementação de um serviço. Essas informações são

cobertas pelos elementos <binding> e <service>.

Mónica Vasconcelos 12

Page 13: Monica vasconcelos

Tecnologias da Informática

Arquivos WSDL iniciam com um elemento raiz <definitions>, que contém geralmente

atributos definindo namespaces que descrevem quais XML Schemas são usados ao

longo do documento WSDL.

O elemento <types> engloba a definição dos tipos de dados relevantes para as

mensagens trocadas entre o serviço e o cliente. Todas as mensagens que possam vir a

ser trocadas entre o consumidor do serviço e o serviço são listadas no documento

WSDL através do emprego do elemento <message>. Esse elemento é responsável por

definir de forma abstrata o conteúdo das mensagens.

O elemento <portType> define um conjunto de operações relacionadas que um Web

Service suporta. Uma operação é um agrupamento das mensagens que podem ser

trocadas numa interação particular com o serviço e é indicado pelo elemento

<operation>.

Quatro tipos de operações são suportados:

Unidirecional: uma mensagem chega ao serviço e não é produzida como resposta;

Solicitação/Resposta: uma mensagem chega ao serviço e é produzida uma

mensagem como resposta;

Pedido/Resposta: o serviço envia uma mensagem e obtém uma resposta;

Notificação: o serviço envia uma mensagem e não recebe nada como resposta.

O protocolo usado para transportar as mensagens é especificado na descrição

concreta pelo elemento <binding>. Esse elemento associa um protocolo específico

(SOAP, HTTP, SMTP, etc) a um elemento <portType> particular.

O elemento <service> é a parte final da descrição de um serviço. Através de seu

elemento filho <port> ele indica o endereço de rede onde o Web Service está

localizado.

5. UDDI (UNIVERSAL DESCRIPTION, DISCOVERY AND INTEGRATION) O aplicativo

que irá utilizar um Web Service necessita identificar, ou descobrir, a existência do

mesmo. Ao criar-se uma aplicação de e-commerce, são necessários mecanismos para

catalogar e localizar Web Services com funcionalidades específicas e que possam ser

utilizados pela aplicação que está ser criada. O UDDI vem acompanhar esta

necessidade. Tal como os anteriores formatos, este conceito utiliza padrão XML. A

ideia é similar ao que propõe o padrão Corba com o conceito de"repositório de Mónica Vasconcelos 13

Page 14: Monica vasconcelos

Tecnologias da Informática

objectos", embora as implementações sejam distintas. Analogamente, trata-se de um

serviço similar ao prestado pelas páginas amarelas, excepto pelo fato de serem as

mesmas electrónicas. Estas provêem uma estrutura de informações, na qual várias

entidades de negócio se registam a elas mesmas e aos seus respectivos serviços,

através das suas definições na linguagem WSDL, discriminadas por áreas de negócio

como indústria, produto ou geograficamente, de forma a permitir uma busca

optimizada. Existem dois tipos de registos:

Públicos, os quais servem como pontos de agregação para uma variedade de

negócios publicarem os seus serviços;

Privados, os quais servem um papel similar nas organizações. A analogia que se

faz a este protocolo em face de uma arquitectura utilizando-se do J2EE ou mesmo

CORBA, são os protocolos JNDI Repos ou LDAP.A especificação UDDI consiste de um

esquema de 4 camadas dispostas hierarquicamente, as quais provêem um modelo

base de informação para publicar, validar e invocar informações a respeito de um Web

Service.

Entidade de Negócio - o elemento no nível mais elevado de um registo UDDI

captura o conjunto inicial de informações requeridas por parceiros, pesquisando para

localizar informações a respeito de serviços de negócio, incluindo aí o nome, o tipo de

indústria, categoria do produto, sua localização geográfica, categorizações opcionais e

informações de contacto;

Serviço de Negócio - esta estrutura agrupa uma série de Web Services

relacionados de tal forma, que eles possam ser relacionados a ambos os processos de

negócio, quanto por categorias de serviços. Este agrupamento possibilita uma melhor

optimização no tempo de pesquisa;

Informações de troca (Bind Information) - cada Web Service de negócio tem um

ou mais elementos de descrições capturadas em XML, designados como exemplos.

Este contem informações que são relevantes para aplicações que são necessárias no

momento de se invocar um serviço ou quando está a ocorrer uma troca com um

destes. Estas informações referem- se ao endereço URL e o servidor, por exemplo;

Informações de concordância - são informações que possibilitam a um cliente

determinar se um Web Service específico está de acordo quanto à sua implementação.

Referem-se a informações de ordem de compra do serviço, questões de segurança,

Mónica Vasconcelos 14

Page 15: Monica vasconcelos

Tecnologias da Informática

que protocolos são apropriados, que tipo de resposta deverá ser aguardada após a

ordem de compra, entre outras. Assim, pode-se dizer que as funções do UDDI são:

Permitir que as aplicações de negócio se descubram;

Definir como elas irão interagir através da Internet;

Compartilhar informações em registos;

6. CONCLUSÃO

Pode concluir-se que o modelo de funcionamento da Web Service segue uma linha que

remete ao seguinte fluxo. Uma aplicação é desenvolvida, utilizando-se de qualquer tipo Mónica Vasconcelos 15

Page 16: Monica vasconcelos

Tecnologias da Informática

de linguagem de programação. Tal aplicação possui uma série de interfaces

formalizadas, as quais são publicadas em WSDL, a entidade responsável pela

aplicação, regista a si mesma apropriadamente como sendo uma entidade de negócio,

e publica as suas interfaces em WSDL, num ou mais registos UDDI, que vêm a ser

directórios de Servidores Web. Qualquer outra aplicação que necessite das

funcionalidades daquela desenvolvida, pesquisa os registos UDDI e localiza os

serviços correspondentes. Finalmente, é então invocado o serviço desejado, utilizando-

se das informações armazenadas no registo UDDI, especificamente, o URL do serviço

a ser localizado e a interface WSDL para ser utilizado. Por fim, e a respeito das três

tecnologias fundamentais para a implementação do conceito de Web Services: • SOAP

- Utilizado para acesso e transporte. Trata-se do protocolo utilizado para invocar um

Web Service, WSDL, Utilizado para descrição. Trata-se da descrição ou definição de

um Web, UDDI, Utilizado para o descobrimento e publicação. Trata-se do directório no

qual o Web Service pode ser localizado.

7. BIBLIOGRAFIA

http://pt.wikipedia.org/wiki/Web_service

Mónica Vasconcelos 16

Page 17: Monica vasconcelos

Tecnologias da Informática

http://msdn.microsoft.com/pt-br/library/cc564893.aspx

http://www.w3schools.com/webservices/default.asp

http://pt.wikipedia.org/wiki/SOAP

http://www.w3schools.com/soap/

Mónica Vasconcelos 17