Some principles are emerging for what one might call service-oriented programming languages. The principles are general, so they can help when thinking about code even when operating outside of these languages.

A little demo of the code shown in this article can be seen in this video:

The rise of cloud computing has thrown many developers into the world of developing software that consists of services: components that can be executed independently and then be composed by means of message passing.

Microservices continue this practice by making each service “small”, in the sense that it is organized around business capabilities, and potentially developed by an independent team.

Developing (micro)service-oriented systems poses a challenge that motivated substantial efforts in the identification and dissemination of useful tools and design patterns, some new and some well-known. At the latest Microservices Conference (that’s Microservices 2020 at the time of this writing), the people behind the programming languages Jolie and Ballerina teamed up to tell a story that takes this even further: some principles are so important for service-oriented programming that programming languages should consider supporting them natively.

—The banner of the conference Microservices 2020, which was held online due to the COVID situation.

In this article, I attempt at summarising some of these principles and the motivation behind them. You will also find a short video that applies these principles to a simple example.

The list of principles is by no means complete. More will follow. If you have an opinion on the principles listed here, what principles are missing, and how these principles related to existing technologies, I’d love to hear it!

The article consists of two main parts: motivation and principles. They can be read separately at different times, if you’re in a rush.

#microservices #jolie #service-oriented-architecture #service-oriented-computing #programming #microservice-architecture #coding #api

A Detailed Introduction to Service-Oriented Programming
1.35 GEEK