IPF currently provides the following extensions to Apache Camel.
Feature
Description
Groovy scripting layer
With IPF you may define integration routes with the Groovy dynamic programming language. It is more than a mere usage of Camel's domain-specific language (internal DSL or fluent API) inside Groovy: Camel's native DSL has been extended to support e.g. the usage of closures (for inline definitions of message processors, routing rules ...) and also provides a DSL extension mechanism to define custom extension to the Camel DSL.
DSL extension mechanism
The DSL extension mechanism is a Groovy-based mechanism for defining new DSL elements to be used in integration routes. This is especially useful if you want to provide custom language elements for re-occurring message processing patterns or if you want to design a project-specific message processing DSL (e.g. one that is related to the HL7 domain).
HL7 message processing DSL
This is a Groovy-based DSL for HL7 message access and modification. It provides the basis for implementing HL7 message processing routes on a healthcare domain-specific language level.
Flow management
A platform service to monitor, replay, query and audit message flows. The management interfaces are based on JMX, an Eclipse RCP-based flow management client for better user experience is provided as well.
Quality of service
IPF provides extensions, guidance and solution blueprints (code examples) for, failure recovery, transactional messaging (system-level transaction management), flow management (application-level transaction management) and clustering (load-balaning and high-availability).
Custom integration components
Custom message processing and integration components that enhance or complement existing Camel features like message stream processing, enhanced content enrichment or Groovy XML processing capabilities, to mention a few.
Project templates
Maven archetypes for most commonly used IPF project types. In the current release a single archetype for creating standalone and embedded integration solutions is provided.
The ipf-archetype-basic-1.5.0 creates projects with a pom.xml file with an ipf-version property value of 1.5-SNAPSHOT. This should be manually changed to 1.5.0 after project creation.
The integration platform manager (IPM) for Linux which is part of the IPF binary distribution was created from a development snapshot and not from the official 1.5.0 release.
Further notes
Javadocs for Groovy sources have been generated from Java 'stubs' which have been derived from the Groovy sources via the gmaven-plugin.
Source cross-references also include Java 'stubs' which have been derived from the Groovy sources. These sources do not represent the logic implemented in the Groovy source files.
Source jars deployed to the Open eHealth Maven repository also include Java 'stubs' which have been derived from the Groovy sources. These sources do not represent the logic implemented in the Groovy source files.