Serviços para a Web Semântica

Documentos relacionados
contidos na descrição do serviço para localizar, contactar e chamar o serviço. A figura mostra os componentes e a interação entre eles.

Introdução a Web Services

Web Services - Definição. Web Services - Introdução. Universidade Federal de Santa Catarina. DSOOII Web Services

INFORMÁTICA. Instruções: Para responder às questões de números 71 e 72, considere o texto a seguir:

Livro 10 Gerenciamento de Projetos com PMI SOA

UFG - Instituto de Informática

Desenvolvimento de Aplicações Distribuídas

PMR3507 Fábrica digital

O que se espera para o futuro dos Web Services? As tecnologias são respectivamente JSON e REST.

Projeto. Observatório Nacional de Clima e Saúde

GERENCIAMENTO BASEADO NA WEB. Baseado em slides gentilmente cedidos pelo Prof. João Henrique Kleinschmidt da UFABC.

Web Services. Tópicos. Introdução (1/3) CONTEXTO HISTÓRICO WEB SERVICES Conclusões

MIDDLEWARE PARA A COMUNICAÇÃO DE DADOS ENTRE SISTEMAS DISTRIBUÍDOS COM WS SECURITY. CAIO RENAN HOBUS Orientador: Jhony Alceu Pereira

SOLUÇÃO DE INTEGRAÇÃO PARA O SISPORTOS

ATENÇÃO O TCP/IP não é um protocolo. TCP/IP é um conjunto de diversos protocolos em 04 camadas próprias que se relaciona com o modelo OSI.

Prof. Me. Sérgio Carlos Portari Júnior

O Processo da Descoberta de um Serviço: Discovery

SERVIÇOS WEB. Frankley Gustavo F. Mesquita, Tamiris Souza Fonseca. 27 de junho de 2016

Aula 12 -QS -Engenharia de SW Orientada a Serviço

Curso Online de E-commerce. Plano de Estudo

Programação para Web

Sérgio Koch Van-Dall

Desenvolvendo um protótipo do UDDI. Luís Fernando Jordan. 1. Introdução. 1.1 Apresentação.

Introdução a Web Services

Engenharia de Software Orientada a Serviços

Universidade Federal Fluminense Mestrado em Sistemas de Telecomunicações. Disciplina: Fundamentos de Sistemas Multimídia.

SERVIÇO CONTRATO Especificação das operações de Serviço

Arquitetura da World Wide Web. WWW: Histórico. WWW: Usos. WWW: Histórico. WWW Tecnologias Fundamentais. Comércio Eletrônico na WWW

Web Services. Professor: Ricardo Luis dos Santos IFSUL Campus Sapucaia do Sul

Sistemas Distribuídos

Uso da Internet. Disciplina: Gestão da Tecnologia de Sistemas. Professor: Thiago Silva Prates

Manual de Integração. Tecnologia: WebServices SOAP XML. Área: CDC. Produto: CDC Simplificada (Juridica) Versão: 1.0. Autor: Angelo Bestetti Junior

Web Services. Sistemas Distribuídos Marcos Costa

Desenvolvimento de Aplicações Corporativas Avançadas. Web Services

Comentários: Desenvolvimento de Sistemas Rogério Araújo

INTEGRAÇÃO DE UMA REDE DE SENSORES SEM FIO COM A WEB UTILIZANDO UMA ARQUITETURA ORIENTADA A SERVIÇO

Invocação Remota. Prof. Leonardo Barreto Campos. 1/29

O W3C e a Web Semântica. CPqD - abril/2009 Workshop Rede IP do Futuro

O que é um sistema distribuído?

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

2ª edição. Daniel Adorno Gomes. Novatec

Sistemas Especializados

Introdução à Computação

PTC Aula Princípios das aplicações de rede 2.2 A Web e o HTTP. (Kurose, p ) (Peterson, p ) 21/03/2017

1. Conceitos de Bancos de Dados

PROVIDING DEPENDABILITY FOR WEB SERVICES

U NIVERSIDADE F EDERAL DE P ERNAMBUCO

Redes de Computadores e Aplicações

Protótipo de Protocolo de Aplicação para Troca de Documentos da Área Extra Judicial. Acadêmico: Fabrício Bento Orientador: Paulo Fernando da Silva

Principais conceitos de CORBA

Este capítulo aborda os fundamentos principais aplicados neste trabalho.

Objetos e Componentes Distribuídos: EJB e CORBA

Estruturas básicas de redes Internet Padronização e Protocolos

RPC e RMI. Sistemas Distribuídos. Mauro Lopes Carvalho Silva. Professor EBTT DAI Departamento de Informática Campus Monte Castelo

Enterprise Application Integration (EAI)

>>> RESTful API >>> Com Node.js e Restify. Name: Anderson Pimentel Date: 19 de Março de

Curso online de. Formação em Front-End. Plano de Estudo

Redes de Computadores e Aplicações Camada de aplicação IGOR ALVES

UNIVERSIDADE FEDERAL DO MARANHÃO CENTRO DE CIÊNCIAS EXATAS E TECNOLOGIA CURSO DE CIÊNCIA DA COMPUTAÇÃO DIEGO RABELO MACIEL

Reuso de Software Aula Maio 2012

Introdução. descrever os tipos de interfaces e linguagens oferecidas por um SGBD. mostrar o ambiente de programas dos SGBD s

CBSE. Independência e Padronização. Características da CBSE. Fundamentos da CBSE. Middleware e Processo 22/05/2013

Prof. Samuel Henrique Bucke Brito

UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA. Sistemas Distribuídos

PMR3507 Fábrica digital

Domínios da Arquitectura

U NIVERSIDADE F EDERAL DE P ERNAMBUCO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO CENTRO DE INFORMÁTICA

SERVIÇO CONTRATO. Especificação das operações de Serviço MANUAL DO USUÁRIO CONSULTAR CONTRATO. Projeto: Plataforma de Integração.

Visões Arquiteturais. Visões Arquiteturais

Informática UFRGS. Programação com Objetos Distribuídos (C. Geyer) Java Comunicação 1

Padrões para Definição de Metadados

Apresentação do Capítulo 4 MDA (Model-Driven Archtecture) ALUNO: DOMENICO SCHETTINI FILHO NÚMERO USP:

COMUNICAÇÃO ENTRADA EM PRODUÇÃO DA NOVA PLATAFORMA DO GPMC

Modelagem de Dados MODELAGEM DE DADOS. Sistemas de Banco de Dados. Profa. Rosemary Melo

Data Warehouse ETL. Rodrigo Leite Durães.

Objetos e Componentes Distribuídos: EJB

A segurança jurídica no registro eletrônico e o desenvolvimento de novas tecnologias

SEMINÁRIOS INTEGRADOS EM ADS PROGRAMAÇÃO WEB E MOBILE

INF1013 MODELAGEM DE SOFTWARE

ara entender os Sistemas Gerenciadores de Banco de Dados é importante conhecer

Arquitetura e Protocolos de Rede TCP/IP

Ciência da Computação. Análise e Projeto Orientado a Objetos UML. Anderson Belgamo

REDES DE COMPUTADORES Prof. Ricardo Rodrigues Barcelar

Service Oriented Architectures (SOA)

Arquitetura de sistemas distribuídos

Estilo: BlackBoard. BlackBoard = repositório de dados compartilhados

Introdução a Computação em Nuvem

Service Oriented Architecture SOA

Tecnologias de Desenvolvimento de Páginas web

Por que é importante?

Obtendo Interoperabilidade Semântica em Sistemas. Metamorphosis

Aula 05. Infraestrutura de TI: hardware e software Pearson. Todos os direitos reservados.

Aula 01 Conceito de Banco de Dados e SGBD

Bancos de Dados Notas de Aula Introdução Prof. Dr. Daniel A. Furtado

Análise e projeto de sistemas

Informática Parte 26 Prof. Márcio Hunecke

Transcrição:

Serviços para a Web Semântica André Desessards Jardim Universidade Católica de Pelotas Centro Politécnico Mini Curso Web Semântica Serviços para a Web Semântica, assim como serviços web convencionais, o lado servidor de um sistema cliente-servidor para interação máquina-para-máquina via Web. Serviços semânticos são um componente da web Semântica, pois utilizam marcação, o que torna os dados legíveis por máquina de uma maneira detalhada e sofisticada. Serviços para Web Semântica são construídos ao redor de padrões universais para a troca de dados semânticos, o que torna fácil para os programadores combinar dados de diferentes fontes e serviços sem perder o significado. Serviços Web podem ser ativados por trás das cenas quando um navegador Web faz uma requisição para o Servidor Web, o quell utilize vários services web para construir uma resposta mais sotisficada do que seria se fosse por si só. Serviços para Web Semântica também podem utilizados por programas automáticos que executam sem nenhuma conexão com um navegador Web. Linguagens Web semântica: Ontology Inference Layer (OIL) DARPA Agent Markup Language (DAML) DAML+OIL Web Ontology Language (OWL) Resource Description framework (RDF) Web Services Modeling Language (WSML) WSDL-S SAWSDL Frameworks de Serviços par Web Semântica: WSMF OWL-S QuASAR WSMO IRS-III METEOR-S 1

HALEY BioMOBY (Bioinformática) O que são os serviços da Web? Nos últimos anos, a necessidade de conectar pessoas, informações e processos mudou a forma como o software vem sendo desenvolvido. Sistemas bem-sucedidos de TI exigem cada vez mais interoperabilidade entre plataformas e serviços flexíveis que possam evoluir facilmente com o tempo. Isso tem levado ao domínio de XML como a linguagem universal para representar e transmitir dados estruturados que sejam independentes de linguagem de programação, plataforma de software e hardware. Criado sob a ampla aceitação de XML, os serviços da Web são aplicativos que usam transportes, codificações e protocolos padrão para troca de informações. Com amplo suporte entre fornecedores e empresas, os serviços da Web permitem que sistemas de computação em qualquer plataforma se comuniquem pelas intranets e extranets da empresa e na Internet com suporte para segurança de ponta a ponta, serviços de mensagens confiáveis, transações distribuídas e muito mais. Os serviços da Web baseiam-se em um conjunto central de padrões que descrevem a sintaxe e a semântica da comunicação por software: o XML fornece a sintaxe comum para a representação de dados; o protocolo SOAP (Simple Object Access Protocol) fornece a semântica para a troca de dados; o WSDL (Web Services Description Language) fornece um mecanismo para descrever as capacidades de um serviço da Web. Especificações adicionais, conhecidas de um modo geral como a arquitetura WS-*, definem a funcionalidade de detecção, s sistemas de eventos, os anexos, a segurança, os serviços de mensagens confiáveis, as transações e o gerenciamento dos serviços da Web. Web service Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria "linguagem", que é traduzida ara uma linguagem universal, o formato XML. 2

Para as empresas, os Web services podem trazer agilidade para os processos e eficiência na comunicação entre cadeias de produção ou de logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana. Essencialmente, o Web Service faz com que os recursos da aplicação do software estejam disponíveis sobre a rede de uma forma normalizada. Outras tecnologias fazem a mesma coisa. No entanto, estas tecnologias não são bem sucedidas na comunicação e integração de aplicações. Existe uma grande motivação sobre a tecnologia Web Service pois possibilita que diferentes aplicações comuniquem entre si e utilizem recursos diferentes. Utilizando a tecnologia Web Service, uma aplicação pode invocar outra para efetuar tarefas simples ou complexas mesmo que as duas aplicações estejam em diferentes sistemas e escritas em linguagens diferentes. Em outras palavras, os Web Services fazem com que os seus recursos estejam disponíveis para que qualquer aplicação cliente possa operar e extrair os recursos fornecidos pelo Web Service. Os Web Services são identificados por um URI (Unique Resource Identifier), descritos e definidos usando XML (Extensible Markup Language). Um dos motivos que tornam os Web Services atrativos é o fato deste modelo ser baseado em tecnologias padrão, em particular XML e HTTP (Hypertext Transfer Protocol). Os Web Services são utilizados para disponibilizar serviços interativos na Web, podendo ser acedidos por outras aplicações usando, por exemplo, o protocolo SOAP (Simple Object Access Protocol). O objetivo dos Web Services como é a comunicação aplicação para aplicação através da Internet. Esta comunicação é realizada com intuito de facilitar EAI (Enterprise Application Integration) que significa a integração das aplicações de uma empresa, ou seja, interoperabilidade entre a informação que circula numa organização nas diferentes aplicações como, por exemplo, o comércio eletrônico com os seus clientes e seus fornecedores. Esta interação constitui o sistema de informação de uma empresa. E para além da interoperabilidade entre as aplicações, a EAI permite definir um fluxo de trabalho entre as aplicações e pode constituir uma alternativa aos ERP (Enterprise Resource Planning). Padrão O W3C, OASIS são as instituições responsáveis pela padronização dos Web Services. Empresas como IBM e Microsoft, duas das maiores do setor de tecnologia, apóiam o desenvolvimento deste padrão. Segundo o W3C (World Wide Web Consortium) um Web Service define-se como: um sistema de software projetado para suportar a interoperabilidade entre máquinas em uma rede. Tem uma relação descritiva num formato processável por máquinae, especificamente WSDL (Webservice 3

Description Language). Outros sistemas interagem com o Web Service usando as mensagens SOAP, tipicamente sobre HTTP com XML na junção com outros padrões da Web. Tecnologias As bases para a construção de um Web service são os padrões XML e SOAP. O transporte dos dados é realizado normalmente via protocolo HTTP ou HTTPS para conexões seguras (o padrão não determina o protocolo de transporte). Os dados são transferidos no formato XML, encapsulados pelo protocolo SOAP. Segurança Muitas empresas temiam, no passado, prover funcionalidades na Internet devido ao medo de expor seus dados. Mas com advento dos Web Services elas podem publicar serviços de forma simples e que são totalmente isolados da base de dados. A segurança dos Web Services é um dos pontos fracos desta tecnologia. O problema não é a falta de mecanismos de segurança mas sim a falta de consenso em qual deve ser o mecanismo a ser adotado pela tecnologia Web Service, As questões mais relevantes na segurança são as seguintes: Autenticidade (ter a certeza que uma transacção do Web Service ocorreu entre o servidor e seu cliente; Privacidade (todas as mensagens trocadas entre o servidor e o cliente não são interseptadas por uma pessoa não autorizada); Integridade (as mensagens enviadas tanto pelo servidor ao cliente, como o contrário, devem permanecer inalteradas). A seguir são descritos os principais mecanismos de segurança. SSL O SSL (Secure Socket Layer) [Netscape 1996] quando aplicado a pequenos dispositivos oferece autenticação, integridade de dados e privacidade de serviços. Atualmente, a solução para enviar informação confidencial para Web Services é utilizar um mecanismo de segurança SSL sobre HTTP também conhecido como HTTPS (Hypertext Transfer Protocol Secure). Este mecanismo protege informações confidenciais e é fácil de ser configurado. Tem como desvantagem ser mais lento do que as transações HTTP não encriptadas pelo que não é adequado para taxas de transferências de dados elevadas. XML SIGNATURE A XML Signature [IETF e W3C 2000] é uma iniciativa conjunta da IETF (Internet Engineering Task Force) e do W3C para especificar uma sintaxe XML e regras de processamento para criação e 4

representação digital de assinaturas. As vantagens na utilização da XML Signature, ao contrário de outras normas de assinaturas digitais, estão baseadas na independência da linguagem de programação, fácil interpretação humana e independência do fabricante. Esta tecnologia também permite assinar digitalmente subconjuntos de um documento XML. XML ENCRYPTION A XML Encryption [IETF e W3C 2002] especifica um processo para encriptação de dados e sua representação em formato XML. Os dados podem ser dados arbitrários (incluindo um documento XML), elementos XML ou conteúdos de elementos XML. Um documento XML que utiliza a XML Encryption pode ser visto por qualquer utilizador, mas apenas o proprietário da chave de descodificação conseguirá compreender o conteúdo codificado. WS-SECURITY O WS-Security (Web Services Security) é uma iniciativa conjunta de empresas como Microsoft, IBM e Verisign destinada ao uso da XML-Signature e da XML-Encryption para fornecer segurança às mensagens SOAP. O WS-Security é um esforço destinado a fazer com que os Web Services trabalhem melhor em um ambiente global. O WS-Security também inclui alguns importantes componentes como encaminhamento, confiança e tratamento de transações. SAML O SAML (Security Assertion Markup Language) [OASIS 2001] é uma norma emergente para a troca de informação sobre autenticação e autorização. O SAML soluciona um importante problema para as aplicações da próxima geração, que é a possibilidade de utilizadores transportarem seus direitos entre diferentes Web Services. Isto é importante para aplicações que tencionam integrar um número de Web Services para formar uma aplicação unificada. Limitações associados aos Web Services Apesar da sua grande popularidade e relativa simplicidade, o SOAP tem várias limitações, que por sua vez os Web Services também sofrem essas limitações, pois utilizam o SOAP. As limitações são descritas de seguida: Segurança e privacidade nenhuma das versões do SOAP define qualquer tipo de segurança. Isto é devido ao SOAP utilizar HTTP, mas para implementar mecanismos de segurança ao nível da rede pode utilizar o protocolo SSL no HTTP (também conhecido como HTTPS) para garantir a confidencialidade, a integridade e a autenticação do cliente, do servidor e da comunicação cifrada. Como não existe um suporte para segurança, que inclui a privacidade, nas normas que compõem os Web Services, tem levado cada projeto 5

a procurar diferentes soluções para resolver o problema da segurança o que se torna incompatível com a promessa de implementar uma normalização a nível global. Mensagens e encaminhamento para suportar as funcionalidades das mensagens assíncronas tradicionais Qualidade de serviço e fiabilidade para garantir tempos de resposta e detectar exceções Processamento transacional para suportar comunicação transacional, para associar essa comunicação transacional com as transações locais e para participar em transações distribuídas Gestão para controlar o estado e comportamento dos Web Services Desempenho para otimizar a execução dos Web Services que têm implicações ao nível do desenho das aplicações, chamadas remotas, características da rede e armazenamento/processamento dos documentos Interoperabilidade suportar a interoperação sem problemas é o grande objetivo dos Web Services e do SOAP, ou seja, fornecerem uma plataforma de integração entre aplicações e diferentes linguagens e implementados em qualquer sistema operacional. Assim esta tecnologia seria uma tecnologia normalizada mas, no entanto, existem rivalidades entre fornecedores. Para resolver este problema existe várias abordagens para resolver este problema como o SOAPBuilders Interoperability Lab que fornece uma plataforma para testar a interoperabilidade dos produtos. Integração de sistemas Muitos consideram que os Web services corrigem um grande problema da informática: a falta de integração de sistemas. Os Web services permitem que a integração de sistemas seja realizada de maneira compreensível, reutilizável e padronizada. É uma tentativa de organizar um cenário cercado por uma grande variedade de diferentes aplicativos, fornecedores e plataformas. O futuro dos Web Services Acredita-se que no futuro as empresas irão listar seus Web services em diretórios públicos (UDDI), de onde poderão ser vendidos como serviços para outras empresas, instituições ou usuários comuns. Tecnologias Utilizadas 6

Para a representação e estruturação dos dados nas mensagens recebidas/enviadas é utilizado o XML (extensible Markup Language). As chamadas às operações, incluindo os parâmetros de entrada/saída, são codificadas no protocolo SOAP (Simple Object Access Protocol, baseado em XML). Os serviços (operações, mensagens, parâmetros, etc.) são descritos usando a linguagem WSDL (Web Services Description Language). O processo de publicação/pesquisa/descoberta de Web Services utiliza o protocolo UDDI (Universal Description, Discovery and Integration). XML Extensible Markup Language (XML) é a base em que os Web Services são construídos. O XML fornece a descrição, o armazenamento, o formato da transmissão para trocar os dados através dos Web Services e também para criar tecnologias Web Services para a troca dos dados. A sintaxe de XML usada nas tecnologias dos Web Services especifica como os dados são representados genericamente, define como e com que qualidades de serviço os dados são transmitidos, pormenoriza como os serviços são publicados e descobertos. Os Web Services descodificam as várias partes de XML para interagir com as várias aplicações. SOAP SOAP (originado do acrônimo inglês Simple Object Access Protocol) é um protocolo para troca de informações estruturadas em uma plataforma descentralizada e distribuída, utilizando tecnologias baseadas em XML. Sua especificação define um framework que provê maneiras para se construir mensagens que podem trafegar através de diversos protocolos e que foi especificado de forma a ser independente de qualquer modelo de programação ou outra implementação específica. Por não se tratar de um protocolo de acesso a objetos, o acrônimo não é mais utilizado. Geralmente servidores SOAP são implementados utilizando-se servidores HTTP, embora isto não seja uma restrição para funcionamento do protocolo. As mensagens SOAP são documentos XML 7

que aderem a uma especificação fornecida pelo órgão W3C. O primeiro esforço do desenvolvimento do SOAP foi implementar RPCs sobre XML. Definição Envelope das mensagens, regras de codificação, convenção RPC, ligação com protocolos subjacentes. O SOAP oferece mecanismo para definir a unidade de comunicação, mecanismo para lidar com erros, mecanismo de extensão que permite evolução, mecanismo entre as mensagens SOAP e o HTTP, representar tipos de dados em XML. Concepção Simplicidade, independente de vendedor, independente da linguagem, independente do modelo de objetos, independente do transporte. O SOAP baseia-se numa invocação remota de um método e para tal necessita de especificar o endereço do componente, o nome do método e os argumentos para esse método. Estes dados são formatados em XML com determinadas regras e enviados normalmente por HTTP para esse componente. Não define ou impõe qualquer semântica, quer seja o modelo de programação, quer seja a semântica específica da implementação. Este aspecto é extremamente importante, pois permite que quer o serviço, quer o cliente que invoca o serviço sejam aplicações desenvolvidas sobre diferentes linguagens de programação. Por esta razão, o SOAP tornou-se uma norma aceite para se utilizar com Web Services, uma tecnologia construída com base em XML e HTTP. Desta forma, pretende-se garantir a interoperabilidade e intercomunicação entre diferentes sistemas, através da utilização da linguagem XML e do mecanismo de transporte HTTP ou outro como, por exemplo, SMTP. O SOAP permite que os documentos XML de envio e de recepção sobre a Web suportem um protocolo comum de transferência de dados para uma comunicação de rede eficaz, ou seja, o SOAP providencia o transporte de dados para os Web Services. WSDL A Web Services Definition Language (WSDL) é uma linguagem baseada em XML utilizada para descrever Web Services. Trata-se de um documento escrito em XML que além de descrever o serviço, especifica como acessá-lo e quais as operações ou métodos disponíveis. 8

A especificação da linguagem, em XML, descreve a estrutura da XML que cada documento WSDL deve obedecer (http://www.w3.org/xml/schema/). A WSDL se encontra atualmente na versão 2.0, disponibilizada no web site http://www.w3.org/tr/wsdl20/. Submetida a W3C, foi definida em esforço conjunto entre Microsoft, IBM e Ariba. O seu principal objetivo é descrever as interfaces apresentadas e apontar a localização dos seus serviços, disponíveis em um local previsível e bem conhecido, na rede, o qual permite que o cliente acesse de maneira confiável. Por ser um documento XML, sua leitura se torna fácil e acessível. O WSDL descreve os serviços disponibilizados à rede através de uma semântica XML, este providencia a documentação necessária para se chamar um sistema distribuído e o procedimento necessário para que esta comunicação se estabeleça. Enquanto que o SOAP especifica a comunicação entre um cliente e um servidor, o WSDL descreve os serviços oferecidos. UDDI Protocolo desenvolvido para a organização e registro de Web Services, o UDDI (Universal Description Discovery and Integration) é uma iniciativa em desenvolvimento no âmbito do consórcio industrial UDDI promovido originalmente pela IBM, Microsoft e Arriba, com objetivo de acelerar a interoperabilidade e utilização dos Web Services, pela proposta de um serviço de registo de nomes de organizações e de descrição do serviço. Um registro UDDI contém três tipos de informação: informações gerais de cada organização, tais como o nome, morada, telefone e contatos; informações de organizações e serviços por categorias de negócios; informações técnicas sobre os serviços providenciados pelas organizações. O UDDI providencia três funções principais, conhecidas como publicação, descoberta e ligação: 1. publicação: permite que uma organização divulgue o(s) seu(s) serviço(s); 2. descoberta: permite que o cliente do serviço, procure e encontre um determinado serviço; 3. ligação (bind): permite que o cliente do serviço, possa estabelecer a ligação e interagir com o serviço. UDDI é um protocolo aprovado como padrão pela OASIS e especifica um método para publicar e descobrir diretórios de serviços em uma arquitetura orientada a serviços (SOA). A OASIS, ou Organization for the Advancement of Structured Information Standards, ou ainda, em português, Organização para o Avanço de Padrões em Informação Estruturada, é um consórcio 9

global que conduz o desenvolvimento, convergência e adoção de padrões para ebusiness e web services. Dentre os membros da organização estão grandes nomes da indústria de tecnologia da informação como IBM, SAP AG e Sun Microsystems. Um serviço de registro UDDI é um Web Service que gerencia informação sobre provedores, implementações e metadados de serviços. Provedores de serviços podem utilizar UDDI para publicar os serviços que eles oferecem. Usuários de serviços podem usar UDDI para descobrir serviços que lhes interessem e obter os metadados necessários para utilizar esses serviços. A especificação UDDI define: APIs SOAP utilizadas para publicar e obter informações de um registro UDDI Esquemas XML do modelo de dados do registro e do formato das mensagens SOAP Definições WSDL das APIs SOAP Definições de registro UDDI (modelos técnicos - tmodels) de diversos sistemas de identificação e categorização, que podem ser utilizados para identificar e categorizar registros UDDI Vantagens e Desvantagens Os Web Services são modelos que surgiram para o desenvolvimento de aplicações típicas de negócio eletrônico, envolvendo e suportando o estabelecimento da colaboração e negociação de forma aberta, distribuída e dinâmica entre parceiros distintos. Os Web Services podem no futuro representar um sucesso significativo devido à existência de um esforço significativo, por parte da maioria dos parceiros industriais, na normalização das tecnologias envolvidas. As tecnologias subjacentes aos Web Services (tais como HTTP, SOAP, WSDL, UDDI, XML) são abertas, amplamente divulgadas e consensuais. Por outro lado, existe potencial para haver uma real independência das linguagens de programação (Java, C++, VB, Delphi, C#), das arquiteturas de computadores e sistemas operacionais, o que permite uma evolução mais suave e económica para este modelo computacional. No entanto, existem críticas que demonstram medos ou falsas expectativas que os investimentos em Web Services podem suscitar. Uma dessas críticas diz respeito ao fato do SOAP ser menos eficiente do que os sistemas de RPC existentes. Por exemplo, as mensagens (com os respectivos envelopes e descrição de tipos) trocadas entre as partes são descritas em formato de texto/xml enquanto nos sistemas clássicos de RPC são trocadas em formato binário. No entanto, esta desvantagem é compensada significativamente pela facilidade de interoperação entre os serviços, sem os problemas conhecidos de segurança/firewalls, e pela facilidade de se esconder os detalhes proprietários das infra-estruturas de suporte. 10

Service-oriented architecture Service-oriented architecture (SOA), pode ser traduzido como arquitetura orientada a serviços, e é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Freqüentemente estes serviços são organizados através de um "barramento de serviços" (enterprise service bus, em inglês) que disponibiliza interfaces, ou contratos, acessíveis através de serviços web outra forma de comunicação entre aplicações. A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços. Além da perspectiva estritamente técnica, a arquitetura orientada a serviços também se relaciona com determinadas políticas e conjuntos de "boas práticas" que pretendem criar um processo para facilitar a tarefa de encontrar, definir e gerenciar os serviços disponibilizados. A arquitetura orientada a serviços também se insere em um processo de reorganização dos departamentos de tecnologia da informação das organizações, permitindo um melhor relacionamento entre as áreas que dão suporte tecnológico à empresa e as áreas responsáveis pelo negócio propriamente dito, graças a maior agilidade na implementação de novos serviços e reutilização dos ativos existentes. Serviço Um serviço, do ponto de vista da arquitetura SOA, é uma função de um sistema computacional que é disponibilizado para outro sistema. Um serviço deve funcionar de forma independente do estado de outros serviços, exceto nos casos de serviços compostos (composite services), e deve possuir uma interface bem definida. Normalmente, a comunicação entre o sistema cliente e aquele que disponibiliza o serviço é realizada através de serviços web. Processos Tecnicamente falando, o processo preconiza que os provedores de serviços registrem informações em um registro central, com suas características, indicadores, e aspectos relevantes às tomadas de decisões. O registro é utilizado pelo cliente para determinar as características dos serviços necessários, e se o mesmo estiver disponível no registro central, como por exemplo por um catálogo de serviços, o cliente poderá utilizá-lo, sendo este oficializado através de um contrato que enderece este serviço. Tecnologia O termo "Service-Oriented Architecture" (SOA) ou Arquitetura Orientada a Serviços expressa um conceito onde aplicativos ou rotinas são disponibilizadas como serviços em uma rede de computadores (Internet ou Intranets) de forma independente e se comunicando através de padrões abertos. A maior parte das implementações de SOA se utilizam de Web services (SOAP, REST e 11

WSDL). Entretanto, uma implementação de SOA pode se utilizar de qualquer tecnologia padronizada baseada em web. Fonte: Wikipédia, 2009. 12