Thought and ideas on using Hybrid Cloud, SaaS, IoT and integration middleware technologies to connect devices, people and systems, making this place a better place to live...

Sunday, February 12, 2017

Why a developer does not need to learn a new programming language or an API to work with RoboMQ?

There has been a huge amount of research in the last decade indicating that learning a second language is beneficial to a child’s cognitive growth and his or her future potential. Research has indicated that children who speak multiple languages have better attention spans, advanced grammatical skills in their first language, greater professional success later in life, and an overall faster development. In more recent years, a preference has arisen against learning new language and rather be able to do what you want using any language that you already know. However, this trend is not among the bilingual elementary schoolers, but instead among the trained programmers.

For years, it has been the norm for a programmer to teach him or herself a new programming language or a new protocol in order to develop a specific project involving new needs or a new technology. And the reality of our industry is that such situations are more frequent than we think. We live in an industry where the pace of change is much faster.

There are a lot of businesses out in the tech world that use specific protocols and programming languages for their businesses. In order to work alongside them, a developer would have to take the time and effort to learn a new programming language or an API (Application Programming Interface) in order to provide specific services. This process could be tedious and would generally slow down the developer productivity. This also has a cost for the organization. The organization has to hire a pool of developers with specific skill set in terms of the programming language and data protocols or the APIs for its specific initiatives.

However, there is now a solution to this inconvenience. RoboMQ is a protocol and programming language agnostic middleware, which means it can do the protocol or the API translation for you!

RoboMQ is an integration middleware and microservices development platform that support all available protocols and APIs out of the box. The microservices are independent and atomic containers which implement the business logic and are developed by the programmers. These microservices are chained together in a workflow by Message Oriented Middleware (MOM) provided by RoboMQ. The Microservices acts like workers specializing in a task picking the job from the input queue and dropping the processed output in the output queue. Since the interaction of the microservices to the rest of the world is via the message queues, they can be programmed in any language of your choice.

Fig 1:Microservices written in any programming language work together in a workflow chained by protocol agnostic message oriented middleware

RoboMQ was was built for the future, which is already here, where there is huge diversity of the data interchange protocols and APIs. In this world, the applications co-exist following different protocols or APIs and are still able to exchange information and work together. To support this model, RoboMQ does not have an API of its own. It can accept any of the industry standard protocols or the APIs and provides protocol converters and translators at the core to perform the translations among them.

RoboMQ is versatile and developer-friendly: we aim to create a positive experience in which developers do not have to learn new protocols or languages and spend a lot of time and energy making themselves up to speed to use our product and services. They can be productive from the get-go using the skills they already have to integrate systems or build business workflows using microservices.