Comparison of Software Development Productivity by EJB Versions with 1 Gui Jung Kim, 2 Myeong Ho Lee, 1, First Author Dept. of Biomedical Eng., Konyang University, gjkim@konyang.ac.kr 2, Corresponding Author Dept. of ecommerce, Semyung University, mjlee@semyung.ac.kr Abstract This paper proposes an object-oriented software development guidance and an evaluation index for productivity related to EJB(Enterprise JavaBeans). EJB is a known successful standard model for LSDO(Large Size Distributed Object). However, re is no comparison research about performance of EJB 2.0 and 3.0 with same identical platform. Quantitative analysis is supported as a part of LoC(Line of Code) analysis. There is a limit to develop updated software with no specific evaluating index for productivity of software. This work proposes a specific index for evaluating productivity of new version EJB on a platform. Base on result, specific guidance of developing software is obtained. 1. Introduction Keywords: Evaluation Index, Distributed Object, LoC, EJB 2.0, EJB 3.0 In generation of digital convergence, most systems/processes are being integrated via various methods: operating system via on-demand methods; infrastructure via grid and/or utility; development via IDE (Integrated Development and Environment); database via data hubs and/or EAI; user interface via X-internet; and process integration/standardization via BMP[1]. In such enterprise environment, distributed object architecture is required to reduce load by distributing programs across computers models, and thus minimizing system performance drop as well as network bottleneck. In addition, in ubiquitous and cloud computing environments, which require complex systems to be implemented quickly, Component based Development Method is has been emerged through various development of Object Oriented and/or Distributed Object Development Methodology [6]. The component refers to an independent unit, which performs a unique function, of software and as well as a methodology to improve reusability of software by establishing independence between component provider and user through encapsulation, by separation of interface and implementation. The component model, which includes but not limited to component packaging, distributed transaction management, communication, and security services, supports consistent component management through standard regulation at stage of component design and implementation. Despite of various developments, such as CORBA, DCOM, and RMI, to operate distributed application programs of such component model, re has been no standardized methodology to express consistent data. Furrmore, a dedicated programs were required to develop for services such as transaction, security, and multi-threading. Among widely known standards of component models to overcome limitations, such as MS COM+, OMG CCM, and Sun EJB, EJB is most recognized as successful model for big data distributed objects. EJB is not a run-alone program, like JAVA, but needs to be installed with anor software called EJB Container, which is included in EJB server. However, re has been insufficient research comparing software productivity of EJB 2.0 and EJB 3.0 in same platform. In addition, quantitative analysis has been carried out only for a portion of LoC, resulting a limitation of specific performance index and guidelines, and thus restricting evaluation of software productivity and attempts for new projects[7]. The purpose of this study is to suggest quantitative performance index for specifications of EJB 2.0 and EJB 3.0 in same platform, as EJB is most successful model of big data distributed objects, to quantitatively analyze specifications of new EJB in order to provide a guideline for objective study of software development productivity. International Journal of Advancements in Computing Technology(IJACT) Volume 5, Number 11, July 2013 doi : 10.4156/ijact.vol5.issue11.49 404
2. The basic concept of EJB 2.1.. The definition and characteristicss of EJB EJB is a component structure to develop and distribute Distributed Object-Oriented Java Application of N-tier. SUN developed specifications of EJB 1.0 in 1998, which became one of core components of J2EE platform. With announcement of EJB 1.1 in 2000, limitations of EJB 1.0 have been overcome and compatibility with CORBA has been emphasized. With announcement of EJB 2.0 in 2001, EJB has started to become standard platform for component development from expansion of internet environment and popularity of Java language. EJB 2.0 exhibited sufficient functional aspects for development of large-scalee business applications. In 2006, EJB 3.0 was introduced and became a new level of EJB that enabled flexible tests and development through coding based on Java object POJO, which is not subordinate to any frameworks and/ /or containers, and through changes in entity bean to meet requirements of generation[4][8-10]. EJB refore supplies various services that support expandable Application Server Components, to allow development of business applications by component units. EJB can be operated in transaction processing systems, such as Transactionn Process Monitor, Web server, Database Server, and Application Server. The EJB Component Model expandedd JavaBean Component Model to support Server Components. This Server Component refers to Application Component that can be run in Application Server. The Server Components can be combined with or components for development of applications[5]. 2.2.. The developmental Environment The Java SE, which is an individual application development environment, has limitations to implement big data business applications. Therefore Java EE platform, which has N-tear structure for development of distributed applications such as those for transaction, security, messaging, naming, and web, was developed. The concept of this structure is to have a subdivision of component structure of 3-tier structure, which is a distributed system of individual applications, for example, those for business logics and database processing, into anor system, to achieve flexibility for client-server structure. The web-based distributed object structure applications were operated from this structure[1-3]. In this study, developmental productivities of EBJ 2.0 and EJB 3..0 were compared and analyzed with N-tier development environment, which was implemented with Java EE(J2EE), as shown in Figure 1 below. Figure 1. Architecture of N-Tier Distributed Object 405
3. Measures for comparing development productivity 3.1.. The Test environment In order to compare/analyzee software development productivity based on EJB 2.0 and EJB 3.0 specifications, developmental environments and database schemas as shown in Table 1 were used to develop a pilot program in EJB 2.0 and 3.0 environments. Then this program was used to compare development productivity for each specifications by utilizing using performance index for each items. Table 1. Environment of EJB 2.0 and EJB 3.0 EJB 2..0 EJB 3.0 OS Platform WAS DB IDE CASE Windows 7 Ultimate K Java SE 7/Java EE 6 JBoss-4.0..5GA Oracle 10g (10.2.0.4) Eclipse Indigo (3.7) IBM Rational Rose 7.0 Windows 7 Ultimate K Java SE 7/Java EE 6 JBoss-4.0.5GA Oracle 10g (10.2.0.4) Eclipse Indigo (3.7) IBM Rational Rose 7.0 Therefore, in order to carry out quantitative evaluation of software development productivity,, comparison of number of files, comparison of LoC between session bean and entity bean, and comparison of XML were chosen as indices. 3.2.. The designing of database schema The database schema of pilot system to be developed for comparison of software productivity will be compared and analyzed with EJB 2.0 and EJB 3.0 specificationss using a database schema shown in Figure 2. Figure 2. Architecture of Database Schema 406
3.3.. The designing of class diagram Based on database schema and development environment shown above, class diagram design for quantitative analysis of software productivity in EJB 2.0 and EJB 3.0 development platforms are shown in Figure 3 and Figure 4 Figure 3. Class Diagram of EJB 2.0 Figure 4. Class Diagram of EJB 3.0 4. Comparison analysis for performance index 4.1.. Comparison of number of files To compare number of files for each specification, which is most basic index of quantitative evaluation of a software, a pilot system for EJB 2.0 and 3.0 was implemented based on database schema structure shown in Figure 2 to compare number of interface files and class files. This showed that in EJB 2.0, 12 session beans were needed, while only 8 were neededd for implementation in EJB 3.0. For entity bean, 12 were needed for EJB 2.0, while only 4 were neededd for implementation in EJB 3.0 Therefore, EJB 3.0 significantly increases software productivity of entity bean compared to EJB 2..0. These results are summarized in Table 2. 407
Table 2. Comparison of interface and class file EJB 2.0 EJB 3.0 Session Entity Session Entity MEMBER MemberSB.java MemberBean.java MemberSB.java MemberSBBean.java MemberRemote.java MemberSBBean.java MenberSBHome.java MemberRemoteHome.java MemberEntity.java BOARD BoardSB.java BoardBean.java BoardSB.java BoardSBBean.java BoardRemote.java BoardSBBean.java BoardSBHome.java BoardRemoteHome.java BoardEntity.java RESERV ReservSB.java ReservBean.java ReservSB.java ReservSBBean.java ReservRemote.java ReservSBBean.java ReservSBHome.java ReservRemoteHome.java ReservEntity.java REPLY ReplySB.java ReplyBean.java ReplySB.java ReplySBBean.java ReplyRemote.java ReplySBBean.java ReplySBHome.java ReplyRemoteHome.java ReplyEntity.java Sum 12 12 8 4 4.2. Comparison of LoC (1) Comparison of LoC of Session Bean To compare number of files for each specification, which is most basic index of quantitative evaluation of a software, a pilot system for EJB 2.0 and 3.0 was implemented based on database schema structure shown in Figure 2 to compare number of interface files and class files. This showed that in EJB 2.0, 12 session beans were needed, while only 8 were needed for implementation in EJB 3.0. For entity bean, 12 were needed for EJB 2.0, while only 4 were needed for implementation in EJB 3.0 Therefore, EJB 3.0 significantly increases software productivity of entity bean compared to EJB 2.0. These results are summarized in Table 3. MEMBER BOARD RESERV REPLY Table 3. LoC Comparison of Session Beans File Name LoC EJB2.0 EJB3.0 EJB2.0 EJB3.0 Note MemberSB.java MemberSB.java 3 10 EJB2.0 : 51 MemberSBBean.java MemberSBBean.java 41 53 MemberSBHome.java - 7 - EJB3.0 : 63 BoardSB.java BoardSB.java 3 11 EJB2.0 : 50 BoardSBBean.java BoardSBBean.java 40 49 EJB3.0 : 60 BoardSBHome.java - 7 - ReservSB.java ReservSB.java 7 10 EJB2.0 : 73 ReservSBBean.java ReservSBBean.java 59 36 EJB3.0 : 46 ReservSBHome.java - 7 - ReplySB.java ReplySB.java 3 10 EJB2.0 : 53 ReplySBBean.java ReplySBBean.java 43 36 ReplySBHome.java - 7 - EJB3.0 : 46 Total(Unit : Line) 227 215 408
(2) Comparison of LoC of Entity Bean The most significant improvement of EJB 3.0 from EJB 2.0 is entity. In EJB 3.0, home interface and remote interface, which declare methods for summoning, and refore comparing LoC only, EJB 3.0 has 67% less LoC compared to EJB 2.0, as shown in Table 4. As re is no need for implementation of remote interface and home interface, complexity of software development is decreased, and has advantage of increased debugging efficiency. Table 4. LoC Comparison of Entity Beans File Name LoC EJB2.0 EJB3.0 EJB2.0 EJB3.0 Note MemberBean.java 196 EJB2.0 : 221 MEMBER MemberRemote.java MemberEntity.java 14 75 EJB3.0 : 75 MemberRemoteHome.java 11 BoardBean.java 190 EJB2.0 : 210 BOARD BoardRemote.java BoardEntity.java 11 73 EJB3.0 : 73 BoardRemoteHome.java 9 ReservBean.java 217 EJB2.0 : 241 RESERV ReservRemote.java ReservEntity.java 12 81 EJB3.0 : 81 ReservRemoteHome.java 12 ReplyBean.java 186 EJB2.0 : 205 REPLY ReplyRemote.java ReplyEntity.java 8 57 EJB3.0 : 57 ReplyRemoteHome.java 11 Total(Unit : Line) 877 286 591 4.3. Comparison of XML EAR files include JAR file for enterprise been, WAR file for web application programs, and JAR file for application program clients. Each file contain an internal XML document file and Java class file. This XML file is known as deployment descriptor, and has a declarative step for enterprise beans. This deployment descriptor uses declarative information such as transaction processing, security processing and naming services, rar than a program code, to define actions of enterprise bean. Table 5. XML Comparison of EJB 2.0 and EJB 3.0 DD EJB 2.0 EJB 3.0 EJB WEB BOARD 42 ejb-jar.xml MEMBER 42 REPLY 42 X RESERV 42 BOARD 12 persistance.xml X MEMBER 12 REPLY 12 RESERV 12 web.xml 13 13 jboss-web.xml 10 X 409
The comparison of deployment descriptor of pilot system of EJB 2.0 and EJB 3.0 environments is shown in Table 5. As shown in Table 5, deployment descriptor which defines actions of enterprise bean, has simplified every bean in EJB 3.0 compared to EJB 2.0, and is written by standard specifications, which is unrelated to WAS vendors, to secure independence and productivity of software. 5. Conclusion Even though new standard specifications of EJB, which is known as most successful model for big data distribution computing environment, are continuously being released, however, due to requirement of long learning time and high complexity of standard specifications, re have been difficulties in applying new specifications to real situation. Furrmore, studies comparing development productivity of EJB software is limited to LoC analyses of limited portion of specifications, and even with introduction of new EJB specifications, re have been only limited specific performance indices and guidelines for evaluating software productivity and attempting new projects. In this study, a pilot project based on specifications of EJB 2.0 and EJB 3.0 in same platform was developed to propose performance index, and conducted quantitative analysis of developed performance index for EJB specifications to offer a guideline for objective research of software development productivity. Furr studies on comparison of software development productivity of EJB 2.0/3.0 and EJB 3.1, as well as on comparison of development productivity for each performance index and open source platforms for each Java EE N-tire structures, need to be continuously pursued 6. References [1] M.H. Lee, A Design Business Tier by using MVC Design Patterns for Plant Information, Journal of Korean Institute of Plant Engineering, Vol. 11(2), pp. 99-107, 2006. [2] M.H. Lee, Design and Implementation of Large Size Distributed Object Process Based EJB 3.0 Standardization, Journal of Korean Institute of Plant Engineering, Vol. 13(2), pp. 51-58, 2008. [3] M.H. Lee and J.S. Han, Comparison of Development Productivity of Spring 2.5 and EJB 3.0 with Lightweight Container Architecture, The Society of Digital Policy & Management, Vol. 10(3), pp. 137-142, 2012. [4] B.G. Kim, Enterprise Java Beans 3.0, Game, 2006. [5] H.Y. Cheon, S.J. Kim, Learn WebLogic EJB, Daerim, pp. 12-301, 2006. [6] H.S. Chae, Object Orented CBD Development Bible, Hanbit Media, pp. 35-76, 2006. [7] Debu Panda, Reza Rahman, and Derek Lane, EJB 3 in Action, Manning Publications Co., pp. 3-176, 2007. [8] R. Monson-Haefel, B. Burke, Enterprise JavaBeans 3.0, O'Reilly, pp. 1-150, 2006. [9] Sun Microsystems, Enterprise JavaBeans Specification, Version 2.0, Final Release, 2001. [10] Sun Microsystems, JSR220: Enterprise JavaBeans, Version 3.0, Final Release, 2006. 410