O documento discute arquitetura orientada a serviços (SOA) e padrões relacionados a web services. Ele explica os principais elementos de uma arquitetura SOA, incluindo repositórios de serviços, bus de serviços e aplicações front-end. Também aborda conceitos como web services, contratos de utilização e realização, e padrões como UDDI, WSDL e SOAP.
Microformats e Web Semântica, transformando seu site para web 3.0 - Road Show...
Arquitetura SOA e Web Services
1. M-II
José Francisco Salm Junior
Diretor de Engenharia de Sistemas
Instituto Stela
Arquitetura SOA: Uso eficienteArquitetura SOA: Uso eficiente
de Web Services, WSDL ede Web Services, WSDL e
UDDIUDDI
2. 2 M-II
Instituto StelaInstituto Stela
Missão do Instituto StelaMissão do Instituto Stela
Conjugar a pesquisa científica com a inovaçãoConjugar a pesquisa científica com a inovação
tecnológica na geração de conhecimento que vise otecnológica na geração de conhecimento que vise o
desenvolvimento das organizações e da sociedadedesenvolvimento das organizações e da sociedade
Visão do Instituto StelaVisão do Instituto Stela
Ser referência internacional em inovação científica eSer referência internacional em inovação científica e
tecnológica, elo entre academia e mercado, promotortecnológica, elo entre academia e mercado, promotor
dede spin-offsspin-offs empresariais e gerador de soluções deempresariais e gerador de soluções de
impacto sócio-econômicoimpacto sócio-econômico
3. 3 M-II
AgendaAgenda
• Sociedade Orientada a Serviços
• Conceitos em Service-Oriented
Architecture (SOA)
• Aspectos relevantes em Web Services e
SOA
4. 4 M-II
Imagine se tivéssemos que
fazer tudo sozinhos, sem puder
contar com serviços de
terceiros.
Sociedade Orientada a Serviços
5. 5 M-II
Transformação do Artesão emTransformação do Artesão em
Provedor de ServiçosProvedor de Serviços
• Muito do que nossa sociedade é hoje provem da:
– Especialização
– Padronização
– Escalabilidade
• Nossa sociedade é quase que exclusamente orientada a
serviços
– Transporte
– Telecomunicação
– Planos de Saúde
– Bibliotecas Virtuais / Busca especializada
6. 6 M-II
O que é SOAO que é SOA
SOA é uma arquitetura de software que
está baseada nos elementos de repositório
de serviços, BUS de serviços e aplicação
frontend.
7. 7 M-II
PrincipaisPrincipais
elementos SOAelementos SOA
SOASOA
Serviços
(Web Services)
Serviços
(Web Services)
Repositório de
Serviços)
Repositório de
Serviços)
ImplementaçãoImplementação
Regras de
Serviços / SLA-WS
Regras de
Serviços / SLA-WS
Lógica na InstituiçãoLógica na Instituição
DadosDados
Aplicação Frontend Bus de Serviços
Interface
8. 8 M-II
Conectividade possibilita oConectividade possibilita o
processamento global da informaçãoprocessamento global da informação
Informação
Processos
Local
1980 1990 2000 2010
Web
XML
WS
WAN
Web
LAN
LANInternet
Global
SOA
9. 9 M-II
O que sãoO que são Web ServicesWeb Services
• Serviços Web são aplicações de
negócio modulares
• Nele é exposta a lógica de negócio em
forma serviços sobre a Internet através de
interfaces programáveis
• Utiliza de protocolos de Internet com o
propósito de fornecer meios para buscar,
assinar e acessar esses serviços
10. 10 M-II
Modelo básico operacional dosModelo básico operacional dos
Web ServicesWeb Services
• Serviços Web podem ser conceituados em um
modelo simples operacional que tem um pouco
em comum com o modelo padrão de
comunicação
• As operações são concebidas em 3 distintas
regras e relacionamentos que definem os
usuários e fornecedores dos serviços:
– Service provider
– Service broker
– Service requestor
11. 11 M-II
Modelo básico operacionalModelo básico operacional
– Service provider: Desenvolvedor e publicador dos serviços (interage
com o service broker);
– Service broker: Responsável por registrar e descobrir os serviços na
Web. Ele lista os vários tipos de serviços, descrições e locais do
serviços que auxiliam o solicitante dos serviços (service requestor) a
encontrar e acessar os serviços requiridos;
– Service requestor: Usuário dos serviços. Ele localiza o serviço usando
o service broker, invoca o serviço requerido e executa ele do service
provider
Developing Java Web Services. Nagappan, et al (2004)
12. 12 M-II
Árvore de PadrõesÁrvore de Padrões
Representação
de IA
Linguagens
de
Semântica
Linguagens
de Gestão
de Conteúdo
Linguagem
de Processos
Linguagens
de
Modelagem
de Software
Adaptado de: IBM
13. 13 M-II
Arquitetura em camadas (WS)Arquitetura em camadas (WS)
Interface de Serviços com o usuário
Diálogo com o usuário (Troca de Mensagem)
Diretório de Serviços
Coordenação dos Serviços
XML Schema +WSDL + SOAP
WSDL + SOAP
Broker (UDDI + WSDL)
Broker (UDDI + WSDL)
14. 14 M-II
Entidade de Informação em SOAEntidade de Informação em SOA
• “No coração de um Web services está um
problema complexo: com uma aplicação
distribuída trata a necessidade de
compartilhamento de dados”
– Identificação e equivalência
– Autenticação
– Autorização e privacidade
– mediação
– sincronização
fonte: The Dataweb: An Introduction to XDI, Drummond Reed et al.
15. 15 M-II
Entidades de informação em SOAEntidades de informação em SOA
• Diferentes dimensões estão presentes
quanto a gerencia da informação
agregada em uma SOA
Entidades
de
Informação
Entidades
de
Informação
Identidade
Conteúdo
Estado
Localização
Replicação
Privacidade
Específico
to SOA
16. 16 M-II
Padrões Web vs. PadrõesPadrões Web vs. Padrões
DatawebDataweb
URIs XRIs
HTML XML/XDI
HTTP
XDI/HTTP
XDI/SOAP
100% endereçamento
de recurso
Representação comum
e formato de link’s
Protocolo de intercâmbio
Web Dataweb
fonte: Drummond Reed
17. 17 M-II
Padrões Web vs. Padrões DatawebPadrões Web vs. Padrões Dataweb
HTML
Website
A
HTML
HTML HTML
HTML HTML
HTML HTML
HTML HTML
Website
B
XDI Link
contracts
XML/
XDI
Dataweb site
A
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
XML/
XDI
Dataweb site
B
fonte: Drummond Reed
20. 20 M-II
Especificando ContratosEspecificando Contratos
• Dois tipos diferentes de contratos:
– Contrato de Utilização: contrato entre a
interface do objeto e seus clientes;
– Contrato de Realização: contrato entre a
especificação do WS e sua implementação
21. 21 M-II
Contrato deContrato de UtilizaçãoUtilização
• Define o relacionamento entre a interface do
objeto WS e o cliente (usuário), e é especificado
em forma de uma interface.
– Operações: uma lista de operações que a interface
dispoem, incluindo suas assinaturas e definições;
– Modelo de Informação: a definição abstrata de uma
informação ou estado existente entre o cliente e o
objeto que dá suporte a interface.
22. 22 M-II
Contrato deContrato de UtilizaçãoUtilização
Especificação
do WS
Cliente
Interface
utilização
Pré-Condições : é uma afirmação que o componente
assume ser verdade antes que uma operação seja
invocada.
Pós-Condição :é uma afirmação do componente garante
imediatamente após a operação ser invocada. É um
predicado sobre os parâmetros de entrada e de saída,
bem como para o estado do componente logo após a
operação ser invocada
23. 23 M-II
Onda SOA – ou esperar pelaOnda SOA – ou esperar pela
tsunamitsunami
Especificação
de Núcleo
Especificação
Avançada
Especificação
Semântica
SOAP, WSDLUDDI, BPEL
WS-Security etc.
OWL
e outros
?
Adaptado de: IBM