Spago is a J2EE framework: a reusable, semi-complete infrastructure that can be customized to produce vertical applications. Designed with the aim to support mission-critical projects, it is a framework providing multi-channel services towards external infrastructures.
Spago implements the MVC (Model-View-Controller) architectural pattern. By means of Spago publishing, business logic and data access layer responsibilities are separated.
Spago is an Enterprise Wide Framework because it is a platform that allows communication among different internal and external corporate processes.
Spago framework is strongly SOA oriented: using current release it's possible to access the services as Web Services, through JMS messages, and through EJB calls.
The JBI (Java Business Integration) integration allows the development of standard Spago services and deployment in a JBI container (in addition to the other modalities).
Spago supports the channels/protocols implementation independence of application services. Web Services (SOAP) can be made without changing the source code, working only on some configuration files. Services can be easily dispatched through different channels (HTML, WAP, Portlet) and through different protocols (HTTP, SOAP, EJB, JMS, JBI).
Spago modules dispatching is very flexible with a high degree of coding reuse. It introduces the page concept as a logic composition of modules: more cooperating business objects interact to service a request. A graph defines modules cooperation logic and used parameters.
Publishing of services on Portal compliant with standard JSR 168 is straightforward for the developer. An application can be published either as a Web application ors as a Portlet application
Chosen according to the channel used to get the services.
A JBI adapter allows exposing the services as JBI components. All the services written by Spago will be available through the binding components supplied by the container.
The Spago-AJAX integration aims at enriching Spago on the Front End tier. The AJAX integration simplifies the building of complex user interfaces when developing Spago services.
Simply working on configuration files it is possible to choose where to execute the application services: on Web container or on EJB container. The executing mode is relevant with reference to the transaction handling. The source code is not involved: you can choose the executing mode in deploy phase.
A plug-in is available to integrate Content Management systems compliant with JSR 170 specifications. It is possible to create, modify, and version the contents.
The integration with external Workflow engines, via plug-in, allows the implementation of complex processes.
With SOAP you can integrate services built on heterogeneous platforms.
It is possible to allow or deny the execution on a business module only to users with the credentials defined in external systems such as LDAP or database XML
Spago services can be invoked by any BPEL engine by the SOAP protocol without development activity.
Released under the GNU LGPL license, Spago is hosted by OW2 Consortium. It's a free open source project: no enterprise or professional edition!