1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
|
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
-
- This file is part of the OpenLink Software Virtuoso Open-Source (VOS)
- project.
-
- Copyright (C) 1998-2018 OpenLink Software
-
- This project is free software; you can redistribute it and/or modify it
- under the terms of the GNU General Public License as published by the
- Free Software Foundation; only version 2 of the License, dated June 1991.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License along
- with this program; if not, write to the Free Software Foundation, Inc.,
- 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-
-->
<chapter label="concepts.xml" id="concepts">
<title>Conceptual Overview</title>
<abstract>
<para>Virtuoso provides both a native database capability and a
virtual database that integrates remote or third-party ODBC data
sources seamlessly with Virtuoso's own. The virtual database (VDB)
allows transparent unified queries across all linked data sources. The
Virtuoso server supports ANSI SQL92, object extensions, and a
significant set of PL extensions. The most important extensions
include support for modern Internet standards for communication, data,
and document exchange. Virtuoso supports communications protocols
such as HTTP, SMTP and NNTP as well as a full suite of XML-based
protocols including XML, XSL, SOAP, and WSDL.</para>
</abstract>
<!-- ########################################### -->
&dbconcepts;
<!-- ########################################### -->
<sect1 id="thevdbrel"><title>Virtual Database (VDB) Engine</title>
<itemizedlist mark="bullet">
<listitem><link linkend="consneed4vdb">The Need for VDB Engines</link></listitem>
<listitem><link linkend="consfirstvdbps">First Generation Virtual Database Products</link></listitem>
<listitem><link linkend="vdbimpliss">VDB Implementation Issues</link></listitem>
<listitem><link linkend="vdbcomponents">VDB Engine Components</link></listitem>
</itemizedlist>
</sect1>
<sect1 id="webinternetproto"><title>Web & Internet Protocol Support</title>
<para>Virtuoso provides direct access to a number of Internet protocols through
built in procedures. These protocols include SMTP, NNTP, POP3, HTTP, XML and many
more. Combined with Virtuoso's native database and virtual database capabilities
applications can be developed very rapidly from scratch or existing systems can be
enhanced with a rich set of tools. An old customer table can be used to create a
mail shot; a products table can now generate an XML file which can be converted to
plain text and or HTML via XSLT which can be emailed to the customers every week
automatically using the scheduler, or on request from a VSP page served by the
HTTP server. The possibilities are endless and all these abilities are contained
within a single server.</para>
</sect1>
<sect1 id="websrvcsproto"><title>Web Services Protocol Support</title>
<para>The Internet is reaching a stage where automatic processes want to rely
on other sites and services presenting their uses in a standard way. This is
Web Services. What ever an organization or repository of data contains the
it needs to be exploited as fully as possibly. This is exposing existing
systems as Web Services. These need to be accessible over well known protocols
which combine to provide a service over the web.</para>
<para>SQL provides the means to query data within a database. This is a very
well known and supported operation. The query may or may not be able to
make use of free text indexes to obtain results faster and more accurately from
textual sources. The source could even come from a remote database contacted
over ODBC, JDBC or OLEDB - more well supported standards. The results may be
shipped to another server for further processing. Further processing could
include transformations into various XML's directly or via an XSLT stylesheet.
This collaboration of services can be enhanced further with other Web and Internet
protocols for the grand objective of making parts of useful information or
ability consumable over the Internet as a Web Service. </para>
<figure id="virtpyramid" float="1"><title>Towards Web Services...</title>
<graphic fileref="virtpyramid.jpg" width="322px" depth="239px"/></figure>
</sect1>
<sect1 id="conceptarchitecture"><title>Architecture</title>
<para>The base of Virtuoso is the Virtuoso Data Management. This
handles the normal tasks of the database and virtual database collaborating
between local native and remote SQL and XML based resources. Web and Internet
services and protocols then sit atop of this layer to expose Virtuoso to the Web
and its users.</para>
<figure id="varch322" float="1"><title>OpenLink Virtuoso Product Architecture</title>
<graphic fileref="varch32.jpg" width="384px" depth="377px"/></figure>
</sect1>
</chapter>
|