Download 13. Tamino XMLDB

Document related concepts

Microsoft Jet Database Engine wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

SQL wikipedia , lookup

Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Relational model wikipedia , lookup

Entity–attribute–value model wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Clusterpoint wikipedia , lookup

Versant Object Database wikipedia , lookup

Database model wikipedia , lookup

Transcript
Presented by: Tarik Ben Touhami
Supervised by: Dr. H Haddouti
Outline
Introduction
Concepts
General Architecture
Tamino Product Components
Tamino XML Schema
Example (DEMO)
Summary
Reference
Outline
Introduction
Why is Tamino based on XML?
Why Use Native XML Storage?
Concepts
General Architecture
Tamino Product Components
Tamino XML Schema
Example (DEMO)
Summary
Reference
Introduction
Tamino XML Server is a high performance data management
platform based on XML standards built by Software AG to :
Efficiently store XML documents natively, that is in their
original format.
Expose information residing in various external XML or
non-XML sources (legacy data) or applications to the outside
world in XML format, and
To search effectively on the information Tamino has access
to.
Why is Tamino based on XML?
Over the past years, XML has become the most important
technology for Web-enabled infrastructures. XML's world wide
acceptance comes from two important roles it plays for the
Internet:
It’s "MOM" capabilities (Messaging Oriented Middleware) based
on XML's inherent extensibility and robustness.
XML's MOM features allow for easy adaptation to changing
business needs and flexible exchange of information between
diverse IT systems.
Why is Tamino based on XML (2)?
XML's "POP" capabilities (Presentation Oriented Publishing)
content is separated from presentation.
Thus, XML is ideally suited for creating and maintaining information
only once, yet presenting it dynamically in a multiplicity of output
formats and on a variety of display devices.
Tamino XML Server is the first commercial server providing these
highly efficient native XML storage capabilities.
Why Use Native XML Storage?
Storing XML data natively has an enormous advantage over
relational database management systems (RDBMSs) because:
No extra data conversion is required.
The document structure is kept intact.
The table-based data model of the RDBMS does not suit the
hierarchical and interconnected nature of XML objects.
A query against XML-RDBMS database would result in a lot of
relational retrieval and join operations, requiring high processing
power to overcome a considerable degradation of performance.
Why Use Native XML Storage (2)?
Native XML storage is the essential method to avoid these
performance limitations that are a crucial factor in the evolving
mission-critical high-speed world of e-business
Outline
Introduction
Concepts
General Architecture
Tamino Product Components
Tamino XML Schema
Example (DEMO)
Summary
Reference
Concepts
The Tamino XML Server concept is based on a simple equation:
Tamino XML Server = Core Services + Enabling Services + Solutions
Outline
Introduction
Concepts
General Architecture
The Native XML Data Store plus XML-Engine
Data Map
X-Node
X-Tension
Tamino Manager
Tamino Product Components
Tamino XML Schema
Example (DEMO)
Summary
Reference
General Architecture
General Architecture (2)
The Native XML Data Store plus XML-Engine (XML Parser+ Object
Processor)
The central and most powerful components in the Tamino XML
Server architecture. They provide:
Highly efficient storage
Native XML data store
Querying and retrieval of XML documents
Tamino X-Query
W3C-conform XQuery
and full-text retrieval functionality
General Architecture (3)
General Architecture (4)
XML Parser
XML objects to be stored by the X-Machine are described by their
schema stored in Tamino's Data Map. The XML-Engine's internal
XML parser checks syntactical correctness of the schemas and
ensures that incoming XML objects are well-formed.
General Architecture (4)
Object Processor
The Object Processor is used when storing objects in the native-XML
store. Support of external data sources is provided by the Tamino XNode and X-Tension.
General Architecture (5)
Query Interpreter
The Query Interpreter consists of the Query Compiler and the Query
Executor.
It optimizes the query along the given schema for resolving requests
and checks whether indexes are available to accelerate query
execution.
It interacts with the Object Composer to retrieve XML objects
according to the schemas stored in the Data Map.
General Architecture (5)
Object Composer
Using the storage and retrieval rules defined in the Data Map, the
Object Composer constructs the information objects and returns them
as XML documents.
The simplest case will be retrieving an object stored natively as XML.
In more complex cases, communication with X-Node and X-Tension
is required to compose an XML object from non-XML data sources.
General Architecture (7)
Data Map
The Data Map contains the information required for the following
functions:
Validation against logical schema
Storage and indexing of XML objects within Tamino
Mapping of data to different data structures (for example,
relational databases) to enable the integration of existing data
Executing user-defined application logic
General Architecture (8)
Data Map
General Architecture (9)
Data Map
Tamino is very flexible in its handling of XML documents and
supports the storage of both well-formed XML (without an explicit
schema definition) and valid XML (adhering to a schema).
General Architecture (10)
The X-Node
The X-Node is Tamino's integration component with external data
storage systems:
General Architecture (11)
The X-Node
The X-Node feature enables client communication from the Tamino
X-Machine to external databases via ODBC
For Windows systems: ODBC is part of the operating system
and there is no requirement to install any additional ODBC
support for Tamino.
For UNIX systems: ODBC support in Tamino is provided by
the third party product SequeLink from DataDirect Technologies
General Architecture (12)
The X-Tension
Tamino's X-Tension component allows calls to user-defined
functions, so-called Server Extensions
General Architecture (13)
The X-Tension
Server extensions allow for access to various external applications
and for writing custom functionality enabling Tamino XML Server
in meeting application specific needs.
Tamino X-Tension provides a built-in XML-enabled interface for
access to legacy processes and data sources.
General Architecture (14)
The Tamino Manager
The Tamino Manager is Tamino's administration tool
General Architecture (14)
The Tamino Manager
It is implemented as a client-server application and is integrated into the System
Management Hub
it is Tamino XML Server's point of central administration
Tamino Manager allows the Tamino administrator to manage the entire system over
the Web:
Create database
Start/stop server
Back up
Restore
Load, etc.
Tamino Manager allows for the installation of Tamino X-Tension server extensions
for greater flexibility.
Outline
Introduction
Concepts
General Architecture
Tamino Product Components
Tamino Schema Editor
Tamino Interactive Interface
Tamino X-Plorer
Tamino WebDAV Server
Application Programming Interfaces
Tamino X-Application
Tamino XML Schema
Example (DEMO)
Summary
Reference
Tamino Product Components
There are several runtime and development components for ease of
use and for application development with Tamino
Tamino Schema Editor
The Tamino Schema Editor supports you in creating Tamino schemas.
Making schema creation much faster and less error-prone.
Schema constructs required by the XML Schema standard are added
automatically to ensure that valid schemas are generated.
Tamino Product Components
Tamino Interactive Interface
The Tamino Interactive Interface is a basic browser-based
interface to Tamino XML Server. It allows you :
define collections within a schema
load XML instances of a schema into a database
query a database with the emerging standard W3C query
language XQuery and the Tamino query language X-Query
delete XML instances, schemas and collections from a
database.
Tamino Product Components
Tamino X-Plorer
The Tamino X-Plorer conveniently displays the contents of Tamino XML Server
databases in a navigation tree, thus allowing you to explore and manipulate its
contents. With Tamino X-Plorer's features you can:
Explore a Tamino XML Server's database
Query a Tamino XML Server's database
Maintain the structure and contents of a Tamino XML Server
Display, create and edit objects in a Tamino XML Server
Invoke tools which support you in developing Tamino applications (such as
Tamino X-Application Generator)
View externally maintained data such as security data, server extensions, or
WebDAV enabled collections
Tamino Product Components
Tamino WebDAV Server
WebDAV (Web-based Distributed Authoring and Versioning) is a set
of extensions to the HTTP protocol which allows users to
collaboratively edit and manage files on remote web servers
Tamino Product Components
Application Programming Interfaces
Tamino API for Dot NET
Tamino API for Java (DOM, SAX, JDOM…)
HTTP Client API for ActiveX (Windows )
HTTP Client API
HTTP Client API for JScript (Windows only)
Tamino Product Components
Tamino X-Application
Tamino X-Application allows you to access data which is stored in a
Tamino XML Server using a standard browser interface thus
providing a framework for Tamino application development.
Tamino X-Application connects Web pages to Tamino without
programming.
It provides JavaServer Pages (JSP) tags to embed database access into
HTML pages.
With the JSP tags, common functionality is available to query,
browse and maintain documents stored in Tamino.
Outline
Introduction
Concepts
General Architecture
Tamino Product Components
Tamino XML Schema
•Indexing and Storing XML Data
•External Mapping
•Mapping to SQL Tables and Columns
Example (DEMO)
Summary
Reference
Tamino XML Schema
A schema is necessary for a lot of Tamino's functionality because
in many situations Tamino just needs to know where or how data
are stored to perform its tasks in an optimal manner.
Tamino XML Schema
A schema is defined to Tamino in order to:
 Validate XML instances to be stored in Tamino with
respect to structural and data type aspects.
 Define document types ("doctypes") belonging to a
given collection with their respective names, access options
and whether they allow to store XML or non-XML
documents.
Tamino XML Schema
 Associate indexing with elements and attributes defined in the
schema.
These are especially important for performance and sorting issues.
 Associate mapping information with elements and attributes
which controls whether they are stored natively in Tamino or in
an external data store (via X-Node), e.g. Adabas or any SQL
database
At query time, these elements and attributes are again retrieved
from the external database.
Tamino XML Schema
In Tamino , we define a schema by the following two-step
procedure:
1. Specify the structural information of the schema (Schema
name, Collection name, namespaces).
This is done by using the logical part of the Tamino Schema
Definition Language (TSD).
2. Specify physical storage information (for mapping and
indexing)
This is done by using the physical part of the Tamino Schema
Definition Language.
Indexing and Storing XML Data
In the case of indexed data you need to specify at least a
tsd:index element with either :
 A tsd:text element (for the creation of a full-text index) or
 A tsd:standard element (for normal indexing)
As child element according to the type of index that you require.
Indexing and Storing XML Data
External Mapping
Any mapping of parts of XML documents to externally stored
data (Adabas, an SQL database or using a Tamino Server
Extension) is specified using the tsd:map element
External Mapping
Mapping to SQL Tables and Columns
The Tamino schema provides constructs that allow you to
store data in SQL tables and/or retrieve data from an SQL
table.
Tamino either supplies an internal SQL store, or you can
connect to external SQL databases via the X-Node.
Mapping to SQL Tables and Columns
The mapping is implemented using the tsd:subTreeSQL and
the tsd:nodeSQL child elements of the tsd:map element.
The typical case is that subtrees of documents within a
doctype but also entire documents may be mapped to SQL.
SQL-Mapping Specific Elements and Attributes
Example of Mapping to SQL
The SQL table for the patient's personal details looks as follows:
In the TSD4, this can be defined in the following way:
Example (DEMO)
This is step by step example showing how to :
Set up a database (Tamino Manager)
Define XML Schema (Tamino Schema Editor)
Insert/Load XML Doc (Interactive Interface)
Query database (Tamino Interactive Interface or X-Plorer)
Summary
Tamino XML server is one of the best XML solutions existing
on the market
Tamino XML server is the solution for the future
Tamino XML server is a dynamic platform
XML is Tamino XML server
References
Tamino XML server Documentation
Tamino XML server Documentation