New features in Assemble M3
Flow
- Groovy scripting support for accessing XML DOM node with namespace awareness (sample expression).
- Groovy scripting support for updating XML DOM tree: The user can use the <assign> activity to update the XML DOM node easily
Tooling
- Vertical Encapsulation: The user can aggregate certain activities into one logical task. It enable the the top-down and iterative approach to build the assemble flow, and improve the understandability of flow and user experience.
- User experience improvement of palette: The user can find activity with search-centric approach, and he/she can easily add custom categories to organize the activities on palette.
- Adding annotation on link: The user can attach the annotation for certain link to improve the understandability of flow.
- Undo/Redo support
Integration Fabric
Connection API moved to zero.core
The
Connection API has renamed
zero.core.connection.Connection and moved to
zero.core, making it available to all applications. Developers migrating an application using
zero.assemble.core.Connection from M2 to M3 should consider the following:
- The
zero.assemble.core dependency is no longer necessary for all applications using the Connection API. It is only necessary if you are using one of the supplied mediation steps, such as REST2SOAP.
- The
/config/assemble/transports/* configuration keys must be updated to /config/connection/transports/*.
Enhanced outbound HTTP support
The default HTTP protocol support used by the
Connection API has a number of enhancements:
- Support for
https: with server certificate authentication.
- Support for
http: via a proxies.
- HTTP status codes returned directly to the application.
- Configurable read/write timeouts.
Developers migrating an application using the Connection API to send requests over HTTP from M2 to M3 should ensure that the application examines the response status code (using
getResponseStatusCode() ) to confirm that the response is valid. For example, a 500 status code would have resulted in M2 throwing an
Exception and the application would have been unable to examine the response. In M3, the
Exception is not thrown allowing the application to examine the response status code, headers and body, as required.
Protocol Transport SPI
The new
Transport SPI allows a developer to extend the range of protocols supported by the
Connection API.