Chapter17.Web Services
Abstract
The term Web Services describes an application of XML for exposing application functionality to disparate clients via the Web. This paradigm provides access to entire applications, modules, objects, functions, and methods via HTTP and other transport protocols. Web Services are inherently platform- and programming-language independent. Services can be developed in one language and consumed in another; this holds true irrespective of client or server host operating system combinations.
A collection of core XML-based specifications and standards work in concert to fulfill the Web services value proposition. These standards include:
SOAP - XML notation that describes how messages are assembled and transmitted over HTTP between services and service consumers. |
WSDL - XML notation for describing SOAP services. |
UDDI - Application of the SOAP protocol for registering and publishing information about organizations, contacts within organizations, and Web Services that these organizations have chosen to expose to the public. |
Virtuoso enables stored procedures to be exposed as Web services that are consumable by any Web services-aware development tool, application, or environment. The stored procedures exposed by Virtuoso may be native stored procedures, or may be hosted in any third-party database that supports stored procedures, and is accessible via an ODBC or JDBC driver. In Virtuoso, exposing stored procedures as Web services does not require any programming effort. You simply identify the stored procedures to be exposed using the Virtuoso Administrative Interface.
This feature is immensely valuable in situations where organizations are seeking to transform time-tested stored procedures into Web Services without having to upgrade or change databases or host operating systems. In modern enterprises, such stored procedures drive mission-critical solutions; Virtuoso's approach to Web services enables you to maximize current investment while minimizing the need for rework.
Table of Contents
- 17.1. SOAP
-
- 17.1.1. Virtuoso SOAP Support Overview
- 17.1.2. Handling of SOAP HTTP Requests
- 17.1.3. Extending Datatypes for SOAP Objects
- 17.1.4. Inheritance of Datatypes for SOAP Objects
- 17.1.5. Complex Types in PL Procedure and UDT Method Definition
- 17.1.6. Complex Types in Procedure Definition using a pre-defined XML Schema datatypes
- 17.1.7. Default SOAP-SQL Datatype Mappings
- 17.1.8. Exposing Stored Procedures as SOAP Objects
- 17.1.9. Creation of SOAP proxy based on User Defined Types
- 17.1.10. Exposing User Defined Type Methods as SOAP Objects
- 17.1.11. Exposing Remote Third Party SQL Stored Procedures as SOAP Services
- 17.1.12. Virtuoso/PL SOAP Client
- 17.1.13. Execution Privileges
- 17.1.14. Custom Soap Server Support
- 17.1.15. PL Procedures and UDT Methods Syntax Affecting WSDL & SOAP Processing
- 17.1.16. Exposing & Processing SOAP Header Messages
- 17.1.17. Exposing & Processing SOAP Fault Messages
- 17.1.18. Document Literal Encoding
- 17.1.19. DIME encapsulation of SOAP messages
- 17.1.20. SOAP Endpoint Options
- 17.2. WSDL
-
- 17.2.1. Exposing Stored Procedures as WSDL Services
- 17.2.2. Exposing SQL Stored Procedures containing complex datatype definitions
- 17.2.3. Exposing Third Party SQL Stored Procedures as WSDL-Compliant Web Services
- 17.2.4. WSDL Descriptions of SOAP Header Messages
- 17.2.5. Importing A WSDL File & SOAP/WSDL Proxying
- 17.2.6. SOAP/WSDL Interoperability
- 17.3. WebID Protocol Support
-
- 17.3.1. x.509 certificate
- 17.3.2. Setting up Virtuoso HTTPS
- 17.3.3. Setting Up Firefox
- 17.3.4. Configuring ODS Account to use WebID Protocol
- 17.3.5. Testing the setup
- 17.3.6. WebID Protocol ACLs
- 17.3.7. SPARQL-WebID based Endpoint
- 17.3.8. CA Keys Import using Conductor
- 17.3.9. Set Up X.509 certificate issuer, HTTPS listener and generate ODS user's certificates
- 17.3.10. WebID Protocol ODBC Login
- 17.4. OAuth Support
-
- 17.4.1. OAuth Access Tokens
- 17.4.2. Virtuoso OAuth server
- 17.4.3. OAuth Implementation in OpenLink Data Spaces
- 17.4.4. OAuth Generate Keys for ODS Controllers (Web Services)
- 17.4.5. ODS Ubiquity Commands
- 17.4.6. OAuth Test Tool for ODS Controllers
- 17.4.7. OAuth QA
- 17.5. WS-Security (WSS) Support in Virtuoso SOAP Server
-
- 17.5.1. Client and Server side Certificates & Keys
- 17.5.2. SOAP Server WS-Security Endpoint
- 17.5.3. Virtual Directory SOAP WSS Options
- 17.5.4. Accounting & Accounting Hook
- 17.5.5. Signature Templates
- 17.5.6. SOAP Client
- 17.6. Web Services Routing Protocol (WS-Routing)
-
- 17.6.1. Configuration
- 17.6.2. Traversing Message Paths
- 17.7. Web Services Reliable Messaging Protocol (WS-ReliableMessaging)
-
- 17.7.1. SOAP CLIENT API Extensions
- 17.7.2. WS-RM Sender API
- 17.7.3. WSRM Receiver API
- 17.7.4. WS-RM Protocol Endpoint Configuration
- 17.7.5. Message Examples
- 17.7.6. WS-RM Schema
- 17.8. Web Services Trust Protocol (WS-Trust)
- 17.9. XML for Analysis Provider
- 17.10. XML-RPC support
- 17.11. SyncML
- 17.12. UDDI
-
- 17.12.1. Concepts
- 17.12.2. Dealing with SOAP
- 17.12.3. Supported API Calls
- 17.12.4. Authorization Mechanism
- 17.12.5. UDDI API Calls
- 17.12.6. Examples
- 17.13. Exposing Persistent Stored Modules as Web Services
-
- 17.13.1. Publishing Stored Procedures as Web Services
- 17.13.2. XML Query Templates
- 17.13.3. Publishing VSE's as Web Services
- 17.14. Testing Web Published Web Services
- 17.15. BPEL Reference
-
- 17.15.1. Activities
- 17.15.2. Protocol Support
- 17.15.3. Process lifecycle
- 17.15.4. Using virtual directories
- 17.15.5. Process archiving
- 17.15.6. Configuration parameters
- 17.15.7. Process Statistics
- 17.15.8. Deployment file suitcase format
- 17.15.9. SQL API
- 17.15.10. BPEL XPath Functions
- 17.15.11. Tables
- 17.15.12. Errors
- 17.15.13. Samples
- 17.15.14. References
- 17.15.15. BPEL4WS VAD Package installation
- 17.16. XSQL
-
- 17.16.1. XSQL Syntax
- 17.16.2. XSQL Directives