Apache Open For Business (Apache OFBiz) is Open Source automation software that is an Apache Top Level Project. As automation software it comprises a mature suite of enterprise applications that integrate and automate many of the business processes of an enterprise.
Apache OFBiz | |
---|---|
File:Apache OFBiz Logo.jpg | |
Apache OFBiz Screenshot running | |
Developer(s) | Apache Software Foundation |
Stable release | |
Preview release | 4.0.0
|
Repository | |
Written in | Java |
Operating system | Cross-platform |
Type | Business Process |
License | Apache License 2.0 |
Website | http://ofbiz.apache.org |
Overview
Actually, Apache OFBiz is a framework + a common data model + business process. All applications are built around a common architecture using common data, logic and process components.
Technology
All of Apache OFBiz functionality is built on a common framework. The functionality can be divided into the following distinct layers:
Presentation Layer
Apache OFBiz uses the concept of "screens" to represent the Apache OFBiz pages. Each page is, normally, represented as a screen. A page in Apache OFBiz consists of components. A component can be a header, footer, etc. When the page is rendered all the components are combined together as specified in the screen definition. Components might be Java Server Pages ([JSP]s) <deprecated>, FTL pages built around FreeMarker template engine, Forms and Menus Widgets : an OFBiz specific technology.
Business Layer
Application layer defines services provided to the user. The services can be of several types: java methods, SOAP, simple services, workflow, etc. A service engine is responsible for aspects such as invocation, transactions, security, etc. Apache Ofbiz uses a set well established open source technologies and standards like Java, J2EE, XML, SOAP, etc. Although Apache OFBiz is built around the concepts used by J2EE, many of is concepts are implemented in different ways of that in J2EE either because Apache OFBiz is prior to many of recent J2EE improvements or because Apache OFBiz authors didn’t agree with those implementations.
Data Layer
Data layer is responsible for database access, storage and to provide a common data interface to Business layer. Data is accessed not in Object Oriented fashion but in a "relational way". Each entity (represented as a row in the database) is provided to the business layer as a Generic Value. A generic value is not typified, so, fields of an entity are accessed by the column name.
Domain Layer
As consequence of the interface provided by the data layer, which only provides Generic Values representing table instances, which are table rows, there is not an OO ___domain model in Apache OFBiz. Therefore the ___domain model can be considered Anemic.
Apache OFBiz is implemented on Three Tier Architecture:
- Presentation Tier
- Application Tier
- Data Tier