What's New in SAS 9.3 BI Web Services

Overview

SAS 9.3 BI Web Services introduce several new features for programmers that make it easier to consume SAS Stored Processes using popular Web service protocols. New features include support for new transport types, integration with SAS 9.3 Stored Process features, more management capabilities, an engine rewrite for speedier execution and more comprehensive extensions, and a feature that eliminates the need to use the Deploy as Web Service wizard in SAS Management Console to create new generated Web services by exposing stored processes for dynamic execution. In addition, SAS BI Web Services for .NET has been discontinued in SAS 9.3.

General Enhancements

The following general enhancements have been added to SAS BI Web Services:
  • The SAS BI Web Services for Java engine has been rewritten to use the Spring Framework. This new engine is backwards compatible with SAS 9.2 generated Web services and the XMLA Web service. You can continue to use any existing client proxy code when invoking migrated SAS 9.2 generated Web services and XMLA proxies should continue to work as they did in SAS 9.2.
  • You no longer need to generate Web services using the Deploy as a Web Service wizard in SAS Management Console. As soon as you create a SAS Stored Process, it is available for execution by SAS BI Web Services. You can continue to generate Web services to group multiple stored processes under one endpoint or to publish the intent that these stored processes are to be executed by Web service clients.
  • SAS BI Web Services for .NET has been discontinued. SAS BI Web Services for Java will support migrated .NET 9.2 generated Web services in a way that is transparent for clients. In fact, clients should need only to change endpoint addresses (and this step can be omitted if a proxy server is used).

SAS Stored Process Enhancements

The following stored process enhancements have been added to SAS BI Web Services:
  • The SAS Workspace Server supports stored processes with output parameters and stored processes with streaming output, except stored processes that use sessions.
  • Data tables can be specified as data sources and data targets. Data tables are similar to traditional data sources and targets, but they eliminate the need for stored process authors to hardcode LIBNAME statements in SAS code. Also, data tables enable stored process authors to specify a template table. This template table is used to automatically generate schema for the table in SAS BI Web Service WSDLs.

Transport Type Additions

SAS BI Web Services has always provided SOAP endpoints for XMLA and generated Web services. SOAP is widely used in enterprise scenarios because of the set of WS-* standards available for the protocol, for its use of a Web Service Description Language (WSDL) files, and for its structured and namespaced messages. However, sometimes SOAP is overkill. Many mobile client development libraries lack native SOAP libraries and Web applications typically use client-side asynchronous JavaScript remoting calls where SOAP is not appropriate. Therefore, SAS 9.3 BI Web Services supports plain XML and JSON as transport types.