Image for post
Image for post
[Source: https://media.istockphoto.com/vectors/happy-cartoon-kids-trying-to-assemble-puzzle-vector-id1031272100]

In today’s IT era creating applications for business problems are very common. For example, if a supermarket is finding difficulties in managing its business-related transactions, they can reach-out for an application that will cater to all their business requirements. When talking about business requirements, managing stock details, customer info, supplier details, accounts, employee details including attendance and payroll will fall under business requirements. But wait, is that all that the supermarket really needs?

  • What if they already have a small scale application that handles stock details and wants to integrate it with the system that they are going to create newly?
  • What if they want to follow some security mechanisms to protect their highly confidential details?
  • What if they want to expose some of their product details to the end customers in order to engage more customers to their business and expand their circle?

Wait, I started off with some business requirements in a supermarket domain. But from where did I get all these geeky terms “integration”, “security”, “expose details outside the business”???? These are not business problems??

Yes, these are not business problems. But applications that cater only the business problems do not sustain in the competitive market. In today’s situation, an application is indeed positioned in a place where it has to consider solutions for both business and technical problems. Practically speaking coming up with solutions for both business and technical problems is not an easy task for a company or business to concentrate. Therefore, businesses decided to outsource technical solutions from the players in that field.

WWW: Warm Welcome WSO2!

WSO2 is such a player in the middleware(software that acts as a bridge between the operating systems and applications) domain, providing technical solutions for technical problems. Most importantly, all their products are 100% open source, that anyone can use their products for free of charge and the source code of those products are publicly available. These are some of the main reasons for WSO2 products to be used on a wide range by all types of businesses despite their business scale.

Most of the businesses might already have their own applications/solutions for their business requirements. The real challenge arises when it comes to integrating these legacy systems with other applications. This type of integration is known as “Brownfield Integration”. WSO2 products provide a variety of methods to integrate various applications and make them communicate with each other.

So what does WSO2 provide?

Assume that there is an old man who doesn’t comply with the current trends. He has a young grandson who is just 8 years old. Both of them will have various differences in terms of knowledge, language literacy, and perspectives. We can clearly see a huge gap between these two individuals. So who can build this gap and make these two people talk to each other?

“A person who can get both their inputs and make necessary alterations to those inputs in a way which both of them could understand the content and convey the messages to the respective parties. This person could probably be the old man’s son; the young kid’s father”.

This is what WSO2 products are doing… Bridging the gap between the applications from different tech stack, architectures, domains, etc.

There’s a wide range of products offered by WSO2 covering different aspects of the non-functional requirements such as integrity, scalability, modularity, security, etc.

The main products from WSO2 are,

  1. WSO2 Enterprise Integrator - WSO2 EI (Also known as WSO2 ESB earlier)
  2. WSO2 API Manager - WSO2 APIM
  3. WSO2 Identity & Access Management - WSO2 IAM
  4. WSO2 Analytics & Stream Processor

What are they? & Why are they?

Let’s take a look at each of those products individually to get a better understanding of them.

WSO2 Enterprise Integrator — WSO2 EI

EI is one of the most important and core products of WSO2 product series. The prime goal of WSO2 is integration, and that is achieved through the EI product. The integration could be service integration, data integration, business processors and messaging. EI is a collection of several other components, such as,

  • Data Integration
  • Enterprise Service Bus - ESB
  • Integration Designer
  • Message Broker
  • WorkFlows/ Business Process Modeling (BPM)

Out of the aforementioned components, ESB plays a huge role. Until version 5.0.0 there’s nothing called WSO2 EI. From version 6.0.0 only, the WSO2 ESB was known as WSO2 EI where the ESB along with some other components together addressed as WSO2 EI. If an application needs to communicate with another, it simply communicates with ESB and ESB will act as the communication bus between the applications. This makes the applications decouple from one another.

All the WSO2 products are built on top of WSO2 Carbon platform. This platform is developed based on the OSGi framework that provides modularity for SOA via componentization. On top of the Carbon platform, the ESB was built based on the Apache Synapse and Apache Axis2. The components in EI are all in the pluggable state. Therefore, depending on the requirements it is easy to add or remove components to the architecture.

WSO2 API Manager — WSO2 APIM

In order to expose a system through APIs, designing, creating, deploying and managing APIs require very special concern. WSO2 API Manager provides a mean to perform the above-mentioned tasks. In a nutshell, APIM supports the full lifecycle management of the APIs. APIM has several other components in it. They are,

  • Analytics
  • Designer/Studio
  • Key Manager
  • Gateway/Microgateway
  • Publisher
  • Storefront/Marketplace
  • Traffic Manager

Once the solution has the APIM into it, then managing the request/response traffic, securing the transactions, creating the API and publishing it for consumption, need proper constructed ways. For example,

  • Directing the client’s request to the corresponding service/destination - API Gateway
  • Regulating API traffic - Traffic Manager
  • Publish the API for consumption - Publisher

As you can see each of the components in the APIM handles a dedicated task for themselves. Therefore, based on the requirements the components can be easily plug-in and plug-out.

WSO2 Identity & Access Management — WSO2 IAM

Security has become a huge threat in almost all the applications these days. Identifying and understanding those security threats itself is a huge challenge, and on top of that to resolve the said issue and secure our applications with another layer of security is like a nightmare.

Imagine if there is a security breach in an enterprise level solution…BOOM!!!

Considering the importance and impact of security mechanisms in an application, WSO2 has come up with a separate product called WSO2 IS. IS is an open source IAM product. This mainly handles access management, federated identity, authentication and authorization for security integrations.

When communicating with different applications, there is a high chance of our system to be affected by security vulnerabilities. In order to safeguard our system from such security vulnerabilities and to provide a secured user experience to the end-users, we can integrate WSO2 IS into our solution. Interestingly, security measures are not only incorporated in IS but also in APIM. The Key Manager component in APIM takes care of the clients, security, and access token related operations. These mainly are to validate the requests, senders and the payload and eliminate malicious requests entering into the system.

WSO2 Analytics & Stream Processor - WSO2 SP

Due to the rapid growth of technologies, the amount of data generation has evolved big time. Many of the businesses need to process and analyze these data then and there to make crucial decisions. As a result, real-time data streaming analytics and integration have taken the spotlight. Having this in mind, WSO2 came up with their product WSO2 SP to handle real-time data processing, streaming, and analytics. SP is an open source, cloud-native, and lightweight stream processing platform.

The product has the following components in it,

  • Siddhi
  • Stream Processor Runtime
  • Dashboard Portal
  • Development Environment
  • Business Rules Management

Summary

So folks, let me wrap up the things I have covered in the blog so far. Initially, I started off with the rapid growth of the businesses these days and the necessity for them to approach integration solutions. Next, I discussed how WSO2 has captured its market through open source software. Furthermore, I touched upon the important and widely used WSO2 products and some briefing of them. This article is just an introduction for those who are new to WSO2 products and those who are seeking for an overall idea about the products. For more information please visit https://wso2.com/platform. Let’s check out on some more interesting techie topics in the upcoming blogs…

Happy Integration!!!

Written by

Inquisitive

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store