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 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 M-II
AgendaAgenda
• Sociedade Orientada a Serviços
• Conceitos em Service-Oriented
Architecture (SOA)
• Aspectos relevantes em Web Services e
SOA
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 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 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 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 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 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 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 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 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 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 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 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 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 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
18 M-II
Projeto de SOA e WSProjeto de SOA e WS
19 M-II
Possibilidades com os PadrõesPossibilidades com os Padrões
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 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 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 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
24 M-II
Obrigado!Obrigado!
José Francisco Salm Junior
salm@stela.org.br

Soa e web services

  • 1.
    M-II José Francisco SalmJunior 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 StelaInstitutoStela 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 • SociedadeOrientada a Serviços • Conceitos em Service-Oriented Architecture (SOA) • Aspectos relevantes em Web Services e SOA
  • 4.
    4 M-II Imagine setivéssemos que fazer tudo sozinhos, sem puder contar com serviços de terceiros. Sociedade Orientada a Serviços
  • 5.
    5 M-II Transformação doArtesã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 SOAelementosSOA 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 possibilitaoConectividade 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 quesã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ásicooperacional 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ásicooperacionalModelo 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 dePadrõ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 emcamadas (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 deInformaçã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 deinformaçã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 Webvs. 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 Webvs. 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
  • 18.
    18 M-II Projeto deSOA e WSProjeto de SOA e WS
  • 19.
    19 M-II Possibilidades comos PadrõesPossibilidades com os Padrões
  • 20.
    20 M-II Especificando ContratosEspecificandoContratos • 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 deContratode 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 deContratode 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
  • 24.
    24 M-II Obrigado!Obrigado! José FranciscoSalm Junior salm@stela.org.br