Rapid Application Development in Synergy with Persistence Framework

Rapid Application Development in Synergy with Persistence Framework

RAPID APPLICATION DEVELOPMENT IN SYNERGY WITH PERSISTENCE FRAMEWORK Choon How Choo and Sai Peck Lee Faculty of Computer Science and Information Technology, University of Malaya, 50603 Kuala Lumpur, Malaysia Keywords: Rapid application development, persistence framework, rapid prototyping, framework reuse. Abstract: This paper proposes the concept, architecture, design and development of a rapid application development toolkit that will leverage on a persistence framework named PersistF, to subsequently provide an easy-to- use and customizable front-end web application development environment for software developers to perform rapid web application development. The proposed rapid application development toolkit consists of two main parts – RADEWeb and PersistF Configuration Wizard, to enable software developers not only to deliver their target web application within a shorter timeframe through an easy-to-use front-end environment, but also to achieve encapsulation of database access from the business objects of the web application. 1 INTRODUCTION Some companies offer products that provide some or all of the tools for RAD software In fast changing environments, software developers development. These products include requirements must deliver software systems quickly to meet gathering tools, prototyping tools, computer-aided business delivery schedules, and not their own software engineering tools, language development timetables. Spending months and years developing environments such as those for the Java platform, systems to high standards is fruitless if over time groupware for communication among development requirements change beyond recognition. Software members, and testing tools. RAD usually embraces development must serve its customers. Simple object-oriented programming methodology, which value-for-money systems that work are better than inherently fosters software reuse (Berry & expensive and complex ones delivered late, over- Naumann, 2007). The most popular object-oriented budget, and that are difficult to maintain (Howard, programming languages, C++ and Java, are offered 2002). in visual programming packages often described as Rapid application development (RAD) has long providing rapid application development. been promised to be a boon to the computing What is a “persistence framework”? Before community. The idea is to develop a method of understanding the terminology, the two things that designing software so that the whole process is should be known are “Persistence” and quick, painless, and nearly effortless. The tools used “Framework”. In computer science, “Persistence” should be easy to learn, powerful, and allow the refers to the characteristic of data that outlives the designers to interface their freshly minted execution of the program that created it. Without this application with other applications, databases, and capability, data only exists in memory, and will be file types (Web Developer’s Journal, 1997). While lost when the memory loses power, such as on no universal definition of RAD exists, it can be computer shutdown. Persistence operations are characterized in two ways: as a methodology usually separated into well-recognized categories, prescribing certain phases in software development based on the types of data entries stored by the (similar in principle to the spiral, iterative models of software. These categories are the ability to add (or software construction), and as a class of tools that create) new entries as well as view (or retrieve), edit allow for speedy object development, graphical user (or update) and delete existing entries (Wikipedia, interfaces, and reusable code for client/server 2007a). applications (Agarwal et al., 2000). 133 How Choo C. and Peck Lee S. (2008). RAPID APPLICATION DEVELOPMENT IN SYNERGY WITH PERSISTENCE FRAMEWORK. In Proceedings of the Third International Conference on Software and Data Technologies - SE/GSDCA/MUSE, pages 133-138 DOI: 10.5220/0001878301330138 Copyright c SciTePress ICSOFT 2008 - International Conference on Software and Data Technologies A framework is a basic conceptual structure used in which its persistence aspects are to be handled in to solve a complex issue. In the software context, a the context of a given framework. This decreases the “framework” is a reusable design for a software overall productivity for the developer and system (or subsystem). A software framework may complicates the development process by forcing the include support programs, code libraries, a scripting developer to learn the lingo of the target framework. language, or other software to help develop and glue Tedious and error-prone configuration tasks and together the different components of a software coding works may lead to costly, time consuming project (Wikipedia, 2007b). Frameworks are also process, and increase time-to-market for the targeted defined as a set of classes that embodies an abstract application. PersistF, a framework prototype which design for solutions to a family of related problems was developed within our research programme, has or a set of objects that collaborate to carry out a set been chosen as a basis for exploration, design and of responsibilities for an application subsystem development of our proposed RAD toolkit due to the domain (Hyo et al., 2000). From the above easy configuration of its framework behaviour. This explanation, it can be concluded that a persistence research intends to develop a rapid application framework is one of the reusable designs. development toolkit that will leverage on PersistF to A “persistence framework” moves the program subsequently provide an easy-to-use and data in its most natural form (in-memory objects) to customizable front-end web application and from a permanent data store (e.g. database) development environment for developers to perform (RoseIndia, 2007). Most such frameworks require rapid web application development. developers to maintain lots of meta-data describing how to map the object data into the relational database. However, with the advent of advanced 3 RELATED WORK language features (e.g. reflection), most of this meta- data can be obtained at runtime (Mertner, 2005). Research work on the design and development of the framework diagram and framework-based RAD tool, named INTRAD (INTranet RAD) (Hyo et al., 2 MOTIVATION 2000) generates an application’s source code based on the frameworks, analysis and design information. Nowadays, most enterprise applications need access Therefore, programmers can develop applications to a relational database (EL-Manzalawy, 2007). The easily and quickly by reusing not only source code Java standard for accessing relational databases is but also design information. In Vidyadharan (2006), the JDBC APIs that utilize SQL as a data techniques for Rapid Application Development manipulation language. This approach of directly through the use of Data Binding and Object accessing a relational database from an object- Persistence were discussed. He also outlined a oriented Java application was shown to be inefficient general-purpose Data Binding framework that in and introduces a problem called “object-relational combination with the choice of an appropriate impedance mismatch,” or simply “impedance persistence framework can facilitate Rapid mismatch” for short, which refers to the differences Application Development. By using frameworks like between object-oriented technology and relational Spring and Hibernate, Bolwidt and Partington technology. An approach for solving the impedance (2006) produced a full working application in two mismatch problem is to introduce an abstract layer, days. They believed that the strong points benefited called a persistence layer/framework, between the them most are good team development because of relational database and the object model of the component separation. This work developed the application. This layer fully encapsulates the RAD tool that produced a full working application database access from the business objects (Ambler, in a very short time, but the biggest problem was the 2006). speed at which they could build the user interface There are many persistence frameworks (both (Bolwidt & Partington, 2006). Open Source/Academia and Commercial) such as Bochicchio, Paiano and Paolini (1999) carried Hibernate (RoseIndia, 2007), JDO (RoseIndia, out a research called JWeb – a fast prototyping tool 2007), Castor (RoseIndia, 2007), and PersistF (Jusic (Bochicchio et al., 1999). JWeb is an offspring of & Lee, 2007). Most of the persistence frameworks the Autoweb effort (Bochicchio et al., 1999). WARP require users (developers) to configure the (Web Application Rapid Prototyping) is a natural framework’s behaviour by providing enough evolution of JWeb based on the new evolution of information about the target application and the way methodology and on fast-prototyping completely 134 RAPID APPLICATION DEVELOPMENT IN SYNERGY WITH PERSISTENCE FRAMEWORK online (Bochicchio & Fiore, 2004). Compared to existing tools, WARP is an aid for analysis and Software Downloaded developer Project design of web applications because it introduces a Archive new approach completely online (both the design and execution environment), so the author can immediately formulate and evaluate requirements, Web Browser specification and designs. In short, Hyo et al. (2000), Vidyadharan (2006), and Bolwidt & Partington (2006) showed the framework related approaches to achieve the RADEWeb features of Rapid Application Development. Autoweb, JWeb and

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    6 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us