architecting cloud-enabled applications using spring-integration 2.x

43
Architecting cloud-enabled applications using Spring- Integration 2.x Edson Yanaga Desenvolvedor e Consultor www.yanaga.com.br [email protected] @edsonyanaga Wednesday, December 14, 11

Upload: edson-yanaga

Post on 22-Apr-2015

2.783 views

Category:

Technology


0 download

DESCRIPTION

Minha apresentação no JavaOne Brasil 2011 em São Paulo/SP. Trata-se de uma introdução aos Enterprise Integration Patterns (EIPs) e à uma implementação de ESB, o Spring Integration 2.x

TRANSCRIPT

Page 1: Architecting cloud-enabled applications using Spring-Integration 2.x

Architecting cloud-enabled applications using Spring-

Integration 2.xEdson Yanaga

Desenvolvedor e Consultorwww.yanaga.com.br

[email protected]@edsonyanaga

Wednesday, December 14, 11

Page 2: Architecting cloud-enabled applications using Spring-Integration 2.x

Edson Yanaga• Bacharel em Ciência da Computação/UEM

• Mestre em Engenharia Elétrica/UTFPR

• Desenvolvedor Java desde 1997

• Administrador Unix desde 1999

• Oracle Certified Professional, Java Platform, Enterprise Edition 6 Enterprise JavaBeans Developer

• Certified ScrumMaster

• Sun Certified Developer for Java Web Services 5

• Sun Certified Specialist for NetBeans IDE

• Sun Certified Web Component Developer for J2EE 1.4

• Sun Certified Programmer for Java 2 Platform 1.4

Wednesday, December 14, 11

Page 3: Architecting cloud-enabled applications using Spring-Integration 2.x

O que é Enterprise

Integration?Tarefa de fazer com

que aplicações separadas trabalhem juntas para fornecer uma funcionalidade

Wednesday, December 14, 11

Page 4: Architecting cloud-enabled applications using Spring-Integration 2.x

Critérios de integração

• Acoplamento

• Simplicidade

• Tecnologia

• Formato dos dados

• Sazonalidade dos dados

• Assincronicidade

Wednesday, December 14, 11

Page 5: Architecting cloud-enabled applications using Spring-Integration 2.x

Opções de integraçãoWednesday, December 14, 11

Page 6: Architecting cloud-enabled applications using Spring-Integration 2.x

Cloud Computing

Integração e portabilidade de

aplicações

Wednesday, December 14, 11

Page 7: Architecting cloud-enabled applications using Spring-Integration 2.x

“O Livro”Wednesday, December 14, 11

Page 8: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação

Wednesday, December 14, 11

Page 9: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação Splitter Router

Wednesday, December 14, 11

Page 10: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação Splitter Router

Wednesday, December 14, 11

Page 11: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação Splitter Router

Wednesday, December 14, 11

Page 12: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação Splitter Router

Wednesday, December 14, 11

Page 13: Architecting cloud-enabled applications using Spring-Integration 2.x

Aplicação Splitter Router

Wednesday, December 14, 11

Page 14: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 15: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 16: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 17: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 18: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 19: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 20: Architecting cloud-enabled applications using Spring-Integration 2.x

Splitter Router

Wednesday, December 14, 11

Page 21: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 22: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 23: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 24: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 25: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 26: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 27: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 28: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 29: Architecting cloud-enabled applications using Spring-Integration 2.x

Router Aggregator

Wednesday, December 14, 11

Page 30: Architecting cloud-enabled applications using Spring-Integration 2.x

Outros Endpoints

• Filter: decide se a mensagem continua ou não

• Transformer: transforma o conteúdo de uma mensagem de um formato para outro formato

• Delayer: atrasa a entrega da mensagem

• ...

Wednesday, December 14, 11

Page 31: Architecting cloud-enabled applications using Spring-Integration 2.x

Spring Integration

• É a implementação dos Enterprise Integration Patterns fornecida pela SpringSource

Wednesday, December 14, 11

Page 32: Architecting cloud-enabled applications using Spring-Integration 2.x

<XML/>Configuração

através de XML

Wednesday, December 14, 11

Page 33: Architecting cloud-enabled applications using Spring-Integration 2.x

XML na dose certa

Quanto uma criança ganha um martelo,

o mundo inteiro torna-se pregos...

Wednesday, December 14, 11

Page 34: Architecting cloud-enabled applications using Spring-Integration 2.x

AWSPlataforma de

cloud computing (IaaS) da Amazon

Wednesday, December 14, 11

Page 35: Architecting cloud-enabled applications using Spring-Integration 2.x

Principais Serviços

• S3 (Simple Storage Service)

• EC2 (Elastic Compute Cloud)

• SQS (Simple Queue Service)

• ...

Wednesday, December 14, 11

Page 36: Architecting cloud-enabled applications using Spring-Integration 2.x

DEMO

Wednesday, December 14, 11

Page 37: Architecting cloud-enabled applications using Spring-Integration 2.x

#javaonebrasil

Wednesday, December 14, 11

Page 38: Architecting cloud-enabled applications using Spring-Integration 2.x

#javaonebrasil Transformer(JSON -> POJO)

Wednesday, December 14, 11

Page 39: Architecting cloud-enabled applications using Spring-Integration 2.x

#javaonebrasil Transformer(JSON -> POJO)

Splitter(urls)

Wednesday, December 14, 11

Page 40: Architecting cloud-enabled applications using Spring-Integration 2.x

Transformer(JSON -> POJO)

Splitter(urls)

Filter(idempotente)

Wednesday, December 14, 11

Page 41: Architecting cloud-enabled applications using Spring-Integration 2.x

Filter(idempotente)

ServiceActivator(SQS)

Wednesday, December 14, 11

Page 42: Architecting cloud-enabled applications using Spring-Integration 2.x

ServiceActivator(S3)

Wednesday, December 14, 11

Page 43: Architecting cloud-enabled applications using Spring-Integration 2.x

Let the code begin...

Wednesday, December 14, 11