One of the frequently asked questions in relation to the new adapters is what is the reasoning behind introducing the ASDK technology? What's wrong with good old fashioned WCF-services that have been used for years to provide access to LOB applications and are perfectly consumable from virtually all applications? Why did Microsoft re-invent the wheel? Well, these are absolutely valid questions and here is the answer. There is nothing wrong with the WCF-services; they are as good as they have always been, but there is one big "but"—only if the LOB application is relatively static. Imagine the situation where your LOB application is evolving and you, as a developer, have to expose new metadata to the client applications? You either have to update existing contracts, or implement new ones with subsequent configuration steps applied to both the host and WCF-service. This has been a major pain for the development teams working on the LOB side.
Note
Metadata is usually defined as data about data. This is a very broad definition; metadata in the WCF LOB Adapter SDK can be defined as the data types and the operations available in the target LOB system. For example, for SAP, it can be IDOCs and BAPIs or it can be stored procedures and data tables for the DBMS-based applications. It is up to the adapter designer to determine and expose the metadata for a particular LOB application.
In contrast, the ASDK-based adapters provide design time metadata discovery and resolution automatically, with no efforts from the development team to make new metadata (or functionality, according to our definition of the metadata) available for consumption. Details of this process are beyond the scope of this chapter, but if you are interested in diving deeper, the sample adapters provided with the WCF LOB Adapters SDK are at your disposal. Take a look at how the Contoso sample adapter located in the C:\Program Files\WCF LOB Adapter SDK\Documents\Samples
directory implements the IMetadata*group
of interfaces and the magic behind the automatic metadata discovery and resolution will become clear. Implementation of the IMetadata* interfaces does require substantial efforts from the adapter developers, but the end result is certainly worth it.
Now that you are familiar with the architectural foundations, let's proceed with installation of the adapters.