Representation of Object-Oriented Database for the Development of Web Based Application Using Db 4 o

Impedance mismatch of data flow is the major problem in the relational database when one is using the web based application development on the computer system. It effects the development of scalable and reusable web application. Due to this, the research cost of development and maintenance increases. Therefore the present work is an attempt towards an object-oriented database system by using Db4o to overcome the impedance mismatch problem. In the current work, the development of web application for Indian Postal Services by using Db4o is demonstrated on dot NET platform. Before developing the application, the authors used a Unified Modeling Language (UML) model in the form of UML class, sequence and use-case diagrams. The Db4o is used to store the object-oriented database and the performance of Db4o is observed through several object-oriented queries and corresponding results are demonstrated.

The relational databases are the most common database management system (DBMS) used as a backend for the web based application.In the current trend of software development, many of the software companies are still using the relational databases but due to impedance mismatch of data flow and evolution of graphical user interface (GUI), software industries are switching from relational databases to object-oriented databases.Let us first describe the important references related to databases.Elmasri and Navathe [1] have presented a clear explanation of theory and design, broad coverage of models and real systems, and an up-to-date introduction to modern database technologies results with a leading introduction to database systems.Silberschatz et al. [2] have discussed the inner working of database system and also discussed about few commercial databases as well as open source database systems.Paterson et al. [3] have described to configure the Db4o, querying and managing objects, performing transactions, and replicating data.Db4o is highly reliable and scalable, which cuts down on development time by smoothly integrating into the system, cutting out the costly object-relational mapping typical for larger applications.Db4o developers community [4] present various blogs and forums related to object-oriented database system such as Db4o, Versant Object Database, Versant JPA, ODBMS.ORG, which helps to get deep understanding on various topics.In [5], Rosenberger made effort to store all objects manually in SQL and has took up half time of total development time and today it is the most well known brand in the niche category "object databases".A big RDBMS machine is oversized for a cell phone.In this case, a tight integration between the application and the database are helpful to achieve top performance.Db4o is also used for caching in near real-time environments when application models are complex, such as in the financial sector, for trading applications.
Rădulescu [6] has given a brief look about SQL technology and demonstrated its limitations on persistence feature of an object-oriented model and also discussed the principles and concepts of Db4o and its implementation on dot NET platform.Danturthi [7] has described a comparative study between the three different methods of data access: SQL Server 2005 with stored procedure, LINQ to SQL and Db4o.Db4o solves the problem of impedance mismatch and making the development of database model much simpler and similar to the application domain model.Liaw et al. [8] have discussed a three tier web based application which can be developed for taking advantage of an object-oriented database instead of using ADO.NET or traditional relational database.Bernardi et al. [9] have presented the validation and the performance evaluation of systems with the help of UML sequence diagrams and state charts.They proposed an automatic translation of state charts and sequence dia-Grams into generalized stochastic petri nets based on the abstract syntax of the UML collaborations and of the state machines packages.
Rumbaugh et al. [10] completely described UML concepts, including major revisions to sequence diagrams, activity models, state machines, components, internal structure of classes and components, and profiles.Umoh et al. [11] have focused on creating a UML structure by specifying the use-case, classes, and activities in the client-server application to design a web-based object-oriented database management system (OODBMS).A working prototype of the system on three-tier client server architecture is discussed in this paper.Chaurasia and Saxena [12] have also introduced a model design through UML for a mobile based electricity bill deposit system.A real case study of Uttar Pradesh Electricity Bill deposit System is considered.In [13], Tagliati and Caloro have discussed the application of UML for the analysis of dynamic words.Mangala [14] also described about the need of ASP.NET and designed the programming model through ASP.NET, which is a completely re-engineered and enhanced technology that offers much, much more than traditional ASP and can increase productivity significantly.

Object-Oriented Database
Evolution of internet and extranet has increased the usage of web-based technology and the companies have shown their interest in object-oriented database management system (OODBMS) to handle the complex data.OODBMS is fusion of two technologies: object-oriented system and database management system.New applications require data persistence, transaction, authorization, distribution, buffering and data scalability associated with the database system, which is fulfilled by the OODBMS.The term object-oriented database system first appeared in 1985 and 2004 was second growth period when open source database system such as Db4o and DTS/SI emerged, which was affordable and easy to use.Db4o (database for objects) is an open sourced bi-licensed software (General Public License and Commercial), written in both java and .NET and can run on any operating system that supports java or .NET.It stores the objects directly without changing their characteristics or crops them to fit in a table of relational data model.The db4o project was started in 2000 by Carl Rosenberger and it was commercially launched in year 2004 by Db4objects Inc but in 2008 it was brought by Versant Corporation.

Unified Modeling Language
The Unified Modeling Language (UML) which is a very dominant modeling graphical language for specifying, constructing, presenting and documenting the artifacts of software system.It is a collection of best engineering practices that have successful in the modeling for a design of a huge and complex systems.Modeling through Unified Modeling language has three categories: Class Model, State Model and Interaction Model.The class modeling is done with the help of object diagram and class diagram.The state model is done, using state diagram and the Interaction modeling is done with the help of activity diagram, use-case diagram and sequence diagram.The main task of the UML is to create a simple, well documented and easy to understand software model for the people.

Web Based Applications
Web based applications are classified into two major categories: static web applications and dynamic web applications.Static web applications are those applications, where the elements comprising the web application are static HTML pages.In this environment, the end user can not interact or modify the application behaviour.On the other hand the dynamic web applications have capability to interact or modify with the application behaviour.The end user gives input and it can be parsed both at the client end or server end.Client side scripts the language by using VB Script and Java Script which are required to parse and interact according to the client input.Using the client side scripting language reduces the traffic of network and also increases the throughput of web based applications.
Server-side scripting is a web server technology and the programs that are executed on the server to generate dynamic web pages.The languages used for these tasks are normal programming languages with special libraries/packages for server side scripting like ASP, C via CGI (*.c, *.csp), PHP (*.php), ASP.NET (*.aspx), Java via java server pages (*.jsp).
The clients use web browsing software to interact with the web server.In ASP.NET when any *.aspx file is requested then the request is send to the Internet Information Server (IIS), which is send to .NET engine.The NET engine parses the client request and converts it to HTML, which is returned to IIS.Finally, IIS returns the HTML to the web browser.Hyper text transfer protocol (HTTP) and file transfer protocol (FTP) are used to deal with the client request and server responses.

Architecture of Web Based Application
The structure of the web based application can be singletiered, two-tiered or three-tiered.Here, authors are using the three-tiered architecture as shown below in Figure 1, which contains the presentation layer, application layer Windows XP (SP1) operating system.An object-oriented database management system Db4o 7.14 is used as a back-end.Db4o is an open source OODBMS, which is freely available and it can be downloaded from: http:// community.versant.com/Downloads.aspx.The software and hardware requirements are described above in the Table 1.
Installation of Db4o database is done with the help of an object browser known as Object Manager Enterprise (OME).After installing it as a plug-in of Ms-Visual Studio 2008, one can get a sub option of object Manager Enterprise in tools option of menu bar.After the completion of installation, new tools are added in the window and it is shown in Figure 2. To create a new web application choose "New Project" from the file menu, in the pop up window select "web" from the visual c# project type.Then choose "ASP.NET Web Application" from the template sub window as shown in Presentation of data and GUI environments are provided to the user with the help of presentation layer.All the rules for the accessing of data and business logic is presented in the application layer.The data layer handles the requests from the application layer.Figure 1 represents the three tier application architecture of web based applications.

Sample Queries for Indian Post Office Database
The project has been developed in Microsoft visual studio 2008 IDE with ASP.NET using C# on Microsoft After completing these tasks, one can store new objects      Generalization of use-case "Add Scheme" is done into two child use-cases "Add Banking Services" and "Add Non-Banking Services".Similarly, use case "Make Trade" has two specialized child use-cases "Credit Card Mode" and "Net Banking Mode".

UML Sequence Diagram
Sequence diagram shown in Figure 8 has five objects Admin, Scheme_Database, Office_Database, Business_ Layer and DataAccess_Layer.In this diagram, the Admin adds a new scheme at Scheme_Database.The request is being sent at Business Layer and PerformUpdate (SID, Qty) operation is performed at DataAccess Layer.The Admin can also add a new employees and branches in office database.After that the request is being sent at Business Layer and Perform Update( ) operation is performed at DataAccess Layer.The Admin can perform queries for the available schemes in the Scheme_Database.The ComputeQuery( ) operation is performed at Business_Layer and the Re-trieveResult( ) operation is performed at DataAccess_ Layer.Finally, the result is passed to the Admin.

UML Class Diagram
The UML class diagram shows the static structural behaviour of the system, in which attributes and operations are designed for the complete system.

Conclusion
Major web applications are being developed using relational database management system (RDBMS) but enough time is consumed for relating the object model of .NET and database model.Object-oriented database system (OODBMS) is an alternative of RDBMS, which can be verified efficiently and easy to use.The development of web application for the post office is developed using Microsoft Studio IDE that takes the advantage of object-oriented database system Db4o.Further studies can be done to explore new capabilities and potentials of Db4o like data mining, clustering of object-oriented database, etc.

Figure 3 .
We have to add Db4objects.Db4o.dllfiles to the references of project, which is freely available and the process is shown in the Figures 3 and 4. and data layer.

Figure 5 .Figure 6
Figure 5. Storing objects in C# for Db4o.are: Query By Example (QBE), Simple Object Data Access (SODA) and Native Queries (NQ).Authors have used native query for the querying purpose in this paper.The query is expressed as predicate in .NET language as the object template.The problem of impedance mismatch is completely removed when one can use native query in Db4o.Code for native query is given below: try {

Figure 7
represents a use case diagram for the Admin, which has five use cases: Search Scheme, Add Scheme, Validate Password, Make Trade, Add Emp & Branches.

Figure 9
represents the class diagram of the online post office

Figure 7 .
Figure 7. UML use-case diagram for Customer.

Figure 9 .
Figure 9. UML class diagram for the application.

Table 1 . Software and hardware requirement table.
Object files are the class objects with properties.Here we have four major classes, which are User, Scheme Database, Office Database and SalesRecord.The User class has three sub-classes, which are Admin, Employee and Customer.The User object file is created by creating a class in C# with all its properties.These properties are converted as a database object file for Db4o.The code for object storage mechanism in Db4o is given below and also shown in the Figure5.