Apache OFBiz
File:Ofbiz logo.gif | |
---|---|
Screenshot | |
Developer(s) | Apache Software Foundation |
Stable release | 9.04 / November 17, 2009 |
Written in | Java |
Operating system | Cross-platform |
Type | Business Process |
License | Apache License 2.0 |
Website | http://ofbiz.apache.org |
Apache Open For Business (Apache OFBiz) 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, 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 a huge range of functionality including:
- Accounting (Agreements, Invoicing, Vendor Management, General Ledger)
- Asset Maintenance
- Catalogue and Product Management
- Facility and Warehouse Management
- Manufacturing
- Order Processing
- Inventory Management, automated stock replenishment etc.
- Content Management System (CMS)
- Human resources (HR)
- People and Group Management
- Project Management
- Sales Force Automation
- Work Effort Management
- Electronic Point Of Sale (ePOS)
- eCommerce
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 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 Enterprise Edition (JEE), XML and SOAP. Although Apache OFBiz is built around the concepts used by JEE, many of its concepts are implemented in different ways; either because Apache OFBiz was designed prior to many recent improvements in JEE 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. [1]
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 JavaJSR 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 |
References
Bibliography
- Howell, Rupert; Jonathon Wong (31 October 2008). Apache OFBiz Development: The Beginner's Tutorial (1st ed.). Packt Publishing. ISBN 1847194001. http://www.packtpub.com/apache-ofbiz-development-beginners-tutorial/book.
External links
- Official Apache OFBiz website
- Apache OFBiz: Real-World Open Source Java Platform ERP by David Jones and Ean Schuessler at JavaOne 2007
- ERP Application Development Frameworks: Case Study and Evaluation by Nattanicha Rittammanart, Wisut Wongyuedy, and Matthew N. Dailey
|
If you like SEOmastering Site, you can support it by - BTC: bc1qppjcl3c2cyjazy6lepmrv3fh6ke9mxs7zpfky0 , TRC20 and more...