iPOJO – an extensible service-oriented component model

iPOJO is a service-oriented component model complemented with a supporting execution framework. One of the main goals of iPOJO is to make the development of dynamic applications as simple as possible. To this end, the overall approach is to keep a component as close to a plain old Java object” (POJO) as possible. The code of a component should focus on business logic, not on mechanisms for dynamism or other non-functional requirements. IPOJO relies on the ‘inversion of control’ pattern and provides an extensible component container that manages all issues regarding dynamism. In particular, it manages all the service-oriented interactions: service publication, service instantiation, service selection, and service discovery. The container can be extended in order to support other non-functional concerns such as con guration, persistence, and security. iPOJO is the Apache service-oriented component model. It is used in hundreds of academic and industrial projects. More than 400 companies around the word are identi ed users. As an order of magnitude, iPOJO is downloaded 70 000 times every year since 2010. iPOJO was initiated by the Clement Escoer’s PhD.