Comparison of Software Development Productivity by EJB Versions with Enterprise of Standardization



Similar documents
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc

What Is the Java TM 2 Platform, Enterprise Edition?

Client-Server Architecture & J2EE Platform Technologies Overview Ahmed K. Ezzat

Glassfish, JAVA EE, Servlets, JSP, EJB

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

Distributed Objects and Components

Java Technology in the Design and Implementation of Web Applications

Design Approaches of Web Application with Efficient Performance in JAVA

Java 2 Platform, Enterprise Edition (J2EE) Bruno Souza Java Technologist, Sun Microsystems, Inc.

How to Build an E-Commerce Application using J2EE. Carol McDonald Code Camp Engineer

The Comparison of J2EE and.net for e-business

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

What is Middleware? Software that functions as a conversion or translation layer. It is also a consolidator and integrator.

CS Developing Web Applications with Java Technologies

era J2EE Platform and Tool Recommendations

Japan Communication India Skill Development Center

Contents. Client-server and multi-tier architectures. The Java 2 Enterprise Edition (J2EE) platform

CrownPeak Java Web Hosting. Version 0.20

Web and Enterprise Applications Developer Track

Understanding Application Servers

Client-server 3-tier N-tier

Converting Java EE Applications into OSGi Applications

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

Development of Object-Oriented Analysis and Design Methodology for Secure Web Applications

3-Tier Architecture. 3-Tier Architecture. Prepared By. Channu Kambalyal. Page 1 of 19

Unit 2 Research Project. Eddie S. Jackson. Kaplan University. IT530: Computer Networks. Dr. Thomas Watts, PhD, CISSP

Enterprise Service Bus: Five Keys for Taking a Ride

Motivation Definitions EAI Architectures Elements Integration Technologies. Part I. EAI: Foundations, Concepts, and Architectures

SOFTWARE ARCHITECTURE FOR FIJI NATIONAL UNIVERSITY CAMPUS INFORMATION SYSTEMS

JAVA/J2EE DEVELOPER RESUME

B. WEB APPLICATION ARCHITECTURE MODELS

How To Develop An Application Developer For An Ubio Websphere Studio 5.1.1

Enterprise Applications

Japan Communication India Skill Development Center

25 May Code 3C3 Peeling the Layers of the 'Performance Onion John Murphy, Andrew Lee and Liam Murphy

SAP's Integrated Development Environment for Java. Karl Kessler, SAP AG

OUR COURSES 19 November All prices are per person in Swedish Krona. Solid Beans AB Kungsgatan Göteborg Sweden

1. Introduction 1.1 Methodology

How To Understand The Architecture Of Java 2Ee, J2Ee, And J2E (Java) In A Wordpress Blog Post

EJB & J2EE. Component Technology with thanks to Jim Dowling. Components. Problems with Previous Paradigms. What EJB Accomplishes

Modern Software Development Tools on OpenVMS

The leading platform for Model Driven Architecture (MDA) Content:

GRAD Analytics Advanced price and promotional analysis interface. Reactive UI providing dimensional visibility to marketing analysis.

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation

Framework Adoption for Java Enterprise Application Development

Oracle WebLogic Server

Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

Japan Communication India Skill Development Center

Workshop for WebLogic introduces new tools in support of Java EE 5.0 standards. The support for Java EE5 includes the following technologies:

Java EE 7: Back-End Server Application Development

Oracle WebLogic Server 11g Administration

Aplicações empresariais de elevada performance com Oracle WebLogic e Coherence. Alexandre Vieira Middleware Solutions Team Leader

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Enterprise JavaBeans' Future: Getting Simpler, More Ubiquitous, but Not Dominant

Java (J2SE & J2EE) and Web Development Training Catalog

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

NetBeans IDE Field Guide

EAI OVERVIEW OF ENTERPRISE APPLICATION INTEGRATION CONCEPTS AND ARCHITECTURES. Enterprise Application Integration. Peter R. Egli INDIGOO.

Windows 2000 / NT 4.0 / 95 / 98, MS-DOS, Suse Operating Systems

ON-LINE BOOKING APPLICATION NEIL TAIT

Oracle Application Development Framework Overview

Virtual Credit Card Processing System

Online College Magazine

Enterprise Application Integration

IBM Rational Web Developer for WebSphere Software Version 6.0

Chapter 1 Introduction to Enterprise Software

CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS

Beginning POJOs. From Novice to Professional. Brian Sam-Bodden

This presentation is for informational purposes only and may not be incorporated into a contract or agreement.

OFFSHORE SOFTWARE DEVELOPMENT

Migration and Developer Productivity Solutions Cloud, Mobile and Web Development Workshop

<Insert Picture Here> Application Testing Suite Overview

Evaluating Presentation Layer Development Frameworks for EJB Applications in J2EE Architecture

HPC Portal Development Platform with E-Business and HPC Portlets

The Design of B2B E-commerce System Based on MVC Model and J2EE

This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.

Core Java+ J2EE+Struts+Hibernate+Spring

.NET and J2EE Intro to Software Engineering

1 What Are Web Services?

Service Oriented Architectures

BUSINESS RULES MANAGEMENT AND BPM

Portals, Portlets & Liferay Platform

HPC PORTAL DEVELOPMENT PLATFORM

SSC - Web development Model-View-Controller for Java web application development

Design of Electronic Medical Record System Based on Cloud Computing Technology

Semarchy Convergence for Data Integration The Data Integration Platform for Evolutionary MDM

Oracle WebLogic Server 11g: Administration Essentials

DEPLOYMENT ARCHITECTURE FOR JAVA ENVIRONMENTS

Choose an IBM WebSphere Application Server configuration to suit your business needs

Transcription:

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