icta technology meetup 01 - enterprise application integration

65
ICTA Technology Meetup 01 Enterprise Application Integration By Crishantha Nanayakkara

Upload: crishantha-nanayakkara

Post on 05-Dec-2014

397 views

Category:

Technology


2 download

DESCRIPTION

Enterprise Application Integration

TRANSCRIPT

Page 1: ICTA Technology Meetup 01 - Enterprise Application Integration

ICTA Technology Meetup 01

Enterprise ApplicationIntegration

By Crishantha Nanayakkara

Page 2: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 3: ICTA Technology Meetup 01 - Enterprise Application Integration

3

Enterprise Enterprise Applications?Applications?

Page 4: ICTA Technology Meetup 01 - Enterprise Application Integration

4

Enterprise Applications

● Enterprise Applications usually,– Involve “persistent data”

– Have a lot of data

– Accessed by many people “concurrently”

– Can be integrated

– Can interoperate

Page 5: ICTA Technology Meetup 01 - Enterprise Application Integration

5

Enterprise Enterprise ApplicationApplicationIntegrationIntegrationAn IntroductionAn Introduction

Page 6: ICTA Technology Meetup 01 - Enterprise Application Integration

6

The Information Silos

Systems that are not connected

Drawbacks:● Isolated without insufficient communication to the rest of the world

Page 7: ICTA Technology Meetup 01 - Enterprise Application Integration

7

The Enterprise Integration

Benefits:● Provides a way to connect each other

Drawbacks:● Extremely “Spaghetti” like architecture, create headaches

Page 8: ICTA Technology Meetup 01 - Enterprise Application Integration

The Enterprise Integration

Page 9: ICTA Technology Meetup 01 - Enterprise Application Integration

9

Point-to-Point Integration

Page 10: ICTA Technology Meetup 01 - Enterprise Application 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

Page 11: ICTA Technology Meetup 01 - Enterprise Application Integration

11

Point-to-Point Integration

● The value of the network increases linearly over time while its costs increase exponentially

Page 12: ICTA Technology Meetup 01 - Enterprise Application Integration

12

Point-to-Point Integration● Maintaining trust between clients and services can be

difficult with the number of keys to be maintained

Page 13: ICTA Technology Meetup 01 - Enterprise Application Integration

13

Point-to-Point Integration

Page 14: ICTA Technology Meetup 01 - Enterprise Application Integration

14

So how we do we resolve this?

Page 15: ICTA Technology Meetup 01 - Enterprise Application Integration

15

MiddlewareMiddleware

Page 16: ICTA Technology Meetup 01 - Enterprise Application Integration

16

What is “Middleware”?

Types of middleware– Object Oriented Middleware (OOM)

– Message Oriented Middleware (MOM)

Page 17: ICTA Technology Meetup 01 - Enterprise Application Integration

17

Message Oriented Middleware (MOM)

Page 18: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 19: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 20: ICTA Technology Meetup 01 - Enterprise Application Integration

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.

Page 21: ICTA Technology Meetup 01 - Enterprise Application Integration

21

Most of the enterprise integrations are based on message oriented design patterns

which are known as

Enterprise Integration Pattens

Page 22: ICTA Technology Meetup 01 - Enterprise Application Integration

22

Enterprise Enterprise IntegrationIntegration

PatternsPatterns((http://www.eaipatterns.comhttp://www.eaipatterns.com))

65 Patterns65 Patterns

Page 23: ICTA Technology Meetup 01 - Enterprise Application Integration

23

Page 24: ICTA Technology Meetup 01 - Enterprise Application Integration

24

Enterprise Integration Patterns

Message Router

Pipes and Filters

Page 25: ICTA Technology Meetup 01 - Enterprise Application Integration

25

Enterprise Integration Patterns

Content Based Router

Message Translator

Page 26: ICTA Technology Meetup 01 - Enterprise Application Integration

26

Enterprise Integration Patterns

Message Filter

Message Splitter

Page 27: ICTA Technology Meetup 01 - Enterprise Application Integration

27

Enterprise Integration Patterns

Message Aggregator

Message Resequencer

Page 28: ICTA Technology Meetup 01 - Enterprise Application Integration

28

Source: http://www.idevnews.com/views/images/uploads/general/talend_intfactory.jpg

Enterprise Integration Patterns

Page 29: ICTA Technology Meetup 01 - Enterprise Application Integration

29

The integrated SOLUTION

Page 30: ICTA Technology Meetup 01 - Enterprise Application Integration

30

Service OrientatedService OrientatedArchitectureArchitecture

(SOA)(SOA)

Page 31: ICTA Technology Meetup 01 - Enterprise Application Integration

31

A Typical SOA Environment

Service Registry

Service Consumer

Service Provider

Find

Publish

Bind

Web Service

Service Description

Page 32: ICTA Technology Meetup 01 - Enterprise Application Integration

32

The SOA Environment

Source: Open Source SOA

Page 33: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 34: ICTA Technology Meetup 01 - Enterprise Application Integration

34

A typical SOA environment

● Service Interfaces/ Contracts● Service Transparency● Service Composition● Service Registry or Publication● Service Governance

Page 35: ICTA Technology Meetup 01 - Enterprise Application Integration

35

The Core Characteristics of SOA1) The Service Interface / Contract

Page 36: ICTA Technology Meetup 01 - Enterprise Application Integration

36

The Core Characteristics of SOA2) The Service Transparency What if you change

the IP of this address???

Page 37: ICTA Technology Meetup 01 - Enterprise Application Integration

37

The Core Characteristics of SOA2) The Service Transparency

Page 38: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 39: ICTA Technology Meetup 01 - Enterprise Application Integration

39

The Core Characteristics of SOA3) Service Composition

Page 40: ICTA Technology Meetup 01 - Enterprise Application Integration

40

The Technologies of SOA

Page 41: ICTA Technology Meetup 01 - Enterprise Application Integration

41

SOASOASecuritySecurity

Page 42: ICTA Technology Meetup 01 - Enterprise Application Integration

42

Transport vs Message Transport vs Message LevelLevel

SecuritySecurity

Page 43: ICTA Technology Meetup 01 - Enterprise Application Integration

43

Transport Vs Message Level Security

Page 44: ICTA Technology Meetup 01 - Enterprise Application Integration

44

WS-Security

The standard framework for including XML-formatted security data into SOAP messages is called WS-Security

Page 45: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 46: ICTA Technology Meetup 01 - Enterprise Application Integration

46

WS-Security

Page 47: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 48: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 49: ICTA Technology Meetup 01 - Enterprise Application Integration

49

WS-Security Stack

Page 50: ICTA Technology Meetup 01 - Enterprise Application Integration

50

WS-Security Stack

Page 51: ICTA Technology Meetup 01 - Enterprise Application Integration

51

Point-Point vs End-EndPoint-Point vs End-EndSecuritySecurity

Page 52: ICTA Technology Meetup 01 - Enterprise Application Integration

52

Point to Point SecurityESB as a Security Gateway

Page 53: ICTA Technology Meetup 01 - Enterprise Application Integration

53

End to End Securitywith Pass Through

Page 54: ICTA Technology Meetup 01 - Enterprise Application Integration

54

End to End Security with Security Translantion at ESB Level

Page 55: ICTA Technology Meetup 01 - Enterprise Application Integration

55

End to End Security with Security Translantion at ESB Level

Page 56: ICTA Technology Meetup 01 - Enterprise Application Integration

56

Federated Identity Federated Identity Management with SAMLManagement with SAML

Page 57: ICTA Technology Meetup 01 - Enterprise Application Integration

57

● SAML provides a loosely coupled identity management with the help of WS-Trust and WS-Fedeartion specifications.

The Federated Identity

Page 58: ICTA Technology Meetup 01 - Enterprise Application Integration

58

Resource Oriented Resource Oriented Architecture (ROA)Architecture (ROA)

Page 59: ICTA Technology Meetup 01 - Enterprise Application Integration

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)

Page 60: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 61: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 62: ICTA Technology Meetup 01 - Enterprise Application Integration

62

API ManagementAPI Management

Page 63: ICTA Technology Meetup 01 - Enterprise Application Integration

63Source: WSO2 API Management Quick Start Guide

Page 64: ICTA Technology Meetup 01 - Enterprise Application Integration

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

Page 65: ICTA Technology Meetup 01 - Enterprise Application Integration

65