Application architecture and involves the structure and organization of the new software system, for example, whether the system is in the form of a desktop system, networked system, or Internet-based system? Architectural structure should be supported by computer equipments and configurations. Therefore, it is important to know both the application architecture and deployment environment (computer hardware, operating system, and other system components).
Judging from the number of computer systems are used, there are two types of application architecture, as follows:
- Single-computer architecture, an architecture that uses a computer system to execute all applications associated with the software. Sometimes referred to also as a stand-alone PC. The drawback of this architecture is the limited computer speeds that are owned by a single PC.
- Multi-tier architecture, an architecture that distributes applications related to software or the processing load to a group of computer systems. Multi-tier architecture is divided into two types, namely:
- Clustered architecture, is a group of computers of the same type, which share the processing load and acts as a huge computer system.
- Multicomputer architecture, a bunch of different computer types, which share the processing load through special functions
Based on the location of its computer systems, application architecture can be divided into:
- Centralized architecture, an architecture that puts all of its computing resources in a centralized location.
- Distributed architecture, an architecture that uses the computing resources of several different locations are connected through a computer network
In addition to the types above architecture, there are client / server architecture. Client / server architecture divides programs into two types, namely the client and server. Servers act as a program (or in the form of process, module, object, computer) that manages the flow of data and information services to a network. Meanwhile, the client is a program (or in the form of process, module, object, computer) requesting services and information flow of data from one or more servers. Issues that should be considered related to the development of this architecture are:
- Perform decomposition into client and server application programs, modules or objects.
- Decide which computer systems will act as clients and servers.
- Determine communication protocols and networks are used to connect clients and servers.
Further development of the client / server architecture can also be seen in the following architectures:
- Web-based application architecture. Flexibility is the key factor if you want to use this architecture. Implement applications with the Internet will expand the application's accessibility and eliminating the need to install on the client side. Furthermore, the use of this architecture has advantages in terms of accessibility, low-cost communication, and implemented a standards Instant confirmation. While things are still to be considered for the implementation of this architecture is the subject matter of security, reliability, throughput, and volatile standards.
- Web services architecture, which is a more modern development of client / server architecture, which classifies the software into the server processes that can be accessed via web protocols.
Client / server and three-layer architecture relies on special programs that allow the creation of communication between multiple layers. Software used to implement the communication interface is commonly referred to as middleware, which acts as an intermediary, which implements communication protocols on a network and help the communication between different systems.
Conversion Conversion Emoticon Emoticon