Advice on moving to a multi tier Delphi architecture

后端 未结 5 1988
轮回少年
轮回少年 2021-02-03 10:48

We have a relatively large application that is strongly tied into Firebird (stored procedures, views etc). We are now getting a lot of requests to support additional databases a

相关标签:
5条回答
  • 2021-02-03 11:05

    In the process of moving to a multitier application you could consider using a transport protocol between the layers, which is language/technology independent (like webservices, (i think tha remobjects supports that)).

    This could make a reimplementation of a layer simpler later (like if you later have to make a another version of the client-application in a browser/java/silverlight).

    0 讨论(0)
  • 2021-02-03 11:09

    Changing your application to Multi-Tiers with new framework (RM,DS,kbmMW, or what ever), will make a lot of changes in our application architecture, I recommended to go with this in future, but you can achieve the support for multi database, with other products like

    UniDac from DevArt( Best components for database with direct connection). AnyDac(from same Company who offer RemObjects. SqlDirect(Has support for 9 MajorDB and also ODBC). ZeosDB(Open source).

    using one of the components above, will give you support for most major databases, beside it will not make you doig a lot of changes, and in some cases you just replace old database components with the new ones, and maybe change some of properties.

    However, changing to Multi-tiers will not only make you only support more databases, but it will separate your business logic from presentation layer, therefore you can have more presentation layers for your application like web interface, or smart devices.

    But the most important in the Multi-Tiers architecture, you will have a scalable system the grow more than what the database you are using can handle of connection, beside other benefits, like using other languages to write client applications.

    0 讨论(0)
  • 2021-02-03 11:15

    I can recommend using the KBM Middleware components from Components4Developers. There is a bit of a learning curve but they are very flexible and hold up well under use in real world conditions.

    Comment from a user (http://www.components4programmers.com/usercomments/commentfromapowerusertoaquestion.htm)

    0 讨论(0)
  • 2021-02-03 11:18

    For multi-tier architecture I also recommend to check out message-oriented middleware.

    With message-oriented middleware, cross-language and cross-platform application integration can be implemented using the peer-to-peer or the publish/subscribe communication model. Messaging systems are loosely coupled, asynchronous and reliable. For example, they are core components in Java(tm) application servers such as JBoss.

    For Firebird, I recently wrote a blog article on replacing Firebird database events, their limitations and ways to replace them with message-broker based solutions (which are available as open source):

    • Firebird Database Events and Message-oriented Middleware (part 1)
    • Firebird Database Events and Message-oriented Middleware (part 2)

    (disclaimer: I am a developer of Delphi and Free Pascal client libraries for open source message brokers).

    0 讨论(0)
  • 2021-02-03 11:23

    You can also investigate Midware http://www.overbyte.be/frame_index.html

    0 讨论(0)
提交回复
热议问题