如何在Delphi下编写客户端服务器应用程序?我知道有DataSnap技术,但它不在专业版中。您有什么经验可以分享吗?
如何在Delphi下编写客户端服务器应用程序?我知道有DataSnap技术,但它不在专业版中。您有什么经验可以分享吗?
根据数据库选择,还有其他几个选项可用。
然而,您似乎正在询问N-Tier(中间层)类型的解决方案
对于N-Tier
N-Tier架构是指客户端与中间层通信,然后中间层再与服务器通信。它被称为N-Tier,因为您可以选择多个中间层或应用程序服务器。
商业选项(需要额外的开销)
我个人不知道有任何免费或开源选项,虽然我怀疑有一些存在。
两种选择:
使用Delphi Professional,可以编写简单的(没有WS-*标准,没有Soap 1.2服务器)SOAP客户端和服务器应用程序。
在许多情况下,Soap在跨平台/跨语言集成、标准化、按合同设计以及成熟的实现指南、最佳实践和模式方面提供了优势。
对于Soap,有很棒的(免费)工具,如SoapUI和用于Web服务描述语言(WSDL)文档的IDE编辑器,如NetBeans。
请看看我们的开源客户端/服务器ORM。
它是多层兼容的,您可以在客户端和服务器级别都使用ORM。 ORM无处不在,JSON是选择用于客户端/服务器传输的格式。
您可以将应用程序作为本地应用程序启动,然后只需更改用于访问数据的类类型,它将成为通过命名管道、HTTP/1.1或GDI消息通信的客户端/服务器应用程序。
它被设计为与SQLite3一起在服务器端作为小而高效的数据库引擎一起工作,但是您也可以在没有SQlite3的情况下使用ORM。如果您喜欢,提供了一个纯Delphi内存引擎。
这个框架试图从底层实现N-Tier架构。即将推出的1.13版本将拥有强大的过滤和验证机制,非常适合N-Tier架构。它包含一些用户界面单元,具有完整的报告功能(以及PDF生成),能够使用数据的ORM布局从代码创建大部分用户界面。
它基于RESTful范例通过JSON从客户端访问数据。如果RESTful方法不足以满足需求,还有一种简单的实现客户端/服务器服务的方式,就像DataSnap一样。
它支持Unicode(在所有内部级别上使用UTF-8),并且可以与Delphi 6到XE(甚至是Starter版)的每个版本一起使用。
应用服务器
是一种服务,它为您的应用程序(轻量级客户端)提供接口来获取和发送数据,并控制业务逻辑。您的应用程序不需要关心数据库或控制记录关系和数据约束,这一切都由应用服务器透明地完成。