WSO2’s integration team proudly announce the release of WSO2 Enterprise Integrator 7.0 (WSO2 EI 7.0). Since our first release way back in 2007, the integration ecosystem has grown in leaps and bounds and the way we manage integration projects has come a long way. We believe it is the perfect time to shift gears.
With WSO2 EI 7.0, we have improved our product offering to provide a best-in-class, tailor-made platform for the integration ecosystem. The new release is a complete API-centric, hybrid integration platform that provides:
- A choice of architectural approaches for both centralized and decentralized (network-distributed) methods.
- A choice of integration style options for both code- and graphical configuration-based integration styles.
- An architecture optimized for cloud-native integrations, and a seamless microservices deployment approach.
WSO2 EI 7.0 addresses popular integration approaches with three tailor-made components.
- Ballerina Integrator — A revolutionary, code-driven approach for agile integration. It is based on the Ballerina language for programming network-distributed applications.
- Micro Integrator — This includes a broadly-adopted, open-source integration engine for centralized ESB style or cloud-native integration. It offers an intuitive, graphical, drag-and-drop integration flow designer and a configuration-based runtime.
- Streaming Integrator — Based on Siddhi, this is a cloud-native, lightweight streaming integrator that understands streaming SQL queries to capture, analyze, process, and act on events in real-time.
This is a brand new addition to WSO2 Enterprise Integrator. We have been working on a code-driven integration developer experience for the past three years, and finally, we are releasing Ballerina Integrator, a powerful code-based approach to integration. Now, developers can directly apply agile methodologies when programming integration projects. Ballerina Integrator is based on the Ballerina language, which was designed with integration use cases in mind.
We have built Ballerina Integrator to facilitate the following developer workflow.
- Setup - Setting up the runtime and IDE
- Develop - Development experience with supporting tools and IDE support
- Test - Testing and Continuous Integration (CI)
- Deploy - Deploying the artifacts in production
- Observe - The observability aspects of the deployed runtime in production
We aim to improve Ballerina Integrator’s features and developer experience in upcoming releases; refer to our roadmap for more details.
The following are Ballerina Integrator’s key highlights:
- Project templates for widely used integration use cases. With these, we expect to save time spent on bootstrapping a new integration project.
- VS Code-based tooling support to discover and create projects with templates.
- Connectors for well-known SaaS applications, such as Salesforce, Amazon SQS, Amazon S3, Google Sheets, and Gmail.
- Connectors for protocols, such as HTTP, File, FTP, Samba, gRPC, NATS, and Kafka.
- Improved support for enterprise integration patterns (EIPs) with tailor-made connectors and template support for tooling.
- A documentation space with guides and tutorials to help developers get up to speed in their projects rather than conventional reference documentation.
Also, users can provide feedback by raising issues in our Ballerina Integrator Github repository.
Micro integrator is an open-source, lightweight, fast, and scalable integration layer that should appeal to developers who want to perform integrations using a configuration-driven approach or with graphical development tools. Micro Integrator gives developers the best possible experience for developing, testing, and deploying integrations and tooling.
Micro Integrator’s developer experience is specially tuned for:
- Integration developers who prefer a config-driven approach.
- Users who seek a solution to make their brownfield (i.e., legacy systems) integrate with new, microservices-based solutions.
- Existing WSO2 Enterprise Integrator and integration middleware users who want to move into cloud-native or microservices architectures.
Micro Integrator also provides an enhanced experience for those using a container-based architecture; it works natively on the Kubernetes ecosystem and makes deployment with Docker a simple process.The following are Micro Integrator’s key highlights:
- A lightweight and optimized runtime based on the mature WSO2 ESB/Integrator runtime, which is battle-tested with billions of transactions across thousands of global production deployments.
- Designed for integrating microservices and cloud-native applications as well as for conventional ESB style integration; it suits any architectural style.
- Intuitive and agile integrations with a graphical drag-and-drop interface and an integration configuration language to boost developer productivity.
- Native support for Docker and Kubernetes.
- Provides an enhanced developer experience for developing, testing, and deploying integrations and tooling.
- Integrate natively with cloud-native ecosystem projects.
- Enables seamless deployments on on-premises, hybrid, and multi-cloud environments.
WSO2 Streaming Integrator is a streaming data processing server that allows you to integrate and take action on streaming data. This runtime delivers WSO2 Enterprise Integrator 7.0’s streaming integration capabilities.
Streaming Integrator has the following capabilities:
- Real-Time ETL: CDC for DBs, tailing files, scraping HTTP endpoints, etc.
- Work with streaming messaging systems: It is fully compatible with Kafka and NATS and provides advanced stream processing capabilities required to utilize the full potential of streaming data.
- Streaming data integration: Allows you to treat all data sources as streams and connect any source with any destination.
- Execute complex integrations based on streaming data: It has native support to work with WSO2 Micro integrator, so that complex integration flows can be triggered based on decisions derived via stateful stream processing logic.
It’s powered by Siddhi, a well-known cloud-native, open-source stream processing engine. Siddhi allows you to write complex stream processing logic using an intuitive SQL-like language known as SiddhiQL. You can perform the following actions on the fly using Siddhi queries and constructs.
- Transform data from one format to another (e.g., to/from XML, JSON, AVRO, etc.).
- Enrich data received from a specific source by combining it with databases, and services, via inline calculations, as well as using custom functions.
- Correlate data streams by joining multiple streams to create an aggregate stream.
- Clean data by filtering or modifying the content (e.g., obfuscating) in messages.
- Derive insights by identifying interesting patterns and sequences of events in data streams.
- Summarize data as and when it is generated using temporal windows and incremental time series aggregations.
Streaming Integrator allows you to connect any data source with any destination regardless of different protocols and data formats that are used by different endpoints. It can be easily deployed in a VM, Docker, or Kubernetes environment; the integrator has native support for Kubernetes with a Kubernetes Operator designed to provide a convenient way of deploying.
Streaming Integrator tooling provides a web-based IDE that allows you to build Siddhi applications with a drag-and-drop graphical editor, or a streaming SQL code editor, and the required features to test the apps.
Integration flows deployed in WSO2 Micro Integrator can be executed directly by Streaming Integrator with low latency RPC, which allows you to build robust data processing and integration pipelines by combining powerful stream processing and integration capabilities.