Logic levels in a software system




A well-designed software application based on the Client/Server model is divided into separate logical parts called layers or levels. Each layer has a different responsibility in the overall architecture. These layers are purely abstractions, and do not correspond to physical distribution. The logic levels and the interconnection between them represent the most common design of a transaction processing.
Typical layers in a client/server system are as follows:
. Presentation layer - this layer includes components that handle the user interface and user interaction process. It is used for communications between the end user and the processing system, which can be for example a business logic oriented server with the role of managing the information. Presentation logic in an application program uses these services to interact with the presentation management facilities of the server. One example of presentation layer can be made up by JSP pages which are basically HTML files with special tags, having the possibility to provide dynamic content to the clients, by including Java code. The content of pages interacts with the servlet engine placed into a Web Server which is the one who runs them.
. Business logic layer. This layer contains components that handle the programming logic of the application, performing data manipulation and computation required by transactions of reply/request. Business logic is typically subdivided into several modules, each providing a separate service. Modules could be: checking the validity of input data, handling communications, performing data access, accessing system information, setting up the processing environment requesting system services; An example of components of a business layer are the Java Beans, with which one can create platform-independent components. Other definition of the business logic: Business logic refers to the logic that embodies business rules rather than the view of data or storage, with the consumers of the business process. The core of any application is the business functionality it provides. An application performs a business process that consists of one or more tasks. For more complex business processes that require multiple steps and long running transactions, the application needs to have some way of orchestrating the business tasks and storing state until the process has completed. One can design the logic in your business layers to be used directly by presentation components or to be encapsulated as a service and called through a service interface. The core of the business logic is sometimes also referred to as domain logic. The business components may also make requests of external services, in which case you may need to implement service agents to manage the conversation required for the particular business task performed by each service you need to use.



. Data layer. This layer is used by the business logic layer to persist state permanently. This layer usually consists of one or more databases where data is stored, the data base being used to retrieve or to update data. The Data Access Logic Layer is composed of simple Java classes known as Data Access Objects (DAO) this layer providing separation between the business logic and data access logic. The data access layer can be viewed as the layer that can isolate the rest of the application from the data access implementation, being a buffer between Data Source and Business Logic.

Besides the interaction of the software components, we should take into consideration also the way they physically communicate. This is done through the TCP/I protocol that is described in the section no 3 (Connections and Protocols over the Internet) As it has been exposed, as a conclusion, the TCP/IP is a standard that manages how the connections between computers and applications are performed. The standard is useful from two perspectives: connection between applications and connections between clients and servers over the Internet
For a better vision over the functionality and connection between the layers of the system architecture, the image bellow is edifying.