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.