Soa e web services

24
M-II José Francisco Salm Junior Diretor de Engenharia de Sistemas Instituto Stela Arquitetura SOA: Uso Arquitetura SOA: Uso eficiente de Web eficiente de Web Services, WSDL e UDDI Services, WSDL e UDDI

Transcript of Soa e web services

Page 1: Soa e web services

M-II

José Francisco Salm JuniorDiretor de Engenharia de Sistemas Instituto Stela

Arquitetura SOA: Uso eficiente Arquitetura SOA: Uso eficiente de Web Services, WSDL e de Web Services, WSDL e UDDIUDDI

Page 2: Soa e web services

2M-II

Instituto StelaInstituto StelaMissão do Instituto StelaMissão do Instituto StelaConjugar a pesquisa científica com a inovação Conjugar a pesquisa científica com a inovação tecnológica na geração de conhecimento que vise o tecnoló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 StelaSer referência internacional em inovação científica eSer referência internacional em inovação científica etecnológica, elo entre academia e mercado, promotor tecnológica, elo entre academia e mercado, promotor de de spin-offsspin-offs empresariais e gerador de soluções de empresariais e gerador de soluções de impacto sócio-econômicoimpacto sócio-econômico

Page 3: Soa e web services

3M-II

AgendaAgenda

• Sociedade Orientada a Serviços

• Conceitos em Service-Oriented Architecture (SOA)

• Aspectos relevantes em Web Services e SOA

Page 4: Soa e web services

4M-II

Imagine se tivéssemos que fazer tudo sozinhos, sem puder

contar com serviços de terceiros.

Sociedade Orientada a Serviços

Page 5: Soa e web services

5M-II

Transformação do Artesão em Transformaçã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

Page 6: Soa e web services

6M-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.

Page 7: Soa e web services

7M-II

Principais Principais 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

Page 8: Soa e web services

8M-II

Conectividade possibilita o Conectividade possibilita o processamento global da informaçãoprocessamento global da informação

Informação

Processos

Local

1980 1990 2000 2010

Web

XMLWS

WAN

Web

LAN

LANInternet

Global

SOA

Page 9: Soa e web services

9M-II

O que são O 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

Page 10: Soa e web services

10M-II

Modelo básico operacional dos Modelo 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

Page 11: Soa e web services

11M-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)

Page 12: Soa e web services

12M-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

Page 13: Soa e web services

13M-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)

Page 14: Soa e web services

14M-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.

Page 15: Soa e web services

15M-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íficoto SOA

Page 16: Soa e web services

16M-II

Padrões Web vs. Padrões Padrões Web vs. Padrões DatawebDataweb

URIs XRIs

HTML XML/XDI

HTTPXDI/HTTPXDI/SOAP

100% endereçamento de recurso

Representação comume formato de link’s

Protocolo de intercâmbio

Web Dataweb

fonte: Drummond Reed

Page 17: Soa e web services

17M-II

Padrões Web vs. Padrões DatawebPadrões Web vs. Padrões Dataweb

HTML

WebsiteA

HTML

HTML HTML

HTML HTML

HTML HTML

HTML HTML

WebsiteB

XDI Linkcontracts

XML/XDI

Dataweb siteA

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

XML/XDI

Dataweb siteB

fonte: Drummond Reed

Page 18: Soa e web services

18M-II

Projeto de SOA e WSProjeto de SOA e WS

Page 19: Soa e web services

19M-II

Possibilidades com os PadrõesPossibilidades com os Padrões

Page 20: Soa e web services

20M-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

Page 21: Soa e web services

21M-II

Contrato de Contrato 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.

Page 22: Soa e web services

22M-II

Contrato de Contrato de UtilizaçãoUtilizaçãoEspecificaçãodo 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

Page 23: Soa e web services

23M-II

Onda SOA – ou esperar pela Onda SOA – ou esperar pela tsunamitsunami

Especificaçãode Núcleo

EspecificaçãoAvançada

EspecificaçãoSemântica

SOAP, WSDLUDDI, BPELWS-Security etc.

OWLe outros

?

Adaptado de: IBM

Page 24: Soa e web services

24M-II

Obrigado!Obrigado!

José Francisco Salm Junior

[email protected]