Notice: Undefined variable: shm_str in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 57

Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50564 Library:50645 in /var/www/u3757017/data/www/business-semantic.ru/core/mysql.ext on line 36

Notice: Undefined index: constants in /var/www/u3757017/data/www/business-semantic.ru/core/constants.ext on line 3

Notice: Undefined index: setlang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 122

Notice: Undefined index: setlang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 129

Notice: Undefined index: lang in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 136

Notice: Undefined index: lang_data in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 144

Notice: Undefined index: 3_1_2 in /var/www/u3757017/data/www/business-semantic.ru/interfaces/classes/Security.class on line 29

Notice: Undefined index: container in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 167

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 168

Notice: Undefined index: subsites in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 63

Notice: Undefined index: business-semantic.com in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 64

Notice: Undefined index: path in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 57

Notice: Undefined index: /products/bus/howitworks in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: 1_9_2 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 215

Notice: Undefined index: allparents_2_263 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 104

Notice: Undefined index: templates in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 116

Notice: Undefined offset: 9 in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 117

Notice: Undefined property: page::$namecontent in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 205

Notice: Undefined property: page::$description in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 206

Notice: Undefined property: page::$keywords in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 207

Notice: Undefined property: page::$script_include in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 236

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 43

Notice: Undefined variable: s in /var/www/u3757017/data/www/business-semantic.ru/core/serialize.ext on line 47

Notice: Undefined index: modules in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 29

Notice: Undefined index: s_top_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined index: modules_extensions in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 43

Notice: Undefined offset: 160 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2__2 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 74

Notice: Undefined index: 2_160_2 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_menu in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 161 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: business-semantic.com/products in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: business-semantic.com/products/bus in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: business-semantic.com/products/bus/howitworks in /var/www/u3757017/data/www/business-semantic.ru/core/util.ext on line 58

Notice: Undefined index: url in /var/www/u3757017/data/www/business-semantic.ru/core/page.ext on line 277

Notice: Undefined index: 2_161_2 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: s_top_menu_divs in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 30

Notice: Undefined offset: 166 in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 44

Notice: Undefined index: 2_166_2 in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 88

Notice: Undefined property: LangContainer::$pagename in /var/www/u3757017/data/www/business-semantic.ru/core/module.ext on line 102

Notice: Undefined index: getxml in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 75

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined variable: result in /var/www/u3757017/data/www/business-semantic.ru/core/parser.ext on line 270

Notice: Undefined index: fragments in /var/www/u3757017/data/www/business-semantic.ru/index.php on line 182
How does it work?
Русская версия
+7(343) call:2 110 256

How does it work?

Let us describe how application integration using Business Semantics is working.

Let's take as example the case of two applications, using MySQL and Oracle databases. They has to exchange data about customers and contacts (calls, meetings etc) with them. So, if a customer is created in one of the applications, it must immediately be created in another. If customer properties will be edited in one of applications, these changes also must be reflected in another one.

All the actions described below may be done by us, or by customer's IT personnel. So, let' start with setup process.

1. Create ontology

First, we have to create ontology, which will contain all entity types and properties for the information our applications will exchange. In our case, to simplify samples, we will use simple properties set. Let a customer have the "name" property, and a contact - "date" property, and "customer" linkage. "Name" and "date" are literals, "customer" is an entity reference. In a more real case, entities will have much larger properties set, but they all have to be created similarly.

Ontology has to be saved as OWL/RDFS file. We can do it using any ontology editor. There are a wide range of such products available. Some of them are working with "low-level" OWL representation, others are hiding OWL syntax behind visual or verbal modeling tools. One of better examples of software allowing to create OWL ontologies without knowing OWL syntax, is Fluent Editor from Cognitum. It is a Controlled Natural Language (CNL) editor. Below you may see video showing how to create the ontology reqiured in our sample case using this tool.

You may see also how the same task may be performed in TopBraid Composer.

In this sample we've created ontology from the scratch, but we can, of course, import and use any standartized ontologies, such as Dublin Core or ISO 15926.

2. Set up server

Now we have to set up server. It is installed as an usual web application, the process is described in documentation. When server will be running, we have to log into admin panel, and upload ontology. Then we have to create accounts for both applications interconnected. Finally, we have to define access rights for these applications to entity and property types. All these operations are done using server web interface.

3. Set up client modules

Now let's turn to client modules setup (we name them "connectors"). These components are responsive for integration on each application's side. If our applications has connectors from the box, we will have no problems: all we need is to set them up, following instructions. Particularly, we need to upload to them the same ontology (or its subset), that we have loaded into the server. Also we may request onlotogy from the server to the client directly. Then we have to set up mapping between ontology elements (entities and properties), and local date storage structure (database tables and columns). Web-connector, that we will use in this sample, allows to do it using web-interface. If some elements cannot be mapped directly, we shall define program handlers for each of them. Handlers are written using native language for this environment.

 

We've done! How the data exchange process will run?

4. Transferring data update information

As one of applications creates, changes or removes an object, it have to notify server on this event (if this kind of objects is mapped to any element of ontology). This is done by program instruments, native for client applications environment (for example, database triggers and queue processing). Client module gathers information on every object that has changed, and transfer this data to the server (this can occur, for example, each 2 seconds). Server gets that data, temporarily stores it in the queue, and then notified another application of these changes.

5. Receiving data changes information

As was said above, each 2 seconds (interval may be adjusted), each client module requests server and asks it if there is something new. If there are data changes notifications that has to be processed, server transfers it to client module. Client is transforming these notifications (triple-encoded data, in fact) to the receiving application's data structures. Now the transfer is done, the information has reached destination point.

Now let's see server and clients interaction schema. On this image, at one side there is a web-connector, another side is other platform connector (for example, 1C accounting application).

Of course, Business Semantics Server functionality is not fully described here. Beside said above, there are functions controlling and recovering data integrity, etc.