有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java企业应用程序与普通应用程序

有人能很容易地让我理解什么是企业应用程序吗?企业应用和普通应用有什么区别?为什么Java最常用于构建企业应用程序


共 (2) 个答案

  1. # 1 楼答案

    Martin fowler在他的书Patterns of Enterprise Application Architecture中对企业应用程序的定义如下:

    Enterprise applications usually involve persistent data. The data is persistent because it needs to be around between multiple runs of the program—indeed, it usually needs to persist for several years. Also during this time there will be many changes in the programs that use it. It will often outlast the hardware that originally created much of it, and outlast operating systems and compilers. During that time there'll be many changes to the structure of the data in order to store new pieces of information without disturbing the old pieces. Even if there's a fundamental change and the company installs a completely new application to handle a job, the data has to be migrated to the new application.

    There's usually a lot of data—a moderate system will have over 1 GB of data organized in tens of millions of records—so much that managing it is a major part of the system. Older systems used indexed file structures such as IBM's VSAM and ISAM. Modern systems usually use databases, mostly relational databases. The design and feeding of these databases has turned into a subprofession of its own.

    Usually many people access data concurrently. For many systems this may be less than a hundred people, but for Web-based systems that talk over the Internet this goes up by orders of magnitude. With so many people there are definite issues in ensuring that all of them can access the system properly. But even without that many people, there are still problems in making sure that two people don't access the same data at the same time in a way that causes errors. Transaction manager tools handle some of this burden, but often it's impossible to hide this from application developers.

    With so much data, there's usually a lot of user interface screens to handle it. It's not unusual to have hundreds of distinct screens. Users of enterprise applications vary from occasional to regular, and normally they will have little technical expertise. Thus, the data has to be presented lots of different ways for different purposes. Systems often have a lot of batch processing, which is easy to forget when focusing on use cases that stress user interaction

    Enterprise applications rarely live on an island. Usually they need to integrate with other enterprise applications scattered around the enterprise.The various systems are built at different times with different technologies, and even the collaboration mechanisms will be different

    他还列举了一些常见的企业应用程序示例:

    Enterprise applications include payroll, patient records, shipping tracking, cost analysis, credit scoring, insurance, supply chain, accounting, customer service, and foreign exchange trading. Enterprise applications don't include automobile fuel injection, word processors, elevator controllers, chemical plant controllers, telephone switches, operating systems, compilers, and games.

  2. # 2 楼答案

    企业应用程序部署在应用服务器中,主要使用三层进行开发

    1. 用户界面层,使用表示逻辑向客户端显示用户界面。使用的技术有HTML、JSP等
    2. 业务层使用业务逻辑并处理请求以满足客户的需求。使用了JSP、servlet和EJB等技术
    3. 数据持久化或访问层使用持久化逻辑与数据库交互并执行查询的层。使用Hibernate、JDBC等技术