Client-Server application writing in delphi

前端 未结 7 1469
盖世英雄少女心
盖世英雄少女心 2021-02-11 01:19

What is the best way to write a client-server application under delphi? I know there\'s a DataSnap technology, but it\'s not in Professional version. Do You have any experience

7条回答
  •  野的像风
    2021-02-11 01:45

    This is fairly wide open question, as it can depend on your database decision.

    DataSnap really allows for N-Tier solutions, if your looking for Client Server you have most everything you need in the professional version depending on the Database Choice.

    For Client Server:

    Client Server Architecture is when the Client communicates directly with the server.

    There are several frameworks available they all follow the same pattern.

    DB Connection -> Query -> (Optional Provider -> TClientDataset) -> TDataSource -> Visual Control

    DBX

    • TSqlConnection - Connects to the Database
    • TSqlQuery - Query against DB producing uni-directional Dataset
    • TSqlStoredProc - Executes Stores Procedures against DB

    ADO

    • TAdoConnection - Connects to Database
    • TAdoQuery - Query against DB producing Bi-Directional Dataset

    Common Components

    • TClientDataSet - In Memory dataset that is bi-directional
    • TDatasetProvider - Takes other datasets and ties the data to TClientDataset
    • TDataSource - Ties a Dataset to a data-aware visual control

    There are several other options available depending on Database Choice.

    However, you seem to be asking about N-Tier (Middle-Tier) type solutions

    For N-Tier

    N-Tier architecture is when the Client communicates with Middle Tier that then communicates with the Server. It's referred to N-Tier as you have option to have multiple Middle Tiers or Application Servers.

    Commercial Options (Required additional $$ to be spent)

    • DataSnap
    • DataAbstract
    • RemObjects SDK (Part of DataAbstract but can be used by itself)
    • KBMMw
    • Midware

    I personally don't know of any free or open source options, although I suspect some exist.

提交回复
热议问题