CSA enables the development of multi user solutions as a single programming task without the need of developing separated client and server sides. The solution is then installed on the application server and can be used from any platform (Windows, Android, IOS and web).
At runtime, CSA divides the task automatically with the graphical user interface implemented on the client device, while everything else is run on the server.
The examples below demonstrate how to use CSA. The Download example is a simple one for showing the basics; the following example of records retrieval intended for demonstrating the power of CSA.
The requirements are very simple; when the user click on the button the system needs to check whether the user name with the password exist on the database and displaying appropriate message (exists or doesn't exist).
For develop the Download page with the current technology I need to build a user interface and a program that runs on the application server. For the comparison I choose HTML on the client side and ASP.NET for the server side and here is the summary of the project.
|Step||# of code lines||Remarks|
|Send Request||45||Java Script, encoding values + sendind request|
|ASP.NET Accept Request||7||Get request, decode values|
|ASP.NET Business Logic||8||Checks whether the user exists|
|ASP.NET Response||7||Building a XML formatted response|
|Parse XML||5||Java Script parsing the XML and getting the response|
|Update User Interface||4||Java Script updates the user interface using DOM|
With CSA I build a single class, it is simple and easy to understand.
CSA can be integrated with any environment and language. For instance for the current example the programmer works with standard C# on Visual Studio and can use any feature of .NET framework.
Example of Records Retrieval
The records retrieval example demonstrates how powerful CSA can be.
This page enables the user to search records from a view on the database; it also contains options like opening a page for inserting a new record, page for viewing/updating an existing record, it enables excel output, and page setting.
I developed a component called RetrievalGrid; it can create any retrieval page from any view on the database. It allows the programmer to define different types of search parameters and desired datasheet columns, and it brings reach set of add on functionality.
Here is the class that uses the RetrievalGrid and creates the example:
This is the way I like to see a class; it is clean, easy to understand and focuses on the specific task it should serve.
CSA enables developing components like the RetrievalGrid because it sees tasks as a single class and that fact enables programmers to combine user interface, business logic and access to server resources.
With CSA it is very easy to develop components for any purpose like design templates, custom user interface controls and controls for retrieving and introducing data.
Here is a screenshot from our ERP application that we created with CSA.
For creating this page I developed a custom user interface control that gives the design page. The design page has a content area that can host any page. The Download page class is similar to the Download example on this article; then I added the Download page to the content of the design page.
This page also demonstrates the power of CSA where I can creates well design pages and separate design and functionality.