www.openlinksw.com
docs.openlinksw.com

Book Home

Contents
Preface

Overview
Installation Guide
Quick Start & Tours
Sample ODBC & JDBC Applications
Conceptual Overview
Administration
Data Access Interfaces
Virtual Database Engine
SQL Reference
Virtuoso Cluster Programming
SQL Procedure Language Guide
Database Event Hooks
Data Replication, Synchronization and Transformation Services
Web Application Development
XML Support
RDF Data Access and Data Management
Web Services
Runtime Hosting
Runtime Environments
CLR, .Net & ASPX Host
CLR & Mono
Embedded Java VM API
Virtuoso Server Extension Interface (VSEI) (C Interface)
VSEI Plugins
Internet Services
Free Text Search
TPC C Benchmark Kit
Using Virtuoso with Tuxedo
Appendix
Virtuoso Functions Guide

Abstract

Virtuoso can be extended by in-process hosting of a number of different run time environments. This includes: Microsoft's .NET CLR (CLR), the Mono ECMA-CLI (Mono), and the Java Virtual Machine (JVM). Thus, you can create persistent stored modules, SQL functions, and user defined data types using any Microsoft .NET or Mono bound language, Java, and traditional languages such as 'C'/C++.

Objects provided by hosted run times, such as Java and CLR can be directly and transparently accessed from SQL. This also means that application logic in any hosted language can be exposed as a web service. By offering a choice of hosted run times in a cross platform setting, Virtuoso adds a new degree of freedom for the application designer. Applications can now be developed and deployed on either Windows, Linux or Unix, can be written in Java or any .net CLR bound language and can talk to any database via Virtuoso's virtual databasing capabilities.

The Virtuoso Server Extension Interface (VSEI) provides C interfaces and hooks that enable developers to write external functionality that can be bolted on the side of Virtuoso and called as SQL functions.

Table of Contents

OpenLink Software
OpenLink Software
2015
Runtime Environments
license About isPartOf
18.1. Runtime Environments
OpenLink Software
OpenLink Software
2015
CLR, .Net & ASPX Host
license About isPartOf
18.2. CLR, .Net & ASPX Host
18.2.1. Environment Setup
18.2.2. Testing the Virtuoso .NET Runtime Environment
OpenLink Software
OpenLink Software
2015
CLR & Mono
license About isPartOf
18.3. CLR & Mono
18.3.1. Environment Setup
18.3.2. Testing the Virtuoso Mono Runtime Environment
OpenLink Software
OpenLink Software
2015
Embedded Java VM API
license About isPartOf
18.4. Embedded Java VM API
18.4.1. Correspondence Between Virtuoso & Java VM Threads
18.4.2. Virtuoso/PL <-> Java VM Type Mapping Schema
18.4.3. References to Java VM Class Instances in Virtuoso/PL
18.4.4. Specifying the Correct Java Type When Passing Values from Virtuoso/PL
18.4.5. Virtuoso Java PL API VSEs
18.4.6. Java Security
OpenLink Software
OpenLink Software
2015
Virtuoso Server Extension Interface (VSEI) (C Interface)
license About isPartOf
18.5. Virtuoso Server Extension Interface (VSEI) (C Interface)
18.5.1. Virtuoso Server Extension Interface (VSEI)
18.5.2. SQL Run Time Objects
18.5.3. Memory Management Rules
18.5.4. Server Main Function
18.5.5. Compiling & Linking
18.5.6. Functions by Category
18.5.7. VSEI Definition
18.5.8. SQL Exceptions
18.5.9. Executing SQL
18.5.10. Adding New Languages And Encodings Into Virtuoso
OpenLink Software
OpenLink Software
2015
VSEI Plugins
license About isPartOf
18.6. VSEI Plugins

OpenLink Software
OpenLink Software
2015
Runtime Hosting
Virtuoso can be extended by in-process hosting of a number of different run time environments. This includes: Microsoft's .NET CLR (CLR), the Mono ECMA-CLI (Mono), and the Java Virtual Machine (JVM). Thus, you can create persistent stored modules, SQL functions, and user defined data types using any Microsoft .NET or Mono bound language, Java, and traditional languages such as 'C'/C++.
license About isPartOf About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About About

Virtuoso can be extended by in-process hosting of a number of different run time environments. This includes: Microsoft's .NET CLR (CLR), the Mono ECMA-CLI (Mono), and the Java Virtual Machine (JVM). Thus, you can create persistent stored modules, SQL functions, and user defined data types using any Microsoft .NET or Mono bound language, Java, and traditional languages such as 'C'/C++.

Objects provided by hosted run times, such as Java and CLR can be directly and transparently accessed from SQL. This also means that application logic in any hosted language can be exposed as a web service. By offering a choice of hosted run times in a cross platform setting, Virtuoso adds a new degree of freedom for the application designer. Applications can now be developed and deployed on either Windows, Linux or Unix, can be written in Java or any .net CLR bound language and can talk to any database via Virtuoso's virtual databasing capabilities.

The Virtuoso Server Extension Interface (VSEI) provides C interfaces and hooks that enable developers to write external functionality that can be bolted on the side of Virtuoso and called as SQL functions.