Refactoring Strategy - Public Contract
General Architecture #
The diagram below gives some definition to the organization of the API or API's. In order to allow liferay to evolve over time without breaking contract with extensions and plug-ins as well as it evolves its 6 year old source base for the next 6 years I am proposing a public API that would sit above the existing API which would become the internal API. This is akin to the Win32 API which sits on top of NT's internal API calls. The internal contact is allowed to change at a much greater frequency then the public API's. This is because the public APIs are a contract with the Liferay community. Implementation of the public API is in gerneral only adapers to the underlying internal API calls.