Course intended for:

The training is intended for Java programmers, system analysts and architects wanting to get familiar with the techniques of development of an ESB (Enterprise Service Bus).

Course objective:

The training objectives include:

  • Getting the participants familiar with the basic terms and standards, associated with system integration and ESB bus,

  • Presentation of good and bad practices of integration and the tools, available on the market,

  • Getting familiar with integration patterns and methods of implementation of these patterns on the ESB,

  • Acquiring of practical skills, associated with the Mule ESB product.

The training is provided in several variants –for programmers, for system analysts, architects. Depending on the training group, main emphasis is placed on theoretical or practical issues and implementation of integration solutions.


The participants are required to have at least basic Java programming skills, to be familiar – at least on the basic level – with WebService and with the XML processing technology. Knowledge of basics of Java EE is also recommended.

Course parameters:

3*8 hours (3*7 net hours) of lectures and workshops (with a visible emphasis on workshops). During the workshop, examples that illustrate realization of the most popular integration patterns using Mule ESB are implemented.

Group size: no more than 8-10 participants.

Course curriculum

  1. The basics of integration of enterprise applications

    • Presentation of basic concepts and terms, associated with broadly understood integration: : silos, SOA, EIP, MEP, EAI, ESB, service bus, data bus, ETL, EDA, CMD, MOM, integration adapter and broker, orchestration, synchronous/ asynchronous/offline integration, JBI, SCA, WS-* etc.

    • Presentation of differences between the service bus, integration platform, integration broker, queue server etc.

    • Pros and cos of implementation of an integration platform, the objective of such integration at a corporation, migration of existing systems to the "service bus"

  2. Discussing of characteristics and functionalities provided by the ESB platform

    • Location transparency

    • Conversion of transport protocols

    • Message transformation

    • Message routing

    • Message enhancement

    • Service bus protection

    • Monitoring and management

    • Performance

    • Interoperability

    • Standardization

  3. Review and comparison of tools and technologies available on the market

    • Commercial and non-commercial

    • Based on Java EE, .NET, other

    • Mature and developing

    • More and less popular

    • According to other criteria

  4. Discussion of the Oracle Service Bus (OSB) platform

    • Concepts and basic terminology for OSB

      • Proxy service

      • Business service

      • Message flow (transport layer, binding layer, processing layer)

      • Request pipeline, Response pipeline, Error pipeline

      • Endpoints, Nodes, Actions, Stages

      • Message, Message Context

    • The Architecture of Oracle SOA Suite and the place of the OSB bus in the reference SOA module according to Oracle. Discussing of integration of ESB with other oracle components: BPM, BPEL, BAM, ODI, ODSI, Enterprise Repository, SOA Suite

    • Testing of services using the Oracle Service Bus Console

      • Generating of text messages

      • Verification of service responses

      • Tracing of messages via message flow

    • Monitoring, administration and configuration of services via OSB Web Console

    • The quality of performance of services by OSB platform (implementation mechanisms: high accessibility, resistance to failures, load balancing, persistency, transactionability and security)

    • Similarities and differences in relation to other ESB platforms, including commercial and open source software

    • Programming environment - Oracle JDeveloper, OSB Web Console

  5. The most frequently used integration patterns (EIP – Enterprise Integration Patterns) and their implementation using the OSB platform

    • Channel

    • Message

    • Service

    • Filter

    • Router

    • Transformer

    • Endpoint

    • Discussing of other popular patterns

  6. Working with message management

    • Message structure

    • Message types and formats

    • Transformation and conversion of messages

    • Validation of messages

    • Persistence of messages

  7. Working with services

    • Structure of service

    • Service types

    • Service contract

    • Service configuration

  8. Arrangement of services and routing of messages on the bus

    • Service registers and repositories

    • Routing on the ESB

    • CBR - Content Based Routing

    • Notifications

  9. Service performance quality

    • Service replication

    • Service level and transport protocol clustering

    • Repeating of messages

    • Service monitoring and management

    • Implementation of changes (hot deployment)

    • Other

  10. Securing of services

    • Secure services on OSB

    • Authentication and authorization

    • Data encoding on the bus

  11. Management of errors and exceptions

    • Repeating

    • Compensation

    • Withdrawal

    • Transaction processing

  12. Performance

    • Tuning of service parameters (transport protocol, number of threads etc.)

    • Cache

    • Launching environment parameter adjustment (Java, application server, queue server, database etc.)

  13. Testing services on the ESB

    • Methods and tools supporting service testing (automation)
  14. Advanced services on ESB

    • The difference between integration flow, orchestration of services (BPEL) and a business process (BPM)

    • Support for business processes (BPM) and orchestration of services (BPEL)

    • Support for business principles (BRMS)

    • Support for event stream processing (CEP)

  15. Review of the most popular integration adapters

  16. Good and bad practices in building of integration solutions based on ESB

    • Frequently encountered practices

    • Recommended project patterns and anti-patterns to be avoided

    • Recommended communication protocols

Any questions?

* Required.

Phone +48 22 2035600
Fax +48 22 2035601