What is "distributed application system"

Source: Internet
Author: User
Tags sybase

Today, with the rapid development of the information industry, Enterprise The competition will be more intense. With the continuous expansion of scale and business updates, enterprises urgently need a complete Distributed Solution for managing complex heterogeneous environments, complete integration between different hardware devices, software systems, network environments, and database systems.

Background

Looking at the history of human computer development, the information industry will undergo periodic changes every ten to fifteen years. During the period from 1950 to 1970, enterprises mainly adopt the architecture of large host-terminal. Application The system provides resource sharing services in a single and centralized manner. In the early 1980s S, Open Systems and relational database management systems were widely used by enterprises. They were different from centralized systems and applications.ProgramThe logic is distributed at the master and slave ends. With the popularization of windows, the 1990s s were a graphical application era, and the client/server architecture was also widely used. In the late 1990s S, distributed object technology emerged in the information industry. Applications can be distributed across different system platforms and objects can communicate with each other through distributed technology. Integrating existing enterprise systems into distributed systems can greatly improve the scalability of enterprise application systems. Appeared at the end of 1990s Multi-Layer Distributed applications have pointed out the direction for enterprises to further simplify the development of application systems.

In the traditional Client/Server structure, application logic is usually distributed in Client And Server The client sends a data resource access request, and the server returns the result to the client. The defect of the Client/Server structure is that when the number of clients increases, the server performance will be greatly reduced due to the inability to balance the load. Once the application requirements change, the client and server applications need to be modified, which brings great inconvenience to application maintenance and upgrade, in addition, the transmission of a large amount of data also increases the network load. To solve client/server problems, enterprises only need to change to multi-layer distributed applications. The multi-layer architecture 1 of enterprise applications is shown in.

In multi-tier distributed applications, one or more application service programs can be added between the client and the server. Such programs are called application servers ). Developers can place the business logic of enterprise applications on the intermediate layer server rather than the client, thus isolating the business logic of the application from the user interface, while ensuring the client functions, provides users with a thin (thin) interface. This means that if you need to modify the applicationCodeCan be modified only in one place (on the intermediate layer server) without modifying thousands of client applications. This allows developers to focus on the analysis, design, and development of the core business logic of the application system, simplifying the development, update, and upgrade of enterprise systems, this greatly enhances the scalability and flexibility of enterprise applications.

When enterprises need to establish web-based commercial application systems, the multi-layer distributed architecture also provides powerful advantages and a "thin customer" Architecture for web-based commercial applications, this allows browser-based customers to effectively interact with intranet resources without complicated application configuration on the client. Multi-layer distributed solutions build bridges between heterogeneous platforms to integrate Web-based commercial applications with existing enterprise systems.

Currently, most enterprises in China use the client/server architecture. in western developed countries, the transformation from traditional application systems to multi-layer distributed application systems has become the mainstream in the industry. We believe that in China, multi-layer distributed systems will be more widely used.

Challenges brought by multi-layer distributed applications

Although the multi-layer distributed architecture provides great advantages for enterprises, it is more difficult to develop multi-layer distributed applications than the traditional Client/Server approach, which brings new technical challenges to developers. It mainly includes the following three aspects:

1. Diversity of distributed object standards

To build a multi-layer distributed system, enterprises must follow the distributed industrial standards, based on which standards directly affect the openness and scalability of enterprise application systems. At present, there are three main criteria for Distributed Objects: Microsoft's DCOM, Sun Microsystems's Enterprise JavaBeans/RMI, and the Common Object Request Broker Architecture organized by OMG (Object Management Group ). DCOM is a distributed object standard based on the Windows environment, so it supports a limited range of platforms. RMI and Enterprise JavaBean are distributed object architectures based on the Java language and are suitable for cross-platform requirements of large enterprises. However, the actual application system environment is generally established by a variety of different programming languages, enterprise applications built on only one programming language are rare. CORBA is a distributed object standard developed by OMG organizations involving more than 800 large software and hardware companies, supported by large companies such as IBM, Sun Microsystems, Oracle, Sybase, Novell, and Netscape, the CORBA standard enables communication and interoperability between objects on different platforms, as long as the software supplier complies with the IDL (Interface Definition Language) for communication between the application object and ORB, it can provide services or obtain services in the form of objects, orb allows developers to focus on application logic development without considering the differences caused by heterogeneous platforms, different communication protocols, or different programming languages. It can be seen that CORBA provides open and flexible distributed standards and is suitable for enterprises to build multi-layer distributed application systems.

2. Multi-Layer Distributed Application Development is complex.

If multi-layer distributed applications are developed in a traditional way, developers need to have a deep understanding of the computer system level, such as concurrency, security, scalability, and transaction processing. In addition, effective management of system resource access is required, such as management of threads, memory, database connections, and network connections. These complex tasks greatly consume developers' energy and limit the development progress. The development of enterprise application systems requires developers to focus more on business logic, rather than wasting more time on system-level development.

3. Distributed Application distribution and management are also a challenge

Most distributed applications consist of hundreds of thousands of components. During distribution, each component has attributes that need to be configured. Generally, the configuration of component attributes depends on the platform where the component is located. Therefore, it is a challenge to manage distributed components after applications are distributed. Managers need to ensure that the application components can run correctly on any machine in the enterprise network and detect and handle errors (including system errors, network interruptions, and application errors) in a timely manner ).

In the traditional sense, network system management (such as SNMP) can only obtain the running status of applications by analyzing the host status. However, for distributed application systems, an application is not running on a host. Therefore, the administrator needs to manage the status of the entire network, which requires support from appropriate tools.

Multi-layer Distributed Application Requirements

To develop multi-layer distributed applications for enterprises, there are usually the following requirements:

1. Easy to develop

Although the multi-layer distributed architecture requires deep computer system-level knowledge as the Foundation (such as database, transaction processing, network security, and CORBA technology), for it developers, it is required that, without having to have a deep understanding of the complex technology at the underlying layer of the system, the system can be used in a friendly visual integrated development environment (IDE, quickly and easily develop a powerful multi-layer distributed application system.

2. Simplified distribution and management

Developers must be able to test and modify distributed applications in an integrated development environment to improve application performance and achieve application distribution and management in the same environment. Because many applications include thousands of components distributed across enterprises, a centralized management tool is required to manage and control distributed applications and Implement error detection and correction.

3. Enterprise Application Robustness Requirements

A complete enterprise distributed multi-layer application should meet the requirements of transaction processing, security management, fault tolerance, load balancing, scalability, and high performance.

4. Open Architecture Based on Industrial Standards

Enterprises need open, industrial-standard-based solutions to interact with other systems that comply with the standards.

5. Integration with various databases and existing systems

Enterprise Distributed applications must be able to access enterprise data resources, while enterprise data is usually stored in popular large databases (such as Oracle and Sybase), or through TP Monitor (such: IBM CICs, BEA Tuxedo) access requires that enterprise distributed systems be integrated with databases and existing systems.

6. Support for different platform Environments

Enterprise multi-layer distributed applications must support different platform environments. The server end should support Windows NT or UNIX platforms, and customers on different platforms can access applications on the server, including: HTML, Java applets, Java applications, dynamic HTML, and C ++ applications.

Enterprise Application Server

Based on the above reasons, when enterprises change to multi-layer distributed applications, they need application server support to integrate different application technologies, it makes development, distribution, and management of multi-layer distributed applications easier. Now many enterprises have used the application server technology, which greatly enhances the performance of enterprise applications. However, the application server technology in China's applications cannot fully meet the needs of enterprises to establish multi-layer distributed applications. These application servers are mainly divided into the following two types:

1. Web-based application server

Web-based application servers generally provide a web-based interner application development environment and are suitable for establishing web-based client/server application systems. In this system, web application servers usually run on Web servers to process customer requests. Usually, ODBC and JDBC are used to connect to the database. This type of application server is generally easy to use and supports Server application development based on EJB (Enterprise JavaBeans. However, such application servers have the following drawbacks: they do not support transaction processing, poor security, limited support for existing transaction systems, and low performance. The architecture of Web-based application server 2 is shown in.

2. Middleware-Based Application Server

By integrating middleware-based application servers with existing systems (such as TP monitors), you can provide enterprises with more powerful functions, including: transaction processing, security management, fault tolerance, load balancing, etc. However, most solutions are based on the client/server architecture, or only limited to three-tier architecture, and are not suitable for building distributed Web applications, there is no effective development and management environment. The middleware application server architecture 3 is shown in.

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.