Study of the Characteristic and Information Architecture Model of Enterprise Web Application

In this paper, we systematically described the characteristics of traditional Web applications, as well as the advantages of Ajax technology, analyzed the differences between enterprise web application and public web application, and the differences between enterprise web applications and desktop applications; studied the characteristics of enterprise Web applications and Information Architecture Model; on the basis of the analysis of enterprise-class framework, proposed functional requirement of components and framework which support enterprise-class Web development, discusses computing balance between the client and server.

application. The reason is that people overdo their focus on technology and ignore the research of characteristics of Web application and the information structure mode. Some enterprises so blindly move the desktop application to the Web application that the application effect is not satisfactory. Starting from the development course and the characteristics of the Web application, this paper present the information structure mode of the enterprise Web application based on the characteristics of enterprise applications and enterprise Web application and the differences between the enterprise Web application and desktop application.

Web applications and its characteristics
Enterprise Web applications are the penetration and natural extensions of the web technology to the enterprise application fields. To study the enterprise Web application characteristics, we should first study the development course and characteristics of Web application When discussing Web applications, many people would first think of web site. Actually, there are many differences and similarities between the web application and the Web site. Web site is a network media that composed by Web page and used for graphic and information release, and its emergence associated with Internet technology. Each page is a HTML Document that composed by various text and pictures and so on, It is stored in servers as static view, downloaded through browser and showed at client. These page documents formed a web site by Links. Early web site is an electronic bulletin board. In order to satisfy the interactivity of media, web page has a certain interactive function because of the connection between the forms and simple programming and backend database. As the web technology and development tools increasing maturely, many people who has little software engineering technology of knowledge can easily make the web more interactively, but creating content on web is not equal to deploy web application.
The web application is a program that interview the web through the Internet, belongs to the category of software engineering. It should have the following prominent characteristics: It is a software application as a single entity and have specific functions. It is working through the web browser, and processing data through server to provide information services; As a website, what users concern is its contents, the inquiring efficiency and interface effect, and for a web applications, what users more concerned is its ability of process transactions, also its realized functions and the services that it can provide, and have higher requirement for its interactivity. Common public web applications such as: chat room, message board, Blog or electronic commerce and so on. Of course, they also have a lot in common; they are composed by the web page and provide information to users through the network, and require good usability and the users experience.
In traditional Web, the only possible interactive method of users is inputting data to Web forms and submit this forms to the server. Every interaction with the server, the user will have a new document page. Any changes and operations of the page will result in an entire page update, including all the parts such as data, style and structure. For example, updating one of a customer's information of CRM will lead to all customers' information reload. The main problems are weak interactivity of page, lots of information network transmission brings delay to the response of page, and frequent page refresh result in bad users experience Ajax technique's emergence and use fundamentally changed the client and server data communication mode, which changed the communications unit from page document to data object. Significantly reduced the server workload and network transmission quantity And use of asynchronous way to communicate with the server, thus the page have more rapid response ability and interact ability, and greatly improves data processing ability of the web.
Ajax provides the ability of asynchronous communicate with the server, so users can released from the request or response cycle. With the help of Ajax, when the user clicks a button can issued asynchronous request to server, to implement update or query database; When requesting return, local UI will update by JavaScript and CSS, rather update all the page, so the user requests and data update will be instantly responsive, This makes the Web application has the same efficiency and the user experience to the desktop application. The comparison of traditional dynamic pages technology and Ajax technology as is shown in Fig.1

Emerging Engineering Approaches and Applications
Http Request

HTML+CSS Data
Http request XML data Currently Ajax has become the dominate technology of the web application development, and brought the upsurge to Ajax technology application; expand the scope and fields of the web application, and brought a number of new web applications.

The differences between the web application and desktop application
The purpose of the enterprise to construct one application system is to improve the efficiency and controllability. The dependability, stability and the efficiency of data processing of system is one of the most important indicators of the enterprise application. With more and more enterprises achieved the cross-regional and cross-border management, how to give the scattered information sources a real-time and centralized management becomes the problem that the enterprise faced. The desktop application business and data model that based on C/S structure is in a closed environment to run and cannot be a good solution to these problems. The Web application that based on Internet web can enable all enterprise employees who located in different regions can share the same information resources, and work coordinately in a unified platform, users do not need to consider the physical location. Therefore, Web application can adapt to the development of enterprises easier and should become the preferred choice of enterprise application.
There is a large gap between the original desktop application and the traditional Web application in response speed, data processing and user experience, especially when involving a large number of data entry, the user experience is so poor that have a big gap compared with the desktop application, employees who has accustomed to using desktop application will often reject the Web application that have a weak availability. The use of Ajax technology has greatly improved the user experience and availability of the Web application.
Ajax brought the interaction and efficiency to the Web, and these properties are often used in desktop environment, when the business of the enterprise needs frequent data entry, Ajax can improve their productivity easily. Meanwhile, Ajax technology changed the data communication pattern between the client and the server, and improved the network utilization. A study on Developer.com shown that Ajax can reduce 73% network flow and 32% total transmission time, and Ajax made enterprise Web application sever no longer totally dependent in expensive infrastructure provided by the framework, greatly reduced the cost of enterprise applications.
Increased availability and lower costs, coupled with the advantages of the Ajax-based Web application, allowing companies to shift applications from the desktop to the Web become the inevitable trend of future enterprise application.

The information construction mode of enterprise web application
With the software's scale and complexity rising, there is a bottleneck in the software design and development method, the difficulty and cost of maintain increasing, leading to the software crisis. Software reuse is considered as the main way to improve software productivity, reduce costs and improve the quality. Early software reuse is the reuse of processes and functions. By the 20th century, 80 years, object-oriented programming approach has been quickly developed and produced software reuse that use the class as a unit. In recent years, more and more components and frame technology was subjected to the attention of researchers, and was successfully applied to many specific software, the framework not only achieved code reuse and makes it possible to reuse the design.
In "Design Patterns" book, software designer Erich Gamma has the following definition of the framework :"A framework is a set of cooperating classes that make up a reusable design for a specific class of software". To reuse the completed design and code .the framework is build. Generally, a framework is suitable for a specific type of software.
Because of the outstanding performance of the Ajax technology, more and more attention is paid to the application of Ajax, but Ajax involves many areas of technology, both the encoding and testing all have some complexity, therefore, reusable components and framework based on Ajax get a great deal of development At present, the popular Ajax frameworks are Dojo, Prototype, Dwr, Rico, Tibet and so on. However, most of these frameworks offer support to the consumer-oriented type of web application development, not enough to support the enterprise Web development, and also not possible to use these components and framework to directly build a complete enterprise Web application system. At present, the framework that aims at the specific features of enterprise-class Web application development is still very rare.
Certainly, the international IT giants have pay their attentions to the research of enterprise Ajax framework. IBM established the Open Ajax Alliance . Microsoft released ASP.NET Ajax, Google released a Java developer for Web Kit (GWT). Adobe Flex and Ajax supported the bridge through the FA (FA Bridge) interaction, and released an open source Ajax framework called Spry. However, these frameworks are constantly developed and improved ,but still can not fully meet the needs of enterprise's practical requirements. Considered the characteristics and requirements of the enterprise application ,the major enterprise Web application framework should include ready-made solutions of the several key issues ,which is shown in Fig. 2.

Specific development components
Enterprise applications often involve large amounts of data editing and input and output, and Web application is often inferior to the desktop application in user experience of large amounts of data editing , so the enterprise Web application framework should contain a Emerging Engineering Approaches and Applications

Computing balance
Enterprise application often need to take a very large business load, and requires a high processing speed. In a large number of concurrent accesses, user can not accept the errors caused by system response delay and performance problems, in the article [1] an adaptive load balancing service was designed on the serer side to ensure system availability. For the framework and components of enterprise Web development,it should fully tap the client's computing power, and through micro-server request to reduce the load pressure.

Communications issues
Internal message and notice conveyed timely, including the text of the session, mass messaging, file transfer, file sharing, Internet-based voice and video communications, remote collaboration mode; system and external actors (such as business customers) through various communication media (phone, web, mail) to interact

Security issues
As an open platform, compared to desktop applications, Web applications more easily subjected to attack, so the enterprise application framework should pay attention to security for the prevention, and reduce the logic design defects or compile errors, to prevent illegal or computer hackers use monitor , Illegal interception, implant Trojan, SQL injection and other methods to steal important information or damage systems, and to guarantee system communications security and data security.Among them, the most important is supportive components and load balancing of enterprise Web application,

The two key issues for enterprise web application development
Building an enterprise application framework must be able to extract the similarities of different enterprise applications, at the same time to develop reusable components. A suitable framework for enterprise application software must be able to shorten the development cycle, while ensuring availability and save development costs.
The development support components for enterprise Web application When entering and editing a great deal of data in enterprise Web application, how to get the same user experience as the desktop applications is very important. In desktop applications, you can achieve the data presentation, entry and editing functions in a same window, but in the Web application, there is no such comprehensive functional component. Microsoft provides a Grid View data component in. NET, but only have the function of display and control of data, and data editing need to jump to another interface. In enterprise applications, this approach will seriously affect employee productivity; users hope that the data can be edited when the data is displayed. Therefore, in the development of enterprise Web application framework, you can use Ajax technology to build a non-refreshing data editing component that based on forms. Similar to Excel, the component should have real-time editing features, you can input the contents in the block output position, the trigger editing content operation should as easy as desktop applications. Put this function of real-time editing to the data processing business of enterprise Web application will certainly greatly enhance the work efficiency of employees.
In addition, how to quickly search the data that the user required from vast amounts data of enterprise is also a key issue. Enterprise Web application framework should provide a component with dynamic search capabilities to improve the user's input speed. Such as multi-level interaction menu, the most common is the provincial, municipal and county levels linkage menu. When the user selects a province menu, the city that the province included is automatically displayed in the secondary list box, the county that the cities included is displayed in the third list box .Such component is the needs of enterprise application, in the enterprise inventory subsystem, when the company need more raw materials, in order to facilitate retrieval, they usually set multi-level interaction menu according to the type of raw materials,. Before the advent of the Ajax technology, multilevel interaction menu often use the client-side script to processing, all data will be "drawn" into the client-side array, the operation of multilevel interaction menus is equal to direct action of the array. Obviously this approach resulted in data redundancy. Ajax technology has changed this situation, the user processing Ajax cascading menu, when the select value of the menu changes, the client sent out Advanced Engineering Forum Vol. 1 request to the server according current ID and class number category, server will get the subclass data and constructed a drop-down box and then returned to the client. The client callback function removed the second layer of cascading menus, and displayed the data that the server returned. This approach make the data really achieved "according to need" and reduce data redundancy and enhance the user experience.
Another component quite popular with users is the dynamic text input boxes; users who often use search engine known that the magic of Google search boxes, when the user input contents, the text that the user input will appear below the box. The purpose of dynamic text input boxes is inputting information to the users prompt, when the user input content in the text box, some related data will immediately displayed below the text box. In enterprise application, often querying and processing reports from a large number of reports, dynamic text input boxes can achieve fuzzy search according to the number of the reports that the user input, and in the text box showing more information of all eligible reports for users to choose. When the search criteria have multiple choices, it can pop up anther search dialog, the user can search easily through these search criteria. Such practices are particularly important when input large amount of data, and can greatly reduce the user input time, reflects the process more humane. In the framework of enterprise Web application, these features should be separate package, to become relatively independent of support components, and facilitate the use of system developers.

Computing balance between client and server
In the early days of Web applications, browsers generally do not have the computing ability, only provide information display, input and transfer functions. Then computing model is based entirely on the server-side computing. The consequences of this model, on the one hand , the client's computing ability is idled , on the other hand, because of the heavy traffic load, the server resulted in decreased response delay and performance decreased issues, and user experience is bad. However, this situation improved with the advent of JavaScript.
JavaScript led the client have the computing ability for the first time, first used as a scripting language that embedded in the browser, the Web applications skills considerably increased because of the abundant expressing ability The syntax is simple, Programming method is flexible, function is very powerful, so a large part server load pressure is reduced. In order to more simply use the JavaScript, a variety of application framework based on JavaScript is developed, afterwards, Ajax promote the development of JavaScript greatly.
JavaScript can really make the business client with certain ability, therefore, the rich client application mode is proposed [6]. But with the development of JavaScript, it was found that excessive use of JavaScript would make the page load slowly, because the client needs to download the JavaScript code to the client, which will occupy a certain bandwidth. To ensure that users do not wait too long, JavaScript code should generally be controlled at 10K ~ 20K [6], that is to say, only part of the functions can be placed on the client, so the system designers need to distribute system functions. As the network hardware conditions improved, the focus of business processing system is transferred to the client, therefore, we propose a new browser-centric technology architecture model, It was shown in Table 1. Interpreting and displaying HTML code , and using css for page layout control and landscaping.
Preserve the pure HTML pages and CSS file static.
Using client-side computing ability ,client-based.
Dynamic Data Access(Data read / store) Calling standard access interface that provided by server, and processing and displaying the data that returned by the server Providing a standard access interface, returning data packet information.
Using the Ajax's micro-request to communicate, reduce network bandwidth consumption.

Business
The function that use frequently and have less code is put on the client to achieve, to minimize the pressure that caused by a number of concurrent access to the sever.
Function that have a large amount code is implemented at sever Reasonably distributing the business between the browser and the server to achieve the load and communication balance

Emerging Engineering Approaches and Applications
The core issue of distribution of system function is reasonable division of the browser and the server. Different enterprises, the complexity and computation of its business logic is different, and how to evenly use browser and server computing ability and make the system have the greatest availability is the biggest challenge of system designers.

Summary
Enterprise web application have more advantages than desktop application, but compared to public-based Web application, it have a lot of technical difficulties. These difficulties are mainly reflected in a large number of data interaction and complex business, Ajax's requests and asynchronous communication provide a method to solve these difficulties, also create the conditions for the promotion of enterprise-class Web application.
Because of the difference between enterprise Web application and the public Web application, directly using public Web application development techniques and methods to develop enterprise web application is very difficult. Currently, the framework that supports enterprise web application development is being continuously developed, and need to be perfected. The research of enterprise web application framework should focus on components, load balancing, communications and security. Meanwhile, in the rich client model, how to fully exploit the computing ability of the client and enhance system availability is also a problem that the system designer should consider.