Escolar Documentos
Profissional Documentos
Cultura Documentos
Relatrios Tcnicos
do Departamento de Informtica Aplicada
da UNIRIO
no 0005/2010
Leonardo Azevedo
Flvio Faria
Flvia Santoro
Fernanda Baio
Projeto de Pesquisa
Grupo de Pesquisa Participante
Patrocnio
ii
Setembro, 2010
Abstract. SOA is a paradigm that envolves in a broader way than technology, such as,
strategies and architectural model definitions, behavioral and cultural issues,
indicators specifications to asses ROI etc. However, SOA deployment depends on
technologies. Among the main technologies, service registry or UDDI (Universal
Description, Discovery and Integration the published pattern) is one of them as well
as ESB (Enterprise Service Bus) and tools for service composition. This work presents a
study of service registry concepts and the analysis of OSB (Oracle Service Bus), a
UDDI implementation.
Keywords: SOA, Service Registry, UDDI, Oracle Service Registry.
Resumo. SOA um paradigma que envolve muito mais questes do que apenas
tecnologia, tais como, definies de estratgias e modelos arquiteturais, tratar questes
de comportamento e cultura, especificar indicadores para medir ganhos etc. No
entanto, a implantao de uma abordagem SOA depende da definio de tecnologias
de apoio. Dentre estas tecnologias, o registro de servios ou UDDI (Universal
Description, Discovery and Integration - considerando o padro), apresenta-se como
uma tecnologia intrnseca para implantao de SOA, juntamente com o ESB
(Enterprise Service Bus) e ferramentas de composio de servios. Este trabalho
apresenta um estudo dos conceitos de registro de servios e a anlise do Oracle Service
Registry, uma implementao UDDI.
Palavras-chave: SOA, Registro de Servios, UDDI, Oracle Service Registry.
___________________
* Trabalho patrocinado pela Petrobras.
iii
Sumrio
Introduo
Especificao UDDI v3
2.1 N e Registro UDDI
2.2 Representao de informaes em um UDDI
2.3 Segurana no UDDI
2.4 Usando WSDL em um registro UDDI
2.5 UDDI Schemas
8
10
11
14
15
18
18
20
22
22
23
23
24
25
47
48
49
54
55
Concluses
56
Referncias
56
58
71
73
78
Apndice 8 Roteiro para criar taxonomias no Oracle Service Registry verso 10.3
81
iv
85
86
88
89
1 Introduo
Um registro de servios ou UDDI (Universal Description, Discovery and Integration),
assim como o barramento de servios (ESB), uma tecnologia chave para a
implantao de uma Arquitetura Orientada a Servios (Service-Oriented Architecture).
As especificaes UDDI formam a fundamentao tcnica necessria para publicao e
descoberta de implementaes de web services tanto dentro de uma empresa como
entre empresas [Bellwood et al., 2004].
O foco do UDDI a definio de um conjunto de servios suportando descrio e
descoberta de:
Negcios, organizao e outros provedores de servios;
Web services que provedores disponibilizam;
Interfaces tcnicas que podem ser usadas para acessar estes servios;
O registro UDDI descreve:
Formato de dados para classificao e organizao de negcios e
corporaes;
Formato de dados para descrio e categorizao de servios de negcio
(web services);
Prticas para organizao e compartilhamento de informaes por brokers de
servios;
Uma API-baseada em XML para interagir com brokers de servios para
publicar ou localizar web services;
Um mecanismo para registrar servios que independente de plataforma.
O registro UDDI semelhante a um catlogo de pginas amarelas, onde os servios
listados no existem dentro do livro, mas sim informaes sobre os servios
(metadados).
O UDDI atua como um ndice de registros (Figura 1) para servios onde:
Provedores de servios (provedor) mantm informaes sobre seus servios
no registro.
Requisitantes de servios (consumidor) procuram nos registros por servios.
Uma vez encontrado, um servio pode ser invocado atravs de uma
comunicao ponto-a-ponto ou utilizando um intermedirio.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
Aponta para
uma descrio
Registro
UDDI
Aponta para
um servio
Pesquisa por
servio
Consumidor
de servio
SOAP
WSDL
Descreve um
servio
Web service
(provedor)
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
2 Especificao UDDI v3
A especificao UDDI [Bellwood et al., 2009] apresenta um modelo de informaes
composto por instncias de estruturas de dados persistentes chamadas entidades.
Entidades so descritas em XML e so armazenadas de forma persistente em ns
UDDI. Cada entidade tem o tipo do seu elemento XML mais global. Um modelo de
informaes UDDI composto de instncias dos seguintes tipos de entidades (Figura
2):
Entidade do negcio (businessEntity): descreve um negcio ou outra
organizao que prov web services. Cada servio deve ser publicado dentro
de um businessEntity.
1
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
BusinessService
Informao da empresa
Servios oferecidos
pela empresa
BindingTemplate
Como invocar
servios
tModel
Detalhes de
invocao
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
2.1
N e Registro UDDI
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
10
2.2
Para que web services sejam realmente teis, h a necessidade de prover informaes
sobre eles alm das informaes tcnicas. O propsito central do UDDI representar
dados e metadados sobre web services. Um registro UDDI fornece mecanismos para
registrar, classificar e catalogar web services, a fim de que eles possam ser descobertos
e consumidos. As informaes so armazenadas de uma forma padronizada que
permite que web services sejam consultados em tempo de projeto ou em tempo de
execuo para enderear os seguintes cenrios:
Encontrar implementaes de web services que esto baseadas em uma
definio de interface abstrata comum;
Encontrar provedores de web services que esto classificados de acordo com
um esquema de classificao ou sistema de identificao conhecidos;
Determinar a segurana e os protocolos de transporte suportados por
determinado web service;
Prover a pesquisa por servios baseado em uma palavra chave geral;
Armazenar em cache a informao tcnica sobre um web service e, ento,
atualizar esta informao em tempo de execuo.
A estrutura businessEntity usada para representar negcios e provedores de um
UDDI. Ela contm informaes descritivas sobre o negcio ou provedor e sobre os
servios que ele oferece, por exemplo, nomes e descries em mltiplos idiomas,
informao de contato (lista de pessoas que esto associadas ao businessEntity,
incluindo nome, endereo, nmeros de telefone e tipo de uso), classificao (por
exemplo, um businessEntity pode estar associado categoria Califrnia, indicando que
ele est localizado nesta rea geogrfica), identificadores (que o identificam
univocamente) e URLs para documentos que descrevem o businessEntity. Descries
do servio e informaes tcnicas so expressas em estruturas businessService e
bindingTemplate, respectivamente, dentro de um businessEntity. Um businessEntity
pode ser usado para modelar provedores de servio pai, tais como um
departamento, uma aplicao ou mesmo um servidor. A palavra business no se refere
ao fato de que apenas informaes de negcio (no seu uso comum) devem ser
modeladas.
Cada estrutura de businessService representa um agrupamento lgico de web
services. Nenhuma informao tcnica provida. Cada businessService filho de um
nico businessEntity. Cada businessService contm informaes descritivas (nomes,
descries e classificaes por exemplo, categorias que representam disponibilidade
do servio, verso etc.) descrevendo o propsito dos web services existentes dentro do
businessService. Por exemplo, uma estrutura de businessService pode conter um
conjunto de web services de tratamento de pedidos (submisso, confirmao e
notificao) que so providos pelo negcio. Um businessService pode ser usado para
descrever web services que no esto ligados diretamente a um negcio, como, por
exemplo, web services de um provedor de servios. Um registro UDDI pode registrar
servios arbitrrios, por exemplo, EJB, CORBA etc.
Cada estrutura de bindingTemplate representa um web service individualmente,
provendo informaes tcnicas necessrias para que aplicaes se conectem (bind) e
interajam com o web service descrito. Ela deve conter as informaes sobre o ponto de
acesso (access point que representa o endpoint do servio, contendo a URI do endpoint
e a especificao de protocolo) de um dado servio ou um mecanismo de indireo
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
11
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
12
Em essncia, um tModel algo que tem um nome e uma descrio. Para entender
melhor, pode-se fazer uma associao entre um tModel e uma tabela de banco de
dados. Primeiro, um tModel uma tabela independente, significando que ele pode
existir por si mesmo. Segundo, um tModel uma tabela de pesquisa (lookup table)
provendo a traduo entre uma chave e uma representao do que a chave . Neste
sentido, um tModel uma tabela de referncia, como um dicionrio. Pode se imaginar
que um tModel uma tabela com as seguintes colunas: nome, descrio, URL (que
pode descrever melhor a respeito do nome e da descrio), chave nica (para
identificar o nome) [Oracle, 2008b].
tModels podem ser utilizados para representar outros conceitos dentro do UDDI a
fim de prover interoperabilidade, tais como:
Definies de protocolo e mecanismos de transporte, tais como HTTP e
SMTP.
Conjuntos de valores incluindo sistemas de identificao, sistemas de
categorizao e namespaces.
Estruturas de categorizao usando mltiplos conjuntos de valores
chamados de grupos de categorizao.
Formatos de endereos postais.
Qualificadores de localizao usados para modificar o comportamento da
API UDDI find_xx. Por exemplo, para definir que a operao find_business
deve ordenar seus resultados na ordem que eles foram publicados, pode-se
especificar uddi:uddi.org:findqualifier:sortbydateasc.
Atributos de tipos de uso que especificam o tipo de recurso sendo
referenciado por uma referncia de URI.
A especificao UDDI define um conjunto de tModels comuns que podem ser
usados canonicamente para modelar informao dentro de um UDDI. Se um conceito
que necessrio para modelar um cenrio em particular no existe em um registro,
um usurio deve introduzir o conceito pela criao de um tModel contendo a URL para
os documentos relevantes que descrevem o conceito.
Um exemplo de uso de tModel seria representar o fato de que um negcio descrito
por um businessEntity tem um identificador de taxa US especfico. Um keyedReference
colocado no identifierBag do businessEntity. O keyedReference tem um valor chave que
o identificador da taxa e refere-se ao tModel que significa o sistema de identificadores
de cdigo de taxas dos Estados Unidos. Juntos, o valor chave e a referncia para o
tModel especificam um valor especfico em um sistema de valores especfico.
A reificao2 de dados em um UDDI o principal para sua misso de descrio,
descoberta e integrao. Ele alcana isto de vrias maneiras:
Primeiro, ele permite que usurios definam mltiplas taxonomias que
podem ser usadas no UDDI. Taxonomias so usadas para representar
caractersticas e qualidades de entidades do UDDI (tais como, tipos de
produto, regies geogrficas ou departamento em uma empresa). Dessa
forma, mltiplos esquemas de classificao podem ser sobrescritos dentro
2
No processo de alienao, o momento em que a caracterstica de ser uma coisa se torna tpica da
realidade objetiva, ou seja, quando se consegue entender de forma clara o que o conceito apresentado.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
13
2.3
Segurana no UDDI
O modelo de segurana para um registro UDDI pode ser caracterizado por uma
coleo de polticas de registro e de n e a implementao destas polticas por um n
UDDI. As principais reas de polticas e mecanismos de segurana na especificao
UDDI esto relacionadas com gesto de dados, identificao de usurios, autenticao
de usurio, autorizao de usurio, confidencialidade de mensagens e integridade de
dados.
A fim de autorizar ou restringir acesso aos dados em um registro UDDI, uma
implementao de UDDI pode estar integrada com um ou mais sistemas de
identificao. UDDI tambm suporta assinaturas digitais XML nos dados UDDI para
permitir que pesquisadores (inquirers) verifiquem a integridade dos dados em relao
ao publicador dos mesmos.
Os modelos de segurana para um registro e n podem ser estendidos alm dos
mecanismos descritos na especificao e representados pelo modelo de web services
de UDDI e atravs de documentao de polticas de n e registro.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
14
2.4
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
15
referencia
os
padres
16
<complexType>
<all>
<element name="price" type="float"/>
</all>
</complexType>
</element>
</schema>
</types>
<message name="GetLastTradePriceInput">
<part name="body" element="xsd1:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput">
<part name="body" element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType">
<operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/>
<output message="tns:GetLastTradePriceOutput"/>
</operation>
</portType>
<binding name="StockQuoteSoapBinding"
type="tns:StockQuotePortType">
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="GetLastTradePrice">
<soap:operation
soapAction="http://example.com/GetLastTradePrice"/>
<input>
<soap:body use="literal"
namespace="http://example.com/stockquote.xsd
encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="literal"
namespace="http://example.com/stockquote.xsd"
encodingStyle=
"http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
</definitions>
Figura 6 Exemplo de WSDL
<tModel authorizedName="..." operator="..." tModelKey="...">
<name>StockQuote Service</name>
<description xml:lang="en">
WSDL description of a standard stock quote service interface
</description>
<overviewDoc>
<description xml:lang="en">
WSDL source document.
</description>
<overviewURL>
http://example.com/stockquote.wsdl
</overviewURL>
</overviewDoc>
<categoryBag>
<keyedReference
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
17
tModelKey=" uuid:C1ACF26D-9672-4404-9D70-39B756E62AB4"
keyName="uddi-org:types"
keyValue="wsdlSpec"/>
</categoryBag>
</tModel>
Figura 7 Exemplo de tModel para o WSDL da Figura 6
<businessService businessKey="..." serviceKey="...">
<name>StockQuoteService</name>
<description> (...) </description>
<bindingTemplates>
<bindingTemplate>
(...)
<accessPoint urlType="http">
http://example.com/stockquote
</accessPoint>
<tModelnstanceDetails>
<tModelnstanceInfo tModelKey="...">
</tModelnstanceInfo>
<tModelnstanceDetails>
</bindingTemplate>
</bindingTemplates>
</businessService>
Figura 8 BindingTemplate para o WSDL da Figura 6 referenciando o tModel da Figura
7
2.5
UDDI Schemas
UDDI usa a linguagem XML Schema para formalmente descrever sua estrutura de
dados. A definio completa inclui 9 arquivos de esquema listados a seguir, cujos
detalhes so apresentados em Bellwood [2004].
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
18
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
19
3.1
Instalao
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
20
Oracle Containers for J2EE (OC4J) o componente principal de tempo de execuo de J2EE do Oracle Application Server.
5
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
21
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
22
Apndice 1).
3.2
Fluxo de aprovao
3.3
Subscrio e notificao
find_relatedBusinesses,
find_services,
find_bindings,
3.4
Servios podem ser classificados no OSR, tanto ao nvel tcnico como do negcio, de
acordo com taxonomias definidas. Alm disso, o OSR inclui um conjunto de servios
de validao de taxonomia como definido pelas especificaes UDDI. Ele ainda
permite a definio de taxonomias da empresa. Usurios podem baixar (download) e
publicar (upload) qualquer taxonomia como um arquivo XML. OSR oferece
ferramentas para criar, modificar e navegar em taxonomias atravs de interface web e
nveis de API SOAP.
O negcio tambm pode especificar sua prpria classificao usando taxonomias
que mapeiam as caractersticas especficas do negcio para facilitar a descoberta de
servios. No Apndice 10 apresentado um roteiro para associar um servio de
negcio a um provedor de negcio, enquanto que no Apndice 12 apresentado como
utilizar taxonomias para pesquisar servios. Classificaes podem ser estendidas para
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
23
especificar dados adicionais, por exemplo, criao de campos de dados adicionais para
serem associados aos WSDLs ou interfaces dos servios durante a publicao. O
servio de validao interna faz a checagem para garantir que uma categorizao
especfica est vlida dentro de uma taxonomia.
3.5
Segurana
OSR permite definir que mltiplos usurios ou perfis possam ter acesso para
modificar ou apagar uma entidade especfica UDDI. O Apndice 4 apresenta um
roteiro para gerenciamento de permisses de usurios e grupo de usurios.
A segurana no OSR feita atravs de uma extenso do ACL (Access Control List)
para o modelo de segurana de UDDI. Cada entidade UDDI pode estar associada com
a ACL que define quem pode encontr-la (find - list-la em algum resultado de
consulta UDDI), recuperar (get recuperar todos os detalhes do objeto do UDDI),
modific-la ou apag-la. O ACL pode referenciar ambos a conta de um usurio
especfico ou grupo de usurios. A verso 3 da especificao UDDI prov suporte para
assinaturas digitais. No OSR, o publicador da estrutura do UDDI pode digitalmente
assinar esta estrutura. A assinatura digital pode ser validada para verificar se as
informaes no podem ser modificadas por nenhuma razo e confirmar a identidade
do publicador.
O contedo do registro UDDI pode ser replicado no OSR usando o modelo de
master e escravo (master-slave). O registro UDDI pode replicar dados de acordo com
mltiplas definies de replicao que so definidas usando consultas padro do
UDDI. A relao master-slave especfica a uma definio de replicao. Logo, um
registro pode ser master para uma definio de replicao especfica e escravo para
outra. As definies de segurana (ACL, usurios e grupos) no esto sujeitas
replicao, mas podem ser ajustadas permisses sobre os dados replicados.
O OSR possui uma ferramenta web de controle de servios de negcio que permite
que usurios no familiares com UDDI possam olhar modelos publicados (WSDL,
XML Schema, XSLT, BPEL, etc.) ao invs de terem que analisar tModels e entidades do
negcio, reduzindo custo de treinamento e tempo de implementao de servios de
negcio.
3.6
Processo de aprovao
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
24
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
25
3.7
Consoles do OSR
O OSR prov duas interfaces com o usurio para gesto de entidades do OSR.
O Business Service Control permite que desenvolvedores, arquitetos e
usurios do negcio possam navegar sobre infomaes de esquemas, nomes
locais de interfaces ou namespaces etc. Alm disso, ele permite realizar
publicaes usando wizards de publicao.
O Business Service Control pode ser encontrado na URL <http://<Business
Service Control hostname>:<port>/<context>/uddi/bsc/web>. A porta
padro 8888 ou 80 dependendo da configurao do servidor de aplicao.
Usando o Registry Control, usurios podem navegar e publicar contedo no
registro, criar subscries e realizar mudanas de propriedade. Esta a
principal ferramenta para administradores realizarem gesto do registro.
O
Registry
Control
pode
ser
encontrado
na
URL
<http://<hostname>:<port>/<context>/uddi/web>. A porta padro
8888 ou 80 dependendo da configurao do servidor de aplicao.
Existem dados pr-instalados no OSR para uso do Business Service Control e do
Registry Control.
3.7.1
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
26
27
Oracle Web Services Manager uma soluo para gesto de poltica e segurana da infraestrutura
de servios. Ele prov visibilidade e controle de polticas atravs de interface de administrao centralizada oferecida pelo Oracle Enterprise Manager.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
28
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
29
Resultados podem ser customizados, como apresentado na Figura 14. Observe que
o formato de visualizao pode ser definido. Por exemplo, uma das opes
visualizao tcnica (Technical View).
3.7.1.4 Publicao
Pode-se publicar os seguintes dados no OSR:
Provedores: nome do provedor e descrio, classificao taxonmica do
provedor e pessoas de contato. O Apndice 5 apresenta um roteiro para
publicao de provedores. O ltimo passo para publicao do provedor
definir se ser realizado um fluxo de aprovao.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
30
http://www.ibm.com/developerworks/library/specification/ws-wsilspec/
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
31
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
32
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
33
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
34
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
35
3.7.1.7 Configurao
Na aba Configure possvel configurar [Oracle, 2008b]:
Tabs Display: permite definir as abas que sero exibidas para os usurios que
tm um perfil especfico.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
36
Registry Control
do
UDDI
(businessEntity,
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
37
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
38
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
39
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
40
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
41
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
42
3.7.2.3 Pesquisa
Utilizando o Registry Control, possvel pesquisar por:
Estruturas de dados do UDDI: BusinessEntity, BusinessService, BindingTemplate
e tModel.
Acesso direto (Direct get): pode-se recuperar dados do OSR quando se sabe a
chave da entidade UDDI que se deseja recuperar.
Recursos: WSDL, XML, XSD e XSLT.
3.7.2.3.1 Pesquisa por BusinessEntity
BusinessEntity podem ser pesquisadas por nome, categorias, identificadores, URL de
descoberta e tModel. Na Figura 35, estas opes foram destacadas direita. Para todos
os tipos de pesquisa, qualificadores podem ser especificados (Figura 35). Aps a
pesquisa, os destalhes do BusinessEntity retornado podem ser visualizados (Figura 36).
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
43
Na busca por categoria (Figura 37), mais de uma categoria pode ser adicionada,
utilizando o boto Add category. Pode-se pesquisar tambm por um intervalo de
valores (Figura 38).
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
44
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
45
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
46
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
47
3.8
Controle de acesso
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
48
Ao: uma operao "find", "get", "save", ou "delete" sobre a entidade, e uma
ao especial create, que indica que podem ser realizadas alteraes em
sub-entidades. Por exemplo, o usurio com a permisso create em um
businessService pode salvar novos bindingTemplates abaixo do businessService,
mas no pode atualizar o businessService como um todo. Esta operao s
faz sentido para businessEntity e businessService pois bindingTemplates e
tModels no tm sub-entidades.
ACL sobrepem o controle de acesso padro do UDDI, pois, segundo o padro,
apenas o proprietrio da estrutura principal do UDDI pode atualizar ou remov-la.
Cada usurio pode procurar ou obter a estrutura.
Quando uma permisso no explicitamente definida para as operaes find/get,
qualquer usurio pode execut-las. Quando nenhuma permisso est definida
explicitamente para as aes save/delete em uma entidade, apenas o proprietrio da
entidade pode salv-la ou apag-la. Este o funcionamento do controle de acesso
padro do UDDI. Quando uma permisso explcita ajustada para uma ao, um
controle de acesso totalmente diferente utilizado, seguindo as seguintes regras.
Proprietrio sempre tem controle total.
Uma permisso negativa para usurio sobrescreve uma permisso positiva
para usurio se forem definidas para o mesmo objeto. O mesmo ocorre para
o caso de grupo.
Permisso para usurio tem mais peso do que permisso para grupo.
O proprietrio de uma entidade pode sempre executar get_XXX sobre uma
sub-entidade direta.
Permisses positivas para delete e save so herdadas de entidades pais e
sobrescrevem permisses negativas em sub-entidades.
Para realizar atualizao com a operao save_XXX, necessrio ter ambas
as permisses save e get.
Maiores detalhes sobre segurana no OSR so encontrados em [Oracle, 2008a] e no
Apndice 7 apresentado um roteiro para controlar o acesso a um servio de negcio
no Oracle Service Registry.
3.9
Taxonomia
49
previamente no UDDI. Alm disso, existem taxonomias criadas por empresas que
esto disponveis para serem utilizadas, tais como, taxonomia para mecanismos de
autenticao segura, taxonomia para tipo de componente distribudo etc. O registro
UDDI permite tambm a definio de taxonomias customizadas construdas
especificamente para organizaes ou aplicaes [Oracle, 2008b].
A especificao UDDI distingue quatro tipos de taxonomias:
Categorizaes: podem ser usadas em todas as quatro estruturas do UDDI.
Elas so usadas para marcar as estruturas com informaes adicionais, tais
como identidade, localizao, e o que mais a taxonomia descrever.
Grupos de categorizao: agrupam vrias categorizaes em uma
categorizao lgica. Por exemplo, uma localizao geogrfica incluindo
duas categorizaes: longitude e latitude.
Identificadores: usados em businessEntity e tModels referenciam informaes
pblicas.
Relacionamentos: usados apenas em Publisher Assertions, definem o
relacionamento entre duas businessEntities.
O Apndice 8 apresenta um Roteiro para criar taxonomias no Oracle Service Registry.
Elemento
Descrio
<types>
<message>
<portType>
<operation>
<binding>
<port>
<service>
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
50
Definies WSDL
Types
Messages
PortType
Binding
Service
Port
WSDL
UDDI
portType
Namespace do portType
Nome local do portType
Localizao do WSDL
WSDL
UDDI
Binding
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
51
Namespace do binding
Local name do binding
Localizao do WSDL
portType binding
Protocol
Transport
keyedReference no categoryBag
Nome do tModel
overviewURL
keyedReference no categoryBag
keyedReference no categoryBag
keyedReference no categoryBag
WSDL
UDDI
Service
Namespace do service
Nome local do service
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
52
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
53
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
54
55
Consumidor
do servio
Oracle
Service Bus
6
5
Oracle
Service
Registry
Provedor do
servio
Figura 50 Roteamento dinmico considerando OSB e OSR
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
56
4 Concluses
As especificaes UDDI formam a fundamentao tcnica necessria para publicao e
descoberta de implementaes de web services [Bellwood et al., 2004]. Ele atua em
conjunto com o Enterprise Service Bus, sendo tambm uma das ferramentas mais
importantes para implantao de SOA em uma organizao. Dessa forma, o correto
entendimento da especificao UDDI e de ferramental de apoio intrnseco para o
sucesso de SOA.
Este relatrio apresentou as principais caractersticas da especificao UDDI verso
3.0 e apresentou um estudo do OSR (Oracle Service Registry), ferramenta da Oracle
que implementa a especificao.
5 Referncias
AZEVEDO, L.G., SOUSA, H.P., SANTORO, F., BAIO, F., Estudos de ESB e anlise
do OSB. Relatrio tcnico Petrobras/GDIEP, 2009. (a ser publicado)
BELLWOOD et al., T., UDDI Version 3.0.2. UDDI Spec Technical Committee Draft,
2004.
Disponvel
em
<http://www.oasis-open.org/committees/uddispec/doc/spec/v3/uddi-v3.0.2-20041019.htm>. Acessado em 27 Nov. 2009.
CANONICALIZATION, Exclusive XML Canonicalization Version 1.0, 2002.
Disponvel em <http://www.w3.org/TR/2002/REC-xml-exc-c14n-20020718/>.
Acessado em 25 Nov. 2009.
COLGRAVE, J., JANUSZEWSKI, K., Using WSDL in a UDDI Registry, Version 1.08.
OASIS UDDI Spec TC, 2002.
ORACLE. Oracle Fusion Middleware Service Registry 10g Release 3 (10.3) E13665-01.
Oracle
Corporation,
2008a.
Disponvel
em
<
http://download.oracle.com/otndocs/tech/soa/OSR103ProductDocumention.p
df>. Acessado em 25 Nov. 2009.
ORACLE. BEA Aqualogic Registry Repository 3: Create an It Ecosystem Student
Guide. Oracle Corporation, vol. II, 2008b.
OASIS, OASIS UDDI Specifications TC - Committee Best Practices, Advancing Open
Source Standards for Information Society (OASIS). Disponvel em <
http://www.oasis-open.org/committees/uddi-spec/doc/bps.htm>. Acesso em
27 Nov. 2009b.
OASIS, OASIS UDDI Specifications TC - Committee Technical Notes, Advancing
Open Source Standards for Information Society (OASIS). Disponvel em <
http://www.oasis-open.org/committees/uddi-spec/doc/tns.htm>. Acesso em
27 Nov. 2009b.
ORACLE. Oracle Internet Application Server. Oracle Corporation. Disponvel em
<http://www.oracle.com/technology/products/ias/index.html>. Acessado em
25 Nov. 2009a.
ORACLE. Oracle Containers for J2EE (OC4J). Oracle Corporation. Disponvel em
<http://www.oracle.com/technology/tech/java/oc4j/1013/index.html>.
Acessado em 25 Nov. 2009b.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
57
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
58
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
59
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
60
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
61
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
62
8. Informe o diretrio do driver JDBC que ser utilizado pelo OSR para
conectar o banco de dados. O driver pode ser encontrado no diretrio de
instalao do Oracle 10g (Figura 59).
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
63
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
64
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
65
13. Esta tela indica que o processo de instalao foi finalizado com sucesso e
apresenta algumas informaes importantes (Figura 65).
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
66
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
67
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
68
1. Para criar uma conta de usurio, clique na opo Create Account (Figura 67).
Para um melhor entendimento do campo User profile, consulte a descrio dos principais perfis pr-definidos pelo OSR na seo 3.7.1.2 .
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
69
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
70
3. Aps clicar no boto Save group properties, ser apresentada uma lista de
usurios (User list) e a lista de membros do grupo (Group Members). Defina
os membros do grupo e clique em Save group properties. (Figura 70)
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
71
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
72
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
73
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
74
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
75
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
76
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
77
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
78
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
79
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
80
Dessa forma o usurio U1 tem permisso negada para qualquer tipo de operao
que pode ser realizada no servio.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
81
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
82
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
83
a. Clique no boto add category para adicionar uma categoria (Figura 88).
84
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
85
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
86
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
87
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
88
3. Informe o access point que indica onde poder ser encontrado o end point do
servio (web service). So exemplos de access point uma URL, um endereo
de e-mail ou at mesmo um nmero de telefone. Clique no boto Add
Binding para salvar.
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
89
3. Aps a adio das categorias desejadas clique no boto find (Figura 100).
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
90
_______________________________________________________________________________________________
RelaTe-DIA: Estudos de Registro de Servios e Oracle Service Registry
91