Develop an Asset Management System (AMS) for Ho Chi Minh University of Industry

Size: px
Start display at page:

Download "Develop an Asset Management System (AMS) for Ho Chi Minh University of Industry"

Transcription

1 MASTER INFORMATION TECHNOLOGY SOFTWARE ENGINEERING Develop an Asset Management System (AMS) for Ho Chi Minh University of Industry Supervisor: Pham Minh Tung Student: Tu Thi Xuan Hien HO CHI MINH CITY 12/2011

2 Abstract Nowadays, HCM University of Industry becomes one of the biggest universities in Vietnam with five branches. It possesses a huge quantity of equipment using for the training, so that there is a need of building a program for managing all assets of the university. The project Develop an asset management system of the HCM University of Industry is created to meet this demand. This project develops an application that can help the managers to evaluate the values of all equipment, to manage the allocation the assets among five branches, or among different departments of one branch. Furthermore, the Asset Management System can also be useful in managing the repair, insurance, liquidation, and replacement of all equipment. The development of the asset management system is based on the three-tierarchitecture and Object Relational Mapping (ORM). It is implemented in three phases: researching ORM Java Persistence API and Hibernate, analyzing and designing database using MS-SQL, and implementing the program using JAVA language. 1

3 TABLE OF CONTENTS CHAPTER 1. INTRODUCTION About Ho Chi Minh University of Industry About project Technologies used for implementation of the project The project implementing plan table... 6 CHAPTER 2. FEATURES OF TECHNOLOGY Object relational mapping (ORM) Impedance mismatch What is ORM? Why choosing ORM? Java Persistence API (JPA) Hibernate CHAPTER 3. ANALYSIS AND DESIGN DATABASE Requirement collection and analysis Requirements of users Asset processing Application users Data requirements Functional requirement Non-functional requirement Use case for a HUI database Use cases for the user admin Use cases for the branch managers: Use cases for the department managers Sequence diagram Conceptual database design The ER schema diagram for the AMS database Class diagram Relational Database model of AMS CHAPTER 4. IMPLEMENTATION OF APPLICATION

4 4.1 Structure of the application Data processing Functional of the application CHAPTER 5. CONCLUSION AND IMPROVEMENT Conclusion Improvement APPENDIX 1. HIBERNATE AND JPA Hibernate Architecture JPA using Hibernate Annotations Managing entities The Java Persistence Query Language (JPQL): APPENDIX 2. INSTALLATION GUIDE System requirements: Restore database APPENDIX 3. HUI ASSET DATABASE STRUCTURE APPENDIX 4. DEMO APPLICATION Login window Main window APPENDIX 5. WORKING WITH HIBERNATE JPA ON ECLIPSE REFERENCES

5 TABLE OF FIGURES Figure 1: Asset processing Figure 2: Using cases of the User Admin Figure 3: Using cases of the branch manager Figure 4: Use case for department manager Figure 5: Sequence diagram for application Figure 6: ER diagram for database Figure 7: The class diagram for AMS Figure 8: Relational Database model in SQL Figure 9: Hibernate architecture Figure 10: State of entity instances Figure 11: Log in window Figure 12: The main window Figure 13: The Branch management window Figure 14: The Provider management window Figure 15: The Employee management window Figure 16: The Asset management window Figure 17: The Asset management window Figure 18: The Asset management window

6 CHAPTER 1. INTRODUCTION 1.1 About Ho Chi Minh University of Industry Ho Chi Minh University of Industry (HUI) is one of the biggest technical and vocational education universities in Viet Nam with 5 branches whose head office is located in Hochiminh City. The university is headed by principal Tran Tuan Anh responsible for controlling the general operations of the entire school, and six vice principals who are in charge of dealing with different issues. Now I work for the Computer Science Engineering Department. There are about 60 staffs working here, responsible for educating and training of many different levels from vocational ones to those of university. With the focus in the field of software technology, network technology, media and web technology, this department attracts about 1000 students each year. I have been working here for over 10 years, in charge of some subjects of basic such as programming technical, Database management system, and web design Software Engineering Center is another department of the university, providing software resolutions which are used internally and nation-wide as well. This is the department where I do my internship. My project is one of those assigned by the university. Mr. Pham Minh Tung, my supervisor, is the director of this center, managing about 20 staffs. 1.2 About project In the past, due to the small quantity of assets, the management of assets information is simply implemented by Excel program. However, with a rapid expansion of not only the size of each branch but also the number of branches of the university, there is a significant rise in the volume of assets which make it impossible to manage by Excel. Therefore, a construction of asset managing software turns out to be indispensable to help the asset managers handle effectively their tasks. My project develops an application of the asset management system aiming to meet this demand. The asset management system is built to increase the effect of the management and the allocation of training equipment and office facilities in all faculties and departments in five branches of HUI. It also allows monitoring the asset using state over certain periods of time to make necessary changes such as repair, insurance, 5

7 replacement, supplementation or liquidation to maintain the good condition and sufficient quantities of these assets to meet the demand of university. Besides, this program helps managers estimate the total value of all assets, calculating automatically the amortization of assets during the period from the time of adding to the time of liquidation. 1.3 Technologies used for implementation of the project My project is an application implemented with object-orientated programming technology in Java language and use relational database management system SQL for persisting data. The next chapter will presents more detail about the features of these techniques as well as the reason why I made those choices. 1.4 The project implementing plan table The project is supposed to be accomplished in 3 stages: Analyzing and designing database stage Collecting data Analysis requirement of the application Design relational database model for application. Researching stage: Studying the Object Relational Mapping technique, JPA and Hibernate Developing stage: Developing the application with Java and Object Relational Mapping technique. N 0 Contents Starting date Finishing date Analyzing and designing database 1 Making plan for the project 01/07/ /07/ Requirements for the application 2. Analyzing and designing database. Collecting Data Analyzing data Designing relational database Studying the Mapping technique Overview ORM Research stage Object Relational 06/07/ /08/ /08/ /08/2011 6

8 4 ORM technique ORM with Hibernate JPA Programming Model Developing stage 1. Creating a login form 2. Building a menu system 3. Adding modules: Branch management Department management 03/08/ /11/2011 Provider management Category management Employees management Asset management Final Report 01/12/ /12/2011 Table 1: The project implementing plan table 7

9 CHAPTER 2. FEATURES OF TECHNOLOGY 2.1 Object relational mapping (ORM)[1] My project is an application implemented with object-orientated programming technology in Java language and use relational database management system SQL for persisting data. However, the object-oriented paradigm and the relational database paradigm are two fundamentally different models, causing a conceptual gap which is called object relational impedance mismatch. To solve this problem, I and my supervisor decided to use object relational mapping (ORM), a technology used for integrating object programming languages with relational database access. This chapter will be continued with the presentation more detailed about impedance mismatch, how ORM helps solve the disparities between domain model and relational model, and why we chose this approach by comparing with other existing approaches Impedance mismatch As I mentioned above, the impedance mismatch is the incompatibility between the object-oriented approach for application design and the relational model for database design. This problem is caused by some reasons. The object paradigm is based on software engineering principles such as coupling, cohesion, and encapsulation, whereas the relational paradigm is based on mathematical principles. Furthermore, the object paradigm plays the role in building operations of objects that have both data and behavior, whereas the relational paradigm is used to store data in tabular form, concentrating on data and its relationship. So that to enable objects to be saved to and retrieved from relational database, it is necessary to map the object model to the data model. ORM is one of the approaches can meet this demand What is ORM? ORM is a technique that helps convert data between type systems in relational database and object-oriented programming languages. It persist application objects to the tables in a relational database. In addition, ORM provides functionality to perform complete four basic operations of persistent storage create, read, update and 8

10 delete (CRUD) and object-oriented querying, supports metadata mapping and helps in the transaction management of the application Why choosing ORM? We decided to use ORM because the ORM frameworks present many advantages. Firstly, it automates the object-to-table and table-to-object conversion. This contributes to the simplification of development process, leading to a reduction of time and costs due to the reduction of hand-coding. Secondly, ORM tools provide an object oriented query language which helps developers concentrate on the business logic of the application rather than repetitive CRUD logic. Besides, when there are any changes to the object model, the ORM will automatically use the updated structure for retrievals and updates. It also supports multiple users to update the same data simultaneously. Nowadays, besides ORM there are some other approaches which also provide persistence for objects using relational databases such as Call-Level application programming interfaces or SQL query mapping frameworks. Each technique has its own advantages as well as disadvantages. The Call-Level API approach has low overhead and attain a highest level of control over the details of database connection. However, it requires a lot effort to write detailed code which is seldom reused. The developers should have a wide knowledge about DBMS capabilities and the database schema. Being unable to generate SQL code automatically is another significant weakness. For SQL Query mapping framework, it can give direct access to all DBMS capabilities provided through SQL and able to map easily to the legacy database schema. Nevertheless, there are also some flaws that need to be considered. Besides those similar to Call-Level API approach such as the problem of SQL code, having more overhead, and required understanding about DBMS, it cannot provide transparent persistence. We chose ORM because it appears to be the most predominant. With ORM, we don t have to face the above problems, excepting the fact that it has more overhead. Comparing to the other two techniques, ORM provides the highest level of transparent persistence and its implementation of persistence is fully separated from the rest of the code. 9

11 2.2 Java Persistence API (JPA) [2] Based on ORM theoretical foundation, it is my understanding that now there are two ORM frameworks adopted for data persistence on Java platforms: JDBC and JPA. In this project, we decided to use JPA for the following reasons. Up to now, JDBC (Java Database Connectivity) API has been traditionally used in Java applications for persist data into relational databases. It can handle large amounts of data, having mechanisms to ensure data integrity, supporting concurrent access to database. However, the developer is required to write intensive code to implement the business logic along with SQL sentences. To optimize the JDBC performance, it is necessary to program connection pooling and data caching. Moreover, JDBC does not duplicate serialization's ease of use and the relational paradigm used by JDBC was not designed for storing objects. Therefore, we made the choice of using Java Persistence API (JPA) since it presents more advantages in the persistence mechanisms. JPA is the standard Java API for the management of persistence and object relational mapping. In the advent of JPA, the programmers are relieved from writing intensive and complicated code. It supports the large data sets, data consistency, concurrent use, and query capabilities of JDBC. JPA also allows the use of advanced object-oriented concepts such as inheritance. 2.3 Hibernate[3] There are many open sources ORM tools used for the ORM implementation such as OpenJPA, Top Link, Eclips link and Hibernate. Most of these tools are persistence frameworks that provide a layer of abstraction between the Java application and the database. Those tools enable at least the basic database operations like creating, reading, updating, and deleting (CRUD). Among these tools, my project uses Hibernate because Hibernate is the most widely used Java ORM tool. Hibernate is a full Object-Relational Mapping (ORM) tool for JAVA. Hibernate helps mapping the objects and their relations into a database. It lets developer persistent classes including association, inheritance, and polymorphism. Hibernate not only takes care of the mapping from Java classes to database tables, but also provides data query and retrieval facilities and significantly reduce time spent with manual data handling in SQL and JDBC. It well supports some relationships among different layers of Java such as one-to-many, many-to-many as well as the association or inheritance relationships among objects. Besides, Hibernate allows 10

12 users to define their own types of stored data and supports many others mapping mechanisms such as enum, collection, mapping a single attribute for many tables. Nowadays, Hibernate is used in many frameworks such as spring, struts, tabestry or webwork. It is a useful tool not only for Java developers but for those who work with.net technology (Nhibernate) as well. Hibernate can run in many different environments from single application to those of commercial Java which use servlet container, application server and EJB container. 11

13 CHAPTER 3. ANALYSIS AND DESIGN DATABASE This chapter mention about the users of this application and their requirements. Basing on user requirements, I then present the information necessary for building the database as well as the function and non-function requirement of the application. Finally, I describe detailed steps of database designing. [4] 3.1 Requirement collection and analysis Requirements of users The database for AMS application is established based on the demanding of users. AMS is required to be able to manage the following items: - Information about the assets: asset value, classified group, guarantee period, expiry date, current using state (being in use or stored) - Information about the providers (necessary for the guarantee or demanding to supply more) - Information about the producers (to clarify if they are prestigious of certain products) - Asset distribution (the asset is allocated to which branch, which department, which classroom) - Information about the branches, the department, the classroom, the staffs who are responsible for the asset management - Asset bills (to estimate the guarantee period, the expiry date, liquidation date, and amortization) Besides that, AMS must be ready to provide the reports of the total asset value or asset statistic according to branch, department, or asset group at any time when the user needs. AMS must also be kept in secret. 12

14 3.1.2 Asset processing Figure 1: Asset processing AMS manages the processing of assets information from the time an asset is added to the time it is liquidated, including the stages of newly adding, distribution, inventory, repair, innovation, and liquidation Application users AMS is an application used for the asset management of the whole system of HUI. It will help the managers of this university monitor the asset using state. The system admin authorizes the people who are in charge of asset management. First, they are those who work in administration department, using this application to update asset information and report to their seniors the requirements of repair or replacement as well as the new state after making any changes. Therefore, based on this application they can maintain the best availability of all equipment served for the teaching and studying activities in the university. A small example about a function of this program is that if there is a requirement of a class with 100 students, needing two projectors, the AMS can list all the rooms which meet this requirement. The principal and vice principals, through this application, can make the final decision of asset innovation, adding, replacement or liquidation according to the reports sent by the administration staffs. Besides, the dean or vice deans of each department also have the right to use this system to manage internal assets, and then give necessary demands or suggestions of changes. 13

15 3.1.4 Data requirements From the above requirements collection and analysis, the data of HUI s assets is presented in database in the following manner. AMS manages the information of every branch. Each branch contains one or more departments; each department has many employees; each employee belongs to a particular department of a branch and may have many rights in the application system; each type of right can be assigned to many employees. AMS manages the assets according to their types; each type of asset is provided by many providers; each provider can provide many types of asset. Asset is classified into groups; each group contains many types; each type belongs to only one group. Information of manufacturers is also managed by AMS. Each manufacturer produces many assets; each asset is produced by one manufacturer. When a new asset is added, this system will manage the information of its insurance state. The assets are distributed to the rooms of each department in each branch. AMS permits the dean of each department to monitor and manage the assets of their own department, planning for the necessary repair, innovation or supplementation. Each department manages many assets; each asset is under the control of one department. The department of each branch manages their own asset according to rooms. Each department has many rooms; each room belongs to one department of a specific branch. Each room contains many assets; each asset is located in one room. 3.2 Functional requirement AMS is built to help the managers of HUI to monitor the asset using state, planning for necessary repair or replacement, so that the researching, teaching and studying in the university can be served with the best asset system. Based on those purposes, AMS must be able to implement the following functions: Managing the users: the log-in process, password changing, authorizing the access, adding new users, modifying user information and managing the employees of each agent who are responsible for the asset management Managing data: data backup and restore process 14

16 Managing the asset information of university, including manufacturers, providers, adding date, value and quantity of each asset type, expired date, amortization during the time of using Managing the bill of adding or removing the assets Managing the quantity of assets of each department of each branch, monitoring the using condition of each agent Managing the list of assets which need to be liquidated or replaced Calculating the total value of asset as a particular time Outputting reports: Catalogue report Asset list report Asset inspection report Asset repair and guarantee report Innovation: Asset breaking down state informing form Liquidation: Asset liquidation report 3.3 Non-functional requirement In this section, I would like to mention about the factors that are not related to the specific functional requirements of the program. First of all, it is about the operation of the program. Because five branches of HUI access to this program concurrently, the system must be developed to operate stably and reliably. Besides, the application manages a huge volume of database, so that the database must be suitable for fast growing data. The next point is that there are many functions and reports in this program. Therefore, the graphical user interface is another key element that should be paid attention. Being user-friendly and easy-to-use are the necessary features which the interface must have. In addition, the reports in this program must display enough columns and information that the user need for making the statistics of the status of asset, etc Finally, only the people who have responsibility of managing the assets have the privilege to access the system. 15

17 3.4 Use cases of HUI database The users of this application include the user admin, the branch managers and the department managers who are authorized by the admin Use cases of user admin After logging in successfully, the user admin is responsible for system administration, including security and data management. In the session of security management, the user admin manages the accounts and authorizes users to access and manipulate the application. In the other session, he or she manages data by implementing data backup and restoring Use cases of branch managers: Figure 2: Using cases of the User Admin The branch manager manages the asset supplementation, transfer, and distribution, deletion of the liquidated assets, value statistic, and amortization calculation. After log in successfully, the branch managers can manipulate the following functions: 16

18 Managing assets: Adding new asset Updating asset information Estimating the total value of assets Implementing asset inventory, demanding necessary repair, insurance or liquidation Distributing assets Managing the contracts of asset purchase and insurance Figure 3: Using cases of the branch manager Use cases of department managers The department managers monitor the assets using to demand any necessary repair, innovation or replacement. After log in successfully, the department managers can monitor the assets of their own department: o Updating the status of assets o Demanding the any necessary repair, innovation or replacement o Reporting the using condition 17

19 3.4.4 Sequence diagram Figure 4: Use case for department manager 3.5 Conceptual database design Figure 5: Sequence diagram for application The ER schema diagram for the AMS database. 18

20 From the data requirements above, the entity relational diagram for AMS database is designed as the following Manufacturer 1 Invoice * belong 1 Provider Produce * have * Asset * * * * * belong Ensure 1 1 Room Ensure belon * 1 Category Belong * * Department Branch * * Work Account 1 have 1 * Employee 1 * Trace * have * Privilege Figure 6: ER diagram for database 19

21 3.5.2 Class diagram Class diagrams can be considered as an alternative notation to ER diagrams. In this diagram, there are two types of relationships: association and aggregation to represent a relationship between a whole object and its component parts, and it has a distinct diagrammatic notation. Based on the analyses above, the class diagram of the application is constructed as the following: Figure 7: The class diagram for AMS Relational Database model of AMS In this section, we describe some necessary constraint. We also show all of entities and relationships between them. Base on the functional requirements, we design a database relational model in SQL as follow Figure 8: Relational Database model in SQL 20

22 21 Account EmployeeID UserName Password isdisable Asset AssetID ChildAssetID AssetName PurchasedDate CurrentValue AmountPaid SerialNumber RoomID CategoryID ModelNum Size WarrantyType WarrantyExpire NumberMade Color image InsurerID StatusID ManufactureID EmployeeID NumberOfYearToUse ValueToSellWaste Description IsDeleted Branch BranchID BranchName Website Phone Address City Fax Region IsMainBranch Description IsDeleted Category CategoryID CategoryName NumberOrCode image Description IsDeleted Department DepartmentID DepartmentName AbbreviationName image Description IsDeleted DeptBranch BranchID DeparmentID Description IsDeleted Employee EmployeeID PositionName Title FirstName MiddleName LastName BirthDay Address City HomePhone CellPhone BranchID DepartmentID Description IsDeleted EmployeeRight RightID EmployeeID Description IsDeleted Insurer InsurerID InsurerName WebSite ContactName ContactTitle Phone Address City Fax Description IsDeleted Manufacturer ManufactureID ManufactureName WebSite ContactName ContactTitle Phone Address City Fax Description IsDeleted Provider ProviderID ProviderName WebSite Phone ContactName ContactTitle Address City Fax Description IsDeleted Room RoomID RoomName BranchID DepartmentID Description IsDeleted AssetStatus StatusID StatusName Description IsDeleted Invoice OrderID OrderDate DeliveryDate ProviderID EmployeeID Description IsDeleted InvoiceDetails OrderID AssetID Quantity UnitPrice Description IsDeleted Privilege RightID Access Description IsDeleted Trace LogID EmployeeID LogonTime LogoutTIme Actions

23 CHAPTER 4. IMPLEMENTATION OF APPLICATION Implementation of the project is the next phase of the project. In this chapter, I how describe how the application is organized, how the data is processed, and the list of implemented modules. 4.1 Structure of the application The application is build based on multi-tier model, we organized the application by folder structure: Folder named AssetManagementSystem has some package as listed below: Hui.edu.vn.asm.jpa: This package contains objects. Each of them is corresponded to a table in database. For instance, table Asset which is used to store information of Asset will be mapped to an entity called Entity Asset. Each entity has its own attributes and public class Asset implements @Column(name="AssetID") private int private String assetname; public int getassetid() { return this.assetid; } public void setassetid(int assetid) { this.assetid = assetid; } public int getamountpaid() { return this.amountpaid; } } 22

24 Hui.edu.vn.business: This package can be considered as Business logic Layer in 3- tier model. It contains methods that help Business Layer which we will mention below to connect the data and perform required actions related to accessing database. It plays a role in persisting database basing on EntityManager Factory. public Asset getsingleresult(int assetid) { em.gettransaction().begin(); Query que=em.createnamedquery("asset.findbyassetid"); que.setparameter("assetid", assetid); Asset asset=(asset)que.getsingleresult(); em.gettransaction().commit(); return asset; } Hui.edu.vn.controler: This package contains the class that is used to control the requests of the presentation layer. It creates all events for user interface (view layer). Hui.edu.vn.view: This package contains user controls. Each of them is actual form. The form is a layout of controls like textbox, dropdown list box and so on. These forms are used for user to input the data or represent information to user. This package is also contains some others like: images illustrate. This package can be considered as Presentation Layer. 4.2 Data processing My project is a JPA application, using the technology of JPA and Hibernate to process data. Each object is considered as entity which is stored in a relational database. An entity defines a table in a relational database in the manner which each instance of an entity corresponds to a row in that table. The entity is managed by the EntityManager, a standard API for performing CRUD (create, read, update, and delete) or persistence operations for entities. Each entity includes four states, including New, Managed, Removed and Detached states. The new state of an entity is indicated by the new() operator. The entity instance is in the managed state when it has a persistent identity and is associated with a persistence context, indicated by persist() operator. Being in the detached state, the entity instance is not associated with a persistent context. The detached state is brought back to the managed state by 23

25 the merge() method. When the EntityManager calls remove() method, the entity instance is deleted and transferred from managed to removed state. To retrieve and manipulate entities, Java Persistence Query Language (JPQL) is used. 4.3 Functional of the application The application consists of three modules as following: 1. System Information User management Data management System configuration 2. Catalogue System Asset group catalogue Updating, adding, deleting Asset catalogue Branch distribution Department distribution Room distribution Automatic calculation of amortization Updating, adding, deleting Finding the list of assets according to branches, departments and rooms Provider catalogue Updating, adding, deleting Manufacturer catalogue Updating, adding, deleting Employee catalogue Updating, adding, deleting Insurance catalogue 3. Report Updating, adding, deleting General statistic of assets according to branch, department, room and asset type 24

26 Asset transfer report New asset requirement report Current asset value report Asset liquidation report Asset insurance and repair report Asset listing in accordance with the inventory agent List of excessive asset after being inventoried 25

27 CHAPTER 5. CONCLUSION AND IMPROVEMENT 5.1 Conclusion In the tendency of expanding and innovation of HUI, the number of assets possessed by university is increasing day by day. Facing with a demand of asset management, there need to be application software which supports the managers to effectively handle the managing and using all the assets of the university. The full project of HUI asset management system is created to meet this requirement. My work is a part of this full project, implementing some basic functions of the application. They includes analyzing and designing database, implementing some modules which allow managing the asset according to branches, departments, providers, manufacturers, employee and categories. Through this project, I have had a good chance to study more about Java language, ORM and Hibernate JPA on Eclipse which help me to broaden my knowledge and support a lot in my career as a teacher. I want to show my gratefulness to Ms. Ann Dicky and Mr Pham Minh Tung who helped me accomplish this project. 5.2 Improvement After my work, the rest of this project will continued to be developed by other members with the following modules 1. System Information User management Data management System configuration 2. Report General statistic of assets according to branch, department, room, asset type Asset transfer report New asset requirement report Current asset value report Asset liquidation report Asset insurance and repair report Asset listing in accordance with the inventory agent 26

28 List of excessive asset after being inventoried Right after this project is accomplished successfully, it will be applied in the management system of HUI. 27

29 APPENDIX 1. HIBERNATE AND JPA 1.1. Hibernate Architecture Hibernate creates a layer between Database and the Application. Hibernate uses the database from Hibernate Properties file, performing the automatic mapping on the properties defined in hbm XML file to define for particular Java object or Hibernate Annotations. Hibernate creates persistent objects, along with XML mapping documents to persist objects to the database layer. Figure 9: Hibernate architecture 1.2. JPA using Hibernate Annotations There are three major parts of JPA: Entities: persistent objects which are stored in a relational database The EntityManager API: a standard API for performing CRUD (create, read, update, and delete)/persistence operations for entities The Java Persistence Query Language (JPQL): A SQL-like language used to retrieve and manipulate entities Entities An entity is regarded as a persistence domain object. It defines a table in a relational database in the manner which each instance of an entity corresponds to a row in that table. An entity refers to a logical collection of data that can be stored or retrieved. The entity class is annotated with annotation. The entity class must be a top-level class, not the final, as the following public class Asset implements Serializable { } 28

30 Primary Keys in Entities Each entity has its own primary key to identify its distinction. The primary key is either a simple or composite primary key. To be a simple primary key, the primary key must correspond to a single persistent property of the entity class. annotation is used to denote a simple primary key. Consider the private int assetid; If a primary key is a composite primary key, it must be composed of either a single persistent property or a set of single persistent properties. Composite primary keys use javax.persistence.idclass and javax.persistence.embededid Entity Relationships The object-oriented domain model consists of entities and relationships among entities. There are four entity relationships: one-to-one, one-to-many, many-to-one, and many-to-many. One-to-one: Each entity instance is mapped to a single instance of another entity. One-to-one relationship uses the javax.persistence.onetoone annotation on the corresponding persistent field private Employee employee; public Account() { } One-to-many and many-to-one: An entity instance is related to many instances of other entities. This relationship uses javax.persistence.onetomany and javax.persistence.manytoone annotation on the corresponding field or private Set<EmployeeRight> employeerights; 29

31 Many-to-many: A multiple instances of an entity have the mapping to a multiple instances of the other entity. Many-to-many relationship uses the javax.persistence.manytomany annotation corresponding to the field or property. Cascade Deletes and Relationships: Entities which have the relationships are dependent on other entities in the relationship. For example, a line item is part of an order, and if the order is deleted, then the line item should also be deleted; use the element cascade=remove element to delete the cascade relationships specified and OneToMany relationship Inheritance relationship Super classes: An entity may inherit from a super class which provides persistent entity state and mapping information. Mapping super classes are declared by using javax.persistence.mappedsuperclass annotation to specify the class. Inheritance relationship: Entities can have inheritance relationship. There are three inheritance mapping strategies to map entity inheritance to database tables, using the (..): Single table, Joined subclass, Table per class Managing entities Persistence context A persistence context is a set of entity instances in which for any persistent entity identity there is a unique entity instance. Within the persistence context, the entity instances and their life cycle is managed by a particular EntityManager EntityManager EntityManager API is used to create and remove persistent entity instances. The set of entities which can be managed by a given EntityManager instance is defined by a persistence unit. EntityManagers perform the actions that affect the lifecycle state of entity instances. Persistence unit: defines the set of all classes which are related or grouped by the application, and which must be collocated in their mapping to a single database. A persistence unit is defined by persistence.xml file that resides in the META-INF directory 30

32 <?xml version="1.0" encoding="utf-8"?> <persistence version="2.0" xmlns=" xmlns:xsi=" xsi:schemalocation=" <persistence-unit name="assetmanagmentsystem"> <properties> <property name="hibernate.dialect" value="org.hibernate.dialect.sqlserverdialect" /> <property name="hibernate.connection.driver_class" value="com.microsoft.sqlserver.jdbc.sqlserverdriver" /> <property name="hibernate.connection.url" value="jdbc:sqlserver://localhost:1433;databasename=assetmanagment" /> <property name="hibernate.connection.username" value="sa" /> <property name="hibernate.connection.password" value=" " /> <property name="hibernate.hbm2ddl.auto" value="none" /> </properties> </persistence-unit></persistence> States of entity instances: EntityManager manages lifecycle state of entity instances. Each entity includes four states: New: With new() operator, it is indicated that the entity instance is in the new state, having no persistent identity and being unassociated with a persistent context. This state is lost through a garbage collection process, when it has no reference from any other objects. The persist() method transfers the entity instance from the new state to the managed state 31

33 Figure 10: State of entity instances 1 Managed: The entity instance is in the managed state when it has a persistent identity and is associated with a persistence context. It has a representation in the database and has a primary key value set as its database identifier. This state transfers from managed to detach when the persistence context ends. Detached: Being in this state, the entity instance is not associated with a persistent context. Its state is no longer guaranteed to be synchronized with the database state. The detached state is brought back to the managed state by the merge() method. Removed: When the EntityManager calls remove() method, the entity instance is deleted and transferred from managed to removed state The Java Persistence Query Language (JPQL): The Java Persistence query language allows defining queries over entities and their persistent state. public List<Category>getResultList() { em.gettransaction().begin(); Query que=em.createnamedquery("category.findbyisdeleted"); que.setparameter("isdeleted", new Integer(0)); List<Category> catlist=que.getresultlist(); IMPLEMENTATION em.gettransaction().commit(); return catlist; } Based on the requirements at the beginning, ASM application has implemented the basic functions of asset managing of HUI 1 ORM Object Relational Mapping author: Arvo Lipitsäinen Dpt. of Business Information Technology, Haaga-Helia University of Applied Sciences, Helsinki, Finland 32

34 APPENDIX 2. INSTALLATION GUIDE 2.1. System requirements: The computer must be installed with Java Runtime Environments The host computer must have the SQL server 2.2. Restore database Restore file AssetManagementSystem.Bak in SQL server User name: sa Password: Run file AssetManagementSystem.Jar 33

35 APPENDIX 3. HUI ASSET DATABASE STRUCTURE Based on the analyses above, the database for this application is designed with the following tables: Account Fields Type Allow Null Default Value Primary Key EmployeeID bigin No Yes UserName nvarchar No Password nvarchar No IsDisable int No Trace Fields Type Allow Null Default Value Primary Key LogID bigint No Yes EmployeeID bigint no LogonTime datetime No LogoutTime datetime no Action Ntext yes Employees Fields Type Allow Null Default Value Primary Key EmployeeID bigint No Yes PositionName nvarchar(250) No Title nvarchar(250) Yes FirstName nvarchar(50) No MiddleName nvarchar(250) No LastName nvarchar(50) No BirthDay DateTime No Address nvarchar(250) No City nvarchar(250) No HomePhone nvarchar(250) yes CellPhone nvarchar(250) yes nvarchar(250) yes BranchID DepartmentID int int Description nvarchar(250) yes IsDeleted int No EmployeeRight Fields Type Allow Null Default Value Primary Key RightID int No Yes EmployeeID bigint No Yes Description nvarchar(250) yes IsDeleted int No Branch Fields Type Allow Null Default Value Primary Key BranchID int No Yes BranchName Nvarchar(30) No 34

36 Address Nvarchar No PhoneNumber Nvarchar(14) No Nvarchar(30) No Fax Nvarchar(30) No Region Nvarchar(50) No IsMainBranch Int No Description Nvarchar(255) yes IsDeleted int No Department Fields Type Allow Null Default Value Primary Key DepartmentID int No Yes DepartmentName nvarchar(50) No AbbreviationName nvarchar(50) No Image Nvarchar(255) yes Description Nvarchar(250) yes IsDeleted int No DepBranch Fields Type Allow Null Default Value Primary Key BranchID int No Yes DepartmentID int No Description Nvarchar(250) yes IsDeleted int No Room Fields Type Allow Null Default Value Primary Key RoomID int No Yes RoomName nvarchar(50) No BranchID int No DepartmentID int No Description Nvarchar(255) yes IsDeleted int No Manufacturers Fields Type Allow Null Default Value Primary Key ManufactureID int No Yes ManufactureName nvarchar(50) No WebSite nvarchar(50) Yes ContactName nvarchar(250) Yes Phone nvarchar(50) Yes Address nvarchar(50) Yes City nvarchar(50) Yes Fax nvarchar(50) Yes Description nvarchar(250) Yes IsDeleted int No Insurers Fields Type Allow Null Default Value Primary Key 35

37 InsurerID int No Yes InsurerName nvarchar(50) No WebSite nvarchar(50) yes ContactName nvarchar(50) No Phone nvarchar(50) No Address nvarchar(50) No City nvarchar(50) No Fax nvarchar(50) No Description nvarchar(250) yes IsDeleted int No Categories Fields Type Allow Null Default Value Primary Key CategoryID int No Yes CategoryName nvarchar(50) No Image nvarchar(50) yes NumberOrCode tnvarchar(50) yes Description nvarchar(50) yes IsDeleted int No Status Fields Type Allow Null Default Value Primary Key StatusID int No Yes StatusName nvarchar(50) No Description nvarchar(50) yes IsDeleted int No Assets Fields Type Allow Null Default Value Primary Key AssetID int No Yes ChildAssetID int Yes AssetName nvarchar No PurchasedDate DateTime No CurrentValue int No AmountPaid int No SerialNumber nvarchar No RoomID int No CategoryID int No ModelNum Nvarchar(255) No Size Nvarchar(50) No WarrantyType Nvarchar(50) No WarrantyExpire DateTime No NumberMade Nvarchar(50) No Color Nvarchar(50) No image Nvarchar(500) No InsurerID int no StatusID Int No ManufactureID Int no 36

38 EmployeeID Int no NumberofYeartouse int no ValuetoSellWaste Int No Description Nvarchar(255) yes IsDeleted Int No Invoice Fields Type Allow Null Default Value Primary Key OrderID Nvarchar(10) No Yes OrderDate DateTime no DeliveryDate DateTime No ProviderID int no EmployeeID bigint no Description nvarchar(255) yes IsDeleted int No InvoiceDetail Fields Type Allow Null Default Value Primary Key OderID text No Yes AssetID Number Yes Yes Quantity Number No UnitPrice Currency Yes Description text No IsDeleted Number No Provider Fields Type Allow Null Default Value Primary Key ProviderID int No Yes ProviderName nvarchar(50) No WebSite nvarchar(50) No ContactName nvarchar(50) No Phone nvarchar(14) No Address nvarchar(50) No City nvarchar(50) No Fax nvarchar(50) No Description nvarchar(250) Yes IsDeleted int No Privilege Fields Type Allow Null Default Value Primary Key RightID bigint No Yes Access text Yes Description text Yes IsDeleted Number Yes 37

39 APPENDIX 4. DEMO APPLICATION The users after logging in under the authorization of the system admin will be able to manipulating the following functions 4.1. Login window Login widow allow users to login to the system User Name: xuanhien Password: hoilamgi Remember password: if is checked then system remember user name and password for next time login Main window Figure 11: Log in window The following figure illustrates the main interface of the system. This is the window where the users begin manipulating the functions of the application. Figure 12: The main window Operations can be implemented in the system: Branch management: managing information of the branch using assets of university. According to his or her authorization, the user can add, update information or delete the branches. 38

40 Figure 13: The Branch management window Provider management: managing information of the Providers provide assets of university. According to his or her authorization, the user can add, update information or delete the provider. Figure 14: The Provider management window Employee management: managing information of the employee involved in using and managing the assets. The user can add, update or delete information of the employee 39

41 Figure 15: The Employee management window Asset management: Add button: Adding new assets. With this function, the users are also able to assign the asset managing responsibilities and distribute the assets to branches, departments and rooms. Update button: Updating asset information Save button: Save the information of the asset after update or add new Delete button: Delete an asset Search button: Finding an asset basing on the assetid Filter rom by: display the asset list according to the room, branches or department. Figure 16: The Asset management window 40

42 Tab images: Display the image of asset. Figure 17: The Asset management window Tab Depreciation: Calculating automatically the amortization each year of each asset Figure 18: The Asset management window 41

43 APPENDIX 5. ECLIPSE WORKING WITH HIBERNATE JPA ON To work with Hibernate JPA on Eclipse we perform the following steps: Create new JPA Project by: at working window of Eeclipse, click JPA button File New JPA Project Enter Project name Next Select User library: Hibernate Finish 42

44 Select Add connection Finish 43

45 Select SQL Server Next 44

46 Create a mapping JPA Entities from table: Right click on src folder and select New JPA Entities from tables. Select the tables in database Next 45

47 Edit the table association Next 46

48 Specify Package and source folder Next 47

49 Customize the individual entities Finish 48

50 REFERENCES [1] Ambler, S Mapping Objects to Relational Databases: O/R Mapping in Detail. Available at (Accessed September 19,2009). Bauer, C., and G. King Java Persistence with Hibernate. Greenwich, CT: Manning. [2] Java Persistence API (JPA): Java Persistence API (JPA): Mapping Sang Shin Sang Shin Java Technology Evangelist Java Technology Evangelist Sun Microsystems, Inc. Sun Microsystems, Inc. javapassion.com javapassion.com [3] Hibernate Reference Documentation-Version: 3.2 cr1 [4] Fundamentals_of_Database_Systems 4th_Edition_ 49

Hibernate Language Binding Guide For The Connection Cloud Using Java Persistence API (JAP)

Hibernate Language Binding Guide For The Connection Cloud Using Java Persistence API (JAP) Hibernate Language Binding Guide For The Connection Cloud Using Java Persistence API (JAP) Table Of Contents Overview... 3 Intended Audience... 3 Prerequisites... 3 Term Definitions... 3 Introduction...

More information

Customer Bank Account Management System Technical Specification Document

Customer Bank Account Management System Technical Specification Document Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6

More information

PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS HASEEB YOUSAF. (Under the Direction of John A. Miller)

PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS HASEEB YOUSAF. (Under the Direction of John A. Miller) PERFORMANCE EVALUATION OF JAVA OBJECT-RELATIONAL MAPPING TOOLS by HASEEB YOUSAF (Under the Direction of John A. Miller) ABSTRACT In the modern era of enterprise Web technology, there is strong competition

More information

Performance Comparison of Persistence Frameworks

Performance Comparison of Persistence Frameworks Performance Comparison of Persistence Frameworks Sabu M. Thampi * Asst. Prof., Department of CSE L.B.S College of Engineering Kasaragod-671542 Kerala, India [email protected] Ashwin A.K S8, Department

More information

Object-Relational Databases

Object-Relational Databases C H A P T E R 14 Object-Relational Databases Learning Objectives After studying this chapter, you should be able to: Concisely define each of the following terms: persistence, serialization, object-relational

More information

Performance Evaluation of Java Object Relational Mapping Tools

Performance Evaluation of Java Object Relational Mapping Tools Performance Evaluation of Java Object Relational Mapping Tools Jayasree Dasari Student(M.Tech), CSE, Gokul Institue of Technology and Science, Visakhapatnam, India. Abstract: In the modern era of enterprise

More information

Using Relational Databases to Provide Object Persistence

Using Relational Databases to Provide Object Persistence Chapter 14 Using Relational Databases to Provide Object Persistence Learning Objectives After studying this chapter, you should be able to: Concisely define each of the following terms: persistence, serialization,

More information

Lesson 8: Introduction to Databases E-R Data Modeling

Lesson 8: Introduction to Databases E-R Data Modeling Lesson 8: Introduction to Databases E-R Data Modeling Contents Introduction to Databases Abstraction, Schemas, and Views Data Models Database Management System (DBMS) Components Entity Relationship Data

More information

Using SQL Server Management Studio

Using SQL Server Management Studio Using SQL Server Management Studio Microsoft SQL Server Management Studio 2005 is a graphical tool for database designer or programmer. With SQL Server Management Studio 2005 you can: Create databases

More information

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Object Oriented Databases OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar Executive Summary The presentation on Object Oriented Databases gives a basic introduction to the concepts governing OODBs

More information

Research Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: [email protected]

Research Article. ISSN 2347-9523 (Print) *Corresponding author Lili Wang Email: lily@nepu.edu.cn Scholars Journal of Engineering and Technology (SJET) Sch. J. Eng. Tech., 2015; 3(4B):424-428 Scholars Academic and Scientific Publisher (An International Publisher for Academic and Scientific Resources)

More information

Oracle Application Express - Application Migration Workshop

Oracle Application Express - Application Migration Workshop Oracle Application Express - Application Migration Workshop Microsoft Access Northwind Traders Migration to Oracle Application Express An Oracle White Paper May 2007 Oracle Application Express Application

More information

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang

ORM IN WEB PROGRAMMING. Course project report for 6WW Erik Wang ORM IN WEB PROGRAMMING Course project report for 6WW Erik Wang Problems with web programming When people do the web design Design from functional aspects Programmer also needs to understand database Code

More information

Ken Goldberg Database Lab Notes. There are three types of relationships: One-to-One (1:1) One-to-Many (1:N) Many-to-Many (M:N).

Ken Goldberg Database Lab Notes. There are three types of relationships: One-to-One (1:1) One-to-Many (1:N) Many-to-Many (M:N). Lab 3 Relationships in ER Diagram and Relationships in MS Access MS Access Lab 3 Summary Introduction to Relationships Why Define Relationships? Relationships in ER Diagram vs. Relationships in MS Access

More information

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

White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the. 2) Architecture Explanation White Paper: 1) Architecture Objectives: The primary objective of this architecture is to meet the following requirements (SLAs). Scalability and High Availability Modularity and Maintainability Extensibility

More information

Project Databases Report

Project Databases Report Project Databases Report Pizzeria Ordering System Teachers : Assistant: Jos de Bruin Dr. Hamideh Afsarmanesh Simon Msanjila Students: Tyrone Vriesde [email protected] 0588067 Tony Cheong [email protected]

More information

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules

IBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This

More information

Table of Content. Introduction to ObjectDB and JPA. Object Model: Types, Entities, Primary Keys. Database Connections

Table of Content. Introduction to ObjectDB and JPA. Object Model: Types, Entities, Primary Keys. Database Connections ObjectDB Table of Content Introduction to ObjectDB and JPA Object Model: Types, Entities, Primary Keys. Database Connections JPA Fundamentals (CRUD Operations) Java Persistence Query Language (JPQL) JPA

More information

Relational Database Basics Review

Relational Database Basics Review Relational Database Basics Review IT 4153 Advanced Database J.G. Zheng Spring 2012 Overview Database approach Database system Relational model Database development 2 File Processing Approaches Based on

More information

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

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

Developing an EJB3 Application. on WebSphere 6.1. using RAD 7.5

Developing an EJB3 Application. on WebSphere 6.1. using RAD 7.5 Developing an EJB3 Application on WebSphere 6.1 using RAD 7.5 Introduction This tutorial introduces how to create a simple EJB 3 application using Rational Application Developver 7.5( RAD7.5 for short

More information

OTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics

OTN Developer Day Enterprise Java. Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics OTN Developer Day Enterprise Java Hands on Lab Manual JPA 2.0 and Object Relational Mapping Basics I want to improve the performance of my application... Can I copy Java code to an HTML Extension? I coded

More information

Enterprise Application Development In Java with AJAX and ORM

Enterprise Application Development In Java with AJAX and ORM Enterprise Application Development In Java with AJAX and ORM ACCU London March 2010 ACCU Conference April 2010 Paul Grenyer Head of Software Engineering [email protected] http://paulgrenyer.blogspot.com

More information

Database Management. Chapter Objectives

Database Management. Chapter Objectives 3 Database Management Chapter Objectives When actually using a database, administrative processes maintaining data integrity and security, recovery from failures, etc. are required. A database management

More information

Admin Reference Guide. PinPoint Document Management System

Admin Reference Guide. PinPoint Document Management System Admin Reference Guide PinPoint Document Management System 1 Contents Introduction... 2 Managing Departments... 3 Managing Languages... 4 Managing Users... 5 Managing User Groups... 7 Managing Tags... 9

More information

Getting Started with Telerik Data Access. Contents

Getting Started with Telerik Data Access. Contents Contents Overview... 3 Product Installation... 3 Building a Domain Model... 5 Database-First (Reverse) Mapping... 5 Creating the Project... 6 Creating Entities From the Database Schema... 7 Model-First

More information

Database Migration : An In Depth look!!

Database Migration : An In Depth look!! Database Migration : An In Depth look!! By Anil Mahadev [email protected] As most of you are aware of the fact that just like operating System migrations are taking place, databases are no different.

More information

Access Queries (Office 2003)

Access Queries (Office 2003) Access Queries (Office 2003) Technical Support Services Office of Information Technology, West Virginia University OIT Help Desk 293-4444 x 1 oit.wvu.edu/support/training/classmat/db/ Instructor: Kathy

More information

A Brief Introduction to MySQL

A Brief Introduction to MySQL A Brief Introduction to MySQL by Derek Schuurman Introduction to Databases A database is a structured collection of logically related data. One common type of database is the relational database, a term

More information

Simple Invoicing Desktop Database with MS Access 2013. c 2015 by David W. Gerbing School of Business Administration Portland State University

Simple Invoicing Desktop Database with MS Access 2013. c 2015 by David W. Gerbing School of Business Administration Portland State University Simple Invoicing Desktop Database with MS Access 2013 c 2015 by David W. Gerbing School of Business Administration Portland State University July 2, 2015 CONTENTS 1 Contents 1 Create a New Database 1 2

More information

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan [email protected] What is a database? A database is a collection of logically related data for

More information

WEB-BASED STUDENT MANAGEMENT SYSTEM USING RFID

WEB-BASED STUDENT MANAGEMENT SYSTEM USING RFID UNIVERSITY OF BORDEAUX 1 FINAL REPORT MASTER OF SOFTWARE ENGINEERING (2011 2013) WEB-BASED STUDENT MANAGEMENT SYSTEM USING RFID Author LE Huong Sao Mai Supervisor LE Dinh Viet Hai December, 2013. Acknowledgement

More information

Foundations of Information Management

Foundations of Information Management Foundations of Information Management - WS 2012/13 - Juniorprofessor Alexander Markowetz Bonn Aachen International Center for Information Technology (B-IT) Data & Databases Data: Simple information Database:

More information

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

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application

More information

The Entity-Relationship Model

The Entity-Relationship Model The Entity-Relationship Model 221 After completing this chapter, you should be able to explain the three phases of database design, Why are multiple phases useful? evaluate the significance of the Entity-Relationship

More information

Introduction to Computing. Lectured by: Dr. Pham Tran Vu [email protected]

Introduction to Computing. Lectured by: Dr. Pham Tran Vu t.v.pham@cse.hcmut.edu.vn Introduction to Computing Lectured by: Dr. Pham Tran Vu [email protected] Databases The Hierarchy of Data Keys and Attributes The Traditional Approach To Data Management Database A collection of

More information

Topic: Relationships in ER Diagram and Relationships in MS Access

Topic: Relationships in ER Diagram and Relationships in MS Access MS Access Lab 3 Topic: Relationships in ER Diagram and Relationships in MS Access Summary Introduction to Relationships Why Define Relationships? Relationships in ER Diagram vs. Relationships in MS Access

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Virtuoso Replication and Synchronization Services

Virtuoso Replication and Synchronization Services Virtuoso Replication and Synchronization Services Abstract Database Replication and Synchronization are often considered arcane subjects, and the sole province of the DBA (database administrator). However,

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

ODBC Client Driver Help. 2015 Kepware, Inc.

ODBC Client Driver Help. 2015 Kepware, Inc. 2015 Kepware, Inc. 2 Table of Contents Table of Contents 2 4 Overview 4 External Dependencies 4 Driver Setup 5 Data Source Settings 5 Data Source Setup 6 Data Source Access Methods 13 Fixed Table 14 Table

More information

3 Setting up Databases on a Microsoft SQL 7.0 Server

3 Setting up Databases on a Microsoft SQL 7.0 Server 3 Setting up Databases on a Microsoft SQL 7.0 Server Overview of the Installation Process To set up GoldMine properly, you must follow a sequence of steps to install GoldMine s program files, and the other

More information

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner

Java 7 Recipes. Freddy Guime. vk» (,\['«** g!p#« Carl Dea. Josh Juneau. John O'Conner 1 vk» Java 7 Recipes (,\['«** - < g!p#«josh Juneau Carl Dea Freddy Guime John O'Conner Contents J Contents at a Glance About the Authors About the Technical Reviewers Acknowledgments Introduction iv xvi

More information

HP IMC Firewall Manager

HP IMC Firewall Manager HP IMC Firewall Manager Configuration Guide Part number: 5998-2267 Document version: 6PW102-20120420 Legal and notice information Copyright 2012 Hewlett-Packard Development Company, L.P. No part of this

More information

What is Data Virtualization?

What is Data Virtualization? What is Data Virtualization? Rick F. van der Lans Data virtualization is receiving more and more attention in the IT industry, especially from those interested in data management and business intelligence.

More information

SQL Server An Overview

SQL Server An Overview SQL Server An Overview SQL Server Microsoft SQL Server is designed to work effectively in a number of environments: As a two-tier or multi-tier client/server database system As a desktop database system

More information

The Jeff's Ticket Tracking System

The Jeff's Ticket Tracking System TheJeffsTicketTracker.thejeffapproves.com The Jeff's Ticket Tracking System [email protected] Jeff Denton A.K.A The Jeff 15 Contents About The Jeff... 4 Project Summary and Requirements...

More information

User Replicator USER S GUIDE

User Replicator USER S GUIDE User Replicator USER S GUIDE Contents 1. Introduction... 2 1.1. User Replicator requirements... 2 2. Creating users in Learning Center from the Active Directory... 3 2.1. Process File... 3 2.2 Users Mappings...

More information

An Interface from YAWL to OpenERP

An Interface from YAWL to OpenERP An Interface from YAWL to OpenERP Joerg Evermann Faculty of Business Administration, Memorial University of Newfoundland, Canada [email protected] Abstract. The paper describes an interface from the YAWL

More information

Security Development Tool for Microsoft Dynamics AX 2012 WHITEPAPER

Security Development Tool for Microsoft Dynamics AX 2012 WHITEPAPER Security Development Tool for Microsoft Dynamics AX 2012 WHITEPAPER Junction Solutions documentation 2012 All material contained in this documentation is proprietary and confidential to Junction Solutions,

More information

HP Quality Center. Upgrade Preparation Guide

HP Quality Center. Upgrade Preparation Guide HP Quality Center Upgrade Preparation Guide Document Release Date: November 2008 Software Release Date: November 2008 Legal Notices Warranty The only warranties for HP products and services are set forth

More information

SEER Enterprise Shared Database Administrator s Guide

SEER Enterprise Shared Database Administrator s Guide SEER Enterprise Shared Database Administrator s Guide SEER for Software Release 8.2 SEER for IT Release 2.2 SEER for Hardware Release 7.3 March 2016 Galorath Incorporated Proprietary 1. INTRODUCTION...

More information

Software Design Specification

Software Design Specification GROUP 7 SEVEN SOFTWARE PROJECT: ONLINE SCHEDULING SYSTEM COMPANY: VIA MAGNA GOTHENBURG SWEDEN GROUP MEMBERS: IBRAHIM KRVAVAC ALI BAHALOO HORE SEYED SAMAD GHASEMI KUHAN LOH DANIEL ASOVIC Software Design

More information

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc.

GlassFish v3. Building an ex tensible modular Java EE application server. Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. GlassFish v3 Building an ex tensible modular Java EE application server Jerome Dochez and Ludovic Champenois Sun Microsystems, Inc. Agenda Java EE 6 and GlassFish V3 Modularity, Runtime Service Based Architecture

More information

E-Notebook SQL 12.0 Desktop Database Migration and Upgrade Guide. E-Notebook SQL 12.0 Desktop Database Migration and Upgrade Guide

E-Notebook SQL 12.0 Desktop Database Migration and Upgrade Guide. E-Notebook SQL 12.0 Desktop Database Migration and Upgrade Guide E-Notebook SQL 12.0 Desktop Database Migration and Upgrade Guide 1. Introduction... 3 2. Database System... 3 2.1. Software requirements... 3 2.2. Analysis of E-Notebook 10.0 and 11.0 database... 4 2.3.

More information

Review Manager Guide

Review Manager Guide Review Manager Guide v8.0 May 10, 2013 For the most recent version of this document, visit kcura's Documentation Site. Table of Contents 1 Review Manager overview 4 1.1 Review Manager life cycle 4 1.2

More information

Data Modeling Basics

Data Modeling Basics Information Technology Standard Commonwealth of Pennsylvania Governor's Office of Administration/Office for Information Technology STD Number: STD-INF003B STD Title: Data Modeling Basics Issued by: Deputy

More information

Sophos Enterprise Console Auditing user guide. Product version: 5.2

Sophos Enterprise Console Auditing user guide. Product version: 5.2 Sophos Enterprise Console Auditing user guide Product version: 5.2 Document date: January 2013 Contents 1 About this guide...3 2 About Sophos Auditing...4 3 Key steps in using Sophos Auditing...5 4 Ensure

More information

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide

SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24. Data Federation Administration Tool Guide SAP Business Objects Business Intelligence platform Document Version: 4.1 Support Package 7 2015-11-24 Data Federation Administration Tool Guide Content 1 What's new in the.... 5 2 Introduction to administration

More information

SharePoint AD Information Sync Installation Instruction

SharePoint AD Information Sync Installation Instruction SharePoint AD Information Sync Installation Instruction System Requirements Microsoft Windows SharePoint Services V3 or Microsoft Office SharePoint Server 2007. License management Click the trial link

More information

Oracle Data Integrator: Administration and Development

Oracle Data Integrator: Administration and Development Oracle Data Integrator: Administration and Development What you will learn: In this course you will get an overview of the Active Integration Platform Architecture, and a complete-walk through of the steps

More information

Business Process Management with @enterprise

Business Process Management with @enterprise Business Process Management with @enterprise March 2014 Groiss Informatics GmbH 1 Introduction Process orientation enables modern organizations to focus on the valueadding core processes and increase

More information

Basic Unix/Linux 1. Software Testing Interview Prep

Basic Unix/Linux 1. Software Testing Interview Prep Basic Unix/Linux 1 Programming Fundamentals and Concepts 2 1. What is the difference between web application and client server application? Client server application is designed typically to work in a

More information

- Suresh Khanal. http://mcqsets.com. http://www.psexam.com Microsoft Excel Short Questions and Answers 1

- Suresh Khanal. http://mcqsets.com. http://www.psexam.com Microsoft Excel Short Questions and Answers 1 - Suresh Khanal http://mcqsets.com http://www.psexam.com Microsoft Excel Short Questions and Answers 1 Microsoft Access Short Questions and Answers with Illustrations Part I Suresh Khanal Kalanki, Kathmandu

More information

Web Services API Developer Guide

Web Services API Developer Guide Web Services API Developer Guide Contents 2 Contents Web Services API Developer Guide... 3 Quick Start...4 Examples of the Web Service API Implementation... 13 Exporting Warehouse Data... 14 Exporting

More information

Vector HelpDesk - Administrator s Guide

Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Vector HelpDesk - Administrator s Guide Configuring and Maintaining Vector HelpDesk version 5.6 Vector HelpDesk - Administrator s Guide Copyright Vector Networks

More information

Advanced Service Design

Advanced Service Design vcloud Automation Center 6.0 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition. To check for more recent editions

More information

CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1

CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1 CONFIGURATION AND APPLICATIONS DEPLOYMENT IN WEBSPHERE 6.1 BUSINESS LOGIC FOR TRANSACTIONAL EJB ARCHITECTURE JAVA PLATFORM Last Update: May 2011 Table of Contents 1 INSTALLING WEBSPHERE 6.1 2 2 BEFORE

More information

Object Oriented Database Management System for Decision Support System.

Object Oriented Database Management System for Decision Support System. International Refereed Journal of Engineering and Science (IRJES) ISSN (Online) 2319-183X, (Print) 2319-1821 Volume 3, Issue 6 (June 2014), PP.55-59 Object Oriented Database Management System for Decision

More information

1. INTRODUCTION TO RDBMS

1. INTRODUCTION TO RDBMS Oracle For Beginners Page: 1 1. INTRODUCTION TO RDBMS What is DBMS? Data Models Relational database management system (RDBMS) Relational Algebra Structured query language (SQL) What Is DBMS? Data is one

More information

TIME KEEP LEGAL BILLING SOFTWARE DESIGN DOCUMENT. Mike Don Cheng-Yu. CS 524 Software Engineer Professor: Dr Liang

TIME KEEP LEGAL BILLING SOFTWARE DESIGN DOCUMENT. Mike Don Cheng-Yu. CS 524 Software Engineer Professor: Dr Liang TIME KEEP LEGAL BILLING SOFTWARE DESIGN DOCUMENT Mike Don Cheng-Yu CS 524 Software Engineer Professor: Dr Liang TABLE OF CONTENTS 1. INTRODUCTION: 2 1.1. Goals and objectives 2 1.2. Statement of scope

More information

Using MS-SQL Server with Visual DataFlex March, 2009

Using MS-SQL Server with Visual DataFlex March, 2009 Using MS-SQL Server with Visual DataFlex March, 2009 All rights reserved. Target Audience It is assumed that the reader of this white paper has general knowledge of the Visual DataFlex development environment.

More information

Oracle Fusion Middleware

Oracle Fusion Middleware Oracle Fusion Middleware Getting Started with Oracle Business Intelligence Publisher 11g Release 1 (11.1.1) E28374-02 September 2013 Welcome to Getting Started with Oracle Business Intelligence Publisher.

More information

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience...

1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... Slice Documentation Slice Documentation 1. Introduction... 1 1.1. What is Slice?... 1 1.2. Background... 1 1.3. Why Slice?... 1 1.4. Purpose of this Document... 1 1.5. Intended Audience... 1 2. Features

More information

Jet Data Manager 2012 User Guide

Jet Data Manager 2012 User Guide Jet Data Manager 2012 User Guide Welcome This documentation provides descriptions of the concepts and features of the Jet Data Manager and how to use with them. With the Jet Data Manager you can transform

More information

Service Oriented Architectures

Service Oriented Architectures 8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) [email protected] http://www.iks.inf.ethz.ch/ The context for SOA A bit of history

More information

M4 Systems. Email Remittance (ER) User Guide

M4 Systems. Email Remittance (ER) User Guide M4 Systems Email Remittance (ER) User Guide M4 Systems Ltd Tel: 0845 5000 777 International: +44 (0)1443 863910 www.m4systems.com www.dynamicsplus.net Table of Contents Introduction ------------------------------------------------------------------------------------------------------------------

More information

Creating Database Tables in Microsoft SQL Server

Creating Database Tables in Microsoft SQL Server Creating Database Tables in Microsoft SQL Server Microsoft SQL Server is a relational database server that stores and retrieves data for multi-user network-based applications. SQL Server databases are

More information

SQL Server Database Administration and Design By Dave Peru, October 2011

SQL Server Database Administration and Design By Dave Peru, October 2011 SQL Server Database Administration and Design By Dave Peru, October 2011 Introduction Name Handout Sheet Developer s Perspective - Story Outline Create a Database Create a New Data Model Data Model Diagrams

More information

INTRODUCING ORACLE APPLICATION EXPRESS. Keywords: database, Oracle, web application, forms, reports

INTRODUCING ORACLE APPLICATION EXPRESS. Keywords: database, Oracle, web application, forms, reports INTRODUCING ORACLE APPLICATION EXPRESS Cristina-Loredana Alexe 1 Abstract Everyone knows that having a database is not enough. You need a way of interacting with it, a way for doing the most common of

More information

Kaseya 2. User Guide. Version 1.0

Kaseya 2. User Guide. Version 1.0 Kaseya 2 Kaseya Service Desk User Guide Version 1.0 April 19, 2011 About Kaseya Kaseya is a global provider of IT automation software for IT Solution Providers and Public and Private Sector IT organizations.

More information

Course Number: IAC-SOFT-WDAD Web Design and Application Development

Course Number: IAC-SOFT-WDAD Web Design and Application Development Course Number: IAC-SOFT-WDAD Web Design and Application Development Session 1 (10 Hours) Client Side Scripting Session 2 (10 Hours) Server Side Scripting - I Session 3 (10 hours) Database Session 4 (10

More information

ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01

ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01 ORACLE USER PRODUCTIVITY KIT USAGE TRACKING ADMINISTRATION & REPORTING RELEASE 3.6 PART NO. E17087-01 FEBRUARY 2010 COPYRIGHT Copyright 1998, 2009, Oracle and/or its affiliates. All rights reserved. Part

More information

Welcome to PowerClaim Net Services!

Welcome to PowerClaim Net Services! Welcome to PowerClaim Net Services! PowerClaim Net Services provides a convenient means to manage your claims over the internet and provides detailed reporting services. You can access PowerClaim Net Services

More information

Time Tracking System with GWT

Time Tracking System with GWT Degree Project Time Tracking System with GWT Amaia Carrillo Agirre 2010-06-03 Subject: Software Engineering Level: Master Course code: 5DV00E Acknowledgements I would like to thank and acknowledge all

More information

Implementing the Shop with EJB

Implementing the Shop with EJB Exercise 2 Implementing the Shop with EJB 2.1 Overview This exercise is a hands-on exercise in Enterprise JavaBeans (EJB). The exercise is as similar as possible to the other exercises (in other technologies).

More information

Single Sign-On Guide for Blackbaud NetCommunity and The Patron Edge Online

Single Sign-On Guide for Blackbaud NetCommunity and The Patron Edge Online Single Sign-On Guide for Blackbaud NetCommunity and The Patron Edge Online 062212 2012 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any

More information

High Level Design Distributed Network Traffic Controller

High Level Design Distributed Network Traffic Controller High Level Design Distributed Network Traffic Controller Revision Number: 1.0 Last date of revision: 2/2/05 22c:198 Johnson, Chadwick Hugh Change Record Revision Date Author Changes 1 Contents 1. Introduction

More information

Specialized Programme on Web Application Development using Open Source Tools

Specialized Programme on Web Application Development using Open Source Tools Specialized Programme on Web Application Development using Open Source Tools Objective: At the end of the course, Students will be able to: Understand various open source tools(programming tools and databases)

More information

SAMPLE FINAL EXAMINATION SPRING SESSION 2015

SAMPLE FINAL EXAMINATION SPRING SESSION 2015 SAMPLE FINAL EXAMINATION SPRING SESSION 2015 School of Computing, Engineering and Mathematics Student family name: Student given name/s: Student ID number: Course: Unit Name (In Full): Database Design

More information

Synchronization Agent Configuration Guide

Synchronization Agent Configuration Guide SafeNet Authentication Service Synchronization Agent Configuration Guide 1 Document Information Document Part Number 007-012476-001, Revision A Release Date July 2014 Trademarks All intellectual property

More information

DATABASE MANAGEMENT SYSTEM

DATABASE MANAGEMENT SYSTEM REVIEW ARTICLE DATABASE MANAGEMENT SYSTEM Sweta Singh Assistant Professor, Faculty of Management Studies, BHU, Varanasi, India E-mail: [email protected] ABSTRACT Today, more than at any previous

More information

Tutorial on Relational Database Design

Tutorial on Relational Database Design Tutorial on Relational Database Design Introduction Relational database was proposed by Edgar Codd (of IBM Research) around 1969. It has since become the dominant database model for commercial applications

More information

Software Architecture Document

Software Architecture Document Software Architecture Document Project Management Cell 1.0 1 of 16 Abstract: This is a software architecture document for Project Management(PM ) cell. It identifies and explains important architectural

More information

Sports Management Information Systems. Camilo Rostoker November 22, 2002

Sports Management Information Systems. Camilo Rostoker November 22, 2002 Sports Management Information Systems Camilo Rostoker November 22, 2002 Introduction We are in the information age The availability of technology has brought forth a new problem domain how do we manage

More information

NovaBACKUP. Storage Server. NovaStor / May 2011

NovaBACKUP. Storage Server. NovaStor / May 2011 NovaBACKUP Storage Server NovaStor / May 2011 2011 NovaStor, all rights reserved. All trademarks are the property of their respective owners. Features and specifications are subject to change without notice.

More information

ER/Studio 8.0 New Features Guide

ER/Studio 8.0 New Features Guide ER/Studio 8.0 New Features Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved.

More information