Getting Started
Introduction
The Fluxion stack is designed to make it easy to expose (or "publish") a datasource as a webservice, and subsequently incorporate this webservice into a Fluxion semantic data integration stack.
This document assumes that you have a datasource that you wish to add to a new or an existing Fluxion stack. Read this guide to work through a tutorial on how to accomplish this. Other documents in this section describe each of the Fluxion stack components in more detail.
Stack Overview
Before we go over an example of how to publish a new datasource, it's best to run over how the stack is organised.
The Fluxion stack is divided into 3 general layers. Working from the datasource to be exposed, the first layer is the Publisher. This sits next to the datasource, and exposes its data in OWL format. The publisher provides access to the data via a webservice, in a form that can be easily interpreted by the rest of the stack. However, at this point no data integration is performed - this layer is the syntactic translation layer.
The second layer is the Transformer. This can communicate with a Publisher to access it's data, and applies a set of transformation rules to do the actual integration with reference to a "whole world" view - the domain ontology. This layer then exposes the transformed data via a webservice with the same interface as the Publisher. This layer is the semantic transformation layer.
Finally, the third layer is Pussycat. This application is a tool for visualising the data captured within the domain ontology from a variety of distinct sources, integrated so as to appear to the user to be the same dataset. This layer is the integration and visualisation layer.
Adding a new Datasource
So, how do you add a new datasource to the Fluxion stack? First, you must create a datasource model that represents the datasource being published. This takes the form of a Maven artifact, which is basically a jar file containing everythind the Publisher needs to connect to and access the datasource. We provide tooling to help create this artifact, as long as the datasource is in a format Fluxion recognises.
Once this datasource model artifact has been created, you need to generate the webservice that will use the datasource model to expose data. Again, we provide tooling to do this in most cases.
To find out how to accomplish these goals, read the Exposing a Datasource guide, which deals with adding a new Datasource in some detail.
Transforming a Datasource into the Domain Ontology
Now the new Datasource has been exposed, we need to create a new Transformation service and supply it with a set of rules to describe how our Datasource gets integrated into the Domain Ontology. These rules need to be user defined, and require an understanding of both the schema of the datasource being integrated and the Domain Ontology. These transformation rules allow us to create data in the Domain Ontology given some data in the datasource. This is, in some ways, a "mapping" process - although really it is more the case that data in the underlying datasource implies the existence of data in the Domain Ontology. There is a graphical interface available as a Protégé plugin to assist with writing these rules and generating the Transformation service. This process is dealt with in more detail in the Datasource Transformation guide.
Further Help
You may find that the tooling we supply to help publish a datasource doesn't support the format of that datasource. We try to ensure that all common datasource types, and database management systems (DBMs) are supported by Fluxion, but obviously this is not always possible. In this case, you can still use the Fluxion architecture by writing some fairly simple plugins to extend the Publisher framework. This process requires a new meta-model that describes the datasource schema (see Meta Models) and a new plugin describing the datasource schema to OWL bindings (see Adding DBMs). Writing these extnsions should allow you to incorporate datasources with any schema into a Fluxion stack.
For any further information, send a mail to the Fluxion mailing list.