Download - 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
Agenda
What is EAI ?
What is ESB ?
Why ESB required in EAI?
Core Function of ESB
ESB Architecture
Implementation of Oracle Service Bu
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)
Enterprise Application Integration (EAI)
Point to Point Architecture
Hub and Spoke Architecture
Distributed Integration Architecture or Peer to Peer Architecture
Service Oriented Architecture
Integration Approach
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
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
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.
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.
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
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
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
Core Function of 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
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
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
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.
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
Without ESB
Scalability
Maintainability
Troubleshooting
---Is nightmares
Using ESB
Easily
Scalability
Maintainability
Troubleshooting
Distributed Communications Approach
EAI
ESBPluggable Architecture
ESB Architecture
ESB Minimum Capabilities
ESB Extended Capabilities
#1: ESB is just a new name for EAI.
ESBs provide general-purpose SOA infrastructure that can be used for many
applications, including EAI.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#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.
#10: ESBs are only useful for departmental applications.
Hundreds of ESBs have been deployed around the world for mission-critical
enterprise and B2B systems.
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
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.
Oracle Service Bus (OSB) and Oracle API Gateway (OAG)
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
DemoOracle Service Bus Integration
suing Eclipse
Create Oracle Service Bus Project
Create Project Folders
Create Following folder under the project
• ProxyService
• Business Service
• Resource
• wsdl
• xsd
CREATE THE BUSINESS SERVICES
BUSINESS SERVICES CONTINUE
CREATE THE PROXY SERVICES
PROXY SERVICES CONTINUE
Deploy or Publish Project in OSB
Test The Web Service in OSB Console
Request and Response Document
Questions ?
Thanks You