The source code tree reflects the Petals ESB architecture, and is organized as following:
- the 'container' is composed of following sub-projects:
- 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)
- 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.