Enterprise Integration Agility
-
Upload
jeremy-deane -
Category
Technology
-
view
1.293 -
download
1
description
Transcript of Enterprise Integration Agility
Enterprise Integra-on Agility
Jeremy Deane h6p://jeremydeane.net/
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
Connected Contagion
Images -‐ h6p://blog.programmableweb.com
(Web) Service Design Pa6erns
h6p://www.servicedesignpa6erns.com
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
Audit Applica-on
Key Benefits:
RESTful Integra-on
Scalable Architecture
Key Problem:
P2P Integra-on
Enterprise Integra-on Pa6erns
h6p://www.eaipa6erns.com/
Message Oriented Architecture (MOA)
Message Sender Receiver
Broker
Topic Queue
creates processes
Delivers
Connects to Connects to
Hosted by
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
Message Oriented Solu-on
Key Benefits:
Asynchronous Integra-on
Guaranteed Delivery
Architectural Extensions:
Topologies
Enterprise Integra-on Pa6erns (Camel)
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
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/
Service Oriented Solu-on
Key Benefits:
Consumer & Provider Evolve Independently
Staged Event Driven Architecture
Enterprise Integra-on Pa6erns
Architectural Extensions:
Topologies
Process Orchestra-on
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
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)
Resource Oriented Solu-on
Key Benefits:
Consumer & Provider Evolve Independently
Resource Oriented Compu-ng Pladorm
Architectural Extensions:
Topologies
Enterprise Integra-on Pa6erns
Enterprise Integra-on Agility
Integra5on Nirvana
Consumers and providers evolve independently
Costly P2P Integra-ons Eliminated
Reusability Increased Extensible Enterprise Architecture
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
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
Combined Architectural Styles
Iden-fy and store Personally Iden-fiable Informa-on (PII):
Reusability
Complex Event Processing
IT Governance
Service Media-on
Guaranteed Delivery
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