#1 2010-08-19 08:53:27

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 5,913
Website

How to implement multi-tier architecture in our SQLite3 Framework

In software engineering, multi-tier architecture (often referred to as n-tier architecture) is a client–server architecture in which the presentation, the application processing, and the data management are logically separate processes. For example, an application that uses middleware to service data requests between a user and a database employs multi-tier architecture. The most widespread use of multi-tier architecture is the three-tier architecture.

Both ORM and RESTful aspects of our framework makes it easy to develop using such a three-tier architecture.

In our SQLite3 Open Source framework, for Delphi 7-2010, you can follow this development pattern:
- Data Tier is either SQLite3 and/or an internal very fast in-memory database, most SQL queries are created on the fly;
- Logic Tier is performed by pure ORM aspect: you write Delphi classes which are mapped by the Data Tier into the database, and you can write your business logic in both Client or Server side, just by adding some events or methods to the classes;
- Presentation Tier is either a Delphi Client, either an AJAX application, because the framework can communicate using RESTful JSON over HTTP/1.1 (the Delphi Client User Interface is generated from Code, by using RTTI and structures, not as a RAD - and the Ajax applications need to be written by using your own tools and JavaScript framework, there is no "official" Ajax framework used yet).

If you need a RAD approach, it's perhaps not the right tool for you.

But if you like describing your application with classes, it's worth taking a look at it, and contributes to this open source project!

Offline

#2 2010-08-19 08:59:15

ab
Administrator
From: France
Registered: 2010-06-21
Posts: 5,913
Website

Re: How to implement multi-tier architecture in our SQLite3 Framework

If you take a look at our Main Demo, you'll find such a 3-tier architecture.

This application is just a database tool which stores text content and files into the database, in both clear and "safe" manner. Safe records are stored using AES-256/SHA-256 encryption. There is an Audit Trail table for tracking the changes.

Here are some screen shots of this sample application:
synfilebeta.png
synfilebeta1.png
synfilebeta2.png

It shows you some interesting features like integrated User Interface generation and i18n, reporting and export to PDF, client/server services.
And you'll discover how our ORM and client/server database system is implemented: all is done in code (no RAD/IDE approach here), but with very little code lines count...

See the code description in http://synopse.info/forum/viewtopic.php?id=77

Offline

Board footer

Powered by FluxBB