changes.
| | {toc} |
| | |
| | h2. Downloads |
| | |
| | ||File||Content|| |
| | |[ipf-1.7-m1-bin.zip|http://gforge.openehealth.org/gf/download/frsrelease/107/552/ipf-1.7-m1-bin.zip]|* IPF binaries |
| | * IPF dependencies |
| | * IPF reference manual |
| | * IPF javadocs| |
| | |[ipf-1.7-m1-bin-nodeps.zip|http://gforge.openehealth.org/gf/download/frsrelease/107/553/ipf-1.7-m1-bin-nodeps.zip]|* IPF binaries |
| | * IPF reference manual |
| | * IPF javadocs| |
| | |[ipf-1.7-m1-src.zip|http://gforge.openehealth.org/gf/download/frsrelease/107/554/ipf-1.7-m1-src.zip]|* IPF sources| |
| | |
| | h2. Release notes |
| | |
| | h3. Changes since 1.6.0 |
| | |
| | Here's an excerpt of the most important changes since IPF version 1.6.0 |
| | |
| | ||Category||Changes|| |
| | |New features|* [IHE support] |
| | * [CDA support] |
| | * DSL and tools for [measuring performance|Performance measurement] of IPF applications| |
| | |Other| * See also [upgrade notes|#Upgrade notes]| |
| | |
| | h3. Feature overview |
| | |
| | Here's a brief overview of the IPF 1.7-m1 features. |
| | |
| | || Feature || Description || |
| | |[Apache Camel|http://camel.apache.org]|IPF is based on Apache Camel. For an overview of Camel's rich feature set (which can be fully used in IPF applications) refer to the project's [integration patterns|http://camel.apache.org/enterprise-integration-patterns.html] and [integration components|http://camel.apache.org/components.html] pages.| |
| | | [Groovy scripting layer|IPF Scripting Layer] | With IPF you define [integration routes|http://activemq.apache.org/camel/routes.html] with the [Groovy|http://groovy.codehaus.org] 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|IPF Scripting Layer#Predefined DSL extensions] 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 extensions to the Camel DSL. | |
| | | [DSL extension mechanism|IPF Scripting Layer#DSL extension mechanism] | The DSL extension mechanism is a Groovy meta-programming-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). | |
| | | [DSL extension index|IPF extensions index] | An index of all [predefined DSL extensions|IPF Scripting Layer#Predefined DSL extensions] provided by IPF. | |
| | | [Core features] | These are domain-neutral message processors and DSL extensions usable for general-purpose message processing. The core features also enhance existing Camel DSL elements for usage with Groovy-specific language elements such as [closures|http://groovy.codehaus.org/Closures]. For [XML message processing|Core features#DSL extensions for Groovy XML processing] there is special Groovy XML support. | |
| | | [HL7 message processing|HL7 processing] | Basis for HL7 message processing is the [HL7 DSL|HAPI DSL], the [HAPI extensions] and the [HL7 validation DSL|HL7 validation]. These provides the basis for implementing [HL7 message processing routes|HL7 processing#DSL extensions]. | |
| | | [Large message support|Large binary support] | Provides memory efficient processing of messages with large content sizes. | |
| | | [IHE support]| A set of components for creating actor interfaces as specified in IHE profiles. This release provides components for XDS.a, XDS.b and the audit-part of ATNA. | |
| | | [CDA support]| A domain-specific language for building CDA documents. This DSL supports the creation of structurally correct CDA documents by enforcing CDA-relevant schema definitions but without dealing with low-level XML details.| |
| | | [Flow management] | A platform service to monitor, query, audit and replay message flows. The management interfaces are based on JMX. | |
| | | [Platform manager] | An Eclipse RCP-based front end to the [flow manager|Flow management]. The platform manager also provides a generic JMX client. | |
| | | [OSGi support] | Enables the deployment of IPF components (bundles) to OSGi platforms. IPF [service bundles|OSGi support#Service bundles] register platform services at the OSGi service registry for consumption by IPF applications. [Extender bundles|OSGi support#Extender bundles] control the activation of DSL extensions inside an OSGi environment. A reference implementation of IPF on top of Eclipse Equinox is available as [IPF runtime|OSGi support#Downloads]. | |
| | | | [Event infrastructure] | An infrastructure for unified publishing of system-events and application-events. Subscriber components can be configured to translate application events to e.g. Atom/RSS feeds, log files or IHE ATNA-compliant log servers. | |
| | | | [Event infrastructure] | An infrastructure for unified publishing of system-events and application-events. Subscriber components can be configured to translate application events to e.g. Atom/RSS feeds or log files to mention a few. | |
| | | [Performance measurement] | DSL and tools to determine the performance characteristics of IPF applications. These allow for measuring the processing time of messages for routes or route parts as well as the message throughput. Performance measurement results can be viewed with a web browser.| |
| | | [Quality of service] | IPF provides extensions, guidance and solution blueprints (code examples) for implementing non-functional requirements. Covered topics are [transactional messaging|Quality of Service#Transactional messaging], [flow management|Flow management], load-balaning and high-availability. | |
| | | [Module adapters|Core features#Module adapters] | An infrastructure for including platform-independent message processing libraries into platform-specific message processing routes. An alternative is Camel's [bean integration|http://activemq.apache.org/camel/bean-integration.html] mechanism. | |
| | | [Tutorials|IPF Tutorials] | A bunch of tutorials that help you get started with IPF. | |
| | | [Guidelines|IPF guidelines] | Guidelines for IPF application development. For example, the [DSL extensions guide|IPF Guidelines#DSL extensions guide] describes how to write you own DSL extensions.| |
| | | [Project templates|IPF Development#Archetypes] | Maven archetypes for most commonly used IPF project types, ranging from simple embedded integration solutions to cluster configurations supporting high-availability scenarios. Usage examples of IPF features are provided as well. | |
| | |
| | h3. Upgrade notes |
| | |
| | * See also [1.6.0 upgrade notes|IPF 1.6.0#Upgrade notes] |
| | * From version 1.7 onwards flow management aspects are weaved at runtime instead of compile time. If you're using multcasts and splitters in your routes you should read the [this addition|Flow management#load-time-weaving] to the flow management documentation. |
| | * For transporting HL7 messages over MLLP you should use the [camel-hl7|http://camel.apache.org/hl7.html] component. Although the current Camel version used by IPF is 1.6.0 it is required to use camel-hl7 version 1.6.1 if you want to transport HL7 messages larger than 1k. See also [this post|http://n2.nabble.com/Getting-BufferDataException-using-Apache-Mina-and-HL7-Message-tt3053383.html#a3055156]. |
| | * The [validate|Core features#Validator] DSL was changed to throw an exception (type is validator implementation-specific) instead of returning a fault message. Routes should handle this exception directly instead of a fault message. |
| | |
| | h3. Known issues |
| | |
| | * IPF 1.7-m1 uses Spring 2.5.6 (included via Camel 1.6.0). This version has a [major bug in the spring-jms component|http://jira.springframework.org/browse/SPR-5470] that affects routes that use the Camel JMS component. This bug may cause IPF applications to hang in shutdown phases. So far, we didn't observe any issues during normal operations of JMS-based routes. |
| | |
| | h3. 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. |
| | |
| | h2. Documentation |
| | |
| | h3. Getting started |
| | |
| | * [Introduction|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/IPF%20Introduction.html] |
| | * [Building|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/IPF%20Development.html] |
| | * [Tutorials|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/IPF%20Tutorials.html] |
| | |
| | h3. Reference manual |
| | |
| | * [Exported HTML|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/IPF%20reference%20-%20single.html] (single-page version) |
| | * [Exported HTML|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/IPF%20reference%20-%20multi.html] (multi-page version) |
| | * [Exported PDF|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1.pdf] |
| | |
| | h3. Tutorials |
| | |
| | * [First steps|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/First%20steps%20tutorial.html] (for developers with limited Camel and Groovy know-how) |
| | * [First details|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/First%20details%20tutorial.html] (for developers with advanced Camel and Groovy know-how) |
| | * [HL7 processing|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/HL7%20processing%20tutorial.html] |
| | * [LBS tutorial|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/Tutorial%20for%20Routing%20to%20a%20Webservice%20via%20HTTP.html] |
| | * [OSGi tutorial|http://repo.openehealth.org/sites/ipf/manuals/ipf-1.7-m1/OSGi%20tutorial.html] |
| | |
| | h3. Reports |
| | |
| | * [Overview|http://repo.openehealth.org/sites/ipf/reports/ipf-1.7-m1/] |
| | * [Javadocs|http://repo.openehealth.org/sites/ipf/reports/ipf-1.7-m1/apidocs] |