The Application Layer

The application layer is comprised of a variety of standards, each of which provides a set of useful services for the benefit of end-user applications. Only those services
which can be provided in a system-independent fashion are subject to
standardization. These include: virtual terminal handling, message handling and file
transfer, job transfer, and many others.

Application Services

Depending on their scope of use, application services may be divided into 2 categories:

* General, low-level services which are used by most applications. This group includes three sets of services: association control, reliable transfer, and remote operations.

User applications should make as much use of the above services as possible so
that they can benefit from the standardizations. A user application can be imagined as
consisting of two parts:

(i) a standardized part, called Application Entity (AE),
which is immersed in the application layer and is implemented in terms of the
application layer services.

(ii) a non-standard part, called Application Process
(AP), which remains outside the scope of the application layer. Typically, the
application entity deals with the inter-application communication, and the application
process provides the user front-end and interfaces to the local.

Unlike earlier layers, the application layer does not provide connections. This should not come as a surprise, because there are no further layers above the application layer that would otherwise use such a connection. Instead, two applications use an association between their application entities for exchange of information over the presentation connection. An association serves as an agreement so that the two parties are aware of each other's expectations.

Application processes will be no further discussed, as they are outside the scope of the OSI model and standards. Application entities are the focus of what the
application layer standards are about, and are discussed further below.

Application Entity

As mentioned earlier, an application entity accounts for that part of a user application which falls within the scope of the application layer. An application entity consists of
one or more application service elements and a control function (see Figure 8.82).
An Application Service Element (ASE) represents an application service and its
associated standard protocol. A Control Function (CF) regulates the activities of an
application entity. This includes managing the ASEs and the association with the peer
application entity.

Peer application entities must share a common application context by ensuring that either entity uses exactly the same set of ASEs and uses them in the same
fashion.

There are two classes of ASEs:

* A Common Application Service Element (CASE) denotes a general application
service.