Spring

From ADempiere
Jump to: navigation, search
This Wiki is read-only for reference purposes to avoid broken links.

Abstract

Spring provides many interesting features that we can use to enhance the ADempiere architecture. Spring IOC is a proven and robust way to make the architecture modular and configurable. Using Spring IOC, core services like persistence and transaction management can be made pluggable hence configurable. For instance, it would then be possible to configure Adempiere to use one of the application server's datasources and transaction management service when running inside application server and continue using the current Adempiere connection and transaction management service when running outside an application server. This provides an interesting way to evolve the Adempiere architecture while maintaining full backward compatibility.

Spring AOP provides an interesting way to customize business rules without touching the source. Couple with scripting language support, this provide a complete dynamic runtime customization of rule. However, the downside of this is that there are potential overlaps with the rule customization feature available in AD. Spring AOP can also be utilized to provide cache, logging and monitoring service.

ADempiere currently has 2Pack to manage the development and deployment of AD changes. However, the lack of a Java module system limits the usefulness of 2Pack for development and deployment of an ADempiere module. Adopting the OSGi architecture will address this limitation.

Proposed Scope

  • Use the Spring IOC feature to make the ADempire architecture more modular and configurable.
  • Use the Spring AOP feature to allow customization of business rule without touching the core.
  • OSGi bundle support. OSGi bundle for code extension plus 2pack for AD management will significantly advance the development and deployment of Adempiere module process.

To Investigate

  • Spring rich client for potential improvement to the current swing client
  • Sprinc Acegi security for better security and enterprise single sign on support.

Status

There isn't any development yet at the moment. This will be done in a new branch as an experimental development effort. Please use the discussion tab to comments or to express interest to involve.

Team

Low Heng Sin

Related Threads

https://sourceforge.net/forum/message.php?msg_id=4206000