Le framework dseta pro EN

24
the DSETA framework VECTALIS - 19, rue Reaumur - 75003 Paris / +33.175.000.520 / www.vectalis.com Copyright 2011 Page 1

Transcript of Le framework dseta pro EN

Page 1: Le framework dseta pro EN

the DSETA framework

VECTALIS - 19, rue Reaumur - 75003 Paris / +33.175.000.520 / www.vectalis.comCopyright 2011 Page 1

Page 2: Le framework dseta pro EN

VECTALIS SHARING DATA Page 2

The DSETA framework

THE TARGET

The DSETA framework

Page 3: Le framework dseta pro EN

VECTALIS SHARING DATA Page 3

Target 1 : prototype-making

Needs

Architect

Prototype

Users

The DSETA framework allows an architect of client-server systems to produce successive functional prototypes of the complex system that he has to design.

The system specifications writing process is reduced to a minimum; in some favorable cases, it can even be unnecessary.

Is there any better approach to validate the users’ needs than the development of prototypes?

No programming is required and functional prototypes are produced extremely rapidly.

How could one measure the challenges implied by a new IT system in a less expensive way than by developing a prototype based on the DSETA technology?

The DSETA framework

Page 4: Le framework dseta pro EN

Client & Server generic applications

VECTALIS SHARING DATA Page 4

Target 2, case 1: very favorable case

Client-Server System

Functional Prototype

Users

Admin

In the very favorable case where :

1) the performance of the client and server generic applications provided by the DSETA framework are acceptable,

2) the architect has been able to match all the user needs thanks to the DSETA framework,

3) and the end-users are comfortable with using the default GUIs of the DSETA generic client application,

then the final prototype can be easily deployed to production by a system administrator, and immediately used by the end-users.

These « commando-style » development processes can be considered well-suited for big organizations where decisions are sometimes difficult to make : “while deciding to start a project or not, the DSETA development is already done, and, considering its very low cost and very low human commitment, it is not that big a problem if the decision is not to go for it.”

In such a case, it may be very difficult to develop such a client-server system at a smaller cost money- and time-wise.

The DSETA framework

Page 5: Le framework dseta pro EN

Coding of Client & Server Add-ons

VECTALIS SHARING DATA Page 5

Target 2, case 2 : favorable case

Client & Server generic applications

Client-Server System

Functional Prototype

Users

Adminn C# SoftwareEngineers

In the favorable case where :

1) the performance of the client and server generic applications provided by the DSETA framework are acceptable,

2) but, contrary to the previous case, the system absolutely requires :

a. specific GUIs for the users,b. complex data processing,c. or any particular IT integration within existing

systems,

a small team of junior C# software engineers can finalize the system by adding ‘Client Add-ons’ (to the Generic Client Application) and ‘Server Add-ons’ (to the Generic Server Application).

The ‘Client Add-ons’ are mainly used to build specific conventional GUIs thanks to proprietary graphical components.

The ‘Server Add-ons’ development is based on the easy plugging to the events exposed by the ‘TypedNodeset’, a software component generated by the DSETA framework.

C#

The DSETA framework

Page 6: Le framework dseta pro EN

Client-Server System

VECTALIS SHARING DATA Page 6

Target 2, case 3 : unfavorable case

Users

Functional prototypeProvided by the DSETA framework are NOT acceptable, namely :

1) more than 50 modifications per second, 2) more than a few hundred connected users,

the client-server system must be entirely developed in a classic way by a big team of senior software engineers.

The DSETA framework

AdminN experienced software engineers

Page 7: Le framework dseta pro EN

VECTALIS SHARING DATA Page 7

Overview

User needs

Client-server System

Architect

Admin

‘N IT engineers’

Functional Prototype

Generic Server & Client Applications

Client-server SystemGeneric Server & Client

ApplicationsClient-server System

Client & Server Add-ons

?‘n C# IT engineers’

Users

with n << N

C#

Page 8: Le framework dseta pro EN

VECTALIS SHARING DATA Page 8

The DSETA framework

DESCRIPTION

The DSETA framework

Page 9: Le framework dseta pro EN

VECTALIS SHARING DATA Page 9

Generic Applications + Operating Rules

The DSETA framework is based on 2 out-of-the-box communicating generic Client & Server software products.

These 2 software products are configured with default ‘Operating Rules’ to start a project.

These operating rules are edited by the architect of the future client-server system.

They are stored into a file during the development phase and into a SQL database when production starts.

On their first connection, the ‘Generic Client Applications’ get their ‘Operating Rules’ from the server hosting the service to which they are connecting.

The DSETA framework

Page 10: Le framework dseta pro EN

VECTALIS SHARING DATA Page 10

Generic Client Application (GUI)

The ‘Generic Client Application’ appears to the user as follow:- on the left-hand side, a ‘Tree View’ enables him

to explore the data he can access

- on the right-hand side, node properties are presented in:

1. either a ’Data Grid’ if several nodes have been selected in the ‘Tree View’,

2. or a ‘Property View’ if a unique node has been selected in the ‘Tree View’.

The architect is at liberty to tune the content and the looks of the ‘Tree View’ for each type of users. The ‘Data Grids’ and the ‘Property Views’ are largely customizable too.

Generic User InterfaceData

ExplorerData Grid

Property View

The DSETA framework

Page 11: Le framework dseta pro EN

VECTALIS SHARING DATA Page 11

Generic Client Application (other functions)

“File Mode” => Factory

Data modification sending

Automatic receiving of the data modifications from the server.

Communication to the Server

Client Add-onsSpecific Graphical User Interfaces

Specific Data Processing (client level)

On top of the GUI function (described in the prior slide), the ‘Generic Client Application’ offers the following functions :

1. the data communication to the server (data modification sending & receiving). Receiving is automatic.

2. When it is used in the “File mode” (instead of the “SQL mode”), the ‘Generic Client Application’ becomes the Factory, that is the DSETA framework development tool used by the architect to edit the ‘Operating Rules’ of the future system.

3. The ‘Generic Client Application’ can be improved or completed by the coding of Client-Add-ons to mainly offer specific GUIs or client-side locally-executed data processing.

The DSETA framework

C#

Page 12: Le framework dseta pro EN

VECTALIS SHARING DATA Page 12

The ‘Generic Server Application’

Exposes the Generic Web Services (logins + data modifications + polling).

Checks that the user can perform the data modification (Authorization).

Server Add-ons Specific data processing on the Server

Authenticates the user willing to modify data.

Sends the data modifications to all users (Broadcast).

Checks that the user can access to the modified data (Scoping).

Triggers post-modification data processing (Business Logic),

Performs data saving in the SQL database.

Sends relevant data to user at login (full or delta Login).

The DSETA framework

C#

Page 13: Le framework dseta pro EN

VECTALIS SHARING DATA Page 13

The ‘Operating Rules’

The ‘Operating Rules’ are edited by the architect. They configure the ‘Generic Client & Server Applications’ on the following scopes:1. the data structure,

2. the user access rights,

3. the data processing (without coding),

4. the improvement of the looks of Generic GUIs.

The DSETA framework

Page 14: Le framework dseta pro EN

Data modeling example:

Product

VECTALIS SHARING DATA Page 14

Data Structure

ByAir

Supplier

Customer

Shipment

ByBoat

Proposal

Discovery

Trade

User

Role

The Tables are « typed » according to their hierarchical naming :

The 1-N Tables are yellow.The 1-1 Tables are orange.The N-M Tables are blue.The N-1 Tables are green.

The Relations are « typed » in red for the relations related to the hierarchical naming and in blue for the relations that do not participate to it.

DSETA allows to implement multi-dimensional inheritance; the Relations can be constrained by the common inheritance between the parent Table and the child Table.

The DSETA framework

Page 15: Le framework dseta pro EN

An example of ‘Data Discovery Ways’:

Product

VECTALIS SHARING DATA Page 15

Access to the data by the users

ByAir

Supplier

Customer

User

Shipment

ByBoat

Proposal

Discovery

Trade

Role

Each user type (called ‘Role’) discovers its accessible data by following its ‘Data Discovery Ways’ that are defined by the architect (the purple arrows).

The ‘Data Discovery Ways’ follow the Relations defined at the data structure level.

For each discovered Table, the architect must define if this user type can perform (or not) : Insert, Update et Delete.

The ‘Data Discovery Ways’ are used by the server to compute the Login data, the Scope and the Broadcast.

The DSETA framework

Page 16: Le framework dseta pro EN

Modifications-sortantes

Incoming event :

VECTALIS SHARING DATA Page 16

Business Logic

Source Table Source Columns

INSERT DELETE UPDATE

Subscribing to the incoming event

Modifications-sortantes Target Table

Outgoing modification (DELETE)

Outgoing modification (UPDATE)

Outgoing data modification n° 1

Outgoing modification (INSERT)

Expression providing the Records to delete.

Expression providing the Records to modify.

Expressions providing the parent Records used for the naming as well as the values of the Keys. Expressions providing the parent Records that

are not used for the naming as well as the values of the qualifying columns.

In many cases, the data processing triggered on data modification can be defined by the architect without coding (Business Logic).

On each data modification type (Insert, Update, Delete), the architect can define, on the source data (or on button clicking), the triggering of a data modification (Insert, Update, Delete) on a target data.

This symbolic programming uses Expressions based on an easy object-oriented syntax.

Subscribing tothe event.

The ‘Business Logic’ is a self-triggering process : the triggering of the target data modification can trigger other modifications. This allows to define complex processes in a very structured way.

Triggering condition (Expression)

The DSETA framework

Nevertheless it is also possible to perform the data processing in C# thanks to Server Add-ons capability.

Page 17: Le framework dseta pro EN

VECTALIS SHARING DATA Page 17

Improvement of the look of the Gen. Cl. Apps

Styles used for the column values.

Styles used for the labels of the ‘Tree View’ nodes.

Icons associated with the ‘Tree View’ nodes.

Conditional styles for the column values.

Conditional styles for the labels des ‘Tree View’ nodes.

Conditional icons associated with the ‘Tree View’ nodes.

The DSETA framework

Page 18: Le framework dseta pro EN

VECTALIS SHARING DATA Page 18

TypedNodeSet

Generic Server Application

Server Add-ons

Generic Client Applications

Client Add-ons

Once the data structure is defined, the architect can generate a system of Strongly-Typed Classes which represent the set of the system’s Tables and the Relations between them. This system of Classes is named: the TypedNodeSet.

At the level of the generic client applications, it is possible to use the TypedNodeSet to design any custom Graphical User Interfaces.

At the level of the generic server application, it is possible to use the TypedNodeSet to code in C# any complex data processing by subscribing to the events exposed by the strongly-typed objects.

Access to any Microsoft .NET library.

The DSETA framework

C# C#

TypedNodeSet TypedNodeSet

Page 19: Le framework dseta pro EN

VECTALIS SHARING DATA Page 19

The DSETA framework

Setting

The DSETA framework

Page 20: Le framework dseta pro EN

VECTALIS SHARING DATA Page 20

The VECTALIS service around DSETA

If required by the client, Vectalis can provide an architect to create the prototype of the Client-server System (2000€ per day).

Vectalis can also provide IT engineers to develop the required Client and/or Server Add-ons (around 1500€ per day per engineer).

When the client approves the prototype of the system shown in the Factory, VECTALIS offers the ability to deploy the service for pre-production tests, at once and for free, on one of its DSETA test servers.

Thanks to this, the Architect is able to present his Internet-deployed system to the decision-making people or the end-users, in production-like conditions.

Vectalis Vectalis

Vectalis can also support its clients for the deployment of their DSETA Server (around 1500 € per day).

Architect C# Programmer

Vectalis

Administrator

The DSETA framework

Vectalis

www.the-framework-dseta.com

Page 21: Le framework dseta pro EN

VECTALIS SHARING DATA Page 21

Prototype example : B2S

B2S (for ‘Bank Sell-Side’) is an IT system that is internal to a bank issuing Financial Structured Products. This tool allows the bank’s Front-Office department to improve its productivity for all the processes relating to the different steps of the life of the Financial Structured Products.

The characteristics of this project are :

- 1 Architect during 4 months. - 7 types of users. - 190 master Tables (1-N, N-M). - 230 extension Tables (1-1, N-1). - 1200 Columns. - 420 Forms. - 1300 outgoing-modifications (BL).

The DSETA license cost for a system with such a level of complexity would be around 3000€ per month for 25 users.

The DSETA framework

Page 22: Le framework dseta pro EN

VECTALIS SHARING DATA Page 22

A system with Client & Server Add-ons : SPm

The SPm service is an private online service dedicated to the Financial Structured Products between, on one hand, the issuing banks (the Sell-side) and, on the other hand, the financial entities that trade Structured Products on the behalf of the final investors (the Buy-side).

The SPm system includes:- customized GUIs perfectly tailored to the

needs of the 3 user types,- a special processing module which

performs data mining in the product set.

This development has required, during 9 months, 1 architect and 3 IT engineers, knowing that that this project is comparable to B2S, complexity-wise.

The DSETA framework

: Business link : IT using or IT link

Sell-side

Buy-side

Specialist

Salesman

AccountManager

s

Databases

SPmFlux

Page 23: Le framework dseta pro EN

VECTALIS SHARING DATA Page 23

The DSETA framework

CONCLUSION

The DSETA framework

Page 24: Le framework dseta pro EN

VECTALIS SHARING DATA The DSETA framework Page 24

Strategic positioning

Advantages :

- Development based on iterative prototype-making. - The provided solutions can easily evolve. - Extremely quick development. - Only 1 architect required (+ some IT engineers if necessary). - Consistency due to the using of generic applications.- Low and progressive cost.

Drawbacks :

- focusing a very particular type of systems : - Microsoft .NET “Window Form” client applications, - complex automatic broadcast, etc. - The current version is not scalable : - a few hundred connected users. - 50 data modifications per second.