This release aims at addressing the long-awaited JDK 11 compatibility which enables enterprises to migrate their middleware solutions to the LTS JDK version. In addition, this release features new productivity improvements including built-in test framework with comprehensive tooling support from Integration Studio and support for cloud-native integration requirements.
This WSO2 Enterprise Integrator release brings new product components and features specifically targeted to help developers build and deploy container-native integration solutions easily.
Watch the webinar on-demand here: https://wso2.com/library/webinars/2020/01/whats-new-in-wso2-enterprise-integrator-december-2019-release/
3. WSO2 Enterprise Integrator
Proprietary and
Legacy Systems
Cloud Services/
Web APIs
On-Premises
Applications and
Services
Data File Systems
ENTERPRISE INTEGRATOR
Data Integration Enterprise Service Bus
Messaging Business Processes Integration Analytics Tooling
4. WSO2 Enterprise Integrator Profiles
• Integrator profile - Service and data integration
• Business Process profile - Long running processes and
workflows with human interactions
• Message Broker profile - Standard compliant, portable,
interoperable message broker
• Analytics profile- Analyze data flowing through WSO2
Enterprise Integrator
5. Service Integration - Integrator Runtime
A lightweight, high performance service bus
• Comprehensive REST, SOAP, and WS-* support
• SAP, FIX, and HL7 - Domain specific solutions
• Configuration driven
• Extensible and scalable
• 100% coverage of all EIPs
6. Data Integration - Integrator Runtime
Building service abstractions on top of disparate data sources
SQL
SOAP/REST/OData
XML/JSON
7. Business Processes - BPS Runtime
• Define and execute business processes - WS-BPEL 2.0,
BPEL4WS 1.1, BPMN 2.0, long running stateful processes
• Define workflows interacting with people - BPMN user tasks,
WS-HumanTask 1.1, BPEL4People 1.1
• Graphical process modeling
8. WSO2 EI Tooling
• Provides graphical and source view
editing of integration artifacts
• Eclipse-based
• Packaging / archiving artifacts for
deployment
• Debugging support on mediation flows
• Provide editor support for BPS, DSS,
registry, etc. artifacts.
• Sample templates
• Unit Test suite for synapse artifacts
10. ● JDK 11 compatibility
● Unit testing framework for synapse artifacts
● Swagger UI Feature and tryit tool for APIs
● CORS support for APIs
● JSON Transform mediator
● Comprehensive container-native feature support
● BPMN Read Task
● Jaeger tracing support
New Features
11. ● This release aims at addressing JDK 11 compatibility, enabling
enterprises to migrate their middleware solutions to the LTS JDK
version.
● The integration runtime is now fully compatible to run with JDK 11
and the installers are shipped with Adopt OpenJDK 11
JDK 11 Compatibility
12. Now you can test your integration artifacts using the unit test suite
embedded to the synapse runtime.
By using this feature, users will be able to create new unit test suites for
the following ESB artifacts:
● REST APIs
● Proxy Services
● Sequences
Unit Testing Framework for Synapse Artifacts
13. ● Common issues with existing architecture related to JSON
○ We might need auto-primitive to be enabled for a single artifact
○ We might need auto-primitive detection for selected keys
● Native JSON Support
○ Aggregate mediator
○ Enrich mediator
○ For each mediator
○ Iterate mediator
● Why JSON Transform Mediator
Doc: https://docs.wso2.com/display/EI660/JSON+Transform+Mediator
JSON Transform Mediator
14. ● Transform according to given Schema
● Transform According to given Properties
JSON Transform Mediator
17. ● Transform according to given Schema and
● Transform According to given Properties
JSON Transform Mediator Use Case 3
18. ● Environment variable support for all environment-dependent
parameters of synapse configurations
● Environment variable support for property mediator
● Environment variable support for server configuration files
● Docker secret support for secure-vault
Comprehensive Container-native Feature
Support
19. ● Issues we are facing when deploying synapse artifacts in different
environments
● Configuring the synapse artifacts
○ Define your synapse artifacts using
"$SYSTEM:<parameter_key>" as the parameter value
Doc : https://docs.wso2.com/display/EI660/Injecting+Parameters+as+Environment+Variables
Injecting Parameters as Environment Variables
26. <api context="/stock" name="Stock" xmlns="http://ws.apache.org/ns/synapse">
<resource methods="POST" url-mapping="/search">
<inSequence>
<log level="custom">
<property name="ENVIRONMENT_MESSAGE" expression="get-property('env','variable')"/>
</log>
<respond/>
</inSequence>
</resource>
</api>
Environment Variable Support for Property
Mediator
● Environment: This scope is used to retrieve environment properties
27. ● axis2.xml
● carbon.xml
● master-datasource.xml (files in datasource directory)
● user-mgt.xml
<HostName>${system_server_hostname}</HostName>
Environment Variable Support for Server
Configuration Files
<HostName>${system_server_hostname}</HostName>
Precedence Is Environment variable, System property, Hard coded value
28. ● Ability to read secrets (encrypted or plain text) from a files or docker
secrets in container based deployments
Docker Secret Support for Secure-vault
wso2:vault-lookup('<alias>', '<type>', '<isEncripted>')
● alias - name of the flat file / docker secret
● type - type of the secret source [ file (file in the file system), docker (docker
secrets)]
● isEncripted - whether the secret is encrypted or in plain text. If "true"
wso2:vault-lookup will return decrypted password. Otherwise return without
decrypting
29. Users can now configure CORS for APIs exposed in the EI server.
● Following configuration can be used In the synapse.properties file
(stored in the <EI_HOME>/conf/ directory) to enable CORS.
CORS Support for APIs
30. Read Task is introduced to allow users to read followings within the BPMN
workflow.
● Registry resources
● Environment variables
● Java System Variables
BPMN Read Task
31. BPMN Read Task Sample
Resource (mandatory) resource name
Origin (mandatory) origin / source type. Supported
sources : REGISTRY,
ENVIRONMENT ,SYSTEM
Target (mandatory) target variable name that should
be populated with the content
read by this task
Type (optional) type of the variable name.
Supported types: string, integer,
boolean, json, xml
32. ● Jaeger is a well-known CNCF graduated implementation, based on
the OpenTracing standard
● The tracing aspect of Synapse Observability is now offered with
Jaeger Tracing
Jaeger Tracing Support
Doc : https://docs.wso2.com/display/EI660/Using+Jaeger