# 3. Quick Start & Tours

Chapter Contents | Prev | Next
Keyword Search:
www.openlinksw.com
docs.openlinksw.com
Book Home
Contents
Preface
Quick Start & Tours
Where to Start
Client Connections
Virtual Database Server
Web Server
WebDAV
Web Services
Exposing Persistent Stored Modules as Web Services
VSMX - Virtuoso Service Module for XML
SQL to XML
NNTP
Dynamic Web Pages
VSP Examples
Third-Party Runtime Typing, Hosting & User Defined Types
Troubleshooting Tips

## 3.13. Third-Party Runtime Typing, Hosting & User Defined Types

All barriers are broken. If Virtuoso does not readily provide the data type that you require, then make your own. If you want a database trigger to test data against existing externally developed logic, then do that too. Virtuoso has been designed with open-design in mind giving ultimate flexibility. These are the systems current available (linked to the appropriate section of this documentation):

- Runtime Hosting

  support other environments and/or languages in-process with Virtuoso and utilizing Virtuoso storage methods such as DAV for replication and roll-out benefits.

  - CLR & Mono

  - Java & Jakarta JSP

  - PHP

- Plugins

  enable support for other scripting langauges.

  - Perl

  - Python

  - Ruby

- Extensibility

  the above features are applications of one or another of these interfaces, which are provided so that you have the potential to enhance Virtuoso further for more custom requirements.

  - Virtuoso Server Extension Interface (VSEI)

  - VSEI Plugins

  - User-Defined Types (UDT)

  - Hosted/Imported Assemblies/Classes

- Web/Service Exposure

  every part of Virtuoso can be view, interacted with or consumed by some third-party via a plethora of interfaces, to name a few:

  - SOAP

  - WSDL

  - Static/Dynamic Web Content

  - XML/XSLT

    XML Storage System

    XML RPC

Previous VSP Examples | Chapter Contents | Next Troubleshooting Tips