DSMI ships with three different kinds of interfaces supporting different kinds of protocols and security models. I would like to give you a short overview to help you understand what’s available and what interface matches the best to your scenarios. I will not go to much into detail in this article. My intention is more likely to have a look from the bird’s eye perspective onto our interfaces.
HTTP
An easy but powerful interface is http based. We have http interfaces implemented to enable you to request a stream of a DirectSmile image, DirectSmile Document or the catalog structure. This interface is http GET based, so you simply pass all parameters to configure the resulting image or document or filter arguments for the catalog in URL parameters. We added test pages to the DSMI frontend for all those interfaces to let you see how the different parameters take effect.
SOAP 1.1
The LB namespace represents our oldest ASP.NET web service interface. It contains methods to retrieve Sets, Documents and Crossmedia templates. Using this interface you can start image and document rendering in an synchronous and asynchronous way. Although, there are new interfaces like the Workflow services, that offers much more functionality to interact at many stages of document production, this service provides a simple interface and a good point to start. To stay downward compatible we kept the old method signatures untouched, but added some handy new methods. For instance, You can retrieve an xml representation of the catalog using the lb namespace as well.
WCF SOAP 1.1 and httpbinding
The LBW namespace is a Windows Communication Foundation web service that represents our view of a modern client interface. It provides methods to retrieve the catalog structure in a strongly typed manner. It has functions to add and retrieve collections of custom properties and/or tags. It also provides an easy way to communicate with the new workflow engine. We tried to reduce the amount of methods to keep it as simple as possible.
WCF SOAP 1.1 and httpsbinding
Some of our new interfaces demand on a more secure binding. Those interfaces are the RepositoryManager, the Workflow and the Shipping service. Because these interfaces can potentially provide sensible data, we decided to secure all calls on transport and message level. To interact with those interfaces an SSL server certificate is necessary to be installed on the server. Many of those methods are also secured by permission attributes and can only be accessed if the authenticated user is member of a particular DSMI role group.
We consider those interfaces as more or less internal interfaces, because they contain a huge amount of methods to manipulate the catalog or workflow orders. All our Silverlight applications use these interface, the Itemsbrowser sits on top of the RepositoryManager and the Workflowmanager on the Workflow service for example. While the LBW contains usually only methods to retrieve data, the interfaces like the Repositorymanager or Workflow support fully manipulating the data, like adding or deleting items.