icta technology meetup 01 - enterprise application integration
DESCRIPTION
Enterprise Application IntegrationTRANSCRIPT
ICTA Technology Meetup 01
Enterprise ApplicationIntegration
By Crishantha Nanayakkara
2
Agenda
● Enterprise Application Integraion – An Introduction
● Enterprise Application Integraion Patterns and the usage
● Service Oriented Architecture (SOA)
● SOA Security
● Resource Oriented Architecture (ROA)
● API Management
3
Enterprise Enterprise Applications?Applications?
4
Enterprise Applications
● Enterprise Applications usually,– Involve “persistent data”
– Have a lot of data
– Accessed by many people “concurrently”
– Can be integrated
– Can interoperate
5
Enterprise Enterprise ApplicationApplicationIntegrationIntegrationAn IntroductionAn Introduction
6
The Information Silos
Systems that are not connected
Drawbacks:● Isolated without insufficient communication to the rest of the world
7
The Enterprise Integration
Benefits:● Provides a way to connect each other
Drawbacks:● Extremely “Spaghetti” like architecture, create headaches
The Enterprise Integration
9
Point-to-Point Integration
10
Point-to-Point Integration
Specifically, linking every component to every other component will require N(N-1)/2 physical connections
N = Total Number of Components in the Network
e.g: If there are 10 components in the network,
Total number of physical connections = 10 (10-1)/2
= 45
11
Point-to-Point Integration
● The value of the network increases linearly over time while its costs increase exponentially
12
Point-to-Point Integration● Maintaining trust between clients and services can be
difficult with the number of keys to be maintained
13
Point-to-Point Integration
14
So how we do we resolve this?
15
MiddlewareMiddleware
16
What is “Middleware”?
Types of middleware– Object Oriented Middleware (OOM)
– Message Oriented Middleware (MOM)
17
Message Oriented Middleware (MOM)
18
Message Oriented Middleware (MOM)
● This creates a loosely-coupled distributed system
● Such a system can continue to function reliably, without downtime, even when individual components or connections fail
● Examples:
● IBM MQSeries, Sun JMS, Microsoft MSMQ
19
Messaging Systems - Benefits● Supports Remote Communications● Ability work as a message bus● Supports Asynchronous Communication● Supports Throttling (Controlling the rate at
which the receiver consumes the requests) ● More reliable● Can be used for disconnected operations● Supports mediation
20
Messaging Systems - Issues● Complex Programming Model● Sequence Issues – There is no guarantee of
the message delivery sequence● All the transactions cannot be asynchronous.
(Airline booking system should be more synchronous than asynchronous)
● Not suited for syncing systems with big chunks of data.
21
Most of the enterprise integrations are based on message oriented design patterns
which are known as
Enterprise Integration Pattens
22
Enterprise Enterprise IntegrationIntegration
PatternsPatterns((http://www.eaipatterns.comhttp://www.eaipatterns.com))
65 Patterns65 Patterns
23
24
Enterprise Integration Patterns
Message Router
Pipes and Filters
25
Enterprise Integration Patterns
Content Based Router
Message Translator
26
Enterprise Integration Patterns
Message Filter
Message Splitter
27
Enterprise Integration Patterns
Message Aggregator
Message Resequencer
28
Source: http://www.idevnews.com/views/images/uploads/general/talend_intfactory.jpg
Enterprise Integration Patterns
29
The integrated SOLUTION
30
Service OrientatedService OrientatedArchitectureArchitecture
(SOA)(SOA)
31
A Typical SOA Environment
Service Registry
Service Consumer
Service Provider
Find
Publish
Bind
Web Service
Service Description
32
The SOA Environment
Source: Open Source SOA
33
Portlet Applications
Services
Application
Lanka GateLanka Gate
CertificateAuthority
Country Portal
Lanka GovernmentNetwork
Private Sector Companies
Services
Mobile Portal
Mobile ServiceProviders
Citizens
Application
Credit CardPayment Service
Private SectorVPN
Services
Application
Services
Application
Services
Application
Lanka Gate: A Typical SOA Environment
34
A typical SOA environment
● Service Interfaces/ Contracts● Service Transparency● Service Composition● Service Registry or Publication● Service Governance
35
The Core Characteristics of SOA1) The Service Interface / Contract
36
The Core Characteristics of SOA2) The Service Transparency What if you change
the IP of this address???
37
The Core Characteristics of SOA2) The Service Transparency
38
The Core Characteristics of SOA
3) Service Composition– There are two general types of composite services
● Simple● Complex
– Simple: Simply wraps one or more lowerlevel services together into a more coarsegrained operation
– Complex: (Work Flow Type BPM)● WSBPEL● Entry Point of invoking WSBPEL is usally a web
service
39
The Core Characteristics of SOA3) Service Composition
40
The Technologies of SOA
41
SOASOASecuritySecurity
42
Transport vs Message Transport vs Message LevelLevel
SecuritySecurity
43
Transport Vs Message Level Security
44
WS-Security
The standard framework for including XML-formatted security data into SOAP messages is called WS-Security
45
WS-Security
● The same cryptography techniques (Confidentiality, Integrity, Non-repudiation and Authentication) are applied in the web services security stack as well
● It basically provides a XML based Abstraction Layer for the above established cryptography techniques
46
WS-Security
47
WS-Security
● Transport level security is completely independent of message level security.
● For example, in order to have the message level security, it is not required to have a HTTPS secured message channel.
● But if all you need to do is keep messages confidential between point A and point B, using SSL is perfectly sufficient
48
WS-Security
● How does WS-Security handles Authenticity, Integrity, Non-Repudiation and Confidentiality?
– Security Tokens are used for Authenticity– XML Signature is used for Integrity and Non-
Repudiation– XML Encryption is used for Confidentiality
49
WS-Security Stack
50
WS-Security Stack
51
Point-Point vs End-EndPoint-Point vs End-EndSecuritySecurity
52
Point to Point SecurityESB as a Security Gateway
53
End to End Securitywith Pass Through
54
End to End Security with Security Translantion at ESB Level
55
End to End Security with Security Translantion at ESB Level
56
Federated Identity Federated Identity Management with SAMLManagement with SAML
57
● SAML provides a loosely coupled identity management with the help of WS-Trust and WS-Fedeartion specifications.
The Federated Identity
58
Resource Oriented Resource Oriented Architecture (ROA)Architecture (ROA)
An Introduction● ROA consists of REST based web services● Resource Oriented services focus on distinct
data objects upon which a handful of basic, standard operations can be performed
– Retrieving the resources (GET)– Modifying the resources (POST)– Creating new resources (PUT)– Deleting resources (DELETE)
60
SOAP Web Services
● Language, Platform and Transport agnostic
● Designed to handle in distributed environments
● Better usage of WS* standards
● Built in error handling features
● Highly Extensible
● Suitable for end-end security
● More difficult and more “heavy-weight” than REST
● Harder to develop. Require tools or frameworks
Pros Cons
61
REST Web Services
● Language and Platform agnostic
● Much simpler to develop than SOAP
● Small learning curve. Less reliance to tools/ frameworks
● Unlike SOAP, no need of having an additional messaging layer
● Not transport agnostic. Supports only HTTP transports
● Only good at point-point communication model
● Lack of standards support for security, policy, reliable messaging, etc
Pros Cons
62
API ManagementAPI Management
63Source: WSO2 API Management Quick Start Guide
64
API Management
● API Gateway - To secure, manage, protect and scale API calls
● API Publisher – Enabling platform for API Providers / developers
● API Store – Enable service consumers to self-register and discover existing APIs
65