The AB Suite Access Layer Application Programming Interface (API) is a new connection mechanism that is available with the Client Framework for connecting a client to the runtime system. This API is part of the Client Framework infrastructure. It delivers an open approach for the development of .NET-based user interface by integrating industry standard interfaces with DataModel concepts. This provides a natural and intuitive environment for .NET developers when designing end user, middleware, and service-based applications that connect to the AB Suite systems.
The Access Layer API is exposed in two different ways
As a set of .NET assemblies that provide classes and interfaces for connecting and performing transactions against the runtime system. This is referred to as “Direct Connection” and requires the client application to support the COM/DCOM access mechanism from Microsoft. The client technologies that would use this type of connection include Windows Presentation Foundation (WPF)/Extensible Application Markup Language (XAML), ASP.NET, and Windows Communication Foundation (WCF) service applications.
As a WCF Service Gateway hosted on an application server (this may or may not be the same machine that the AB Suite system is running on). This is referred to as “Remote Connection” and allows client applications that do not support COM/DCOM to use the Access Layer API across a network by using WCF. The client technologies that would use this type of connection include SilverLight and Windows Store 8 App.
The Access Layer API allows a client application to interact with the deployed AB Suite system in two ways
Direct connection – A direct interface is available for client applications that can interoperate with COM/DCOM. In this case, the Access Layer API for direct connections use the .NET compatible DataModels generated by the Client Framework.
Remote connection – A remote interface is available for client applications that cannot interoperate with COM/DCOM; for example, SilverLight and Windows Store 8 App. In this case, the Access Layer API for remote connection uses the .NET Portable assemblies generated by the Client Framework. The Access Layer API for remote connection interacts with the runtime system through the AB Suite WCF Gateway, which can be hosted on the application server where the AB Suite system has been deployed.
Note: The AB Suite WCF Gateway service allows clients, such as SilverLight and Windows 8 Store App, to communicate with a runtime system.
The Access Layer API for the direct and remote connections is exposed in the same way to application developers. This allows them to develop the code for runtime interactions in a consistent manner, regardless of the connection mechanism being used. Behind the scenes, the difference is that direct connections access COM/DCOM directly, and the remote connections communicate through an intermediary gateway by using WCF.
Note: Some client applications (for example, the WPF Client) can be designed to allow both direct and remote connections, or they can use the appropriate connection type as required.
When developing a custom client by connecting to the Access Layer API, the following assemblies must be referenced by the client application project:
For direct connect clients
ABSuiteAccessLayer.Connector.Core.dll – Includes the interfaces exposed by the Access Layer API for all connections to the runtime system.
ABSuiteAccessLayer.Connector.Remote.Core – Includes the implementation of the Access Layer API for remote connections through the WCF Gateway to the runtime system.
For remote clients
ABSuiteAccessLayer.Connector.Core.dll – Includes the interfaces exposed by the Access Layer API for all connections to the runtime system.
ABSuiteAccessLayer.Connector.Remote.Core – Includes the implementation of the Access Layer API for remote connections through the WCF Gateway to the runtime system.
For remote connection specific to a client technology that communicates with the WCF Gateway
ABSuiteAccessLayer.ConnectorRemote.DotNet (for .NET applications like the WPF Client).
ABSuiteAccessLayer.ConnectorRemote.SilverLight (for SliverLight applications).
ABSuiteAccessLayer.ConnectorRemote.WindowsStore (for Windows Store Apps).
Note: You can use these assemblies by installing either the Unisys AB Suite Direct Connect assembly or the Unisys AB Suite Remote Connect assembly from the NuGet package, which is installed when you install the AB Suite Developer or the Client Framework Standalone package on your machine.