= virtuoso.uim.enterprise %TOC% = Enterprise %TOC% Enterprise Replication strikes a balance between presenting consistent data and not depending on a single centralized location for all IS needs. Virtuoso offers a range of tools and technologies for replicating and synchronizing data between different servers. These technologies are suited for a wide variety of distributed IS needs, including: *Two-way replication of tables, involving a Virtuoso hub sharing data between a group of MS SQL Server, Oracle or DB2 databases. The Virtuoso will initiate data transfer and resolve possible update conflicts. *Disseminating periodically changing data between heterogeneous relational databases. Almost any ODBC/JDBC accessible database can be a source or recipient of such data. *Keeping Virtuoso DAV repositories in sync between Virtuoso installations. *Keeping Virtuoso servers in real-time sync for load balancing or hot standby situations. This is based on real-time log shipping, thus will also work for intermittently connected systems. *Sharing mobile data through [[SyncML]] . The Virtuoso [[SyncML]] server has pluggable logic for format conversions between common mobile formats such as Vcard and Vcalendar. All these technologies function reliably in either a constantly or intermittently connected network. Nodes will bring themselves up-to-date automatically upon reconnect or recovery, requiring minimal administration. A web based interface or SQL statements are used for defining publications and subscriptions and synchronization intervals. [[SyncML]] 1.0 Virtuoso Universal Server is a best-in-class middleware product. Virtuoso's single server solution with standards-based components provides IT with the tools to generate, integrate, build and extend applications, data and application logic. Virtuoso enables you to develop Internet, Intranet and Extranet applications that use XML for Data Representation, Data access, Data Modeling, Protocol Definitions and data interchange. Your XML Data documents can take the form of Pure XML documents Valid or Well Formed or XML Document generated "on the fly from homogeneous or heterogeneous SQL Data Source via Ado .Net, ODBC. or JDBC. In addition Virtuoso integral support for XQuery and XPath Facilitates the use of each query language across both the XML and SQL Storage Engines. Built-in support for WSDL, SOAP, UDDI, WS-Security and other web services protocols, allows Virtuoso to host and publish XML Web Services that are automatically generated from SQL Stored Procedure, Microsoft .Net, Java, C/C++,. Perl , Python, PHP and other environments,. Therefore you never need to re-write Time-tested code simply because you choose to expose aspects of you integral application logic as public or privately consumable Web Services. Support for [[WebDAV]] allows you to develop complete Web Solution that are hosted entire within an object-relation database management system as opposed to a File system based direction structure. In add-on, HTTP support proves you with direct URI base access to any of the Web Content that makes up your solution . This includes 3rd part components such as ASP .Net, JSP, Python, and Perl Files. and Perl files. Support for [[SyncML]] is included in Virtuoso sophisticated data replication and synchronization engine. Allowing automated replication and synchronize of all hosted data. The data may be replicated or synchronized with other Virtuoso servers database servers from 3rd party database vendors via ADO .Net, ODBC, or JDBC; or via FTP or HTTP to [[WebDAV]] for file system repositories. This all the assets that comprise your solution can be cost-effectively synchronized across remote location or load sharing host with costly human installation and maintenance efforts. Virtuoso industry acclaimed Virtual Database engine enables you to homogenize heterogeneous data source. You can make connections to ADO .NET , ODBC, or JDBC accessible database from a variety of vendor, but retain the appearance of working with a single homogeneous SQL RDBMS. Likewise you can view these data sources as XML or create customer data-sources that combine data from independent SQL and XML data sources. Virtuoso native XML database provides native storage and standards based data access to XML data that takes one of the following forms: *Pure XML Documents - documents notated in XML from the onset. *SQL-XML Documents - parsed or unparsed XML documents that have been transformed from SQL on the fly, or on a replicated cache basis. These documents may be valid (DTD or XML Schema based) or simply Well Formed. *Documents imported from 3rd party web sites and other points of presence on the Internet. Virtuoso XML DB support XSLT, XQuery, Free Text , XML Schema, Xquery Mapping schema and support for XMLtype Data-type and SQLX. The Virtuoso native relational database is a higher performance SQL-92 compliant engine which includes support for SQL 2000 style objects as stand-alone data in procedures and as column data types. The Virtuoso Object System supports single inheritance, late binding, polymorphism and persistence of objects as column values in SQL tables. Virtuoso relation database also includes support for Row Level Security, Regular Expressions and support for 64 Bit file sizes. Virtuoso Discussion sever provides NNTP support that includes linking third-party NNTP servers into Virtuoso and creation of free-text searches on newsgroup data. Virtuoso includes SMTP Server storage. since drivers for all major SMTP servers making it possible to host mailboxes inside the database. Mail hosted in Virtuoso is accessible to any email client for retrieval using POP2 (with IMAP4 support in development) There features also enable customer database-drive anti-pal filter development and integration of 3rd party any-span filter modules. The Virtuoso XML functionality is divided into the following sections: * **Generating XML data from relational data ** - Most data in today's IS relational. Virtuoso can readily access most of this via its virtual database. The Virtuoso SQL has a native XML data type which can be constructed from relational data using a number of SQL extensions. A mapping scheme mechanism allows presenting joins of tables as XML hierarchies. These 'virtual documents' can be queried with XPATH which is translated to SQL to retrieve the relevant data and generate the XML rendition on demand. * **Storing XML data ** - A column of a table may be declared to hold XML. A special form of full text indexing is available for efficient retrieval of content with a special XPATH SQL predicate. While a mapping schema deals with rendering native relational data into XML as needed, this mechanism deals with retrieving native XML data in SQL. * **XQuery ** - Unified querying of structured and structured data - Virtuoso implements the emerging XQuery standard. This is a powerful language providing a single point of access to XML data whether it be stored natively as XML data, as relational data mapped to XML via a mapping schema or as XML on the external network. Whether XML data be stored or generated on the fly, Virtuoso provides a broad range of functions for processing it in SQL. These include all the SQLX functions for composing XML, an XSLT 1.2 processor for transforming documents, XPATH and XQuery and a DOM-like system. Virtuoso's federated database engine provides transparent access to relational data residing on any ODBC/JDBC accessible DBMS. Tables from any number of such databases may be linked into a Virtuoso schema, making them indistinguishable from tables stored in the Virtuoso engine itself. The SQL-92 implementation takes location into account for optimization and hides SQL dialect differences between linked DBMS's from applications and developers. Queries and stored procedures may span an arbitrary number of data sources, using two phase commit where appropriate. Virtuoso is ideal for presenting a seamless collection of disparate legacy systems, for use by reporting tools or web services making Virtuoso the natural place for hosting application integration logic working with data in different schemas and databases. Virtuoso Virtual Database provides the following benefits: *Transparently accessing heterogeneous database with a single client and login, using a single SQL-92 compliant language. *Policy based security for data access, providing find-grained control over what data is visible according to which user account is accessing which tables from which application/site. These measures are transparent, taken and enforced by virtuoso, not requiring policy security on target systems. *Replication between Virtuoso and other DBMS's., Bi-directional replication is supported between Virtuoso and Oracle, DB2 and MS SQL Server. For single-database operations, there is practically no performance overhead since operations are passed through to the remote database whenever possible. For distributed queries, processing the query through Virtuoso is generally more efficient than processing it at the application or application server layer since Virtuoso adds intelligent access path optimization and advanced techniques such as hash joins. Locating application server level logic inside Virtuoso through Java or .NET hosting is still more efficient than using a separate application server process. This logic may then be accessed through Virtuoso's web services protocols suite. Available the Enterprise Edition; For distributed transactions , Virtuoso can be a transaction client and resource manager for MS DTC (Microsoft Distributed Transaction Coordinator) and resource manager for XA ----