Erp Using Ajax And Hibernate Framework Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

ERP systems can run on a variety of computer hardware and network configurations, typically employing a database as a repository for information. ERP systems initially focused on automating back office functions that did not directly affect customers and the general public.

"ERP" was coined in the early 2000s. It describes web-based software that allows both employees and partners (such as suppliers and customers) real-time access to the systems. The role of ERP expands from the resource optimization and transaction processing of traditional ERP to leveraging the information involving those resources in the enterprise's efforts to collaborate with other enterprises.

ERP (Enterprise Resource Planning) systems typically include the following characteristics:

An integrated system that operates in real time (or next to real time), without relying on periodic updates.

A common database, which supports all applications.

A consistent look and feel throughout each module.


The fundamental advantage of ERP is that integrating myriad businesses processes saves time and expense. Management can make decisions faster, and with fewer errors. Data becomes visible across the organization.


ERP can greatly improve the quality and efficiency of a business. By keeping a company's internal business process running smoothly, ERP can lead to better outputs that benefit the company such as customer service, and manufacturing.

ERP provides support to upper level management to provide them with critical decision making information. This decision support allows the upper level management to make managerial choices that enhance the business down the road.

ERP also creates a more agile company that can better adapt to situations and changes. ERP makes the company more flexible and less rigidly structured in an effort to allow the different parts of an organization to become more cohesive, in turn, enhancing the business both internally and externally.


Customization is problematic.

Re-engineering business processes to fit the ERP system may damage competitiveness or divert focus from other critical activities.

ERP can cost more than less integrated or less comprehensive solutions.

High ERP switching costs can increase the ERP vendor's negotiating power, which can result in higher support, maintenance, and upgrade expenses.

Overcoming resistance to sharing sensitive information between departments can divert management attention.

Integration of truly independent businesses can create unnecessary dependencies.


Ajax is a group of interrelated web development techniques used on the client-side to create asynchronous web applications. With Ajax, web applications can send data to, and retrieve data from, a server asynchronously (in the background) without interfering with the display and behavior of the existing page. Data can be retrieved using the XMLHttpRequest object.

Ajax is a new technique that uses a set of open standards technologies, with support by cross-browser and cross-platform compatibility . These are not untested or new technologies, instead; these technologies are mature, stable, widely-used and well-known [1].

The term Ajax has come to represent a broad group of web technologies that can be used to implement a web application that communicates with a server in the background, without interfering with the current state of the page. To make term Ajax more powerful the following technologies are incorporated:

HTML (or XHTML) and CSS for presentation

The Document Object Model (DOM) for dynamic display of and interaction with data

XML for the interchange of data, and XSLT for its manipulation

The XMLHttpRequest object for asynchronous communication

JavaScript to bring these technologies together

Since then, however, there have been a number of developments in the technologies used in an Ajax application, and the definition of the term Ajax. XML is not required for data interchange and therefore XSLT is not required for the manipulation of data. JavaScript Object Notation (JSON) is often used as an alternative format for data interchange although other formats such as preformatted HTML or plain text can also be used.

The Ajax web application can have different combinations to be created, because select only one in each level necessary. This is easy to see that Ajax is not tied to specific programming language, specific data exchange format, or specific Server -side language.

Synchronous and Asynchronous Ajax[1].

One of the biggest advantages that Ajax has in web pages is that it can access information on the server without having to reload the web page. This means that to retrieve or update one small piece of information only that information needs to be passed to and from the server instead of having to redownload the entire web page.

There are two ways that Ajax can access the server. These are synchronous (where the script stops and waits for the server to send back a reply before continuing) and asynchronous (where the script allows the page to continue to be processed and will handle the reply if and when it arrives).

Processing your request synchronously is a bit like reloading the page but with only the requested information having t0o be downloaded instead of the entire page. This method is therefore somewhat faster than not using Ajax since the information to be downloaded should be significantly smaller and hence faster to retrieve than downloading the entire page over again. It does however still require that your visitor wait for the download to occur. While your visitors are used to having to wait for entire web pages to download, they are not used to having to wait while interacting with a web page for any significant time and so unless the information you are requesting is particularly small so that it can be downloaded extremely quickly you run the risk of alienating visitors who may have been quite happy with a longer wait to download the entire page.

Processing asynchronously avoids the delay while the retrieval from the server is taking place because your visitor can continue to interact with the web page and the requested information will be processed with the response updating the page as and when it arrives. For larger requests where the response will have a noticable delay that delay possibly will not be noticed by your visitors because they are occupied interecting with fields further down the page. For responses that are nearly instantaneous your visitors will not even be aware that a request to the server was made.[3]

The preferred way to use Ajax therefore is to use asynchronous calls where ever possible so as to enhance your visitors experience with the web page and to avoid having the Ajax interfer with the operation of the page. Using Ajax asynchronously is so obviously the right way that Ajax should be used that the A in Ajax is actually considered by those who consider AJAX to be an acronym to stand for Asynchronous (although the originator of the term claims that it is not an acronym and the letters therefore don't stand for anything)[2].

If asynchronous calls are so much better for your visitor's experience of the page than synchronous calls, why does Ajax provide a way to make synchronous calls at all? While asynchronous calls will work 99.9% of the time, there are rare situations where it just doesn't make any sense at all to allow your visitor to continue interacting with the web page until a particular server side process completes. In many of these cases it may be better to not use Ajax at all and instead just reload the entire page. The synchronous option in Ajax is there for the small number of situations where you can't use an asynchronous call and reloading the entire page is also inappropriate. There are not many such situations but they do exist and so Ajax provides for them.

A trap that many beginners may fall into is to use synchronous Ajax calls where asynchronous calls are more appropriate (as they are most of the time). The reason for this is that synchronous calls are easier to understand how the processing works. The thing is that asynchronous calls actually work exactly the same way except for the processing not waiting for the response but instead just handling the response when it arrives.

The only difference when using asynchronous calls is that you can actually set up multiple Ajax calls that overlap with a second call being made before the first has responded. This is where asynchronous Ajax does become slightly more complicated than synchronous Ajax because you need to make sure that each Ajax request uses a separate Ajax object rather than reusing the same object for all your Ajax requests[1]. If you use the same object for multiple asynchronous Ajax calls then the response handler will only handle the first response that it receives and will disregard any subsequent responses. With overlapping Ajax calls with the same object you have no real way to tell whether the response that gets processed is a response to the first call or the second. By using separate objects for each Ajax call you will have a separate response handler for each request that will handle toe response from the request made by that object.

Fig 1. Synchronous Communication in classical web pages

Fig 2 Asynchronous Communication In Ajax web pages


Ajax changes the way of building in Web applicatons.One of the best real time example google maps represents hug interest by web developers ,because it shows that Ajax is practical for real time examples.


Cross-Browser and Cross-Platform Compatibility.

Ajax application can be build with open standards technologies, is not tied to proprietary software.

Lower cost of development.

The code can be optimized and separated.

More rich interaction with the user, by example: autocomplete, dragand drop, transparency, shading, Z-ordering, etc

More speed, and less wait time for screen updated.

Wide spread adoption of Ajax by industry leaders.

Integration with others proprietaries technologies.


Same security problems as in classic Web application.

Think of different way in the development and design.

The use of frameworks can generate complexity.

More interaction through JavaScript.

More code for old browser.

Special code for some functions of Internet Explorer.

III .Hibernate

Hibernate is a powerful, high performance Object/Relational persistence. Its primary feature is mapping to SQL data types) which also provides data query and from Java classes to database tables (and from Java data types retrieval facilities. Hibernate generates the SQL calls and relieves the developer from manual result set handling and object conversion, keeping the application portable to all very little performance overhead supported SQL databases, with database portability delivered at very little performance overhead.[5]

Fig.3 Architcture of Hibernate framework

Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves object-relational impedance mismatch problems by replacing direct persistence-related database accesses with high-level object handling functions. Hibernate's primary feature is mapping from Java classes to database tables (and from Java data types to SQL data types)[5]. Hibernate also provides data query and retrieval facilities. It also generates the SQL calls and attempts to relieve the developer from manual result set handling and object conversion and keep the application portable to all supported SQL databases with little performance overhead

Mapping Java classes to database tables is accomplished through the configuration of an XML file or by using Java Annotations. When using an XML file, Hibernate can generate skeletal source code for the persistence classes. This is unnecessary when annotations are used. Hibernate can use the XML file or the annotations to maintain the database schema[5].

Facilities to arrange one-to-many and many-to-many relationships between classes are provided. In addition to managing associations between objects, Hibernate can also manage reflexive associations where an object has a one-to-many relationship with other instances of its own type.

Hibernate supports the mapping of custom value types. This makes the following scenarios possible:

Overriding the default SQL type that Hibernate chooses when mapping a column to a property.

Mapping Java Enum to columns as if they were regular properties.

Mapping a single property to multiple columns.[5][6]


Building the ERP system is tedious task. As more and more organisations moving towards establishing their work on Ajax web application inherit development challenges of classical web applications, and present new ones. We investigated the impact of these challenges on design and maintenance of Ajax systems. Ajax application a\have similar interactivity and speed as desktop programs. The Ajax Web Application are producing radically changes a new Internet age. Also ORM framework is a solution to solve the problem that object-oriented programming language and relational database development is not synchronized intermediate.