23
22/10/08 A integração SOA & Web 2.0 Autor: José Ricardo de Oliveira Damico

A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

22/10/08

A integração SOA & Web 2.0

Autor:José Ricardo de Oliveira Damico

Page 2: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 3: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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.”

Page 4: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 5: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 6: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

A integração SOA & Web 2.0

6 22/10/08Template Documentation

Padrão de Encapsulamento

XML

WEBWEBWeb Services

HTTP

SOAP / REST

Page 7: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 8: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

A integração SOA & Web 2.0

8 22/10/08Template Documentation

Mas, Como representar um serviço?

Exemplos!Exemplos!

Page 9: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

A integração SOA & Web 2.0

9 22/10/08Template Documentation

Fluxo XML

InputXML

OutputXML

(Exception)

OutputXML

(Result)

Aplicação

Exemplos!Exemplos!

Page 10: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

A integração SOA & Web 2.0

10 22/10/08Template Documentation

XML é a chave da transferência entre as camadas do modelo SOA

Page 11: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 12: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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/

Page 13: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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)

Page 14: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 15: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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;

Page 16: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 17: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 18: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 19: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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

Page 20: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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.”

Page 21: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

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/

Page 22: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

A integração SOA & Web 2.0

22 22/10/08Template Documentation

Perguntas?

Page 23: A integração SOA & Web 2A integração SOA & Web 2.0 3 Template Documentation 22/10/08 O Fundamento “Na era da informação, a produção de linhas de código é um dos mais importantes

10/22/08

Thank You!

http://dcon.com.br