54
Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB) Solution Architect (Oracle Applications) 6 th March 2015 Md. Samiuzzaman Khan (Tamim) Tiger IT Bangladesh Limited

Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Embed Size (px)

Citation preview

Page 1: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Solution Architect (Oracle Applications)

6th March 2015

Md. Samiuzzaman Khan (Tamim)

Tiger IT Bangladesh Limited

Page 2: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Agenda

What is EAI ?

What is ESB ?

Why ESB required in EAI?

Core Function of ESB

ESB Architecture

Implementation of Oracle Service Bu

Page 3: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Enterprise Application Integration (EAI)

Enterprise Application Integration (EAI) allows for the unrestricted sharing of data and

business processes among any connected heterogeneous applications.

Different form of Integration

A2A (Application to Application)

B2B (Business-to-Business)

B2C (Business-to-Consumer)

C2B (Consumer-to-Business)

C2C (Consumer-to-Consumer)

Page 4: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Enterprise Application Integration (EAI)

Page 5: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Point to Point Architecture

Hub and Spoke Architecture

Distributed Integration Architecture or Peer to Peer Architecture

Service Oriented Architecture

Integration Approach

Page 6: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Point to Point

The original architecture used to support systems integration

Advantages :

Point to point solutions are often fast and efficient

The efficiency is derived from applications being tightly coupled

Disadvantages :

Complexity increases as applications increase resulting in high maintenance cost

Lack of flexibility

Tightly coupled nature makes it difficult to manage

Page 7: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Hub and Spoke

The earliest formal integration technology. Works on the principle that all information coming from the applications had to be processed within a single machine or server called a “hub”

Advantages :

Less complex than Point to Point.

Preferred architecture for achieving an easily controlled and managed environment in medium sized integration project.

Disadvantages :Too much processing taking place in central hub.Lack of standardsMost of the solutions are proprietary hence expensiveAs the number and complexity of processes increase, performance can suffer and hubs become difficult to manage, maintain and extendPure Hub and Spoke implementations do not scale well. One solution is to create a federated architecture

Page 8: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Distributed Integration ArchitectureOne solution to the Hub and Spoke scalability issue is to perform message translation,routing, splitting and combing closer to the source and target systems by using smallercomputers known as “agents”. Agent computers are connected to just one system andreduce the processing load on that system. Also known as Peer to Peer architecture.

Advantages :

Distributed work load

Gain in processing efficiency

Ability to scale well

Disadvantages :

Early attempts at Distributed Architecture would work only where the internal and external facilities operated under the same distributed technology (CORBA, COM, JMI).

Not so effective where Line Of Business involves mergers and acquisition.

Page 9: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Service Oriented ArchitectureService Oriented Architecture is essentially an enhanced version of Distributed Architecture that usesloosely coupled software services to support the requirements of business processes and softwareusers.

Advantages :

Web services as the communication standard.

Loosely coupled, granular

Interoperability

Efficiency – Because of Reusable nature

Scalable

Reliable

Secure

Maintainable

ESB has become the accepted standard for the creation of an organizations Service oriented architecture.

Page 10: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB – The Next Step in EAI

• ESB - An attempt to move away from problems caused by brokered hub and

spoke EAI approach.

• Bus architecture lessens the burden of functionality placed on the single hub

by distributing the integration tasks to other part of the networks.

• The granular loosely coupled components can be grouped in various

configurations to handle different integration scenario. Can be hosted

anywhere within the infrastructure or duplicated for scalability.

• Componentize necessary functionalities like security, transaction processing,

error handling

Page 11: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Core ESB features

There are a number of different ESB products available on the market today. Some, such as WebSphere

Message Broker or TIBCO Business Works, are traditional EAI products that have been re-factored to

offer ESB-like functionality, but still function in a broker-like manner.

Core features

Location transparency

Transformation – usable formats for all consumers

Protocol conversion – Accept all protocols for consumption

Routing – determine appropriate end consumer based on preconfigured rules or dynamic created

requests.

Monitoring/Administration

Security – ESB security involves tow main components

Ensure secure handing of messages

Ensure secure transport of messages

Page 12: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Core ESB features Connecting Anything to Anything

Transports: HTTP, HTTPS, POP, IMAP, SMTP, JMS, AMQP, FIX, TCP, UDP, FTPS, SFTP, SMS

Formats & protocols: JSON, XML, SOAP 1.1, SOAP 1.2, WS-*, HTML, EDI, HL7

Routing, Mediation & Transformation

Routing: Header based, content based, rule-based and priority-based routing

Mediation: EIPs (including scatter/gather, message filters, recipient list, dead-letter channels, guaranteed delivery and message enrichment),

database integration, event publishing, logging & auditing, validation

Transformation: XSLT 1.0/2.0, XPath, XQuery, Smooks

Message, Service, API & Security Gateway

Expose existing applications & services over different protocols & message formats

Virtualize services for loose coupling & SOA governance

Load balancing for scalability and fail-over for high availability of business endpoints

Create service facades for legacy / non-standard services

Enforce and manage security centrally, including authentication, authorization & entitlement

Policy enforcement and governance via Policy Governance Registry

Expose services & applications via RESTful APIs with key management

Logging, audit and SLA monitoring, KPI monitoring

WS-Security, LDAP, Kerberos, OpenID, SAML, XACML

SSL tunneling and SSL profiles support for inbound and outbound scenarios

CRL/OCSP Certificate revocation verification

Page 13: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Core Function of ESB

Page 14: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB Key Components Message Oriented Middleware (MOM)

• Robust, reliable transport

• Efficient movement of data across abstract data channels

• End-to-end reliability

Service Container and Abstract Endpoints

• Endpoints

• Logical abstraction, representing remote services in various implementations

• Container

• The physical manifestation of the endpoints

• Distributed and lightweight

Intelligent routing

• Message routing based on content and context

• Message routing based on business process rules

• Business process orchestration based on a rules language such BPEL4WS

Page 15: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Advantages of ESBLightweight: because an ESB is made up of many interoperating services, rather than a single hub that contains every

possible service, ESBs can be as heavy or light as an organization needs them to be, making them the most efficient

integration solution available.

Easy to expand: If an organization knows that they will need to connect additional applications or systems to their

architecture in the future, an ESB allows them to integrate their systems right away, instead of worrying about whether or

not a new system will not work with their existing infrastructure. When the new application is ready, all they need to do to

get it working with the rest of their infrastructure is hook it up to the bus.

Scalable and Distributable: Unlike broker architectures, ESB functionality can easily be dispersed across a

geographically distributed network as needed. Additionally, because individual components are used to offer each feature,

it is much simpler and cost-effective to ensure high availability and scalability for critical parts of the architecture when

using an ESB solution.

SOA-Friendly: ESBs are built with Service Oriented Architecture in mind. This means that an organization seeking to

migrate towards an SOA can do so incrementally, continuing to use their existing systems while plugging in re-usable

services as they implement them.

Incremental Adoption: At first glance, the number of features offered by the best ESBs can seem intimidating. However,

it's best to think of the ESB as an integration "platform", of which you only need to use the components that meet your

current integration needs. The large number of modular components offers unrivaled flexibility that allows incremental

adoption of an integration architecture as the resources become available, while guaranteeing that unexpected needs in the

future will not prevent ROI.

15

Page 16: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Hybrid Integration

“Hybrid Integration is the concept of federated on-premises and cloud-based

integration combined with the improved interoperability of existing and new

middleware silos of application, business-to-business (B2B), business process

management (BPM), business events, business rules, and data integration.

Key capabilities of hybrid integration platforms include metadata life-cycle

management and runtime interoperability, which help CIOs orchestrate a well-

governed but also rapidly changing agile integration platform from multiple

integration products.”

-Forrester

Page 17: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Enterprise Service Bus (ESB)

Enterprise Service Bus (ESB) is an integration infrastructure used to implement an

EAI. The role of the ESB is to decouple client applications from services.

SOA is an architectural approach or set of principals where we expose and encapsulate

“services” and it does not prescribe any technical mechanism or implementation on the

other hand ESB is a technical implementation that aids in delivering a SOA.

Page 18: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

The ESB StoryApp App App App

App App App App

Integration any which way

App AppApp

App App App App

App

Integration though

Interfaces

AppApp

App App

AppApp

App App

ESB

Integration though ESB

Page 19: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)
Page 20: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)
Page 21: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)
Page 22: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Without ESB

Scalability

Maintainability

Troubleshooting

---Is nightmares

Page 23: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Using ESB

Easily

Scalability

Maintainability

Troubleshooting

Page 24: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Distributed Communications Approach

EAI

Page 25: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESBPluggable Architecture

Page 26: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB Architecture

Page 27: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB Minimum Capabilities

Page 28: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB Extended Capabilities

Page 29: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#1: ESB is just a new name for EAI.

ESBs provide general-purpose SOA infrastructure that can be used for many

applications, including EAI.

Page 30: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#2: ESBs compete with J2EE application servers.

ESBs complement app servers in an Enterprise SOA environment, by offering

service mediation, intelligent routing, distributed communication and service

management.

Page 31: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#3: I don’t need an ESB if I’m using Web services.

ESBs make it practical to deploy an Enterprise SOA through increased

reliability, security and scalability in addition to post-deployment flexibility

and service management.

Page 32: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#4: An ESB is simply an abstract concept or design pattern.

An ESB provides a specific set of capabilities, brought together in a coherent, unified service-oriented

architecture.

Page 33: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#5: ESBs are simply message-oriented middleware with a new marketing spin.

In addition to their messaging layer, ESBs contain a full distributed services

architecture, with the ability to host, configure, mediate, orchestrate and

manage services.

Page 34: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#6: ESBs will be obsolete once BPEL and the WS-* standards are complete.

BPEL and the WS-* standards will further interoperability between ESBs and application platforms, but do not

remove the need for service mediation, routing and management.

Page 35: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#7: Microsoft is building an ESB with their “Indigo” project.

Indigo will make it easier to build message-driven applications in .NET but

doesn’t appear to include the configurable intermediaries, dynamic distributed

deployment or management capabilities found in an ESB.

Page 36: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#8: An ESB container can be implemented using an EJB container.

ESBs require service containers that are lightweight, dynamically configurable and

support event-driven services.

Page 37: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#9: ESBs offer yet another proprietary middleware stack.

ESBs are based on XML and Web services standards, and ESB vendors are

implementing and contributing to the next generation of standards for further

interoperability and openness.

Page 38: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

#10: ESBs are only useful for departmental applications.

Hundreds of ESBs have been deployed around the world for mission-critical

enterprise and B2B systems.

Page 39: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

ESB Product in the Market Commercial

Oracle Enterprise Service Bus (BEA Logic) known as Oracle Service Bus

SAP Process Integration

Adeptia ESB Suite

IBM Integration Bus and IBM WebSphereESB

Microsoft BizTalk Server

Windows Azure Service Bus

Red Hat JBoss Fuse, originally Fuse ESB from IONA Technologies (later acquired by Progress Software)

Mule ESB (Enterprise Edition)

Open-source

Apache Camel

Apache ServiceMix

Apache Synapse

JBoss ESB

NetKernel

Petals ESB

Spring Integration

Open ESB

WSO2 ESB

Mule ESB (Community Edition)

UltraESB

Red Hat Fuse ESB (based on Apache Camel)

Talend

Page 40: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Oracle Service Bus (OSB)

Oracle Service Bus transforms complex and brittle architectures into agile integration networks by connecting, virtualizing, and managing interactions between services and applications. Oracle Service Bus delivers low-cost, standards-based integration for mission critical SOA environments where extreme performance, scalability and reliability are critical requirements.

Page 41: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Oracle Service Bus (OSB) and Oracle API Gateway (OAG)

Page 42: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

OSB Related Products

1. RCU 11.1.1.7.0

http://download.oracle.com/otn/linux/middleware/11g/111170/ofm_rcu_linux_11.1.1.7.0_64_disk1_1of1.zip

2. JRockit./JDK

http://www.oracle.com/technetwork/middleware/jrockit/downloads/index.html

3. WebLogic 10.3.6

http://www.oracle.com/technetwork/middleware/downloads/index-087510.html

4. OSB 11.1.1.7.0

http://www.oracle.com/technetwork/middleware/service-bus/downloads/index.html

5. SOA Suite 11.1.1.7.0

http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html

6. JDeveloper 11g 11.1.1.7.1

http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdeveloer111171-2183166.html

7. Oracle Enterprise Pack for Eclipse 11gR1 (11.1.1.8)

http://www.oracle.com/technetwork/developer-tools/eclipse/downloads/oepe-11118-521475.html

8. SOA Dev Extension

http://www.oracle.com/webfolder/technetwork/tutorials/obe/fmw/tuxedo/10g/tuxedosaltwebservices/JDevSOAExtension.htm

Page 43: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

DemoOracle Service Bus Integration

suing Eclipse

Page 44: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Create Oracle Service Bus Project

Page 45: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Create Project Folders

Create Following folder under the project

• ProxyService

• Business Service

• Resource

• wsdl

• xsd

Page 46: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

CREATE THE BUSINESS SERVICES

Page 47: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

BUSINESS SERVICES CONTINUE

Page 48: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

CREATE THE PROXY SERVICES

Page 49: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

PROXY SERVICES CONTINUE

Page 50: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Deploy or Publish Project in OSB

Page 51: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Test The Web Service in OSB Console

Page 52: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Request and Response Document

Page 53: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Questions ?

Page 54: Getting started with Enterprise Application Integration (EAI) using Enterprise Service Bus (ESB)

Thanks You