Opentaps OSS ERP + CRM

opentaps is a complete open source solution for your enterprise. Its sophisticated features and modern architecture will help bring together your entire organization, automate business processes, and improve efficiency. Download opentaps today and see what it can do for you.opentaps Open Source ERP + CRM brings you the advanced features and power of Tier 1 ERP and CRM software with the flexibility and low cost of ownership that only open source can deliver. You can use opentaps as an alternative to expensive and inflexible commercial ERP solutions, as a replacement for in-house solutions that are difficult to maintain or extend, or as a starting point to build your unique business model and processes.

Image

opentaps is also ideal for hosted on-demand ERP and CRM offerings. It is easy to customize, can be delivered over the web, and it can be deployed on a low-cost open source stack, using MySQL, PostgreSQL, Linux, or FreeBSD, or commercial databases and operating systems such as Windows, Oracle, or SQL Server. As your business grows, it can be scaled without limits through clustering.

Key features of opentaps Open Source ERP + CRM include:

  • A complete suite that deliver a 360-degree view of your business, from customers to orders to inventory to accounting. opentaps is one application running on one unified data model with over 700 tables, so you’ll never have to do messy integration again.
  • Compatible all major open source and commercial relational databases, including MySQL, PostgreSQL, Oracle, Sybase, and Microsoft SQL Server.
  • Runs on Linux, Unix, and Windows operating platforms.
  • Service-Oriented Architecture for easy interoperability with external or legacy applications.
  • Modular and tiered architecture allows for easy modifications or additions. An add-on application could be unzipped into a directory and start running.
  • Remote and local synchronization for scalability and high availability.
  • Workflow for adapting to unique business processes.

ERP: Openbravo

Openbravo is a fully functional integrated web-based open source enterprise management system, commonly known as ERP, that is much more at a cost that is far less. If you are a small or midsize enterprise (SME) and you are looking for a system to manage your business … it’s time to get your own ERP!

Openbravo started as an open source project more than five years ago under the Tecnicia codename. Very fond of the capabilities of web-based applications, we set out to develop an enterprise management application (commonly know as ERP) like no other: more fair, robust, adaptable and easy to use than what had ever been previously attempted. Obviously, it had to be a web application, and it had to be in open source.

Today we have a stable product which is in production on a number of happy clients. So we felt it was about time to share our experience and give back to the community our own developments.

Architecture:

Development Environment

Openbravo is a pure web-based application built following the MVC model. Most of the code is automatically generated based on the Data Model Dictionary by an engine that we call Wizard for Application Development (WAD). The engine executes and recompiles the application every time the system administrator changes the configuration to accommodate a user’s request.

 OpenBravo Architecture

This execution create files for the different components of the MVC model as the figure above shows:

  • Model: xsql files with executable SQL statements
  • View: HTML & XML files define the layout of the forms and define the relation with the data
  • Control: java servlets define the actions to be executed, manage the model and generate the view.

 

Execution Environment

To run the code, the application must be installed in a server running MVC Foundation Framework (which provides support for the MVC architecture) and a group of third-party applications which we call the Operating Environment. Users require nothing more than a standard web browser.

 Openbravo Execution Environment

Both WAD and the MVC-FF are largely Openbravo’s own development. The Data Model Dictionary is an extension of Compiere’s, with original modules (such as production), and adjustments necessary to adapt it to European and Spanish accounting standards and payment processes.

 

Openbravo’s Operating Environment

Openbravo requires a group of well-known third party applications such as Tomcat, Ant, Log4j, and some other utilities. Oracle 10g database (release 2 SE) or PostgreSQL is also required.

The model is based on standard SQL statements, so there it is not necessary to use an EJB server. We use Apache Tomcat as the servlet container, but others can be used instead.

Ant is used to make the builds and Log4j is used for debugging purposes.

All of these applications can be installed both on Linux or Windows.

 

MVC Foundation Framework (MVC-FF)

MVC-FF is composed of a set of utilities developed by Openbravo: XmlEngine, SQLC and HttpBaseSecureServlet. MVC-FF is needed to allow the development of decoupled files for the Model, View and Control components of the MVC architecture.

This set of utilities has been used in the development of many other MVC applications, and it has proven to be very efficient for the Openbravo development team

XmlEngineXmlEngine is a utility used to create XML/HTML documents from a template in XML/HTML format and an XML configuration file with the dynamic data to be inserted in the template. XmlEngine is easy to use because the design of the template is the identical to that of the final document desired. The input of data is made identifying the places where data will be displayed by using standard XML/HTML attributes like “id” or tags such as “DIV”. The configuration file maps the data source fields with the places identified in the template. To improve performance, the templates are read and stored in memory. When a page is required, the template creates a document that fills with the data provided by the application. With this tool we generate the forms for editing a record, list a selection of records, create reports with grouping levels or print specific forms of the application.

SQLCSQLC (SQL Compiler) is a utility used to avoid the repetitive task of writing Java classes to interact with the database. The input is an XML file that contains standard SQL statements and the parameters used in the statements. SQLC reads this file and generates a Java class that has all the code necessary to connect to the database, execute the statement, read the record and create standard Java types as return for the methods.

 

HttpBaseServlet

HttpBaseServlet and HttpBaseSecureServlet are the servlets from which all of the servlets of the system that implement the Control component of MVC are derived. These servlets implement common functionalities such as authentication, authorization, database connectivity and error handling. The servlets deriving from HttpBaseSecureServlet make the standard control of reading data, interacting with the database with classes generated by SQLC and providing the output with XmlEngine.

 

Data Model Dictionary and WAD

The automation of code generation is achieved by using the data model dictionary and the WAD (Wizard for Application Dictionary). WAD automatically generates all the files of the application with an MVC architecture. The files that are generated use XmlEngine, SQLC and HttpBaseSecureServlet.

The automation of code generation provides a better quality because the files are always coded using the same rules and style. The knowledge of the domain is contained by the model and not in manually written code. Also, the improved functionalities implemented over time in WAD are added to all the files when the code is regenerated without any additional intervention.

see more:

http://www.openbravo.com/

DL di http://sourceforge.net/project/showfiles.php?group_id=162271