New thinking of enterprise application development based on Java-EE architecture: dilemma of Web development

Source: Internet
Author: User
Tags contains final html page

1 Preface

In the field of enterprise-class application system development, the Java EE architecture is now universally accepted. Although it has not fully honoured the new appearance of all kinds of beautiful promises, cross-platform, distributed, easy to develop and maintain, but the popularity of Java EE, has been an indisputable fact.

Although the Java EE has been very popular, but technically speaking, it itself is still a lot of defects, the more prominent disadvantage is the low efficiency of development, maintenance more complex, many project groups are trapped in it. This article will make a preliminary discussion on the causes of this phenomenon, and on this basis, put forward their own solutions.

The scope of this paper is limited to the application system of B/s development enterprise, and does not involve the application development of the website type. Discussion of the technical direction, mainly for the Java EE, the rest of the technical direction is not as the focus of discussion, for reference only.

This paper begins with the current dilemma of web development, analyzes the causes of the current dilemma, and then, by reviewing the evolution of the B/s technology framework and comparing the differences between C/s and b/s development modes, puts forward a set of new development solutions, and finally introduces the design purposes and simple functions of WEBDW series On this basis to expand the discussion.

2 Dilemma of Web Development 2.1 overview

Description: The development of Web application system, like a mountain, all the people are crushed.

Since the advent of the Internet, enterprise Application System architecture has undergone a great change, C/S architecture has been scrapped, B/S has become the absolute mainstream. But the B/s structure itself, more complex than C/s, coupled with new technologies, the entire industry is in a great dilemma. The development of Web application system, like a mountain, all the people, whether party A or party B, whether developers, maintenance personnel or system users, are exhausted.

Complexity of 2.2WEB system development

The structure design of B/s system itself is much more complicated than C/s system, which is usually two-layer structure in C/s architecture. The following figure.

Generally in this architecture, the server is a database server, only responsible for data storage and read access support; The foreground program uses the Vb,pb,delphi and other graphical development tools to develop, connects directly to the backstage database server through the network, through sends the SQL command to realize the database access. This kind of development environment can use the graphical control to build the user interface, the user's interactivity is better. The disadvantage is that the application is posted on the client, and if the number of clients is large, it is difficult to install and upgrade the client program.

In the B/s structure, it involves a variety of server types, Web servers, app servers, DB servers. The following figure.

In b/s system, the user accesses the Web server in the background through the browser on the client computer, and the Web server forwards the corresponding request to the application server to process, and the application server forwards the data access request to the database server for processing.

In the C/s system, application system or application itself is a complete, independent whole, generally adopt a development language to develop, this development language is not only responsible for the user interface, also responsible for business logic control, as well as the generation of data access requests to send, the main development and implementation of the work is done on the client.

In the B/s system, the architecture of the whole system is much more complicated. First, there is only one common browser on the client, the user interface is described by the HTML language returned by the Web server, and if some dynamic features are required, then it has to be done by embedding JavaScript in the HTML page. In the application system, a large number of pages are dynamic, rather than static pages, so you must complete dynamic page to static HTML conversion work on the application server. If a dynamic page contains data access requests, you must also access the database server in the background to assist in this effort.

Take the Java standard process as an example, when a user enters an address on a browser, or a URL, the URL is first passed to the Web server and then forwarded to the app server to explain the execution.

If the request is a JSP page, the application server reads the file first, then translates it into a Java file, compiles it into a class file, interprets the class file, and, if necessary, accesses the back-end database, resulting in an HTML-formatted output file stream, Return to the Web server and then return to the client browser to interpret as an interface.

Different from a language Pauta developed by C/s, the development of B/s system needs to be developed at multiple levels: browsers, HTML and JavaScript programming, application servers, Java or. NET programming, SQL statements on the database server.

In C/S development, the final product is an EXE file, and b/s development, the final product is a Web site, which contains thousands of files, but also a variety of different types of files: HTML, pictures, JSP, Java, Class, XML and so on.

In web development, people in order to simplify the development process, improve efficiency, has invented a lot of new technologies, in the page development, based on JavaScript itself, invented such as prototype, JQuery, Ajax and other frameworks; Based on Java technology, the creation of an architecture, Based on the Java EE architecture, and the invention of struts, webwork, Spring, Hibernate, Itabtis and countless other framework products. As a result, these products themselves create new problems while trying to solve the problem.

Relative to the development of the single development tool developed by C/S, the B/s development involves many tools, languages and frameworks, these tools, languages and frameworks, are designed to solve a problem, and developers must integrate these different objects to build a whole system.

b/S complexity, to a large extent, due to the technical surface involved too much, too many products, too much technology, too many frameworks, this not only increases the difficulty of learning, increased the cost of learning technology, but also increased the cost of operating maintenance system, and ultimately improve the overall system development, operating costs.

This high cost for developers, maintenance personnel, development companies, and party A are in trouble, we struggle in this dilemma, unable to extricate themselves.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.