Use Cases for Petals-BC-Gateway

This document contains all the use cases related to the Petals BC Gateway component.
Use cases are ordered by their complexity, from the most simple to the most complex ones.

Simple Use Cases

Proxy SOAP over 2 Petals ESB nodes connected using the Petals BC Gateway

This use case runs with the Petals ESB Enterprise Pack 5.4.0. Its source code is available here.

The goal of this use-case is to show you how to configure the service units of BS SOAP and BC Gateway on two Petals ESB nodes to create a SOAP proxy:

  • to import into Petals node #2, an external service,
  • to connect Petals nodes #1 and #2 with the Petals BC Gateway. The connection is secured using SSL,
  • to export to outside an internal Petals service of the Petals node #1.

About the external service provider

An external service provider 'ArticleServiceContinuation' is available as CXF webservice at http://localhost:88450/articleServiceContinuation?wsdl.

To start it, just execute the following Maven command line in its directory project:

mvn clean verify exec:java

About the deployment architecture

Our sample deployment architecture is composed of two Petals ESB (#1 and #2) connected with the Petals BC Gateway. In a Petals BC Gateway point of view, Petals ESB #1 is the consumer domain, and Petals ESB #2 is the provider domain. Each Petals ESB is based on a standalone Petals topology.

Running the use case

Deploying the consumer domain

With a first fresh installation of the Petals ESB ZIP archive exploded in directory 'consumer-domain', launch the default standalone topology:

~/consumer-domain/petals-esb-default-zip-5.2.0/bin$ ./petals-esb.sh 
     ___   ____ __   ___    __    ____   ____ ____ ___  
    / _ \ / __// /_ / _ |  / /   / __/  / __// __// _ ) 
   / ___// _/ / __// __ | / /__ _\ \   / _/ _\ \ / _  | 
  /_/   /___/ \__//_/ |_|/____//___/  /___//___//____/  

Initializing logging subsystem
 2024/02/19 11:12:26,005 GMT+0100 INFO [Petals.Launcher] : Logging system initialised
 2024/02/19 11:12:26,016 GMT+0100 INFO [Petals.Launcher] : Initializing container's classloader...
 2024/02/19 11:12:26,040 GMT+0100 INFO [Petals.Launcher] : Initializing server...
 2024/02/19 11:12:26,529 GMT+0100 INFO [Petals.Launcher] : Starting server...
sample-0 2024/02/19 11:12:26,538 GMT+0100 INFO [Petals.System.Extensions.PreExtensionsManager] : Pre-extension found but not activated: Petals Embedded Registry Overlay
sample-0 2024/02/19 11:12:26,669 GMT+0100 INFO [Petals.Communication.RMIConnector] : JMX RMI server started at : service:jmx:rmi:///jndi/rmi://localhost:7700/PetalsJMX
sample-0 2024/02/19 11:12:26,684 GMT+0100 INFO [Petals.Communication.TopologyService] : Using standalone shared area implementation for static one-container domain: org.ow2.petals.microkernel.communication.sharedarea.StandaloneSharedAreaImpl
sample-0 2024/02/19 11:12:26,709 GMT+0100 INFO [Petals.Communication.TopologyService] : Shared area loaded
sample-0 2024/02/19 11:12:26,722 GMT+0100 INFO [Petals.Extensions.AutoLoaderService] : Petals extension "Autoloader" started.
sample-0 2024/02/19 11:12:26,723 GMT+0100 INFO [Petals.System.Extensions.PostExtensionsManager] : Post-extension loaded: Petals ESB Autoloader
sample-0 2024/02/19 11:12:26,740 GMT+0100 INFO [Petals.Transporter.NioTransportProtocol.NioServerAgent] : The NIO transporter server is ready to process requests on /0.0.0.0:7800.
sample-0 2024/02/19 11:12:26,753 GMT+0100 INFO [Petals.Server] : Server STARTED

Deploying the provider domain

With a first fresh installation of the Petals ESB ZIP archive exploded in directory 'provider-domain':

  • configure ports to avoid conflicts with the ones of the consumer domain. Edit the file 'topology.xml' and update values for 'rmi-port' and 'tcp-port',
  • and, launch the default standalone topology:
~/provider-domain/petals-esb-default-zip-5.2.0/bin$ ./petals-esb.sh 
     ___   ____ __   ___    __    ____   ____ ____ ___  
    / _ \ / __// /_ / _ |  / /   / __/  / __// __// _ ) 
   / ___// _/ / __// __ | / /__ _\ \   / _/ _\ \ / _  | 
  /_/   /___/ \__//_/ |_|/____//___/  /___//___//____/  

Initializing logging subsystem
 2024/02/19 11:12:26,005 GMT+0100 INFO [Petals.Launcher] : Logging system initialised
 2024/02/19 11:12:26,016 GMT+0100 INFO [Petals.Launcher] : Initializing container's classloader...
 2024/02/19 11:12:26,040 GMT+0100 INFO [Petals.Launcher] : Initializing server...
 2024/02/19 11:12:26,529 GMT+0100 INFO [Petals.Launcher] : Starting server...
sample-0 2024/02/19 11:12:26,538 GMT+0100 INFO [Petals.System.Extensions.PreExtensionsManager] : Pre-extension found but not activated: Petals Embedded Registry Overlay
sample-0 2024/02/19 11:12:26,669 GMT+0100 INFO [Petals.Communication.RMIConnector] : JMX RMI server started at : service:jmx:rmi:///jndi/rmi://localhost:7710/PetalsJMX
sample-0 2024/02/19 11:12:26,684 GMT+0100 INFO [Petals.Communication.TopologyService] : Using standalone shared area implementation for static one-container domain: org.ow2.petals.microkernel.communication.sharedarea.StandaloneSharedAreaImpl
sample-0 2024/02/19 11:12:26,709 GMT+0100 INFO [Petals.Communication.TopologyService] : Shared area loaded
sample-0 2024/02/19 11:12:26,722 GMT+0100 INFO [Petals.Extensions.AutoLoaderService] : Petals extension "Autoloader" started.
sample-0 2024/02/19 11:12:26,723 GMT+0100 INFO [Petals.System.Extensions.PostExtensionsManager] : Post-extension loaded: Petals ESB Autoloader
sample-0 2024/02/19 11:12:26,740 GMT+0100 INFO [Petals.Transporter.NioTransportProtocol.NioServerAgent] : The NIO transporter server is ready to process requests on /0.0.0.0:7810.
sample-0 2024/02/19 11:12:26,753 GMT+0100 INFO [Petals.Server] : Server STARTED

Complex Use Cases

These use cases involve several Petals components including the Petals BC Gateway component.

No content found for label(s) uc-gateway.
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.