A Web
service is an interface that enables communication between distributed
applications. Web services provide cross-platform integration by enabling
applications written in various programming languages to communicate
by using a standard Web-based protocol. This functionality makes it
possible for businesses to bridge the gaps between different applications
and systems.
In general, SAS BI Web
Services expose SAS Stored Processes for execution by using Web service
protocols. Remote clients are then able to specify input parameters,
drive execution of SAS code, and obtain results from that execution.
Also, Web services make it possible to write clients that perform
this act in a myriad of languages and on a variety of operating systems
by using HTTP to exchange messages. Web services can enable a service-oriented,
enterprise application approach, or they can support the development
of mobile or Web clients, all of which leverage reusable SAS Stored
Processes.
There are two core types
of SAS BI Web Services: XMLA and structured Web services. Structured
Web services can further be divided based on how you access the services
and the format of the messages that you send and receive.
With XMLA Web Services,
two methods, Discover() and Execute(), are provided. The Discover
method calls the SAS Metadata Server to obtain the requested metadata,
and the Execute method calls the application server to invoke a stored
process.
Starting with SAS 9.3,
all stored processes are available individually for execution using
Web services without any action required from the user. SAS BI Web
Services automatically exposes a WSDL file for each and every stored
process that is available in the system. These WSDL files use XML
to include detailed information about the inputs and outputs of each
stored process using XML schema descriptions. Also, the WSDL file
includes the URLs of endpoints to use to invoke these stored processes
by using SOAP over HTTP.
You can also group multiple
stored processes together in a single, named Web service using the
Deploy
As Web Service wizard in SAS Management Console. In SAS
9.2, these were called generated Web services because the wizard generated
a grouping (and because server artifacts were actually generated as
well).
All structured Web services
can be invoked by using SOAP over HTTP. SOAP strictly defines message
structure, including the envelope containing headers and body. SAS
BI Web Services define the content (and namespace) of the payload
within the body. In addition, SAS 9.3 BI Web Services support Javascript
Simple Object Notation (JSON) and plain XML as message formats for
all structured Web services. The format of input XML messages for
a structured Web service can be deduced from its WSDL file. The addition
of new output resource URL suffixes in conjunction with the new SAS
folder path mapping means that SAS BI Web Services now support Representational
State (REST) style Web service invocation.
For detailed information
about using SAS BI Web Services, including instructions for creating
stored processes that Web services can access, see the
SAS BI Web Services: Developer's Guide.