Association Control Service Element (ACSE)
What is Association Control Service Element (ACSE)?
Association Control Service Element (ACSE) is an element of the Open Systems Interconnection (OSI) Reference Model's application layer, which is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). It checks the identities and contexts of the application entities and can apply an authentication security check. ACSE is specified in the ITU-T recommendations X.217 and X.227 as well as under ISO 8649 and 8650. The application process accesses an application service element via a user element, and a service element includes a number of language elements for the execution of its services; these are referred to as abstract syntax. The language elements of an abstract syntax are represented for transfer in the transfer syntax agreed upon between the representation instances, and in OSI standardization, the only data description language used for the formal description of the abstract syntax is ASN.1.
The Association Control Service Element (ACSE) model is a network protocol model that provides an association control mechanism for the exchange of messages between applications. Its main checkpoints include the following:
- Delimiting the atomic action: This ensures that the operations performed by the application are either all performed (leaving the database in a consistent state) or none are performed.
- Supporting commitment: This ensures that the database management software is committed to accepting the changes made by the application and is able to roll back to the start of the atomic action if required.
- Supporting concurrency: This ensures that the application is able to access the database concurrently with other applications.
- Supporting recovery: This ensures that the database is able to recover gracefully from a system crash. This is usually done through the use of transaction logs and checkpoints.
The Different Models of Association Control Service Element (ACSE)
- ISO Reference Model: The ISO Reference Model for Association Control Service Elements (ACSE) is a set of standards that provide a framework for controlling communications between different systems. It defines the services and protocols needed to establish, maintain and end an association between two or more applications. ACSE defines a set of basic primitives for exchanging information between the two systems and provides mechanisms for authentication, encryption, and data integrity. The ACSE framework also provides the means for setting up and managing the association between two applications. It defines how application-level services, such as remote procedure calls, are provided between two systems and how connections are maintained and terminated. In addition, it defines a set of management functions that can be used to monitor and control the performance of the association.
- Open Systems Interconnection (OSI) Basic Reference Model: The Open Systems Interconnection (OSI) Basic Reference Model is an internationally accepted model for interoperability between different computer systems. It is a seven-layer model that provides a framework for understanding the different components and processes that are involved in establishing and maintaining communications between two computer systems. The Association Control Service Element (ACSE) is a part of the OSI Basic Reference Model and is responsible for establishing, managing, and releasing associations between different systems. The ACSE is defined in the management framework that was released as part of the Basic Reference Model and is responsible for managing the connection and data transfer between two systems. The ACSE is also responsible for providing authentication, authorization, and accounting services. The ACSE provides a layer of abstraction between the application and other layers of the model. This layer allows applications to communicate with each other without requiring knowledge of the underlying network architecture.
- Service Component Architecture (SCA) Model: The Service Component Architecture (SCA) Model is an object-oriented, distributed computing model for application development and integration. It is based on a service-oriented architecture (SOA) in which service components are exposed as services and can be used independently from each other to construct applications. SCA provides a common language for the construction of distributed applications, enabling a standardized way of building and deploying services, components, and applications. The SCA model consists of a simple, extensible language for defining components, services, and their interactions by using a combination of XML and Java, and a set of open-source APIs for accessing and manipulating service components. The Association Control Service Element (ACSE) model is an element of the application layer that is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). It is used in the Open Systems Interconnection Reference Model (OSI-RM) and checks the identities and contexts of the application entities, and could apply an authentication security check. The main difference between SCA and ACSE is that SCA is an object-oriented, distributed computing model for application development and integration, while ACSE is an element of the application layer that is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). SCA provides a common language for the construction of distributed applications, enabling a standardized way of building and deploying services, components, and applications, while ACSE is used in the Open Systems Interconnection Reference Model (OSI-RM) and checks the identities and contexts of the application entities, and could apply an authentication security check.
- Object Management Group (OMG) Model: The OMG Model for Association Control Service Element (ACSE) is a protocol that enables the communication between two systems. It provides a way for the two systems to negotiate the connection parameters and establish a communication link. The ACSE is part of the Open System Interconnection (OSI) reference model and is responsible for setting up, maintaining, and releasing the connections between two systems. It also provides a way for two systems to exchange various control information and handles the authentication of each system. The ACSE is used in conjunction with the lower layer protocols, such as the Transport Layer Protocol (TP4) and the Network Layer Protocol (SPX), to provide reliable, secure connections between two systems. In addition, the ACSE provides the necessary facilities for distributed applications, such as a distributed database, to operate and exchange information between different parts of the system.
- Systems Modeling Language (SysML): Systems Modeling Language (SysML) is a modeling language that is designed to improve the ability to specify, analyze, design, and verify complex systems. It fits into the concept of Association Control Service Element (ACSE) by providing a platform for developing, validating, and executing system models. It is used to model the structure and behavior of systems, as well as to define their requirements. SysML provides a universal language for modeling system architectures and their associated components, as well as for expressing constraints and properties. It helps system designers to describe and represent systems from multiple perspectives, and to view relationships between system elements in a graphical way. SysML also provides support for the traceability and verification of system models, allowing designers to track and manage changes over time. Through SysML, ACSE elements can be used to establish, monitor, and terminate associations between two or more communication parties. It helps to ensure that all elements of a system are correctly associated and compatible with each other, in order to achieve the desired behavior.
- Composite Application Architecture (CAA) Model: The Composite Application Architecture (CAA) Model is a model that provides a set of service primitives and functions that allow applications to communicate with each other. The model is based on the idea of an association between two application entities, which is established by the CAA service primitives. The CAA model is different from the Association Control Service Element (ACSE) model in two main ways. First, the CAA model provides more functionality than the ACSE model, such as the ability to create multiple associations between application entities, and the ability to control the order in which those associations are established. Second, the CAA model gives application developers more control over the communication process, allowing them to customize the way their applications interact with each other.
- Zachman Framework: The Zachman Framework is an architecture framework that attempts to structure, organize and categorize all the components of an IT system. It is based on a two-dimensional matrix, with the horizontal dimension representing various perspectives of the system, from the business layer to the technology layer, and the vertical dimension representing various stages of the system, from planning and analysis to implementation and maintenance. The framework is used to develop a blueprint for an IT architecture and to ensure that all the components fit together. The Association Control Service Element (ACSE) is a key component of the OSI (Open Systems Interconnection) model, allowing applications to communicate over a network. The ACSE provides a service that manages connection set-up, and authentication, and provides reliable transport of data between applications, while also providing services like flow control, error control, and segmentation. The Zachman Framework and ACSE are both related to the concept of IT architecture, and they both provide a way of structuring and organizing components of a system. However, they differ in the way they approach structuring a system. The Zachman Framework is focused on mapping out the various perspectives of the system, from the business layer to the technology layer, while ACSE is focused on the specific communication services required for application-level protocols to function. The Zachman Framework provides an overall blueprint for an IT architecture, while ACSE is a specific component of the OSI model.
- Enterprise Information Modeling (EIM): Enterprise Information Modeling (EIM) is an approach to managing and organizing data within an organization. It is based on the idea of using a data model to represent the data that is used in an organization in a way that can be understood and managed by different stakeholders. EIM is focused on the organizational level and is a process of identifying the logical relationships between different entities in an organization. Unlike the Association Control Service Element (ACSE), which is part of the Open Systems Interconnection Reference Model (OSI-RM) and is responsible for the establishment, termination, and control of associations between two or more communication parties (programs), EIM is concerned with organizing data in an organization in a way that makes it easy to understand and use. Additionally, EIM is more comprehensive and is designed to identify and analyze data flows and their relationship to the organization’s business processes.
- Data-View-Controller (DVC): The Data-View-Controller (DVC) model of Association Control Service Element (ACSE) is a software architecture that is used to implement distributed transaction processing. It provides a layer of abstraction between the application and the underlying network protocols, enabling applications to access services and resources on different computers in a distributed system. The ACSE model is composed of three components: the Data component, the View component, and the Controller component. The Data component is responsible for storing the application data and providing access to it through an API. The View component is responsible for displaying the data to the user and accepting user input. The Controller component is responsible for translating the user input into commands that can be processed by the Data component. The DVC model provides the necessary infrastructure for implementing distributed transaction processing, allowing applications to access multiple resources from different computers in a distributed system. This ensures that changes to the data are consistent across all resources, preventing data inconsistencies and errors.
- Service-Oriented Architecture (SOA): A Service-Oriented Architecture (SOA) is an architectural style that enables applications to communicate with each other in order to exchange data and services. It is based on the idea of encapsulating related logic and data into services, which can then be made accessible to applications over a network. In the Open Systems Interconnection Reference Model (OSI-RM), the Association Control Service Element (ACSE) is an element of the application layer that is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). ACSE can be used to ensure that the correct services and data are communicated to the correct applications. It ensures that the applications have the necessary information to be able to communicate with each other. By using ACSE, SOA-based applications can have better control over the data and services that are being exchanged between them. This makes it easier to ensure that the right information is being exchanged and that the right services are being provided to the applications.
Layers of Association Control Service Element (ACSE) model
The architecture of the Association Control Service Element (ACSE) model relates to the OSI layers by providing addressing information in each layer, which can be used to "fan out" within the end system. The Network Service Access Point (NSAP) address, carried in the N-CONNECT primitives, is a worldwide unambiguous address that is used by routers to establish a connection or transfer connectionless traffic to the remote end-system.
The Transport Layer carries additional addressing information in its connect message called the Transport Selector, which when combined with an NSAP address, forms a Transport Service Access Point (TSAP) address. This TSAP address is passed in T-CONNECT service primitives. Similarly, in the Session Layer, there is a Session Selector, and in the Presentation Layer, a Presentation Selector. These selectors provide the ultimate fallback for identifying the protocol in the layer above.
The architecture of ACSE also allows for different implementation architectures. For example, if the network and transport layers are implemented behind the operating system fire-walls by the main computer vendor, but the applications are each implemented by a third-party vendor as separate monolithic implementations of session, presentation, and application, running as processes on that operating system, the transport selector can be used to determine which application should receive an incoming call. On the other hand, if all layers up to and including the Presentation Layer are provided by the computer vendor, with third-party products being processes that implement only the application layer, fan-out using information carried in the presentation layer is natural. ACSE also allows for multiple selectors to be non-null, allowing implementations of different architectures to co-exist.
The addressing structure of ACSE is not very human-friendly and may also be subject to change due to software or system upgrades. It is important to keep in mind that the addressing information provided by ACSE is used to identify and direct traffic in the OSI layers, but the model itself is a means of establishing, managing and releasing communication between two applications.
- Presentation Layer: The Presentation Layer of the Association Control Service Element (ACSE) model is a layer of the OSI (Open System Interconnection) Architecture that provides services between two application entities. This layer provides an A-ASSOCIATE service primitive which establishes an application association, or a presentation connection, between two application entities. This service primitive also has a corresponding A-RELEASE, A-U-ABORT, and A-P-ABORT which link the loss of an application associated with the loss of a presentation connection. The services of the Presentation Layer plus ACSE provide the application layer designer with a set of service primitives consisting of the P-service primitives with some "stolen" by ACSE, and also the A-service primitives provided by ACSE.
- Layer Protocol Standard: The Layer Protocol Standard is a set of protocol standards developed by the International Organization for Standardization (ISO) to define the communication between different layers in the Association Control Service Element (ACSE) model. The Layer Protocol Standard defines the addressing, connection, and transfer of data between applications, sessions, presentation, transport, and network layers. The standard provides an OSI addressing structure which enables unambiguous routing and transfer of data between layers. It also provides for fan-out within the end system by providing a Transport Selector, Session Selector, and Presentation Selector. Furthermore, ACSE defines an Application Entity title (AE-title) which is an ASN.1 datatype used to identify an application entity independently of the implementation structure. The Layer Protocol Standard is thus essential for reliable and secure communication between the layers in the ACSE model.
- Transport Layer: The Transport Layer of the Association Control Service Element (ACSE) model is responsible for providing addressing information that can be used to "fan out" within the end system. This addressing information is referred to as the Transport Selector, and it is passed in the T-CONNECT service primitives. The combination of an NSAP address with a Transport Selector forms a Transport Service Access Point (TSAP) address. This addressing structure allows for fan-out in all three layers and provides the ultimate fallback for identifying the protocol in the layer above, as well as providing a way to determine which application is to receive an incoming call.
- Computer Protocols: The computer protocols for the Association Control Service Element (ACSE) model are designed to facilitate communication between two systems. These protocols include Session Layer tools, Presentation Layer and ASN.1, ROSE and RTSE, Commitment, Concurrency, and Recovery (CCR), and Transaction Processing (TP). The ACSE model also requires the use of atomic actions, which are sets of operations with a known beginning and end which, to an outside observer, either all occur or none occur. This requires the use of protocols to delimit the atomic action, and protocols for the database management software to manage commitment and concurrency. These protocols allow the two systems to communicate and work together to ensure consistency and integrity of the data being exchanged.
- Application Layer: The application layer of the Association Control Service Element (ACSE) model is a layer of communication protocols and services placed between the presentation layer and the application entities. It is responsible for establishing, configuring, and releasing associations between two application entities. The ACSE model provides a set of service primitives to achieve this, which consist of the P-service primitives ‘stolen’ by ACSE, plus the A-service primitives provided by ACSE. These primitives provide a set of services to establish an application association, as well as services to release or abort an association.
- ACSE Components: The Association Control Service Element (ACSE) is an element of the application layer of the Open Systems Interconnection Reference Model (OSI-RM). It is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). ACSE can create and trigger associations and is also responsible for maintaining the connections. Before the connection is created, the context of the application must be agreed upon between the communication partners. ACSE is specified by the ITU-T recommendations X.217 and X.227 as well as under ISO 8649 and 8650. The language elements of an abstract syntax are represented for transfer in the transfer syntax to be agreed between the representation instances. In OSI standardization, the only data description language used for the formal description of the abstract syntax is ASN.1.
- Service Primitives: The Association Control Service Element (ACSE) model provides four service primitives: A-ASSOCIATE, A-ASSOCIATE-AC, A-RELEASE, and A-RELEASE-RP. These primitives support the establishment, maintenance, and termination of an association between two applications. The A-ASSOCIATE primitive initiates the association, the A-ASSOCIATE-AC primitive confirms the establishment of the association, the A-RELEASE primitive terminates the association, and the A-RELEASE-RP primitive confirms the termination of the association. Additionally, the ACSE model provides the ability to exchange multiple Association Data Units (ADUs), which are the data messages that are exchanged between the two applications via the association.
- Databases: The layers of the Databases ACSE model are: the Session Layer, the Presentation Layer, ASN.1, ROSE, and RTSE. These layers provide tools to ensure atomic transactions, commitment, concurrency, and recovery in order to maintain consistency across multiple systems. The Session Layer is responsible for delimiting the atomic action, while the Presentation Layer and ASN.1 are responsible for communication between the systems. Additionally, ROSE and RTSE are used to monitor and manage the transaction in order to ensure that consistency is maintained.
How ACSE Transfers Data
ACSE (Association Control Service Element) is an element of the application layer in the Open Systems Interconnection Reference Model (OSI-RM). It is responsible for the establishment, termination, and control of associations between two or more communication parties (programs). The ACSE service element is specified in the ITU-T recommendations X.217 and X.227 as well as under ISO 8649 and 8650. It controls the establishment and termination of connections and is responsible for the termination and maintenance of connections, the so-called associations, between two application work units.
To transfer data, ACSE creates and triggers associations. Before the connection is created, the context of the application is agreed upon between the communication partners. An application process accesses an application service element via a user element. To a service, an element belongs a certain number of language elements for the execution of the services. These are referred to as abstract syntax. The language elements of an abstract syntax are represented for transfer in the transfer syntax to be agreed between the representation instances. In OSI standardization, the only data description language used for the formal description of the abstract syntax is ASN.1.
Once the transfer syntax is agreed upon between the two communication parties, the data is transferred.
ACSE Implementation
The implementation of ACSE (Association Control Service Element) involves the following steps:
- In the Open Systems Interconnection (OSI) Reference Model, ACSE is an element of the application layer, which is responsible for the establishment, termination, and control of associations between two or more communication parties (programs).
- The application process accesses an application service element via a user element.
- To a service element belongs a certain number of language elements for the execution of the services. These are referred to as abstract syntax.
- The language elements of an abstract syntax are represented for transfer in the transfer syntax to be agreed between the representation instances.
- In OSI standardization, the only data description language used for the formal description of the abstract syntax is ASN.1.
- ACSE is specified in the ITU-T recommendations X.217 and X.227 as well as under ISO 8649 and 8650.