The source code tree reflects the Petals ESB architecture, and is organized as following:
- the directory 'root-parent' contains the root parent POM file used by all Petals projects, including product projects and integration test projects.
- the directory 'parent' contains the parent POM file used by all Petals product projects. All projects included in the following directories depends on this parent POM.
- the directory 'client-tools' contains Petals ESB clients stacks and is composed of following sub-projects:
- parent: The parent POM of all client tools,
- petals-admin: The Petals ESB administration API,
- petals-ant: The Petals ESB Ant's tasks,
- petals-cli: The Petals CLI (Command Line Interface),
- petals-jmx: The Petals ESB JMX API,
- parent: The parent POM of the Petals ESB JMX API,
- petals-jmx-api-api: The API of the Petals ESB JMX API
- petals-jmx-api-impl: The JMX implementation of the Petals ESB JMX API
- petals-jmx-api-mock: A mock implementation of the Petals ESB JMX API to be used in unit tests
- petals-cacti: Petals ESB client part for Cacti,
- petals-nagios: Petals ESB client part for Nagios
- the directory 'components-sls' contains all stuff about Petals ESB JBI components: CDK, shared libraries and components:
- cdk: The Petals Component Development Kit,
- components: Petals ESB components,
- petals-components-parent: Contains, among other things, the list of dependencies provided by the JBI classloader to the components.
- sls: Petals ESB shared libraries.
- the 'container' is composed of following sub-projects:
- implementations : Projects associated to the implementation of mutable internal components:
- registry: Contains different implementation of the registry:
- petals-hazelcast-registry: A implementation of the registry based on a Petals/Hazelcast overlay.
- transporter: Contains different implementation of the transporters:
- petals-transporter-local-default : Futur project. The current implementation of the local transporter (perhaps new implementations could occur, they will name 'petals-local-transporter-xxx')
- petals-transporter-remote-nio : Futur project. The current implementation of the remote transporter using NIO
- petals-transporter-remote-ws : A potential future implementation of the remote transporter using SOAP over HTTP(S) (ie: web-service)
- registry: Contains different implementation of the registry:
- extensions : Contains all internal components that can be added to a Petals ESB node to add features:
- petals-extensions-parent: Contains, among other things, the list of dependencies provided by the microkernel to the extensions.
- petals-artifact-repository: The Petals Artifact Repository,
- petals-autoloader: The Petals Autoloader,
- petals-ws-api: The Petals WS API,
- petals-boostrap-launcher: There is defined what is available in the system classloader aka JBI classloader. Also contains the code first started by the JVM.
- petals-microkernel-api: The API of petals-microkernel to implement internal components and to implement Petals extensions
- petals-microkernel: The Petals microkernel containing the internal components that can't be implemented differently and the mechanisms to load implementation of other components and extensions
- petals-container-junit: Futur project. An assembly of the petals-microkernel and selected internal component implementations to run a Petals container into a JUnit test, without Petals µKernel extension, but with default logging extensions
- petals-container-studio: Futur project. An assembly of the petals-microkernel and selected internal component implementations to run a Petals container into the Petals Studio, without Petals µKernel extension, but with default logging extensions
- petals-container-default: An assembly of the petals-microkernel and selected internal component implementations to run a Petals as usual, without Petals µKernel extension, but with default logging extensions
- petals-launcher-api: The API to create Petals launcher, to start/stop a container
- petals-launcher-junit: Futur project. The JUnit API able to launch (start and stop) a container into a JUnit test
- petals-launcher-default: The existing launcher to start Petals on command line
- petals-esb-default-zip: The current assembly of Petals ESB, as ZIP file, to install to run Petals on command line, based on petals-container-default and including also all existing Petals µKernel extensions
- petals-esb-default-deb: The current assembly of Petals ESB, as Debian package, to install to run Petals on command line, based on petals-container-default and without extension that are provided by their own package.
- petals-esb-junit: Futur project. The JUnit API overriding petals-launcher-junit to launch a pre-configured Petals ESB (only one container running with the default value on local host), based on petals-container-junit without extension.
- implementations : Projects associated to the implementation of mutable internal components: