130 likes | 343 Views
Deploying SAS Programs as Web Services. How the power of SAS can be leveraged using Web Service Technologies. Greg Ludwinski. June 12, 2013. Agenda. Why expose SAS programs as Web Services? SAS BI Web Services for Java Evolution Architecture Benefits and Limitations Demonstration.
E N D
Deploying SAS Programs as Web Services How the power of SAS can be leveraged using Web Service Technologies Greg Ludwinski June 12, 2013
Agenda • Why expose SAS programs as Web Services? • SAS BI Web Services for Java • Evolution • Architecture • Benefits and Limitations • Demonstration Statistics Canada • Statistique Canada
Web Service Benefits • Standards based • Industry wide (W3C and OASIS) • Available tools/frameworks • Encapsulation • Language and platform transparency • Abstraction from underlying system • Business rules implemented in Web Service • Scalable • Modular design • Leverages XML • Part of Service Oriented Architecture Statistics Canada • Statistique Canada
SAS BI Web Services for Java • The SAS BI Platform includes a facility to expose Stored Processes as Web Services • WSDL is created automatically based on Stored Process definitions • Evolution: • SAS 9.1: XMLA Web Services • SAS 9.2: Generated Web Services • SAS 9.3: Structured Web Services SAS BI Platform Statistics Canada • Statistique Canada
SAS Web Service Architecture Statistics Canada • Statistique Canada
Building SAS Web Services • SAS BI Web Services • SAS Stored Process • SAS Macro • Existing SAS Code Statistics Canada • Statistique Canada
Service Endpoints for SOAP Structured Web Service http://<server>:<port>/SASBIWS/services/<metadata path>/<stored process name> Generated Web Service http://<server>:<port>/SASBIWS/services/<generated service name> WSDL http://<service endpoint>?wsdl Statistics Canada • Statistique Canada
Service Endpoints for REST Plain XML http://<server>:<port>/SASBIWS/rest/storedProcesses/stored/process/<metadata path>/<stored process name> http://<server>:<port>/SASBIWS/rest/<generated service name>/<stored process name> http://<server>:<port>/SASBIWS/rest/<generated service name>/<stored process name>/parameters/<parameter name> http://<server>:<port>/SASBIWS/rest/<generated service name>/<stored process name>/streams/<stream name> JSON (Output parameters only) http://<server>:<port>/SASBIWS/json/storedProcesses/stored/process/<metadata path>/<stored process name> http://<server>:<port>/SASBIWS/json/<generated service name>/<stored process name> Statistics Canada • Statistique Canada
Features • The Prompting Framework is leveraged to define input and output parameters. • Custom schemas can be create to define XML data sources and targets (streams) • Supports almost all Stored Process Features • Web Configuration Options (SSL, IP Filtering) • Metadata Security (SAS BI Web Services Group) Statistics Canada • Statistique Canada
Benefits • No SAS Components required on client machine. • Very cost effective way to create Web Services once infrastructure is setup • The Stored Processes can be invoked using other methods (Custom IOM client, Proc STP) • All the general benefits of web services Statistics Canada • Statistique Canada
Limitations • Performance overhead • Connection setup • Marshalling/Un-marshalling of messages • Must be cautious with large data files • Supported Protocols • Control over WSDL • IIS is no longer supported Statistics Canada • Statistique Canada
Demonstration Statistics Canada • Statistique Canada
Statistics Statistique Canada Canada Greg Ludwinski Project Leader - SAS Technology Centre System Engineering Division R.H. Coats Building, 14th Floor, Section Q Ottawa, Ontario, Canada K1A 0T6 (613) 951-2768 Fax (613) 951-0607 Gregory.Ludwinski@statcan.gc.ca Canada Statistics Canada • Statistique Canada