ERP Application Development Frameworks: Case Study and Evaluation

  • Published on

  • View

  • Download

Embed Size (px)




  • 1. ERP Application Development Frameworks: Case Study and EvaluationNattanicha Rittammanart , Wisut Wongyued , and Matthew N. Dailey Computer Science and Information Management Asian Institute of Technology, Pathumthani, Thailand GismoGears Co., Ltd., Chiangmai, ThailandEmail:,, Resource Planning (ERP) softwarethat targets a specic domain [3]. A good framework provides brings many benets to an organization, but commercial softwarereusable solutions for difcult, recurring problems. is expensive. Smaller organizations may prefer free and open source solutions but are faced with an enormous array ofAmong the most difcult recurring problems faced by ERP options from different vendors. One of the most difcult decisions developers is the need to integrate multiple systems in order to make is whether to develop software from scratch or toto automate a business process. Although every application adopt a free and open source ERP framework. To answerdevelopment platform has platform-specic means to accom- this question, we evaluate one of the most popular enterpriseplish this goal (e.g. JMS and Java RMI for the Java platform), software development frameworks, JBoss Seam, and one of the most popular open source frameworks for ERP development, XML-based Web services are rapidly emerging as an effective Apache Open for Business. Using a simple real-world applicationand platform-neutral technology for application integration. integration problem involving an asset management system andIn this paper, to limit the scope of the evaluation, we an accounting system as a case study, we compare the frameworksfocus on relatively straightforward integration problems in along a number of dimensions. We nd that the ERP framework, OFBiz, is the better choice for simple ERP development problemswhich a simple point-to-point synchronous request-response typically encountered in smaller enterprises.(remote procedure call) model is appropriate. Under theseIndex TermsEnterprise applications, Enterprise resourcecircumstances, SOAP is an ideal Web service protocol. The planning, Application frameworks, Enterprise application inte- service provider exports a WSDL specication documenting gration, OFBiz, JBoss Seam.the required format of the XML request and response messages I. I NTRODUCTION necessary for invoking services. The client uses the WSDLspecication to construct a request message, sends the mes-Modern organizations require many information systems tosage, and (in the simplest case) blocks until the response is support their business processes. Enterprise Resource Planning received. (ERP) software attempts provide a standard, unied, and con- sistent interface to common functionality. Commercial ERP Given this common integration problem, one of the main software brings many benets to an organization, but it is specic criteria we use to compare frameworks is the ease extremely expensive. Due to cost factors, smaller enterpriseswith which developers can deploy and interact with SOAP wanting to streamline their business processes may be facedWeb services using the framework. In addition to this specic with two options: develop their own software to integratecriterion, we compare frameworks on a number of more existing standalone systems, or adopt a free and open source general criteria, such as customizability and modiability, to business automation solution such as OFBiz, OpenBravo, orbe introduced in Section II. Tiny ERP. The general enterprise software development framework weRegardless of whether they develop new software or adoptchose is JBoss Seam, and the open source ERP framework an existing solution, organizations need a platform that makes is Apache Open for Business (OFBiz). Both frameworks are it easy to integrate disparate information systems and rapidly based on Java EE, both provide numerous features useful for customize the application logic. Which approach, new soft- ERP software development, and both ship with an integrated ware, or open source automation framework, is best? Cur- Web server. To motivate the comparison, we use as a case rently, there is relatively little information available to guidestudy a simple integration problem that arose in the context of organizations in making a decision. For this reason, in this developing an asset management system for Haadthip Public paper, we compare one of the most popular enterprise soft- Company Limited, a beverage distributor located in southern ware development frameworks (JBoss Seam) with one of the Thailand. most popular open source frameworks for ERP development The rest of this paper describes the frameworks and the (Apache Open for Business).case study scenario in detail then evaluates the two frameworksIn general, an application framework is a set of abstract according to their suitability for ERP system development. We classes forming a reusable design [1], a set of state-of-the-art nd that for simple integration problems such as those needed development tools and practices dened by an independent in our case study, OFBiz is a better solution than JBoss Seam standard body [2], or a reusable skeleton for an application according to nearly every evaluation criterion.

2. II. E XPERIMENTAL D ESIGNThis section describes the frameworks we selected for comparison, the case study implementation, and our criteria for evaluating the frameworks. A. JBoss Seam FrameworkFig. 1. Communication diagram for case study implementation.JBoss Seam [4] is a lightweight enterprise application development framework. It builds upon Java EE, with the aim of unifying Java Server Faces (JSF) with Enterprise JavaBeansencountered while developing an Asset Management System (EJB) 3.0 to create a single consistent programming model. (AMS) for Haadthip Public Company Limited, a beverageSeam applications are organized according to a stan-distributor based in southern Thailand. dard three-layer enterprise architecture (presentation, businessOne of the requirements for the AMS is that it needs to sup- logic, and persistence). The presentation layer is based on theply information about assets to a separate legacy accounting Model-View-Controller architectural pattern; developers usesystem connected to a Foxpro database. We selected a simple JSF to to implement views and controllers. In addition to JSF, use case for this study in which a user of the accounting system Seam supports its own tag set, Ajax integration, localization, client inserts an accounting record related to a particular xed and themes in the presentation layer. The business logic layer asset into the accounting system database. In this situation, the of a Seam application is based on EJB3 session beans. Theaccounting system needs to retrieve asset-specic depreciation container also provides security services as well as businessinformation from the AMS before inserting the new record into process automation via the Drools business rule engine and the accounting system database. the jBPM workow engine. Business logic layer services canOur design is shown in Fig. 1. First, the client inserts an easily be exported as SOAP Web services. The persistence accounting record including an accounting ID, an asset item layer uses the Java Persistence API (JPA) object-relationalID, and related elds. Before the accounting system inserts mapping technology.the data, it passes the asset item ID to the AMS to get a B. OFBiz Framework depreciation value. The AMS looks up the asset item, appliesthe necessary business logic to calculate the depreciationApache Open For Business (OFBiz) [5] is an open sourcevalue, and returns it to the accounting system. The accounting enterprise automation system providing, among many other system inserts the new record including the depreciation value, features, ERP functionality. The system attempts to providecommits the transaction, and noties the client of success reusable modules for common business functions and a variety or failure. This design maintains loose coupling between the of paths to develop custom business logic and connect with accounting system and the AMS and keeps the business logic external systems.related to asset management local to the AMS. Since the useSimilar to Seam applications, OFBiz has a three-layer archi-case is interactive, the communication is best implemented tecture. The presentation layer is based on the Model-View-using a synchronous request-response protocol such as SOAP. Controller pattern and makes extensive use of the Decorator For the purposes of the current experimental comparison, pattern [6] for reuse of design elements. OFBiz integrates we implemented two versions of the AMS, one on Seam and with many presentation-tier technologies, including Tomcat orthe other on OFBiz. Both systems use a PostgreSQL database Jetty as the Web server, the Freemaker template engine, thefor persistence, share the same database schema, implement JasperReports report engine, the JavaPOS point-of-sale devicethe same business logic, and export their functionality to the API, the XML User Interface (XUI) rich client platform, andaccounting system via a SOAP Web service endpoint. the BeanShell Java scripting language. The business logic layer Fig. 2 shows the basic technologies used at each archi- utilizes the Service Oriented Architecture pattern in whichtectural layer in our Seam and OFBiz AMS prototypes. In application developers organize the business logic as a set ofthe presentation layer, the Seam AMS relies on JSF, whereas reusable services. Services are implemented as scripts using anOFBiz utilizes a widget-based structure and the Freemaker OFBiz-specic XML scripting language, Java via BeanShell,template engine. At the domain logic layer, the Seam AMS or other languages such as Python via the Bean Scriptinguses EJB3 session beans, whereas OFBiz uses simple XML Framework (BSF). Services can be easily exported as SOAPscripting language. Finally, at the data source layer, the Seam Web service or Java RMI endpoints. The persistence layerAMS uses the JPA object relational mapping whereas the provides a database-independent entity persistence engine toOFBiz AMS prototype uses the OFBiz Entity Engine, which the other layers using an XML specication of the databaseimplements a Table Data Gateway [7]. mapping and an API following the Table Data Gateway [7] pattern.D. Comparison Criteria C. ImplementationFrameworks can be compared using many criteria. WeAs a case study to drive the comparison of the twouse the following criteria specically for comparing ERP frameworks, we selected a simple integration problem weapplication development platforms in our case study: 3. 2) Ease of service exposure: In our prototype, we foundthat OFBiz provides simpler means for exposing business logicas SOAP Web services. As already mentioned, OFBiz forcesdevelopers to adopt a service-oriented interface to the businesslogic layer. Once an OFBiz service has been dened, it is asimple matter of adding the attribute export="true" to theXML service denition: Technology complexity: are the technologies used to cre- ate applications on the framework easy to understand? With the export attribute turned on, OFBiz automati- Ease of service exposure: what are the steps needed tocally creates a WSDL specication for the service. In Seam, expose a Web service on the framework. to export existing session beans methods as Web service Ease of administration: is installation and application operations, developers must create a separate Java interface deployment simple? declaring the methods that should be exported then add Resource utilization: are the memory and disk space two annotations: @Remote and @WebService(name = "...", requirements reasonable? serviceName = "..."). Like OFBiz, Seam automatically cre- Ease of presentation implementation: are the presentation ates the appropriate WSDL specication. We conclude that layer patterns exible and easy to use?although the Seam solution would be better when developers Ease of business logic implementation: is it easy towant a coarse-grained remote interface and a ne-grained local develop and modify the business logic? interface to the same business logic, the OFBiz approach is Ease of database administration: is it easy to enable and simpler. change the database conguration? 3) Ease of administration: Both frameworks require theIn addition to the specic ERP framework comparison Java Development Kit (JDK). OFBiz ships with an embedded criteria listed above, Gerdessen [3] proposes the followingversion of the Tomcat application server, but Seam requires general criteria for comparing frameworks in any domain: separate installation of the application server and some addi- Availabilitytional conguration to notify the server the Seam should be Customizability loaded before it is ready to run. At application deployment Modiabilitytime, OFBiz is capable of dynamically loading controllers, Integrability screens, widgets, forms, and business logic implemented by Flexibility scripts. This saves development time and deployment time.In the next section, we evaluate Seam and OFBiz according OFBiz makes installation and deployment easier. to both the ERP-specic and general criteria. 4) Resource utilization: In the standard setup, Seam runs III. F RAMEWORK E VALUATIONon the JBoss application server, which provides completeEJB3 support, whereas OFBiz, by default, runs on the more This section evaluates the Seam and OFBiz frameworkslightweight Tomcat application server. In our case study, we according to the ERP-specic and general criteria listed infound that the Seam installation required 335.2 MB of disk Section and 85808 KB of RAM at runtime, whereas the OFBiz A. ERP-Specic Criteriainstallation required 193.2 MB of disk space and 75820 KB1) Technology complexity: We nd that JBoss Seam re-of RAM. OFBiz is therefore more lightweight than Seam in quires developers to clearly understand Java EE technology,terms of resource utilization. but OFBiz does not require deep knowledge of any one5) Ease of presentation implementation: Both Seam and technology. A Seam developer need skills in JSF, EJB3, OFBiz utilize the Model-View-Controller (MVC) pattern in the and JPA. In contrast, for OFBiz, a basic knowledge of thepresentation layer. For Seam, developers must be familiar with architecture of the framework is sufcient for getting started.JSF and EJB to implement presentation layer components. In the data source layer in particular, OFBizs Entity EngineOFBiz developers need only know how to use the Entity is straightforward for any developer familiar with relationalEngine, Service Engine, screens, form widgets, and the built- database technology, but JPA requires in-depth knowledge ofin templates. In developing our prototype AMS systems, we object technology and object-relational mapping. Althoughfound that...


View more >