SOA e Web Services

62
SOA e SOA e Web Services Web Services UNISINOS UNISINOS Giovane Barcelos Giovane Barcelos [email protected] [email protected] São Leopoldo, Maio de 2010 São Leopoldo, Maio de 2010

description

SOA e Web Services

Transcript of SOA e Web Services

Page 1: SOA e Web Services

SOA e SOA e Web ServicesWeb Services

UNISINOSUNISINOS

Giovane BarcelosGiovane [email protected]@gmail.com

São Leopoldo, Maio de 2010São Leopoldo, Maio de 2010

Page 2: SOA e Web Services

Mai 10 SOA e WS 2

RoteiroRoteiro

IntroduçãoIntrodução

SOASOA

ServiçosServiços

Web ServicesWeb Services

Composição de ServiçosComposição de Serviços

ImplementaçãoImplementação

InSOAInSOA

ConclusãoConclusão

Publicado em: http://ubuntuone.com/p/3ds/

Page 3: SOA e Web Services

Mai 10 SOA e WS 3

Introdução Introdução Porque precisamos de SOA e WSPorque precisamos de SOA e WS??

Integração e Composição de Sistemas e Processos

Page 4: SOA e Web Services

Mai 10 SOA e WS 4

Introdução Introdução Porque integrar? Porque integrar?

Vamos reescrever tudo de novo!!!

Existem situações em que isto é praticamente impossível:

• Por falta de tempo

• Recursos financeiros

• Problemas técnicos

Page 5: SOA e Web Services

Mai 10 SOA e WS 5

Introdução Introdução Porque precisamos de SOAPorque precisamos de SOA e WS? e WS?

Alinhar TI com o Negócio

Automatizar e Integrar Processos de Negócios

Gerenciar Fluxo de Processos (Workflow)

Compor e Integrar Processos

Page 6: SOA e Web Services

Mai 10 SOA e WS 6

SOA SOA Mas afinal, o que é SOAMas afinal, o que é SOA??

SOA (Service-Oriented Architecture)

SOA é um estilo de arquitetura de software onde as aplicações devem ser disponibilizadas na forma de serviços

SOA NÃO É:

• uma tecnologia

• web services

• estratégia de integração de sistemas

Page 7: SOA e Web Services

Mai 10 SOA e WS 7

SOASOAExemplo típico de SOAExemplo típico de SOA

Ordem de Compra

EstoqueContabi-lidade

Contas a Pagar

Fornece-dor

NF de Entrada

Barramento de Serviços

Page 8: SOA e Web Services

Mai 10 SOA e WS 8

SOA SOA O que SOA requer?O que SOA requer?

Modelagem e simulação de processos (BPMN, BPEL)

Orquestração dos processos de negócio como serviços

Componentização e reuso de serviços (SCA, WS-*)

Integrações de aplicações (WS-*, JNI, JMS)

Gerenciamento de processos em servidores de processos

Monitoração dos processos de negócio (BAM)

Page 9: SOA e Web Services

Mai 10 SOA e WS 9

SOA SOA Quais os princípios da arquitetura? 1/2Quais os princípios da arquitetura? 1/2

Encapsulamento

Baixa Acoplagem

Contrato

Abstração

Reusabilidade

Page 10: SOA e Web Services

Mai 10 SOA e WS 10

SOA SOA Quais os princípios da arquitetura? 2/2Quais os princípios da arquitetura? 2/2

Composição

Autonomia

Otimização

Descoberta

Relevância

Composição

Autonomia

Otimização

Descoberta

Relevância

Page 11: SOA e Web Services

Mai 10 SOA e WS 11

SOA SOA Quais são os elementos?Quais são os elementos?

SOA

Aplicação Frontend

Repositório de Serviços

ServiçoBarramento de Serviços

Contrato/ Definição

InterfaceImplementação

Lógica de Negócios

Banco de Dados

Page 12: SOA e Web Services

Mai 10 SOA e WS 12

Servicos Servicos SOA e os ServiçosSOA e os Serviços

Implementações SOA utilizam Serviços Web e geralmente SOA utiliza WS

Serviços são aplicações disponíveis na Web Principais padrões de serviços:

•RPC•CORBA•DCOM•Web Services•REST•DDS •WCF

Exemplo WS: http://www.webservicex.net/WCF/ServiceDetails.aspx?SID=19

Page 13: SOA e Web Services

Mai 10 SOA e WS 13

RPC (Remote Procedure Call)

Serviços Serviços RPCRPC

Page 14: SOA e Web Services

Mai 10 SOA e WS 14

Serviços Serviços CORBA - OMGCORBA - OMG

CORBA (Common Object Request Broker Architecture)

Page 15: SOA e Web Services

Mai 10 SOA e WS 15

DCOM (Dynamic Component Object Model)

Serviços Serviços DCOM - MicrosoftDCOM - Microsoft

Page 16: SOA e Web Services

Mai 10 SOA e WS 16

Web Services Web Services Afinal de contas, o que são WS?Afinal de contas, o que são WS?

WS (Web Services) – Serviços Web

Web Services fornecem um padrão de interoperabilidade entre aplicações diferentes, rodando sobre plataformas e/ou frameworks distintos

Especificação W3C (w3c.org):• XML, XPath, XQuery, ...• Mensagens (SOAP, WS-Addressing, ...)• Metadados de trocas (WSDL, UDDI, WS-Policies, …)• Segurança e Confiabilidade (WS-Security, WS-Trust, …)• Privacidade (P3P)• Recursos (WS-Resource, WS-Transfer, …)• Interoperabilidade (WS-Basic Profile, …)• Processos de Negócios (WS-BPEL, WS-CDL, ..)• Transações (WS-Transaction, WS-Coordination, …)• Gerenciamento (WS-Management, WSDM, ...)

Page 17: SOA e Web Services

Mai 10 SOA e WS 17

Web ServicesWeb Services ArquiteturaArquitetura

Serviços como Web-Services (WS)

Cliente Web-ServicesServiço Web-Services

Usuário ou aplicaçãoTroca de mensagens (SOAP)

Lógica e dados encapsulados

Arquitetura Web-Services (WS)

SOAP: Simple Object Access Protocol

Publicação

Troca Mensagens

Servidor Cliente

Pesquisa e Descoberta

Diretório de Serviços (UDDI)

SOAP

WSDLWSDL

SOAP: Simple Object Access ProtocolUDDI: Universal Description, Discovery and Integration

Page 18: SOA e Web Services

Mai 10 SOA e WS 18

Rede

Transporte

Empacotamento

Descrição

Web Services Web Services PilhaPilha

Descoberta

TCP / IP (Internet)

HTTP (Web)

SOAP

WSDL

UDDI

Pilha de Tecnologias Pilha de Soluções

Page 19: SOA e Web Services

Mai 10 SOA e WS 19

Web Services Web Services O que é XML?O que é XML?

eXtensible Markup Language: padrão W3C Maneira de representar informação Não é uma linguagem específica Não define vocabulário de comandos Não define uma gramática, apenas regras mínimas

Page 20: SOA e Web Services

Mai 10 SOA e WS 20

Web Services Web Services XML versus HTMLXML versus HTML

Page 21: SOA e Web Services

Mai 10 SOA e WS 21

Web Services Web Services Exemplo WSDL 1/2Exemplo WSDL 1/2

Page 22: SOA e Web Services

Mai 10 SOA e WS 22

Web Services Web Services Exemplo WSDL 2/2Exemplo WSDL 2/2

Page 23: SOA e Web Services

Mai 10 SOA e WS 23

Web Services Web Services SOAP – Formato GenéricoSOAP – Formato Genérico

SOAP Envelope SOAP Cabeçalho (Header) SOAP Corpo (Body)

Page 24: SOA e Web Services

Mai 10 SOA e WS 24

Web Services Web Services Exemplo SOAPExemplo SOAP

Pedido SOAP

Resposta SOAP

Page 25: SOA e Web Services

Mai 10 SOA e WS 25

Web Services Web Services O que é REST ?O que é REST ?

REST significa REpresentational State Transfer

É um estilo de arquitetura de serviços e WS

Trabalha essencialmente com o protocolo HTTP

Proposto por Roy Fielding (Tese) – autor da especificação HTTP

Page 26: SOA e Web Services

Mai 10 SOA e WS 26

Web Services Web Services REST versus WS-*?REST versus WS-*?

WS-* - Modelo OSI e W3C

• Formalidade e overhead de protocolos

• Muitas especificações antes de implementar

• Modelo Waterfall / Cascata

REST – TCP/IP

• Simplicidade e flexibilidade

• Especificações junto com implementação

• Modelo incremental

Page 27: SOA e Web Services

Mai 10 SOA e WS 27

Web Services Web Services Comandos REST Comandos REST

CLIENTE RECURSO

Atividade 1

Atividade 2

Atividade 3

CLIENTE

GET

PUT

POST

DELETE

INVOKE

INVOKE

INVOKE

Page 28: SOA e Web Services

Mai 10 SOA e WS 28

Web Services Web Services SOAP x REST = Declarativo x ImperativoSOAP x REST = Declarativo x Imperativo

<soap:Envelope> <soap:Body> <globo:getBook> <id>SOAP123</id> </globo:getBook> </soap:Body></soap:Envelope>

Operação e parâmetros

SOAP

REST

GET /getBook/SOAP123

O quêComo

Método HTTP URI do recurso

Page 29: SOA e Web Services

Mai 10 SOA e WS 29

Web Services Web Services REST e SOAP – Itens ImportantesREST e SOAP – Itens Importantes

Recursos

URI (Uniform Resource Identifier)

Formatos e tipos disponíveis

Métodos

Retorno

Tags e identificadores

Page 30: SOA e Web Services

Mai 10 SOA e WS 30

Composição Serviços Composição Serviços O que significa compor serviços?O que significa compor serviços?

Composição de Serviços com SOA (Service Oriented Architecture)

WS1

WS2

WS3

UI

Usuário ou aplicação

Cliente Web-Services

SOAP

integração de múltiplas plataformas

Linguagens BPEL4WS e OWL-S Abordagens distintasEscritas com auxílio de ferramentas gráficas

SOAP

SOAP

Servidor de composição de Web-Services responsável pela Orquestração WS

Page 31: SOA e Web Services

Mai 10 SOA e WS 3131

1. Inicia 2.

Executa

4. Executa

3. Executa

5. Retorno

Composição de Serviços Composição de Serviços O que é Orquestração?O que é Orquestração?

Um processo central controle os serviços

Page 32: SOA e Web Services

Mai 10 SOA e WS 3232

1. Inicia

2. Executa

4. Executa

3. Retorno

5. Executa

Composição de Serviços Composição de Serviços O que é Coreografia?O que é Coreografia?

Não depende de um coordenador central

Page 33: SOA e Web Services

Mai 10 SOA e WS 33

Composição de Serviços Composição de Serviços Design Patterns e Linguagens de ComposiçãoDesign Patterns e Linguagens de Composição

Para compor serviços Linguagem de Composição são essenciais

Principais patterns de composição:✔ Controle de fluxo básico (5)✔ Marcação de sincronização avançados (4)✔ Estruturais (2)✔ Múltiplas instâncias (4)✔ Baseados em estado (3)✔ Cancelamento (2)✔ Tratamento de Erros (1)

Design Patterns ou Padrões de Projeto:✔ Descrevem um problema que acontece repetidas vezes✔ Foco em reutilização e documentação de soluções✔ Úteis para analisar e comparar aplicações

➢ Seguem Patterns: BPEL4WS, XLANG, WSFL, XPDL e OWL-S

Page 34: SOA e Web Services

Mai 10 SOA e WS 34

Composição de Serviços Composição de Serviços Linguagens: BPEL4WS e OWL-SLinguagens: BPEL4WS e OWL-S

BPEL4WS (Business Process Execution Language for WS):

• Originária das especificações WSFL (Web Services Flow Language) da IBM e da XLANG da Microsoft

• 4 partes: partnerLinks, variables, faultHandler e sequence

• Característica de execução procedural

OWL-S (Ontology Web Language for Services)

• Predecessor é a linguagem DAML (DARPA Agent Markup Language) utilizada para criação de ontologias

• 4 partes: service, profile, process e grounding

• Descoberta, Invocação e Composição automática

• Característica de definição de Ontologias de Domínios

Page 35: SOA e Web Services

Mai 10 SOA e WS 35

Composição de Serviços Composição de Serviços Análise Comparativa – Design PatternsAnálise Comparativa – Design Patterns

OWL-S:

Vantagens devido ao suporte a XSLT (Extensible Stylesheet Language Transformations)

BPEL:

Vantagem em itens muito importantes (19 e 20) - tratamento de exceções e compensação

Page 36: SOA e Web Services

Mai 10 SOA e WS 36

Implementação Implementação Típico roteiro de implementação SOATípico roteiro de implementação SOA

Processos de Negócios

Integração

Aplicações

Segurança

Centralização dos Dados Básicos / Mestres

Page 37: SOA e Web Services

Mai 10 SOA e WS 37

Implementação Implementação Estratégias de IntegraçãoEstratégias de Integração

Projeto centralizado ou descentralizado de integração de sistemas

Definição da arquitetura a ser utilizada

• Hub and Spoke

• ESB (Transporte, Transformação e Roteamento)

Page 38: SOA e Web Services

Mai 10 SOA e WS 38

Implementação Implementação APIs de IntegraçãoAPIs de Integração

Page 39: SOA e Web Services

Mai 10 SOA e WS 39

Implementação Implementação Integração Integração SOA–ESB Enterprise Service BusSOA–ESB Enterprise Service Bus

Page 40: SOA e Web Services

Mai 10 SOA e WS 40

Implementação Implementação ESB e SOA Open SourceESB e SOA Open Source

MULE (http://mule.codehaus.org) - DEMO APACHE (http://incubator.apache.org/servicemix e tuscany)

ECLIPSE (http://www.eclipse.org/stp/ )

Page 41: SOA e Web Services

Mai 10 SOA e WS 41

Implementação Implementação ESB e SOA Suites (Real-Wold Labs)ESB e SOA Suites (Real-Wold Labs)

Page 42: SOA e Web Services

Mai 10 SOA e WS 42

Implementação Implementação Métodos de transporte ESBMétodos de transporte ESB

Software Servidor Barramento Metadados

BEA J2EE JMS Outro

CAPE Clear J2EE HTTP BPEL

Florano J2EE JMS Outro

WebSphere OS Nativo Definido Outro

Oracle J2EE HTTP BPEL

AG J2EE JMS Outro

Sonic J2EE Sonic MQ Outro

TIBCO OS Nativo TIBCO Outro

Page 43: SOA e Web Services

Mai 10 SOA e WS 43

InSOA InSOA Cenário de Convergência e EvoluçãoCenário de Convergência e Evolução

Arquiteturas Centralizadas

Arquiteturas Distribuídas

Web Services (WS) SOA (Service Oriented Architecture)

Business Process Management + SOA

Linguagens de Composição de Serviços

Computador Pessoal Dispositivos Móveis

Dispositivos Móveis Clientes

Dispositivos Móveis Servidores

Linguagens Compiladas

Linguagens interpretadas e declarativas

Embutidas e leves

Page 44: SOA e Web Services

Mai 10 SOA e WS 44

InSOA InSOA Características desejadasCaracterísticas desejadas

Soluções atuais devem:

✔ Ser distribuídas

✔ Orientadas a serviços

✔ Compor serviços

✔ Adequadas a dispositivos móveis

✔ Prover serviços e uso destes

✔ Tendência para linguagens declarativas [Aho 2006]

✔ Possibilidade de ser embutida e leves

Page 45: SOA e Web Services

Mai 10 SOA e WS 45

inSOA inSOA Questão de PesquisaQuestão de Pesquisa

Como criar composições de serviços em

dispositivos móveis utilizando uma

linguagem de composição declarativa?

Page 46: SOA e Web Services

Mai 10 SOA e WS 46

Linguagem inSOA Linguagem inSOA Projeto U-SOAProjeto U-SOA

✔ inSOA faz parte do Projeto U-SOA

✔ U-SOA significa Ubiquitous Service-Oriented Architecture

✔ É uma pilha de tecnologias separada em camadas

✔ É uma arquitetura para desenvolvimento de aplicações colaborativas ubíquas

Page 47: SOA e Web Services

Mai 10 SOA e WS 47

inSOA inSOA Características (1/2)Características (1/2)

✔ inSOA (invoke SOA) é uma linguagem declarativa de composição de serviços com foco em dispositivos móveis

✔ Insensível a capitalização

✔ Possui declaração flexível

✔ Faz validação de padrões (URI RFC 3986 e XPath 2.0)

✔ Comandos são opcionais, com exceção do invoke

Page 48: SOA e Web Services

Mai 10 SOA e WS 48

inSOA inSOA Características (2/2)Características (2/2)

✔ Suporte a tratamento de falhas

✔ Orquestração de WS

✔ Organiza invocações de forma otimizada em objetos

✔ Gera saída customizável com StringTemplate

✔ Pode ser embutida

✔ Leve e não exige software de autoria

Page 49: SOA e Web Services

Mai 10 SOA e WS 49

inSOA inSOA ExemploExemplo

-- Exemplo inSOA/* Data: 19/02/2009 */

invoke http://usoa.insoa/WS1.OperationA as a if way != 1, http://usoa.insoa/WS2.OperationB as b

input way type Number default 0

into / as wayPipe, / as wayPipeA

set a.field := way, b.field := wayPipeA/result/text()

where wayPipe/result/tag/text() == 'Valid'

return wayPipe/result/field/text() type String name Result

fail a: invoke http://usoa.insoa/WS2.Operation as c set c.field := 'Rollback', c.way := way

id Identification

tags Example;

Page 50: SOA e Web Services

Mai 10 SOA e WS 50

inSOA inSOA Gramática – Diagrama da sintaxeGramática – Diagrama da sintaxe

Page 51: SOA e Web Services

Mai 10 SOA e WS 51

inSOA inSOA Design Patterns ImplementadosDesign Patterns Implementados

PatternBPEL

OWLS

inSOA

PatternBPEL

OWLS

inSOA

1. Sequence + + + 12. Multiple Instances Without Synchronization + + +

2. Parallel Split + + + 13. Multiple Instances With a Priori Design Time Knowledge + + +

3. Synchronization + + + 14. Multiple Instances With a Priori Runtime Knowledge - - +

4. Exclusive Choice + + + 15. Multiple Instances Without a Priori Runtime Knowledge - - +

5. Simple Merge + + + 16. Deferred Choice + + +

6. Multi-choice + + + 17. Interleaved Parallel +- +- +

7. Synchronizing Merge + + + 18. Milestone - - -

8. Multi-merge - - + 19. Cancel Activity + + +

9. Discriminator - - + 20. Cancel Case + + +

10. Arbitrary Cycles - - + 21. Exception Handling + - +

11. Implicit Termination + + +

Page 52: SOA e Web Services

Mai 10 SOA e WS 52

inSOA inSOA Protótipo FuncionalProtótipo Funcional

Page 53: SOA e Web Services

Mai 10 SOA e WS 53

InSOAInSOAEstudo de CasoEstudo de Caso

➢ 2 Cenários:✔ Consulta de Viagem (4 níveis, 10 WS, 10 Composições inSOA)✔ Consulta de Livros (5 níveis, 8 WS, 12 Composições inSOA)

➢ Processo integrado de teste:

Page 54: SOA e Web Services

Mai 10 SOA e WS 54

inSOAinSOACenário 1: Consulta de ViagemCenário 1: Consulta de Viagem

✔ 4 níveis✔ 10 Composições inSOA✔ 10 WS✔ 10 Emuladores

Page 55: SOA e Web Services

Mai 10 SOA e WS 55

inSOAinSOAComparação com os Paradigmas AtuaisComparação com os Paradigmas Atuais

# Característica BPEL OWL-S inSOA

a Insensível a capitalização NÃO NÃO SIM

b Declaração Flexível NÃO NÃO SIM

c Validação de Padrões NÃO NÃO SIM

d Tratamento XML Externo Externo Interno

e Opcionalidade NÃO NÃO SIM

f Tratamento de Erros SIM SIM SIM

g Orquestração SIM SIM SIM

h Saída Customizável NÃO NÃO SIM

i Invocação Otimizada NÃO NÃO SIM

j Embutida NÃO NÃO SIM

k Leve NÃO NÃO SIM

l Abordagem Funcional Orientada para Objetos Declarativa

m Baseada XML XML Texto

Page 56: SOA e Web Services

Mai 10 SOA e WS 56

Pattern I? T? Pattern I? T?

1. Sequence Sim Sim 12. Multiple Instances Without Synchronization Sim Não

2. Parallel Split Sim Sim 13. Multiple Instances With a Priori Design Time Knowledge Sim Não

3. Synchronization Sim Sim 14. Multiple Instances With a Priori Runtime Knowledge Sim Não

4. Exclusive Choice Sim Não 15. Multiple Instances Without a Priori Runtime Knowledge Sim Não

5. Simple Merge Sim Sim 16. Deferred Choice Sim Não

6. Multi-choice Sim Não 17. Interleaved Parallel Sim Não

7. Synchronizing Merge Sim Sim 18. Milestone Não Não

8. Multi-merge Sim Sim 19. Cancel Activity Sim Sim

9. Discriminator Sim Não 20. Cancel Case Sim Sim

10. Arbitrary Cycles Sim Não 21. Exception Handling Sim Não

11. Implicit Termination Sim Sim

Legenda: I? = Implementado? e T? = Testado

inSOAinSOAPatterns Implementados/Testados no Estudo de CasoPatterns Implementados/Testados no Estudo de Caso

Page 57: SOA e Web Services

Mai 10 SOA e WS 57

Linguagem MotivaçãoComponentes Paradigma Tratamento Retorno XML

BPEL4WS WSFL e XLANG

partnerLinks, variables, faultHandler e sequence

Procedural Externo

OWL-S DAML service, profile, process e grounding

POO Externo

inSOA Declarativa Invoke, input, into, set, where, return, fail, id e tags

Declarativo Interno

inSOAinSOAComparação BPEL4WS, OWL-S e inSOAComparação BPEL4WS, OWL-S e inSOA

Page 58: SOA e Web Services

Mai 10 SOA e WS 58

Introdução Introdução Críticas SOACríticas SOA

SOA é apenas uma nova palavra para WS

Dependência de SOA à tecnologia WS

Altos custos e riscos ocasionados pela constante evolução dos padrões ligados a SOA

Serviços SOA com estado (stateful) criam alto grau de acoplamento e reduz escalabilidade

SOA é só uma evolução e não um novo conceito

Rigidez nas interfaces gera impacto negativo nas alterações dos serviços

Page 59: SOA e Web Services

Mai 10 SOA e WS 59

➢ Integrar é preciso➢ Quem não se comunica se trumbica➢ SOA é um conceito e não tecnologia➢ WS é a tecnologia mais utilizada na atualidade

Conclusão Conclusão

Page 60: SOA e Web Services

Mai 10 SOA e WS 60

Referências BibliográficasReferências BibliográficasParcialParcial

[Aalst 2003] Aalst, W.M.P van der; Dumas, M. e Hofstede, A.H.M. Ter. Web service composition languages: old wine in New bottles?. Euromicro Conference. IEEE. ISBN: 0-7695-1996-2. 2003.

[Aho 2006] Aho, Alfred V.; Lam, Monica S.; Sethi, Ravi e Ullman, Jeffrey D. Compilers: Principles, Techniques, & Tools. Pearson Addison Wesley. 1000 Pág. ISBN: 978-0321486813. 2006.

[Erl 2005] Erl, Thomas. Service-Oriented Architecture: Concepts, Technology, and Design. Prentice Hall PTR. 792 Pág. ISBN: 978-0131858589. 2005.

[Haseman 2008] Haseman, Chris. Android Essentials. Apress. 166 Pág. ISBN: 978-1430210641. 2008.

[Martin 2004] Martin, D. at al. OWL-S: Semantic Markup for Web Services. W3C. http://www.w3.org/Submission/OWL-S/. 2004.

[Parr 2007] Parr, Terence. The Definitive Antlr Reference: Building Domain-Specific Languages. Pragmatic Bookshelf. 376 pag. ISBN: 978-0978739256. 2007.

[Staab 2003] Staab, S.; van der Aalst, W.; Benjamins, V.R.; Sheth, A.; Miller, J.A.; Bussler, C.; Maedche, A.; Fensel, D. e Gannon, D.. Web services: been there, done that?. IEEE, DOI: 10.1109/MIS.2003.1179197. 2003.

[Will 2003] Will, van der Aalst. Don't go with the flow: Web services composition standards exposed. IEEE Intelligent Systems. 2003.

Page 61: SOA e Web Services

Mai 10 SOA e WS 61

[1] W3C, “Web Services Architecture”, 2004, disponível em: http://www.w3.org/TR/ws-arch/#introduction, acessado em: 23/05/08.

[2] M. Nakamura, H. Igaki,, H. Tamada, K. Matsumoto, “Implementing Integrated Services of Networked Home Appliances using service oriented Architecture”, In: 2nd International Conference on Service Oriented Computing, Novembro, 2004

[3] M. Hu, “Web Services Composition, Partition, and Quality of Service in Distributed System Integration and Re-engineering”, 2003, XML Conference & Exposition 2003

[4] J. Shen, Y. Yang, C. Zhu e C. Wan, “From BPEL4WS to OWL-S: Integrating E-Business Process Descriptions”, Services Computing, 2005 IEEE International Conference.

[5] W.M.P van der Aalst, M. Dumas e A.H.M. ter Hofstede, “Web service composition languages: old wine in New bottles?”, 2003, IEEE.

[6] E. Gamma, R. Helm, R. Johnson e J.M. Vlissides, “Design Patterns: Elements of Reusable Object-Oriented Software”, 1994, Addison-Wesley.

[7] W.M.P. van der Aalst, A.H.M. ter Hofstede, B. Kiepuszewski, e A.P. Barros, “Workflow Patterns”, 2000

Referências BibliográficasReferências BibliográficasParcialParcial

Page 62: SOA e Web Services

Mai 10 SOA e WS 62

OBRIGADO !OBRIGADO !

AgradecimentosAgradecimentosPerguntasPerguntas