SlideShare a Scribd company logo
Exigen Services confidential Exigen Services confidential
Composite SOA Frameworks
Evgeny Epifantsev
December 2009
Updated 2012
Exigen Services confidential
Trainer contacts
• Evgeny Epifantsev
• Developer
• eepifantsev@exigenservices.com
2
Exigen Services confidential
Goals
3
ESB structure and technologies basis.
ESB frameworks
Exigen Services confidential
Agenda
• Service mapping (ESB) and routing (UDDI)
• Component containers: SCA/JBI/OSGi
• ESB overview.
4
Exigen Services confidential
Enterprise Service Bus
5
ESB
Requests
Responses
Requests
Responses
Service
Requester
Service
Provider
Phone with wap - WXML/HTTP
.NET - SOAP/HTTP
C++ - XML/JMS
SAP - BAPI
WebSphere 5.1 - SOAP/JMS
SAP - BAPI
External partner - SOAP/HTTPS
User application - RMI
Database – SQL
Application - XML/JMS
Exigen Services confidential
ESB capabilities
6
Routing
Message
transformation
Message
enhancement
Security
Transaction
management Service
orchestration
Process
choreography
Message
processing
Mapping
service
Protocol
transformation
BPM
ESB part 1
Service Design
Principles and Patterns
SOA
security
Web security
Exigen Services confidential
Routing: UDDI
Exigen Services confidential
UDDI – service routing
Client wants to call service 1 (client doesn’t know service1 endpoint )
1. All services are registered in UDDI
2. Client call UDDI “I need service1, where is it?”
3. UDDI search that service in repository and return service1 endpoint
4. Client call service1 on endpoint was got from UDDI
2
3
4
1
Exigen Services confidential
UDDI summary
Benefits:
 Simplify business-to-business (B2B) interaction
 Separate service from description
 Allow hot switch to other service location
 Providing Application Visibility at Design Time
Universal Description, Discovery and Integration
 UDDI provides a standards-based set of specifications for service description and
discovery. Extensible Markup Language (XML) which used for WSDL for describe services
 UDDI supports a highly flexible description of services with metainformation
(Service Layer Agreement)
 WS-SecurityPolicy
Exigen Services confidential
Service routing(Versions)
10
WSDL v1
MakeOrder (Person person)
saveOrTradeOrder(Person person)
WSDL 2
Exigen Services confidential
Service mapping (Person)
11
WSDL
Business service definition
MakeOrder (Person person)
MakeOrder (Person person)
saveOrTradeOrder(Person person)
Java
implementation service for
saveOrTradeOrder(Person person)
give me endpoint
http://example.com/saveOrplaceOrder
publish
2
3
4
5
1
Exigen Services confidential
Service mapping (Name , Address)
12
WSDL
Business service definition
MakeOrder (Person person)
MakeOrder (Person person)
saveOrTradeOrder(String name, String address)
Java
implementation service for
saveOrTradeOrder(String name, String address)
give me endpoint
http://example.com/saveOrplaceOrder_v2
publish
2
3
4
5
6
getPersonAddr(Person person)
1
Exigen Services confidential
Modules List
13
protocol
transformation
Message
processing
• ActiveMQ
• JBossMQ
• OracleAQ
• MQ Series
message
transformation
• xslt
• Smooks
• Doozer
• Xquery
• Oakland
routing
• Xpath
• Eip engine
• Camel
Transaction
• XA• Email
• ftp
• HTTP
• JTA
• TCP
• CXF
Service
choreography
• jBPM• Groovy
Script engine
Security
• Acegy
• JAAS
Service
orchestration
• BEPL
Exigen Services confidential
Component containers: JBI
Exigen Services confidential
JBI (JSR-208)
Java Business Integration (JBI) specification (Oracle)
 The goal of JBI is to create a standards-based architecture for integrating
middleware components to perform ESB capabilities
 The JBI Specs is not concerned about how external consumers or service providers
interact, but rather how internal consumers and providers interact
 JBI dependent on J2SE but not J2EE
 JBI defines two types of components
- Service Engines (process choreography, transactions, security, message
transformation, protocol transformation)
- Binding components ( XML, HTTP, MQ, IIOP)
15
Exigen Services confidential
JBI
16
jbi.xml - installation descriptor define a unique
component name and type along with the
classpath settings that are required during
installation and runtime of the component.
Life Cycle
Exigen Services confidential
JBI Specification architecture
17
BC – Binding components SE – Service Engine
Standard Can be open source
WSDL
WSDL
Exigen Services confidential
JBI Specification architecture
18
Standard Can be open source
WSDL
WSDL
Java / Swing Java / EJB Servlet
Exigen Services confidential
JBI summary
JBI advantages and the effect on commercial ESBs
 Third party Custom Service Engines (SE) and Binding Components (BC) can be
swapped in and out without impacting applications or services
 Avoids “Vendor lock-in”
 We can swap in and out integration services (i.e. capabilities) we don’t need, creating
a lighter-weight solution that meets our specific needs
19
Exigen Services confidential
Component container: OSGI
Exigen Services confidential
OSGI - Open Services Gateway Initiative
21
Foo.jar
Bar.jar
Runtime class space
Load into JVM
Foo.jar
Bar.jar
• No borders between jar into JVM
• Can’t use many versions of one
library
low couplinghigh cohesion
Make something one, but done it perfect How module interact with other modules
Exigen Services confidential
Architecture
22
low coupling high cohesion
Bundle = JAR + modified MANIFEST.MF
Name
Version
Dependency
etc.
Bundle life cycle: INSTALLED, RESOLVED,
STARTING, ACTIVE,STOPPING, UNINSTALLED
Exigen Services confidential
Environment (pax runner)
23
# Javax
scan-bundle:mvn:javax.resource/com.springsource.javax.resource/1.5.0@5
scan-bundle:mvn:javax.xml.ws/com.springsource.javax.xml.ws/2.1.1@5
scan-bundle:mvn:javax.xml.bind/com.springsource.javax.xml.bind/2.1.7@5
scan-bundle:mvn:javax.activation/com.springsource.javax.activation/1.1.1@5
scan-undle:mvn:javax.xml.stream/com.springsource.javax.xml.stream/1.0.1@5
scan-bundle:mvn:javax.xml.soap/com.springsource.javax.xml.soap/1.3.0@5
scan-bundle:mvn:javax.wsdl/com.springsource.javax.wsdl/1.6.1@5
scan-bundle:mvn:javax.servlet/com.springsource.javax.servlet/2.5.0@5
scan-bundle:mvn:org.aopalliance/com.springsource.org.aopalliance/1.0.0@3
scan-bundle:mvn:org.aspectj/com.springsource.org.aspectj.lib/1.5.4@3
scan-bundle:mvn:org.aspectj/com.springsource.org.aspectj.runtime/1.5.4@3
scan-bundle:mvn:com.springsource.instrumented/org.springframework.aop.instrumented/2.5.7.RELEASE@3
scan-bundle:mvn:com.springsource.instrumented/org.springframework.beans.instrumented/2.5.7.RELEASE@3
scan-bundle:mvn:com.springsource.instrumented/org.springframework.context.instrumented/2.5.7.RELEASE@3
scan-bundle:mvn:com.springsource.instrumented/org.springframework.context.support.instrumented/2.5.7.RELEASE@3
scan-bundle:mvn:com.springsource.instrumented/org.springframework.core.instrumented/2.5.7.RELEASE@3
scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.context/…
scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.application…
scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.context.support
scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.beans/…
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.monitoring/2.5.7.RELEASE/@5
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.config/2.5.7.RELEASE/@5
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.control/2.5.7.RELEASE/@5
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.inventory/2.5.7.RELEASE/@5
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.discovery.domain/2.5.7.RELEASE/@5
scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.discovery.resource/2.5.7.RELEASE/@5
com.springsource.instrumented.org.springframework.context.instrumented
com.springsource.instrumented.org.springframework.beans.instrumented
com.springsource.management.com.springsource.management.agent.monitoring
com.springsource.instrumentation.com.springsource.management.instrumentation.springframework.applicationcontext
Exigen Services confidential
OSGI summary
24
• Every bundle has his own class space. All data in bundle are private
• Bundle repository. Public only interfaces, not implementation
• Can be many version of one bundle in one OSGI framework
• Lifecycle management on the fly
• Strictly naming conversion
- bundle’s symbolic name
- version number
OSGI containers: Equinox , Apache Felix
knopflerfish
Exigen Services confidential
Component containers: SCA
Exigen Services confidential
SCA -Service Component Architecture
26
SCA - is a set of OASIS specifications which describe a model for building
applications and systems using a Service-Oriented Architecture.
<composite name="ExampleComposite" ...>
<component name="Component1"> ... </component>
<component name="Component2"> ... </component>
<component name="Component3"> ... </component>
</composite>
Component:
 Implementation: Java, C++, BEPL …
 Communication configuration: SCDL .composite file
(Service Component Definition Language )
Exigen Services confidential
SCA structure
27
BEA, IBM, IONA, Oracle, SAP, Siebel Systems и Sybase
service
Reference Domain-defined communication
property
Bindings Webservice or other communication
ZIP
Exigen Services confidential
SCA application structure
28
Exigen Services confidential
SCA runtime
29
No specs how SCA should be implemented -
Several vendors Tuscany and Fabric3 , IBM …
Exigen Services confidential
SCA vs OSGI vs JBI
30
JBI vs OSGI:
SCA
OSGI – Declarative dependency management.
Low level integration. Mobile devices
JBI – Standard messaging processing
High level component integration.
Container model for an Enterprise Service Bus
SCA – A model on how to assemble composite applications
Language-independent
Policy support
Separate implementation and binding.
Vendor lock-in
Distributed heterogeneous system.
Exigen Services confidential
Requirements
31
IBM Oracle
Hardware Pentium at 2.4GHz or AMD Opteron (32-bit
only)
1 GB physical memory
Application Server IBM WebSphere Application Server 7.0 Oracle WebLogic
Java IBM Java SDK 6.0 SR6
IDE Integration Developer
Support standards JAXWS 2.1.1, JAXB 2.1.3, SAAJ 1.3 и StAX
1.0.
WS-Atomic Transactions
SecureFTP; Oracle BPEL PM;
SOAP/HTTP и SOAP/JMS, SOAP 1.2, WSDL 1.1, SAP, Siebel, PeopleSoft, JMS,
WebSphere MQ, SCA , REST, WS-BEPL
WS-Addressing, WS-I Basic Profile V1.1, WS-Security, WS-Reliable Messaging 1.0,
WS-Policy, UDDI v3
Data representation Service Message Object (extends SDO) XML, MFL
Deployment EAR
SCA, OSGI JBI, SCA, OSGI
Exigen Services confidential
Projects and technologies
32
JBI SCA OSGI Custom
IBM WebSphere 7.0 + +
Eclipse Swordfish
project 1.0
+ + +
OW2 PEtALS 3.1 + +
ServiceMix/Fuse 4.0 support +
OpenESB/GlassFish
2.2
+
Oracle ESB 11g + + +
JBoss ESB 4.10 +
WSO2 3.0 +
Mule 3.2.0 support +
Exigen Services confidential
Thank You!
Questions?
33

More Related Content

What's hot

Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
IMC Institute
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELGuido Schmutz
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus WSO2
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
WSO2
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
Azilen Technologies Pvt. Ltd.
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2
 
SOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summarySOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summary
Lucas Jellema
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
Upul Doluweera
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation FrameworkWSO2
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
Nahser Bakht
 
Biztalk ESB Toolkit Introduction
Biztalk ESB Toolkit IntroductionBiztalk ESB Toolkit Introduction
Biztalk ESB Toolkit Introduction
Saffi Ali
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
Thomas Stensitzki
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Sandro Pereira
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2
 
Enterprise Service Bus and JBI
Enterprise Service Bus and JBIEnterprise Service Bus and JBI
Enterprise Service Bus and JBI
Thanachart Numnonda
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
Kasun Indrasiri
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsWSO2
 

What's hot (19)

Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service BusService Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
Service Oriented Architecture (SOA) [2/5] : Enterprise Service Bus
 
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPELOracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
Oracle Service Bus vs. Oracle Enterprise Service Bus vs. BPEL
 
Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus Enterprise Use Case - Selecting an Enterprise Service Bus
Enterprise Use Case - Selecting an Enterprise Service Bus
 
ESB and SOA
ESB and SOAESB and SOA
ESB and SOA
 
ESB Concepts
ESB ConceptsESB Concepts
ESB Concepts
 
oracle-osb
oracle-osboracle-osb
oracle-osb
 
Overview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech MeetupOverview of ESB at Azilen Tech Meetup
Overview of ESB at Azilen Tech Meetup
 
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
WSO2Con2011: Using WSO2 ESB with SAP ERP (Retail)
 
SOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summarySOA Suite 12c - Service Bus new features summary
SOA Suite 12c - Service Bus new features summary
 
Enterprise service bus
Enterprise service busEnterprise service bus
Enterprise service bus
 
ESB Evaluation Framework
ESB Evaluation FrameworkESB Evaluation Framework
ESB Evaluation Framework
 
Overview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSBOverview of SOA and the role of ESB / OSB
Overview of SOA and the role of ESB / OSB
 
Biztalk ESB Toolkit Introduction
Biztalk ESB Toolkit IntroductionBiztalk ESB Toolkit Introduction
Biztalk ESB Toolkit Introduction
 
SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06SoCal User Group Meeting 2013-05-06
SoCal User Group Meeting 2013-05-06
 
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
Windows Azure [R]Evolution - Applications Integration with Azure Service Bus ...
 
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep DiveWSO2Con USA 2015: WSO2 Integration Platform Deep Dive
WSO2Con USA 2015: WSO2 Integration Platform Deep Dive
 
Enterprise Service Bus and JBI
Enterprise Service Bus and JBIEnterprise Service Bus and JBI
Enterprise Service Bus and JBI
 
WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration WSO2 ESB - The Backbone of Integration
WSO2 ESB - The Backbone of Integration
 
How the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendorsHow the WSO2 ESB outperforms other major open source esb vendors
How the WSO2 ESB outperforms other major open source esb vendors
 

Viewers also liked

Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
Return on Intelligence
 
Career development in exigen services
Career development in exigen servicesCareer development in exigen services
Career development in exigen services
Return on Intelligence
 
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)
Return on Intelligence
 
Introduction to selenium web driver
Introduction to selenium web driverIntroduction to selenium web driver
Introduction to selenium web driver
Return on Intelligence
 
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
Return on Intelligence
 
Anti patterns part 1
Anti patterns part 1Anti patterns part 1
Anti patterns part 1
Return on Intelligence
 
Conflicts Resolving
Conflicts ResolvingConflicts Resolving
Conflicts Resolving
Return on Intelligence
 

Viewers also liked (7)

Enterprise service bus part 1
Enterprise service bus part 1Enterprise service bus part 1
Enterprise service bus part 1
 
Career development in exigen services
Career development in exigen servicesCareer development in exigen services
Career development in exigen services
 
Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)Apache cassandra - future without boundaries (part2)
Apache cassandra - future without boundaries (part2)
 
Introduction to selenium web driver
Introduction to selenium web driverIntroduction to selenium web driver
Introduction to selenium web driver
 
Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)Apache cassandra - future without boundaries (part3)
Apache cassandra - future without boundaries (part3)
 
Anti patterns part 1
Anti patterns part 1Anti patterns part 1
Anti patterns part 1
 
Conflicts Resolving
Conflicts ResolvingConflicts Resolving
Conflicts Resolving
 

Similar to Enterprise service bus part 2

Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
Return on Intelligence
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1WSO2
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
Dimitris Andreadis
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
Dimitris Andreadis
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
WASdev Community
 
IBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of libertyIBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of liberty
nick_garrod
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
QAware GmbH
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
Mario-Leander Reimer
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
Kile Niklawski
 
Shyam pcf
Shyam pcfShyam pcf
Shyam pcf
shyam kumar
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
Getting value from IoT, Integration and Data Analytics
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Arun Gupta
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
Arun Gupta
 
Travelling light for the long haul
Travelling light for the long haulTravelling light for the long haul
Travelling light for the long haul
Ian Robinson
 
Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinson
mfrancis
 
Java Web Services [4/5]: Java API for XML Web Services
Java Web Services [4/5]: Java API for XML Web ServicesJava Web Services [4/5]: Java API for XML Web Services
Java Web Services [4/5]: Java API for XML Web Services
IMC Institute
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 javatwo2011
 

Similar to Enterprise service bus part 2 (20)

Enterprise service bus part 2
Enterprise service bus part 2Enterprise service bus part 2
Enterprise service bus part 2
 
Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1Better Enterprise Integration With the WSO2 ESB 4.5.1
Better Enterprise Integration With the WSO2 ESB 4.5.1
 
WildFly AppServer - State of the Union
WildFly AppServer - State of the UnionWildFly AppServer - State of the Union
WildFly AppServer - State of the Union
 
Riding with camel
Riding with camelRiding with camel
Riding with camel
 
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
WildFly v9 - State of the Union Session at Voxxed, Istanbul, May/9th 2015.
 
Jboss
JbossJboss
Jboss
 
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere LibertyAAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
AAI-1304 Technical Deep-Dive into IBM WebSphere Liberty
 
J2 ee architecture
J2 ee architectureJ2 ee architecture
J2 ee architecture
 
IBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of libertyIBM Impact session CICS & java a tale of liberty
IBM Impact session CICS & java a tale of liberty
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
A Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EEA Hitchhiker's Guide to Cloud Native Java EE
A Hitchhiker's Guide to Cloud Native Java EE
 
Java EE8 - by Kito Mann
Java EE8 - by Kito Mann Java EE8 - by Kito Mann
Java EE8 - by Kito Mann
 
Shyam pcf
Shyam pcfShyam pcf
Shyam pcf
 
Oracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node finalOracle application container cloud back end integration using node final
Oracle application container cloud back end integration using node final
 
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
Java EE 6 & GlassFish v3 at Vancouver JUG, Jan 26, 2010
 
Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010Powering the Next Generation Services with Java Platform - Spark IT 2010
Powering the Next Generation Services with Java Platform - Spark IT 2010
 
Travelling light for the long haul
Travelling light for the long haulTravelling light for the long haul
Travelling light for the long haul
 
Travelling Light for the Long Haul - Ian Robinson
Travelling Light for the Long Haul -  Ian RobinsonTravelling Light for the Long Haul -  Ian Robinson
Travelling Light for the Long Haul - Ian Robinson
 
Java Web Services [4/5]: Java API for XML Web Services
Java Web Services [4/5]: Java API for XML Web ServicesJava Web Services [4/5]: Java API for XML Web Services
Java Web Services [4/5]: Java API for XML Web Services
 
Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望 Java EE 與 雲端運算的展望
Java EE 與 雲端運算的展望
 

More from Return on Intelligence

Clean Code Approach
Clean Code ApproachClean Code Approach
Clean Code Approach
Return on Intelligence
 
Code Coverage
Code CoverageCode Coverage
Code Coverage
Return on Intelligence
 
Effective Communication in english
Effective Communication in englishEffective Communication in english
Effective Communication in english
Return on Intelligence
 
Anti-patterns
Anti-patternsAnti-patterns
Anti-patterns
Return on Intelligence
 
Database versioning with liquibase
Database versioning with liquibaseDatabase versioning with liquibase
Database versioning with liquibase
Return on Intelligence
 
Effective Feedback
Effective FeedbackEffective Feedback
Effective Feedback
Return on Intelligence
 
English for Negotiations 2016
English for Negotiations 2016English for Negotiations 2016
English for Negotiations 2016
Return on Intelligence
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
Return on Intelligence
 
Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!
Return on Intelligence
 
Quick Start to AngularJS
Quick Start to AngularJSQuick Start to AngularJS
Quick Start to AngularJS
Return on Intelligence
 
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.jsIntroduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
Return on Intelligence
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
Return on Intelligence
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
Return on Intelligence
 
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
Return on Intelligence
 
Apache maven 2. advanced topics
Apache maven 2. advanced topicsApache maven 2. advanced topics
Apache maven 2. advanced topics
Return on Intelligence
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
Return on Intelligence
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
Return on Intelligence
 
Testing your code
Testing your codeTesting your code
Testing your code
Return on Intelligence
 
Quality Principles
Quality PrinciplesQuality Principles
Quality Principles
Return on Intelligence
 
Cross cultural communication
Cross cultural communicationCross cultural communication
Cross cultural communication
Return on Intelligence
 

More from Return on Intelligence (20)

Clean Code Approach
Clean Code ApproachClean Code Approach
Clean Code Approach
 
Code Coverage
Code CoverageCode Coverage
Code Coverage
 
Effective Communication in english
Effective Communication in englishEffective Communication in english
Effective Communication in english
 
Anti-patterns
Anti-patternsAnti-patterns
Anti-patterns
 
Database versioning with liquibase
Database versioning with liquibaseDatabase versioning with liquibase
Database versioning with liquibase
 
Effective Feedback
Effective FeedbackEffective Feedback
Effective Feedback
 
English for Negotiations 2016
English for Negotiations 2016English for Negotiations 2016
English for Negotiations 2016
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!Unit Tests? It is Very Simple and Easy!
Unit Tests? It is Very Simple and Easy!
 
Quick Start to AngularJS
Quick Start to AngularJSQuick Start to AngularJS
Quick Start to AngularJS
 
Introduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.jsIntroduction to Backbone.js & Marionette.js
Introduction to Backbone.js & Marionette.js
 
Types of testing and their classification
Types of testing and their classificationTypes of testing and their classification
Types of testing and their classification
 
Introduction to EJB
Introduction to EJBIntroduction to EJB
Introduction to EJB
 
Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)Apache cassandra - future without boundaries (part1)
Apache cassandra - future without boundaries (part1)
 
Apache maven 2. advanced topics
Apache maven 2. advanced topicsApache maven 2. advanced topics
Apache maven 2. advanced topics
 
Apache maven 2 overview
Apache maven 2 overviewApache maven 2 overview
Apache maven 2 overview
 
Jira as a test management tool
Jira as a test management toolJira as a test management tool
Jira as a test management tool
 
Testing your code
Testing your codeTesting your code
Testing your code
 
Quality Principles
Quality PrinciplesQuality Principles
Quality Principles
 
Cross cultural communication
Cross cultural communicationCross cultural communication
Cross cultural communication
 

Recently uploaded

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
Georgi Kodinov
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
Matt Welsh
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
kalichargn70th171
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
IES VE
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 

Recently uploaded (20)

Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx2024 RoOUG Security model for the cloud.pptx
2024 RoOUG Security model for the cloud.pptx
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Large Language Models and the End of Programming
Large Language Models and the End of ProgrammingLarge Language Models and the End of Programming
Large Language Models and the End of Programming
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
A Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdfA Comprehensive Look at Generative AI in Retail App Testing.pdf
A Comprehensive Look at Generative AI in Retail App Testing.pdf
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 

Enterprise service bus part 2

  • 1. Exigen Services confidential Exigen Services confidential Composite SOA Frameworks Evgeny Epifantsev December 2009 Updated 2012
  • 2. Exigen Services confidential Trainer contacts • Evgeny Epifantsev • Developer • eepifantsev@exigenservices.com 2
  • 3. Exigen Services confidential Goals 3 ESB structure and technologies basis. ESB frameworks
  • 4. Exigen Services confidential Agenda • Service mapping (ESB) and routing (UDDI) • Component containers: SCA/JBI/OSGi • ESB overview. 4
  • 5. Exigen Services confidential Enterprise Service Bus 5 ESB Requests Responses Requests Responses Service Requester Service Provider Phone with wap - WXML/HTTP .NET - SOAP/HTTP C++ - XML/JMS SAP - BAPI WebSphere 5.1 - SOAP/JMS SAP - BAPI External partner - SOAP/HTTPS User application - RMI Database – SQL Application - XML/JMS
  • 6. Exigen Services confidential ESB capabilities 6 Routing Message transformation Message enhancement Security Transaction management Service orchestration Process choreography Message processing Mapping service Protocol transformation BPM ESB part 1 Service Design Principles and Patterns SOA security Web security
  • 8. Exigen Services confidential UDDI – service routing Client wants to call service 1 (client doesn’t know service1 endpoint ) 1. All services are registered in UDDI 2. Client call UDDI “I need service1, where is it?” 3. UDDI search that service in repository and return service1 endpoint 4. Client call service1 on endpoint was got from UDDI 2 3 4 1
  • 9. Exigen Services confidential UDDI summary Benefits:  Simplify business-to-business (B2B) interaction  Separate service from description  Allow hot switch to other service location  Providing Application Visibility at Design Time Universal Description, Discovery and Integration  UDDI provides a standards-based set of specifications for service description and discovery. Extensible Markup Language (XML) which used for WSDL for describe services  UDDI supports a highly flexible description of services with metainformation (Service Layer Agreement)  WS-SecurityPolicy
  • 10. Exigen Services confidential Service routing(Versions) 10 WSDL v1 MakeOrder (Person person) saveOrTradeOrder(Person person) WSDL 2
  • 11. Exigen Services confidential Service mapping (Person) 11 WSDL Business service definition MakeOrder (Person person) MakeOrder (Person person) saveOrTradeOrder(Person person) Java implementation service for saveOrTradeOrder(Person person) give me endpoint http://example.com/saveOrplaceOrder publish 2 3 4 5 1
  • 12. Exigen Services confidential Service mapping (Name , Address) 12 WSDL Business service definition MakeOrder (Person person) MakeOrder (Person person) saveOrTradeOrder(String name, String address) Java implementation service for saveOrTradeOrder(String name, String address) give me endpoint http://example.com/saveOrplaceOrder_v2 publish 2 3 4 5 6 getPersonAddr(Person person) 1
  • 13. Exigen Services confidential Modules List 13 protocol transformation Message processing • ActiveMQ • JBossMQ • OracleAQ • MQ Series message transformation • xslt • Smooks • Doozer • Xquery • Oakland routing • Xpath • Eip engine • Camel Transaction • XA• Email • ftp • HTTP • JTA • TCP • CXF Service choreography • jBPM• Groovy Script engine Security • Acegy • JAAS Service orchestration • BEPL
  • 15. Exigen Services confidential JBI (JSR-208) Java Business Integration (JBI) specification (Oracle)  The goal of JBI is to create a standards-based architecture for integrating middleware components to perform ESB capabilities  The JBI Specs is not concerned about how external consumers or service providers interact, but rather how internal consumers and providers interact  JBI dependent on J2SE but not J2EE  JBI defines two types of components - Service Engines (process choreography, transactions, security, message transformation, protocol transformation) - Binding components ( XML, HTTP, MQ, IIOP) 15
  • 16. Exigen Services confidential JBI 16 jbi.xml - installation descriptor define a unique component name and type along with the classpath settings that are required during installation and runtime of the component. Life Cycle
  • 17. Exigen Services confidential JBI Specification architecture 17 BC – Binding components SE – Service Engine Standard Can be open source WSDL WSDL
  • 18. Exigen Services confidential JBI Specification architecture 18 Standard Can be open source WSDL WSDL Java / Swing Java / EJB Servlet
  • 19. Exigen Services confidential JBI summary JBI advantages and the effect on commercial ESBs  Third party Custom Service Engines (SE) and Binding Components (BC) can be swapped in and out without impacting applications or services  Avoids “Vendor lock-in”  We can swap in and out integration services (i.e. capabilities) we don’t need, creating a lighter-weight solution that meets our specific needs 19
  • 21. Exigen Services confidential OSGI - Open Services Gateway Initiative 21 Foo.jar Bar.jar Runtime class space Load into JVM Foo.jar Bar.jar • No borders between jar into JVM • Can’t use many versions of one library low couplinghigh cohesion Make something one, but done it perfect How module interact with other modules
  • 22. Exigen Services confidential Architecture 22 low coupling high cohesion Bundle = JAR + modified MANIFEST.MF Name Version Dependency etc. Bundle life cycle: INSTALLED, RESOLVED, STARTING, ACTIVE,STOPPING, UNINSTALLED
  • 23. Exigen Services confidential Environment (pax runner) 23 # Javax scan-bundle:mvn:javax.resource/com.springsource.javax.resource/1.5.0@5 scan-bundle:mvn:javax.xml.ws/com.springsource.javax.xml.ws/2.1.1@5 scan-bundle:mvn:javax.xml.bind/com.springsource.javax.xml.bind/2.1.7@5 scan-bundle:mvn:javax.activation/com.springsource.javax.activation/1.1.1@5 scan-undle:mvn:javax.xml.stream/com.springsource.javax.xml.stream/1.0.1@5 scan-bundle:mvn:javax.xml.soap/com.springsource.javax.xml.soap/1.3.0@5 scan-bundle:mvn:javax.wsdl/com.springsource.javax.wsdl/1.6.1@5 scan-bundle:mvn:javax.servlet/com.springsource.javax.servlet/2.5.0@5 scan-bundle:mvn:org.aopalliance/com.springsource.org.aopalliance/1.0.0@3 scan-bundle:mvn:org.aspectj/com.springsource.org.aspectj.lib/1.5.4@3 scan-bundle:mvn:org.aspectj/com.springsource.org.aspectj.runtime/1.5.4@3 scan-bundle:mvn:com.springsource.instrumented/org.springframework.aop.instrumented/2.5.7.RELEASE@3 scan-bundle:mvn:com.springsource.instrumented/org.springframework.beans.instrumented/2.5.7.RELEASE@3 scan-bundle:mvn:com.springsource.instrumented/org.springframework.context.instrumented/2.5.7.RELEASE@3 scan-bundle:mvn:com.springsource.instrumented/org.springframework.context.support.instrumented/2.5.7.RELEASE@3 scan-bundle:mvn:com.springsource.instrumented/org.springframework.core.instrumented/2.5.7.RELEASE@3 scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.context/… scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.application… scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.context.support scan-bundle:mvn:com.springsource.instrumentation/com.springsource.management.instrumentation.springframework.beans/… scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.monitoring/2.5.7.RELEASE/@5 scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.config/2.5.7.RELEASE/@5 scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.control/2.5.7.RELEASE/@5 scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.inventory/2.5.7.RELEASE/@5 scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.discovery.domain/2.5.7.RELEASE/@5 scan-bundle:mvn:com.springsource.management/com.springsource.management.agent.discovery.resource/2.5.7.RELEASE/@5 com.springsource.instrumented.org.springframework.context.instrumented com.springsource.instrumented.org.springframework.beans.instrumented com.springsource.management.com.springsource.management.agent.monitoring com.springsource.instrumentation.com.springsource.management.instrumentation.springframework.applicationcontext
  • 24. Exigen Services confidential OSGI summary 24 • Every bundle has his own class space. All data in bundle are private • Bundle repository. Public only interfaces, not implementation • Can be many version of one bundle in one OSGI framework • Lifecycle management on the fly • Strictly naming conversion - bundle’s symbolic name - version number OSGI containers: Equinox , Apache Felix knopflerfish
  • 26. Exigen Services confidential SCA -Service Component Architecture 26 SCA - is a set of OASIS specifications which describe a model for building applications and systems using a Service-Oriented Architecture. <composite name="ExampleComposite" ...> <component name="Component1"> ... </component> <component name="Component2"> ... </component> <component name="Component3"> ... </component> </composite> Component:  Implementation: Java, C++, BEPL …  Communication configuration: SCDL .composite file (Service Component Definition Language )
  • 27. Exigen Services confidential SCA structure 27 BEA, IBM, IONA, Oracle, SAP, Siebel Systems и Sybase service Reference Domain-defined communication property Bindings Webservice or other communication ZIP
  • 28. Exigen Services confidential SCA application structure 28
  • 29. Exigen Services confidential SCA runtime 29 No specs how SCA should be implemented - Several vendors Tuscany and Fabric3 , IBM …
  • 30. Exigen Services confidential SCA vs OSGI vs JBI 30 JBI vs OSGI: SCA OSGI – Declarative dependency management. Low level integration. Mobile devices JBI – Standard messaging processing High level component integration. Container model for an Enterprise Service Bus SCA – A model on how to assemble composite applications Language-independent Policy support Separate implementation and binding. Vendor lock-in Distributed heterogeneous system.
  • 31. Exigen Services confidential Requirements 31 IBM Oracle Hardware Pentium at 2.4GHz or AMD Opteron (32-bit only) 1 GB physical memory Application Server IBM WebSphere Application Server 7.0 Oracle WebLogic Java IBM Java SDK 6.0 SR6 IDE Integration Developer Support standards JAXWS 2.1.1, JAXB 2.1.3, SAAJ 1.3 и StAX 1.0. WS-Atomic Transactions SecureFTP; Oracle BPEL PM; SOAP/HTTP и SOAP/JMS, SOAP 1.2, WSDL 1.1, SAP, Siebel, PeopleSoft, JMS, WebSphere MQ, SCA , REST, WS-BEPL WS-Addressing, WS-I Basic Profile V1.1, WS-Security, WS-Reliable Messaging 1.0, WS-Policy, UDDI v3 Data representation Service Message Object (extends SDO) XML, MFL Deployment EAR SCA, OSGI JBI, SCA, OSGI
  • 32. Exigen Services confidential Projects and technologies 32 JBI SCA OSGI Custom IBM WebSphere 7.0 + + Eclipse Swordfish project 1.0 + + + OW2 PEtALS 3.1 + + ServiceMix/Fuse 4.0 support + OpenESB/GlassFish 2.2 + Oracle ESB 11g + + + JBoss ESB 4.10 + WSO2 3.0 + Mule 3.2.0 support +