SCM. Net Layer
Use Channel
Use SCQL
Net Layer Configuration is a Connection Configuration º
Net Layer is a Connection º
<Net layer has a net layer
configuration.>
SCM. Net Layer. Channel Policies
Main Policy is a Channel Policy º
<It holds the event types:
authenticate, close, execute, fetch, commit, rollback, named queries, named
query, close statement, check.>
Abortion Policy is a Channel Policy º
<It holds the event type:
abort.> {It aborts current operation.}
Keep-Alive Policy is a Channel Policy º
<It holds the event type:
keep.>
SCM. Net Layer. Event Types
“Authenticate” Event is an Event Type º
[Main Package Type = {…“Authenticate”, “Close”,
“Execute”, “Fetch”, “Commit”, “Rollback”, “Abort”, “Keep”, “Create Session”,
“Named Queries”, “Named Query”, “Close Statement”, “Check”…}]
[Acknowledgement Package Type =
{…“Authenticated”, “Closed”, “Executed”, “Fetched”, “Committed”, “Rolled Back”,
“Aborted”, “Kept”, “Created Session”, “Named Queries Result”, “Named Query
Content”, “Statement Closed”, “Checked”…}]
<
“Close” Event is an Event Type º
<
“Execute” Event is an Event Type º
<
“Fetch” Event is an Event Type º
<
“Commit” Event is an Event Type º
<
“Rollback” Event is an Event Type º
<
“Abort” Event is an Event Type º
<
“Keep” Event is an Event Type º
<
Named Queries Event is an Event Type º
<
Named Query Event is an Event Type º
<
“Close Statement” Event is an Event Type º
<
“Check” Event is an Event Type º
<
SCM. Net Layer. Packages
Acknowledgement Package is a Package º
<All packages are of appropriate package
types.>
Acknowledgement Package can have a Error
Message ®
“Authenticate” Package is a Package º
“Authenticate” Package contains a User ®
“Authenticate” Package contains a Password ®
“Authenticated” Package is an Acknowledgement Package º
“Close” Package is a Package º
“Closed” Package is an Acknowledgement Package º
“Execute” Package is a Package º
“Execute” Package contains a SCQL. Transactional Statement ®
<The transactional statement
is the selection statement as now.>
“Executed” Package is an Acknowledgement Package º
“Executed” Package contains SCQL. Mapping.
Column Role Concepts –
<There should be column role
concepts or an error message.>
“Executed” Package contain reference to SCM. Server. Server Statement º
“Fetch” Package is a Package º
“Fetch” Package contains a Row Quantity ®
“Fetch” Package contain reference to SCM. Server.
Server Statement ®
“Fetched” Package is an Acknowledgement Package º
“Fetched” Package contains an actual Row Quantity ®
“Fetched” Package contains a starting Row Number ®
“Fetched” Package can contain Rows ¬
“Commit” Package is a Package º
“Committed” Package is an Acknowledgement Package º
“Rollback” Package is a Package º
“Rolled Back” Package is an Acknowledgement Package º
“Abort” Package is a Package º
“Aborted” Package is an Acknowledgement Package º
“Keep” Package is a Package º
“Keep” Package contains a generation Moment ®
“Kept” Package is an Acknowledgement Package º
“Kept” Package contains a generation Moment ®
Named Queries Package is a Package º
Named Queries Result Package is an Acknowledgement Package º
Named Queries Result Package has Full Names –
Named Query Request Package is a Package º
Named Query Request Package has a Full Name ®
Named Query Content Package is an Acknowledgement Package º
Named Query Content Package has a SCQL. Selection Statement ®
“Close Statement” Package is a Package º
“Close Statement” Package references to SCM. Server.
Server Statement ®
“Statement Closed” Package is an Acknowledgement Package º
“Check” Package is a Package º
“Check” Package references to a SCQL. Transactional Statement ®
“Checked” Package is an Acknowledgement Package º
SCM. Net Layer. Client-Server Net
Layer
Client-Server Configuration is a Net Layer Configuration º
<Channel prototypes: (main,
Client), (abortion, Client).> {(keep-alive, Client) is implemented by the
appropriate socket feature.} {Active type means the requests are processed by the client,
that is SCM server.}
Client-Server Net Layer is a Net Layer º
<It’s of client-server
configuration.>
SCM. Net Layer. Client
Use SCM. Net Layer
Use SCQL
SCM. Net Layer. Client. Session
Session is based on a Client-Server Net Layer º
<The net layer connection is
of client type.>
Session has a
|
|
Dynamic Constraint |
|
Anonymous |
There was not a successful authentication and a closing |
|
Authenticated |
There was a successful authentication and there was not a closing |
|
Closed |
There was a closing or client-server net layer was deleted |
<<Possible state
transitions: anonymous -> authenticated -> closed, anonymous -> closed.>>
SCM. Net Layer. Client. Statement
Statement has been executed within a Session ®
Statement can have a result based on Column Role Concepts –
Statement can have Rows ¬
Statement is based on an “Executed” Package º
<The package is one of
received in the session.>
<Column role concepts of the
statement are those of the package.>
Statement is based on “Fetched” Packages ¬
<<The fetched packages are
of received in the session.>>
<<The rows of the statement
are from the “fetched” packages only (and all).>>
<<All appropriate “fetch”
packages and “executed” package of the statement are to refer to the same
server statement.>>
Statement is based on a Transactional Statement ®
<<It’s transactional
statement of an “execute” package corresponding to the “executed one”.>>
Fetching Statement is a Statement º
<<It’s “executed” package
contains reference to a server statement.>>
Fetched Statement is a Statement º
<<There was a fetching, and
the last fetching returns zero row quantity or less than requested quantity.>>
SCM. Net Layer. Server
Use SCM. Net Layer
Use SCQL. Mapping
SCM. Net Layer. Server. Server Session
Server Session is based on a Client-Server Net Layer º
<The net layer connection is
of server type.>
<It’s connected with a
session.>
Server Session has a
|
|
Dynamic Constraint |
|
Anonymous |
There was
not a successful authentication and a closing |
|
Authenticated |
There was
a successful authentication and there was not a closing |
|
Close |
––– |
<<Possible state transitions:
anonymous -> authenticated>>
Server Session has a SQL Session º
<All server statements of the
server session are executed through the SQL session.>
Server
Session has a Last
Touch Moment ®
<<This moment is updated each time a main
package is received on any channel.>>
<<When last touch moment is too old, the
server session is to be deleted.>>
|
Received Main Package |
Sending Acknowledgement Package |
|
Authenticate |
Successful authentication |
|
Failed authentication |
|
|
Close |
Closed <<The server session is being deleted.>> |
|
Execute |
Successful execution: the created server statement reference and its
column role concepts, or null if the statement can not be fetched. |
|
Failed execution |
|
|
Fetch |
Successful fetching: the next row group from a last fetched row or
null (it uses BM SCQL result rows) |
|
Failed fetching (4ex, “snapshot too old”) |
|
|
Abort |
Aborted <<Main channel returns an exception and goes to
receiving state>> |
|
Named Queries |
Named Queries Result |
|
Named Query Request |
Named Query Content |
|
Keep |
Kept |
|
Close Statement |
Statement Closed |
|
Check |
Checked |
SCM. Net Layer. Server. Server Statement
Server Statement has been executed within a Server Session ®
Server Statement is based on an “Execute” Package º
<<The package causes the
server statement creation.>>
Server Statement is based on BM SCQL Result ®
<<The result is acquired by
SCQL-SQL mapping, SQL execution and SQL-SCQL adaptation on basis of the
“execute” package using the SQL session (see above).>>
Server Statement can have a result based on Column Role Concepts –
<If the statement is
selection, the result is based on column role concepts of root selection
operation.>
Server Statement can have last fetched Row Number ®