Spago, the open source Java Enterprise Framework for the development of web and multichannel applications in SOA environments

Spago is a Java Enterprise Framework realized by Engineering. It is released as free/open source software under a LGPL license, in order to allow communities of developers and users to share, improve and extend the code. Spago framework is commercially supported by Engineering in terms of professional services and maintenance. For any support request, contact us.

A Java Enterprise Framework is a reusable, semi-complete infrastructure that can produce customized applications. It is a platform for developing distributed multi-tier applications, based on modular components, employing several technologies, including JDBC and CORBA, and extending their functionality with Enterprise Java Beans, Java Servlets, Java Server Pages and XML technologies. This allows the developer to create an Enterprise Application that is scalable, portable between platforms and that can be integrated with several legacy technologies.

Spago framework, that includes functionalities extending the typical aspects of a J2EE framework, was developed by architects and developers with wide knowledge and experience. The result has been a framework providing multichannel and integration services towards external infrastructures. Spago allows you to build an application, by integrating existing infrastructures (like: security, document management, workflow) and publishing services on different channels.

Spago implements the Model-View-Controller architectural pattern, organized by three tiers:

  • Presentation tier: HTTP to web container, SOAP, WAP, EJB, HTTP to portlet container, TCP/IP
  • Business tier: controls, elaborations
  • Integration tier towards data source or transactional services.

Spago design has been conceived so as to divide layers and any specific channel component, using XML to support communications. For instance, the application logic is independent of HttpRequest and HttpSession components, which are HTTP channel specifics.

Spago main features are:
  • Multichannel: it allows to easily dispatch your services to different channels: HTTP, WAP, SOAP and EJB
  • Modules dispatching: More complex than action dispatching, it allows much flexibility and high code reuse
  • Publishing: it offers different ways of publishing information, according to the channel you use to dispatch the service
  • Business logic distribution: as the framework includes a session facade that can execute all services, you can choose to execute the service by the web container or by the EJB container, which is relevant in terms of transaction management. This has no impact on coding, so that the elaboration method may be chosen during the deploy process
  • Navigation Handler: it is a specific service which facilitates navigation, eventhough it increases the amount of employed session memory
  • Pagination: it offers some modules for a simple management of forms and lists
  • XML Data: an object is available for efficient management of XML data flow (read, create, search for attributes or values)
  • Validation: you can validate a server side for form-data. This configurable module works with "usual" data. You can extend it using java validation classes.

Copyright 2016 Engineering Ingegneria Informatica S.p.A. - VAT Number: 05724831002 - Technical Innovation & Research Division

Powered by: xwiki - wordpress - jira - jforum - jenkins