ICTA Technology Meetup 01 - Enterprise Application Integration

Post on 05-Dec-2014

398 views 2 download

description

Enterprise Application Integration

Transcript of ICTA Technology Meetup 01 - Enterprise Application Integration

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 lower­level services together into a more coarse­grained operation

– Complex: (Work Flow Type BPM)● WS­BPEL● Entry Point of invoking WS­BPEL 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