This site exploits technical cookies for improving navigation. No cookies are used for profiling you for commercial purpouses. Clicking the OK button you accept their usage to the end of this site navigation.  Read More
The revolution of
architecture programming
The way we usually program software will be revolutionized soon

Social connections, public services and businesses are moving fast into the Web, and the Internet will be soon the main arena where the majority of human activities will take place. E-commerce solutions will be the first channel for selling products and services, and social network platforms will be the preferred choice for influencers to share their ideas through the mainstream. Market needs and sentiments are and will be probed analyzing social behaviours through the Internet and global campaigns for human rights are already stronger than ever thanks to the aggregation of milions of people from every country in the world. Human thinking in general will concretely happen in the Internet, and it will be imperfect, liquid and unpredictable.

In this scenario, corporations, enterprises and public administrations can play their own role by entering the scenes relying on their own ICT infrastructures. Those infrastructures must scale with the business and they must allow for a fast implementation of initiatives and projects. They must be measurable and controllable in order to be as flexible as possible. Like sailors in the open sea, our ICT infrastructure is the ship we have. It must be reliable with good sails for catching the wind.

ICT infrastructure is the fundamental key for reaching success, thus it is important to know how it works and the parts it is composed of. The knowledge is in the functions that each part is providing and in the interactions which govern them. Both of these pieces of information must be under our control without relying on external providers. We can clearly buy external components of course, but we must buy only the functions we need, and only when we need. Nothing less nothing more, not earlier not later. Microservice oriented architectures are the suitable solution for this kind of issues. You can buy or develop by yourself the microservices which provide the functionalities you need and you have the complete control over their interactions. You can add or remove microservices depending on your requirements and you can scale those ones that are actually a bottleneck.

The fundamental aspect of microservices is in the architecture, this is why architecture programming is the revolution in software development

Programming is becoming the art of composing existing components by means of architectures!
A language for a new generation
of distributed architectures
Governing the complexity of distributed architectures

Our idea is that only a revolution on programming can pave the way for a wide and shared adoption of microservice architectures. Such a revoltuion can only be addressed by introducing a new generation of programming languages. Programming languages evolution indeed, has changed over the history of computer science. At the beggining there were binary languages for directly dealing with machines logics, but soon new language abstractios emerged for helping people to reduce developing time and avoiding errors. The last evolution we know is that of object orientation provided by languages such as Java, C++, Python, etc. which permit us to manage software projects over cross-platform environments.

We are now ready to take the next step towards a new paradigm: the service oriented programming paradigm. Our proposal is Jolie: the first language for microservices. Jolie changes the mindset of developers who will start to directly think in services without taking care of other language abstractions.

Think once, develop soon!
Scaling the complexity with Jolie
From microservices to macroservices
In Jolie everything is a microservice: all software artifacts created by developers are immediately reusable as microservices! Microservices can be easily composed for obtaining new microservices and the resulting system of a composition is always a distributed architecture of microservices. You can manage micro-services and macro-services by exploiting always the same technology without being constrained to change it. One single technology for approaching different level of complexity in order to reduce maintenance and development costs.
Scale your system with one single technology!