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”…}]

<Main: authenticate. Acknowledgment: authenticated.>

“Close” Event is an Event Type º

<Main: close. Acknowledgment: closed.>

“Execute” Event is an Event Type º

<Main: execute. Acknowledgment: executed.>

“Fetch” Event is an Event Type º

<Main: fetch. Acknowledgment: fetched.>

“Commit” Event is an Event Type º

<Main: commit. Acknowledgment: committed.>

“Rollback” Event is an Event Type º

<Main: rollback. Acknowledgment: rolled back.>

“Abort” Event is an Event Type º

<Main: abort. Acknowledgment: aborted.>

“Keep” Event is an Event Type º

<Main: keep. Acknowledgment: kept.>

Named Queries Event is an Event Type º

            <Main: named queries. Acknowledgement: named queries result.>

Named Query Event is an Event Type º

            <Main: named query. Acknowledgement: named query content.>

“Close Statement” Event is an Event Type º

<Main: close statement. Acknowledgement: statement closed.>

“Check” Event is an Event Type º

            <Main: check. Acknowledgement: checked.>

 

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 Session State ®

 

Session State

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 Session State ®

 

Session State

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 ®