SAS 9.1.3 Integration Technologies » Developer's Guide

SAS BI Web Services

SAS BI Web Services

A Web service is an interface that enables communication between distributed applications. Web services enable cross-platform integration by enabling applications written in various programming languages to communicate using a standard Web-based protocol, typically the Simple Object Access Protocol (SOAP). This functionality makes it possible for businesses to bridge the gaps between different applications and systems.

There are two implementations of SAS BI Web Services: one written in Java that requires a servlet container, and another written in C# using the .NET framework. For information about the differences between SAS BI Web Services for .NET and SAS BI Web Services for Java, see Deciding Between .NET and Java.

The SAS BI Web Services interface is based on the XML for Analysis (XMLA) Version 1.1 specification. XMLA is a standard specification developed by several companies for use as a Web service interface to access online analytical processing (OLAP) and data-mining functions. For the first release of SAS BI Web Services, a client application can use this interface to invoke and get metadata about SAS Stored Processes. Support for OLAP technology is under development for future releases of SAS BI Web Services.

The following figure shows how Web services work. A client, such as a Web application or desktop application, starts out by obtaining the Web Service Description Language (WSDL) from the Web service. The WSDL describes the methods available, endpoint (where to call the Web service), and the format of the XML required to call the Web service.

Web service clients and servers transport XML data using a data envelope called a SOAP envelope. Any client that can send and receive SOAP messages can access Web services. SAS supports SOAP bindings over HTTP. The client sends XML requests and parameters in a SOAP envelope to the Web service, telling the Web service to either Discover or Execute stored processes.

How Web Services work

Discover() and Execute() are the two methods that are specified for XMLA. The Discover method consists of middle-tier code that calls the SAS Metadata Server to get the requested metadata. The Execute method consists of middle-tier code that calls the SAS Stored Process Server to invoke stored processes.

During execution, the requested stored process is executed by a SAS Stored Process Server. Usually any number of simple string parameters are passed to the stored process, and a stream of XML data is returned. The input parameters to the stored process can be nothing or a combination of simple string parameters and any number of XML streams. The output from a stored process called by a SAS BI Web Service is always an XML stream.