Apache OFBiz

Apache OFBiz
Developer(s) Apache Software Foundation
Stable release 13.07.1 / October 6, 2014[1]
Written in Java
Operating system Cross-platform
Type Business Process
License Apache License 2.0
Website http://ofbiz.apache.org

Apache OFBiz (The Apache Open For Business Project) is an open source enterprise resource planning (ERP) system. It provides a suite of enterprise applications that integrate and automate many of the business processes of an enterprise.

OFBiz is an Apache Software Foundation top level project.

Overview

Apache OFBiz is a framework that provides a common data model and a rich set of business process. All applications are built around a common architecture using common data, logic and process components. Beyond the framework itself, Apache OFBiz offers functionality including:

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. Widgets are an OFBiz specific technology.

Business Layer

The business, or 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 invocation, transactions and security. Apache OFBiz uses a set of well established, open source technologies and standards such as Java, Java EE, XML and SOAP. Although Apache OFBiz is built around the concepts used by Java EE, many of its concepts are implemented in different ways; either because Apache OFBiz was designed prior to many recent improvements in Java EE or because Apache OFBiz authors didn’t agree with those implementations.

Data Layer

The data layer is responsible for database access, storage and providing a common data interface to the 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 set of generic values. A generic value is not typed, so fields of an entity are accessed by the column name.

Open Source Libraries

Here a list of the existing open source libraries that are used in Apache OFBiz (deprecated see the ref link) [2]

Component Description License
Apache Commons A collection of reusable Java components like (FileUpload, IO, Digester, Logging, Codec, and Validator) Apache
ANTLR Framework for constructing recognizers, interpreters, compilers, and translators from grammatical descriptions BSD
ASM Set of Java classes for decomposing, modifying, and recomposing Java bytecode BSD
BSF Set of Java classes which provides scripting language support within Java applications Apache
BeanShell Lightweight Scripting language for Java JSR 274. Beanshell is being phased out of OFBiz and eventually will be replaced by Groovy SPL/LGPL
Groovy An agile dynamic language for the Java Platform Apache
Jython An implementation of the high-level, dynamic, object-oriented language Python written in 100% Pure Java Jython License
Apache Ant Software tool for automating software build processes. Apache
Apache Avalon Software framework provide a reusable component framework for container (server) applications Apache
FreeMarker Template engine focusing on generation of text output (anything from HTML to autogenerated source code) BSD
Apache Geronimo A certified Java EE based application server Apache
HttpUnit Software testing framework used to perform testing of web sites without the need for a web browser. BSD
ICU Mature C/C++ and Java libraries for Unicode support, software internationalization and software globalization. MIT
JavaCC Parser generator for the Java programming language similar to Yacc BSD
Javolution Real-time library aiming to make Java applications faster and more time predictable BSD
Apache Xerces An XML parser library for Java, C++ and Perl Apache
Apache Derby Full-fledged relational database management system (RDBMS) with native Java Database Connectivity (JDBC) support Apache
MX4J Java Management Extensions (JMX) tools for managing and monitoring applications, system objects, devices and service-oriented networks. Apache
Apache Tomcat Web application server supporting Java Servlet 2.5 and JavaServer Pages (JSP) 2.1 Apache
Jetty Web application server supporting Java Servlet 2.5 and JavaServer Pages 2.1—an alternative to the Tomcat server Apache
DataVision Reporting tool similar to Crystal Reports and BIRT Project Apache 1.1

See also

References

External links