21
Enterprise Integra-on Agility Jeremy Deane h6p://jeremydeane.net/

Enterprise Integration Agility - Jeremy Deane

Embed Size (px)

DESCRIPTION

JAX London Presentation 2014

Citation preview

Page 1: Enterprise Integration Agility - Jeremy Deane

Enterprise  Integra-on  Agility  

Jeremy  Deane    h6p://jeremydeane.net/  

Page 2: Enterprise Integration Agility - Jeremy Deane

Agenda  

   API  Exponen-al  Growth  

   P2P  Integra-on  Issues  

   Enterprise  Integra-on  Pa6erns  

   Message  Oriented  Architecture  

   Service  Oriented  Architecture  

   Resource  Oriented  Architecture  

   Enterprise  Integra-on  Agility  

   Examples  

Page 3: Enterprise Integration Agility - Jeremy Deane

Connected  Contagion  

Images  -­‐  h6p://blog.programmableweb.com  

Page 4: Enterprise Integration Agility - Jeremy Deane

(Web)  Service  Design  Pa6erns  

h6p://www.servicedesignpa6erns.com  

Page 5: Enterprise Integration Agility - Jeremy Deane

P2P  Hidden  Costs  

Bo#om  Line  SOA    by  Marc  Rix  

Web  services  

A  web  service  does  NOT  truly  decouple  the  consumer  and  provider  

P2P  Integra-ons  

The  cost  of  maintaining  P2P  integra-ons  increases  exponen5ally  as  the  number  of  the  connec-ons  increases  

#  of  connec-ons  

$  

gain  

value  

cost  

loss  

Page 6: Enterprise Integration Agility - Jeremy Deane

Audit  Applica-on  

Key  Benefits:  

 RESTful  Integra-on  

 Scalable  Architecture  

Key  Problem:  

 P2P  Integra-on  

Page 7: Enterprise Integration Agility - Jeremy Deane

Enterprise  Integra-on  Pa6erns  

h6p://www.eaipa6erns.com/  

Page 8: Enterprise Integration Agility - Jeremy Deane

Message  Oriented  Architecture  (MOA)  

Message  Sender   Receiver  

Broker  

Topic  Queue  

creates   processes  

Delivers  

Connects  to   Connects  to  

Hosted    by  

Page 9: Enterprise Integration Agility - Jeremy Deane

Apache  Ac-veMQ  

Integra5on  Op5ons  

Java  Message  Service  (JMS)    Advanced  Message  Queuing  Protocol  (AMQP)  

Deployment  Flexibility  

Stand-­‐alone  Embedded  

Advanced  Topologies  

Master-­‐Slave  High  Availability  (HA)  Federated  Network  

Support  

Ac-ve  Open  Source  Community  Commercial  24X7  Op-ons  

Page 10: Enterprise Integration Agility - Jeremy Deane

Message  Oriented  Solu-on  

Key  Benefits:  

 Asynchronous  Integra-on  

 Guaranteed  Delivery  

Architectural  Extensions:  

 Topologies  

 Enterprise  Integra-on  Pa6erns  (Camel)  

Page 11: Enterprise Integration Agility - Jeremy Deane

Service  Oriented  Architecture  (SOA)  

Execu5on  Context  

Service  

Policies  and  Contracts  

Service  Consumer  

Real-­‐World  Effect  

part  of  

use  

represents  

seeks  

part  of  

Performs  an  

constrains  

limits  use  of  

OASIS  SOA  Concepts  

Key  

Ac5on  

Page 12: Enterprise Integration Agility - Jeremy Deane

Mule  Enterprise  Service  Bus  

Integra5on  Op5ons  

Transports:  HTTP,  JMS,  FTP,  ETC.  Enterprise  Integra-on  Pa6erns  

Deployment  Flexibility  

Stand-­‐alone  Embedded  

Advanced  Topologies  

High  Availability  (HA)  Federated  Network  

Support  

Ac-ve  Open  Source  Community  Commercial  24X7  Op-ons  

h6p://www.usenix.org/event/usenix09/tech/full_papers/tak/tak_html/  

Page 13: Enterprise Integration Agility - Jeremy Deane

Service  Oriented  Solu-on  

Key  Benefits:  

 Consumer  &  Provider  Evolve  Independently  

 Staged  Event  Driven  Architecture  

 Enterprise  Integra-on  Pa6erns  

Architectural  Extensions:  

 Topologies  

 Process  Orchestra-on  

Page 14: Enterprise Integration Agility - Jeremy Deane

Resource  Oriented  Architecture  (ROA)  

Execu5on  Context  

Service  

Resource  

Resource  Representa5on  

Resource  Provider  

Rela5ve  URI  

Policies  and  Contracts  

Service  Consumer  

Real-­‐World  Effect  

part  of  

use  

represents  

seeks  

part  of  

provide  access  to  

returns  

constrains  

limits  use  of  

hosts  

iden-fies  

OASIS  SOA  Concepts  

Resource  Oriented  Concepts  

Key  

Page 15: Enterprise Integration Agility - Jeremy Deane

1060  Research  NetKernel  

ROC    plaMorm  

Netkernel  is  a  Resource-­‐Oriented  Compu-ng  (ROC)  pladorm  that  runs  within  a  Java  Virtual  Machine  (JVM)  

Transports  

Transports  are  used  to  

• Capture  external  request  or  events  • Map  request  or  event  data  to  a  logical  address  (URI)  and  ac-on  (C.R.U.D)  

• Issue  sub-­‐request  to  a  RESTful  Microkernel  

RESTful  microkernel  

The  RESTful  microkernel  

• Resolves  requests  to  the  address  space  to  physical  code  

• Schedules  request  to  run  on  available  core  allowing  processing  to  scale  linearly  

NetKernel  Middleware  Server  

Transports  HTTP,  JMS,  FTP  

Logical  Address  Space  URI  

RESTful  Microkernel  

Physical  Code  (Java,  Groovy,  Scala)  

Page 16: Enterprise Integration Agility - Jeremy Deane

Resource  Oriented  Solu-on  

Key  Benefits:  

 Consumer  &  Provider  Evolve  Independently  

 Resource  Oriented  Compu-ng  Pladorm  

Architectural  Extensions:  

 Topologies  

 Enterprise  Integra-on  Pa6erns  

Page 17: Enterprise Integration Agility - Jeremy Deane

Enterprise  Integra-on  Agility  

Integra5on  Nirvana  

Consumers  and  providers  evolve  independently  

Costly  P2P  Integra-ons  Eliminated  

Reusability  Increased  Extensible  Enterprise  Architecture  

Page 18: Enterprise Integration Agility - Jeremy Deane

EIP:  Content  Based  Router  

Key  Benefits:  

 Ac-veMQ  Camel  Support  

 Message-­‐Oriented  Integra-on  

Architectural  Extensions:  

   Addi-onal  EIP  Pa6erns  (e.g.  Rou-ng,  Transforma-on,  etc)  

   Camel  Components    (e.g.  LDAP,  MongoDB,  Gmail)  

Node

Java Container<execution environment>

Audit Application

NodeActiveMQ Standalone Broker

<execution environment>

Audit Queue

Client Application

Send Message to Queue

Listen to Audit Queue

Insurance Queue

Billing Queue

Batch Queue

Page 19: Enterprise Integration Agility - Jeremy Deane

Architectural  Extensibility  

Iden-fy  and  store  Personally  Iden-fiable  Informa-on  (PII):  

 Reusability  

 Complex  Event  Processing  

 IT  Governance  

Node

Java Container<execution environment>

AuditApplication

Node

Client Application

NetKernel<execution environment>

HTTPTranport

RESTful Web Service

RESTful Web Service

Audit Resource

PII Audit Resource

Page 20: Enterprise Integration Agility - Jeremy Deane

Combined  Architectural  Styles  

Iden-fy  and  store  Personally  Iden-fiable  Informa-on  (PII):  

 Reusability  

 Complex  Event  Processing  

 IT  Governance  

 Service  Media-on  

 Guaranteed  Delivery  

Page 21: Enterprise Integration Agility - Jeremy Deane

Ques-ons  &  Feedback  Ques-ons  &  Feedback  

My  Contact  informa5on:  

Jeremy  Deane    Director  of  Soiware  Architecture  NaviNet  [email protected]  h6p://jeremydeane.net/  

h6ps://github.com/jtdeane/demo-­‐spring-­‐auditor  

h6ps://github.com/jtdeane/demo-­‐camel-­‐router  

h6ps://github.com/jtdeane/demo-­‐netkernel-­‐audi-ng-­‐module  

h6ps://github.com/jtdeane/demo-­‐mule-­‐audi-ng