Professional Documents
Culture Documents
Caio Nakashima
caio.nakashima@mds.gov.br
caionakashima@gmail.com
Waves of
Network Computing
Embedded
Computers
1011
Cars
TVs
Computers
108
Things - 1014
Thermostats
Switches
Packages
Phones
Clothes
Games
Desktops
Clients
Functions
Protocols
Organization
Transfers
Transactions
IP v4
Content
IP Layer
Telemetry
Control
IP v6
Waves of
Network Computing
Things - 1014
Embedded
Computers
1011
Thermostats
Switches
Cars
TVs
Computers
108
Phone
s
Desktops
Packages
Clothes
Games
Clients
Functions
Transfers
Transactions
IP v4
Content
N-tier
IP v6
IP Layer
FT SMTP
RMI/IIOP
X
RPC/XDR
Telnet
P
Identity
LDAP SOAP
Organization
HTTP
Jini
Client/Server
UDDI
Protocols
Control
Telemetry
JXTA
Web Applications
Web
Services
Polyarchical
Fractal
O novo software
Payment
Developer
X1
Locater
X106
New
Service
X106
Calendar
Authentication
Software
Users
Device
Evoluo da Plataforma
Catch
Phrase
The Network
Is the
Computer
Scale
100s
1,000s
When/Peak
1984/1987
1990/1993
1996/1999
2001/2003
1998/2004
2004/2009
Leaf
Protocol(s)
+HTTP
(+JVM)
+XML
Portal
+RM
Unknown
Directory(s)
NS, NS+
+CDS
+LDAP(*)
+UDDI
+Jini
+?
Session
RPC, XDR
+CORBA
+CORBA,
RM
+SOAP,
XML
+RM/Jini
+?
Schematic
Objects
Network
of Things
100,000,000
s
Padres de comunicao
ClientServer
Web
Web
3-Tier Application Services
Hybrid
P2P
Fractal
Business Systems
DB Server
App Server
J2EE
Web Server
Browser
Client
J2SE/
J2ME
Web
Application
Bus.
Sys.
DB
App
XML
(UDDI,
SOAP)
J2EE
Web
Browser
J2SE/
J2ME
Web
Service
Conceito
A ideia atrs de Servios Web expor uma
aplicao como um servio para clientes na Web,
independentemente da aplicao do cliente e seu
ambiente de execuo.
A interoperabilidade o mais importante
caracterstica de um Servio Web e todos os
provedores de tecnologias disponveis, incluindo
Microsoft, esto aderentes aos padres.
Por exemplo, um cliente C# sendo executado em
.NET pode chamar um servio implementado em
Java EJB em um continer J2EE.
A interoperabilidade significa que estes servios so
fracamente acoplados que EJB.
Padronizao
Existem duas organizaes que trabalham na
padronizao de Servios Web.
World Wide Web Consortium (W3C)
Organization for the Advancement of Structured
Information Standards (OASIS)
Servers
Clients
Servers
Internet
PDA
Cliente Servidor
Cell
Phone
Clients
Web-based
computing
Workstation
Kiosk
Server
Laptop
Web Services/Peer-toPeer
Web Service
Cliente / Servidor
Dentro da Empresa
Dependente de um conjunto
de linguagem
Procedural
Geralmente limitado por um
protocolo de transporte
Fortemente Acoplado
Processamento Eficiente
(tempo / espao)
Entre Empresas
Independente de Linguagem
de Programao
Baseado em Mensagem
Facilmente adaptado em
diferentes protocolos de
transporte
Fracamente Acoplado
Processamento no
eficiente
Ajuda
Fracamente acoplados
permitem que mquinas e usurios de um sistema
distribudo sejam fundamentalmente independentes e
ainda interagir de forma limitada quando isto for
necessrio, compartilhando discos, impressoras e outros
recursos.
Fortemente acoplados
prov um nvel de integrao e compartilhamento de
recursos mais intenso e transparente ao usurio
caracterizando sistemas operacionais distribudos.
Fonte:http://pt.wikipedia.org/wiki/Computao_distribuda
Web Service
Aplicao Web
InteraoProgramaPrograma
Possibilidade de
integrao de
componentes (no
futuro)
Possibilidade de
agregao de servio
(no futuro)
Web Services
Service Grid
Registro
do Servio
Descoberta do
Servio
Registro
Chamada do Servio
Entrega de
Servio
Montagem do Servio
Macro
Servio
Micro
Servio
Business
Process
Management
Micro
Servio
Micro
Servio
Agregao do Servio
Nasdaq
Entrada: Codigo
Sada: Preo
Usurio
Portal de
Servio de
Aes
Agncia Notcias 1
Entrada: Codigo
Sada: Notcias
Entrada: Codigo
Sada: Preo, Notcia,
Comrcio
Agncia Notcias n
Entrada: Codigo
Sada: Notcias
Corretor 1
Entrada: Codigo,
Preo, Qtde
Corretor n
Entrada: Codigo,
Preo, Qtde
Web Services?
Plataforma Neutra
acessvel de forma
padro
Acessvel de forma
interoperacional
Uso simplificado e
ubquo
Barato no caro
Integrao simplificada
Web Services?
XML
XML
Fornecedor
Internet
Fbrica
XML
XML
Logistica
Servio
Apl
Servio
Apl
Servio
Apl
Servio
Sistema
Servio
Sistema
Servio
Sistema
Applicao
Programa
Computador
Internet/Intranet/Extranet
Web Services
Balano
Finanas
Fluxo de
Caixa
Portfolio
Informao Estoque
Portfolio pode ser
uma aplicao, um
portal ou um
webservice
Contas
CNN
Notcias
UOL
Web Services
Bank
balance
Ortografia
Gramtica
Sinnimos
Editor de Texto
Mdia
Editor de Texto
pode ser aplicao,
uma funcionalidade
ou um web service
Dicionrio
c:\...
Publicao
http://...
Lei de Moore
Lei de Gilder
Lei de Metcalfe (Efeito da Rede)
Impacto da Integrao
Gatilho do efeito da rede
Integrao
customizada
Web Services
Web Services
Deficincias:
Qualidade de servio
Gerenciamento
Segurana
Transao
Contexto de usurio
Gerenciamento de Identidade
Workflow
1a fase
2a fase (1 a 2 anos)
J2EE
ebXML e UBL
Liberty Project
Colaborao B2B
Entrega de mensagem segura e confivel
Perfil do Parceiro
Repositrio dos dados de objetos de
negcio.
Colaborao B2B
Web Services Simples
Interao Simples
Orientado para cliente
Processos curtos
Sem necessidade de
colaborao de
negcio
Sem perfil do parceiro
No confivel, no
seguro
Sem repositrio
No suporta atribuio
legal
Colaborao B2B
Interao Complexa
Orientado a negcio
Processos longos
Suporta colaborao de
negcio
Suporta perfil do parceiro
Seguro e confivel
Registro e repositrio
Suporta atribuio legal
Colaborao B2B
EAI
Dentro de uma
organizao
Controle
centralizado
Contrato implcito
Pequeno nmero
de processos de
negcio e
participantes
Colaborao B2B
Entre empresas
Controle
Distribudo
Contrato Explcito
Grande nmero
de processos de
negcio e
participantes
Corretor de WebServices
Relaes Flexveis Componentes
Adaptativos
Arquitetura do WS - Componentes
Servio de Descrio
Servio de Registro (Publicao) e
Descoberta
Servio de Invocao
Registro
2. Client Request
Service Location
PROCURAR
1. Service Registers
PUBLICAR
Web
Service
3. Client calls
Service
LIGAR
Servio
Cliente
SOAP
SOAP no
No um modelo de componente
SOAP
Simple Object Access Protocol (SOAP)
Esta definio foi abandonada pela W3C na verso
1.2, pois SOAP no acessa objetos em particular.
SOAP um protocolo para trocar mensagens XML
entre computadores, geralmente utilizando o
protocolo HTTP ou HTTPS.
Um cliente Web Service envia uma requisio XML
na Internet utilizando os protocolos disponibilizados
pelo provedor de servios.
Envelope Mensagem
Regras de codificao
Conveno RPC
Informao sobre o protocolo de
comunicao
SOAP Envelope
SOAP Cabealho
Cabealho 1
Cabealho n
Anexos
Anexos
Anexos
t
SOAP Corpo
Corpo
Corpo
Informao de Codificao
Cabealho
Segurana
Transao
Corpo
Dados de Aplicaes
SOAP Encoding
Rules of expressing applicationdefined data types in XML
Based on W3C XML Schema
Simple values
Built-in types from XML Schema, Part 2 (simple
types, enumerations, arrays of bytes)
Compound values
Structs, arrays, complex types
SOAP Request
SOAP Response
<?xml version="1.0" encoding="UTF-8"?>
<S:Envelope xmlns:S=
"http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:qtdeResponse
xmlns:ns2="http://pacoteEstado/">
<return>
Estado: Amazonas IBGE: 13 Area:1570745.6
Quantidade de Municipios:62
</return>
</ns2:qtdeResponse>
</S:Body>
</S:Envelope>
SOAP
WSDL
Linguagem XML para descrever servios
web.
descrito como um conjunto de pontos de
comunicao (portas)
Pontos so formados por duas partes
Definio abstrata das operaes e mensagens
Ligao do protocolo com o formato do endereo
Arquitetura do Servio
UDDI
Registro
1. Servio de
Publicao
PUBLICAO
Web
Service
2. Requisio do
Cliente para Encontrar
o Servio
ENCONTRAR
3. Requisio
do Servio
LIGAO
Cliente do
Servio
Pginas Brancas
Pginas Amarelas
Indstria
Produtos / Servios
Localizao
Pginas Verdes
B2B
Applications
Existing
Applications
B2C
Applications
Web
Services
Application Server
Wireless
Applications
Enterprise
Information
Systems
JAX-RPC (JAX-WS)
EJB 2.1
Servlet 2.4
JSR 109
Componentes WebServices