A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O...
Transcript of A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O...
22/10/08
A integração SOA & Web 2.0
Autor:José Ricardo de Oliveira Damico
A integração SOA & Web 2.0
2 22/10/08Template Documentation
Objetivo
Esclarecer os principais aspectos de uma arquitetura orientada à serviços
Apresentar a importância dos padrões XML em arquiteturas orientadas à serviços.
Demonstrar alguns exemplos
Sugerir linhas de estudos
A integração SOA & Web 2.0
3 22/10/08Template Documentation
O Fundamento
“Na era da informação, a produção de linhas de código é um dos mais importantes fundamentos do mercado.”
A integração SOA & Web 2.0
4 22/10/08Template Documentation
Breve Cronologia das Aplicações Empresariais
ALL-IN-ONE
Cliente - Servidor
Três camadas
CORBA
RMI
JMS
Web-based
P2P (Grid)
EDI
Tuxedo
Brokers
A integração SOA & Web 2.0
5 22/10/08Template Documentation
Os passos para evolução
Independência de linguagem
Objetos distribuídos
Novo Modelo de mensagem (Conteúdo + Requisição)
Requisições Assíncronas
Nova camada genérica de abstração das regras de negócio
A integração SOA & Web 2.0
6 22/10/08Template Documentation
Padrão de Encapsulamento
XML
WEBWEBWeb Services
HTTP
SOAP / REST
A integração SOA & Web 2.0
7 22/10/08Template Documentation
O Modelo de Serviços
Fornecedores deserviços
Web
Consumidores deserviços
Ambientes, Infraestuturas, Línguas, Protocolos, Sistemas >> HETEROGÊNEOS
A integração SOA & Web 2.0
8 22/10/08Template Documentation
Mas, Como representar um serviço?
Exemplos!Exemplos!
A integração SOA & Web 2.0
9 22/10/08Template Documentation
Fluxo XML
InputXML
OutputXML
(Exception)
OutputXML
(Result)
Aplicação
Exemplos!Exemplos!
A integração SOA & Web 2.0
10 22/10/08Template Documentation
XML é a chave da transferência entre as camadas do modelo SOA
A integração SOA & Web 2.0
11 22/10/08Template Documentation
O que acontece quando o XML acessa a aplicação? (Parte I)
XML acessa o serviço via SOAP ou REST
O serviço é formado por um conjunto de classes ou por um ou mais componentes
O XML tem em si definido uma das classes e métodos de entrada
Além disso o XML de entrada também defin, e quando aplicável, os valores a serem passado para classe
A integração SOA & Web 2.0
12 22/10/08Template Documentation
O que acontece quando o XML acessa a aplicação? (Parte II)
O XML é validado
Faz a chamada do serviço
Um XML de saída passa a ser construído ou transformado a partir do XML de entrada
A transformação de XML em objetos (e vice-versa) é comum (SDO é uma boa abordagem) http://www.ibm.com/developerworks/library/ws-sdoxmlschema/
A integração SOA & Web 2.0
13 22/10/08Template Documentation
Caixa de Ferramentas XML
XSD:XSD: Manter a forma
XSLT:XSLT: Transformar sem perder o modelo
XQuery: XQuery: Consulta e modelagem dinâmica de conteúdo
Exemplos!Exemplos!Bibliotecas essenciais:•Xalan (http://xerces.apache.org/)•Xerces (http://xalan.apache.org/)•Saxon (http://saxon.sourceforge.net)•JAXP (http://java.sun.com/webservices/jaxp)
A integração SOA & Web 2.0
14 22/10/08Template Documentation
Integração do XML com Bancos de Dados
https://www6.software.ibm.com/developerworks/demos/DB2XML/db2_database_for_xml.htmhttp://www-306.ibm.com/software/data/db2/9/edition-express.htmlhttp://www.regdeveloper.co.uk/2006/11/08/java_database_derby/
DB2 Enterprise 9
A integração SOA & Web 2.0
15 22/10/08Template Documentation
A Evolução do SQLSELECT ID, XMLSERIALIZE( XMLQUERY('string(//student[text() = "BC"]/@age)' PASSING BY REF xcol EMPTY ON EMPTY) AS VARCHAR(50))FROM x_tableWHERE XMLEXISTS('//student[text() = "BC"]' PASSING BY REF xcol)
INSERT INTO x_table VALUES (1, XMLPARSE(DOCUMENT ' <roster> <student age="18">AB</student> <student age="23">BC</student> <student>NOAGE</student> </roster>' PRESERVE WHITESPACE) )
update clientes set contatos=(xmlparse(document '‘<Cliente> <Endereco>
<rua>Rua dos Pássaros 154</rua> <cidade>Sao Paulo</cidade>
<estado>SP</estado> <cep>888888888</cep>
</Endereco> <telefones> <comercial>551833457898</comercial> <residencial>551833454444</residencial> <celular>551897054849</celular> </telefones> <email>[email protected]</email></Cliente>' ) )where codigo = 4;
A integração SOA & Web 2.0
16 22/10/08Template Documentation
SOA + Web 2.0
Parseamento de XML no Browser
Volta do JavaScript
Aumento de Processamento
Local
Diminuição custo
Infraestrutura
Necessidade de um modelo
hierarquico mais leve
REST / JSONFrameworksAJAX
Influência depadrões abertos
A integração SOA & Web 2.0
17 22/10/08Template Documentation
SOAP & REST
Input SOAP
Input REST
<?xml version="1.0"?><soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding"> <soap:Body xmlns:m="http://www.example.org/stock"> <m:GetStockPrice> <m:StockName>IBM</m:StockName> </m:GetStockPrice> </soap:Body> </soap:Envelope>
http://en.wikipedia.org/wiki/SOAP http://dictionary.reference.com/browse/day
Serviços entre Máquinas– Detalhamento lógico e o mapeamento de opções leva ao
resultado
Serviços entre Máquinas e Pessoas– Estado representacional leva ao resultado
A integração SOA & Web 2.0
18 22/10/08Template Documentation
Implementação AJAX
DOJO
{"universe":{"payLoad":{"entity":{"type":"Usr","uId":"vfc"}},"msgHeader":{"retCd":"0"}}}
JSON
REST
A integração SOA & Web 2.0
19 22/10/08Template Documentation
Arquitetura SOA BásicaSERVLET
REST
SERVLET
REST
Session FactoryEJB
ComponentMediator
CompositeLogic
Resource Factory
JSON REST
DB EJB JMS
SERVLET
RESTXML SOAP Pure XML
DB29.1
Viper
A integração SOA & Web 2.0
20 22/10/08Template Documentation
Conclusão
“O modelo de uma arquitetura orientada à serviços depende do fluxo de informações e requisições baseadas em documentos XML. Mesmo pequenas aplicações devem estar de acordo com este modelo para garatirem o futuro de seus ciclos de vida.”
A integração SOA & Web 2.0
21 22/10/08Template Documentation
Referências
WebServices
– http://www.ibm.com/developerworks/webservices/library/ws-best1/
SOAP
– http://www.ibm.com/developerworks/webservices/library/ws-ref1.html
REST
– http://en.wikipedia.org/wiki/REST
SOA
– http://www.ibm.com/developerworks/webservices/library/ws-soa-term1/
ESB
– http://www.ibm.com/developerworks/library/ar-esbpat1/
Jetty
– http://docs.codehaus.org/display/JETTY/Embedding+Jetty
XSLT
– http://www.ibm.com/developerworks/xml/library/x-xslt/
Xquery
– http://www.ibm.com/developerworks/xml/library/x-xquery.html
– http://dcon.com.br/XQueryREST/
A integração SOA & Web 2.0
22 22/10/08Template Documentation
Perguntas?
10/22/08
Thank You!
http://dcon.com.br