SCM-Based Client/Server Technology

 

SCM-based client\server technology implements two software layers. The client-side software layer allows to create SCQL queries, to connect to a SCM data server, to transmit the created queries to the server for execution, and to retrieve execution results back from the server. Now the client-side software is available for Java only. The server-side software layer, at present, fulfills client/server connections and sessions control, receiving of SCQL queries from clients, SCQL-SQL mapping, execution of SQL queries within a RDBMS through JDBC, returning of the SCQL query execution results back. In future, the server-side is considered to be able to execute distributed SCQL queries, to fulfill SCQL statements modifying data, to manage transactions, and to use transparently other back-ends in addition to RDBMS.

 

Using the technology with RDBMS back-end implies maintenance of a server-side SCM knowledge base mainly serving for describing SCM-RM (Relational Model, or Relational Schema) mapping. The knowledge base includes SCM model definition, SCM-RM mapping definition, and named SCQL queries. The SCM-RM mapping requires definition of two simple things:

a)      reflection of each table field (relation attribute) to a concept;

b)      reflection of each connection to a table (relation).

The named queries can be used in other queries (including client-side ones) by reference and are analogues for views of RDBMS.

 

Full application cycle of the technology for an information system development implies the following steps, however, the technology can be applied for existent information systems as well. Note, OLTP application creation is not supported till the next version that will allow execution of SCQL modification statements.

Step 1. Definition of SCM model by means of textual notation. Mapping the textual notation to XML with structure described separately.

Step 2a. Creation ER diagram on basis of SCM model, taking decisions about representing concepts and their connections with entities and relationships. This process should be automated in future. Generation relational schema on basis of the created ER diagram. Modifying attribute names to comply with their semantics and role in a table.

Step 2b. Definition of SCM-RM mapping rules for the concrete SCM model and relational schema. This step should be automated in future.

Step 3. Definition of named and anonymous SCQL queries on basis of the SCM model.

Step 4. Client application programming and execution of SCQL queries.