读书人

delphi , webservice 与三层,该如何处

发布时间: 2012-03-07 09:13:51 作者: rapoo

delphi , webservice 与三层
三层程序一直在讨论,但无论我看哪个三层,都觉得不对劲,唯一对劲的就是 WebService实现的三层。

三层程序中,我们有一个数据管理层,这一层大家都交给DBMS了,如Sqlserver,Oracle.

一层是业务逻辑,这一层我们要考虑,要编码的。

还有一层是表现层。

三层应是相互独立的。

也就是说,逻辑层不知道下面的表现层是用delphi的win32表现还是Web形式的表现,反正只要符合一定的规则,就可以交流。

逻辑层负责逻辑完了,与数据库交流,不管数据是什么系统,他都要能交流得上(比如用标准sql与数据库系统连接)

这样一来,逻辑层只好用WebService了。


各位,我理解的三层与大众的理解不一定是一致的,这只是我的想法,欢迎拍砖。

Ps,拍完砖顺便告诉我一下一直困扰我的 WebService 执行验证,大家是怎么解决的。。

[解决办法]
本来就是 数据包格式(xml/json/ini/...)+通讯方式(tcp/http/udp/...)的组合
webservice只是其中的一个组合(xml@http)而已

我觉得xml分析起来开销太大,改为ini:
http://blog.csdn.net/sz_haitao/archive/2009/09/10/4539228.aspx
[解决办法]

探讨
这样一来,逻辑层只好用WebService了。

[解决办法]
别瞎费劲了,用JAVA写服务器端吧!
如果用Delphi这破玩意儿写服务器端,线程池、连接池、ORM、SPRING这些都没有(难到不难,还要自己写,自己压力测,够你折腾一段时间的、除非你的项目很简单,不需要考虑以后的维护成本,可以简单地在逻辑层直接写SQL),而且一不小心有个内存泄露,那整个服务器就挂了,别在天真地找到一篇关于Delphi三层的文章就认为你能用它做出很好效果的三层!Delphi开发三层有成功的案例没?有,有多少,不知道!对于答案为"有"的是有前提的,公司必须要有几个牛人历经一年半载的来搭框架,反复测试,在实际上还要不断修改!对于一些动辄就三层三层的贴子,真TMD好笑!
总之来讲:用JAVA写WEBSERVICE,把功能粒度分合适些(千万别搞得有N个service interface),让D端调用就行了!这样整个系统结构就比较松散了!
对于1楼朋友总是把ini吹得神乎其神的,INI这个东西解析是不慢,语意表达上是不是要差一些!更重要的是需要把数据传上来,反序列化后,就是业务对象了,您这个是不是还要写helper类啊,可够累的...
您如何把下面的树型结构用ini表示?
XML code
<csdn>  <develop tool>     <XXX>        <YYY>        </YYY>     </XXX>  </develop tool></csdn>
[解决办法]
谁说delphi写服务端就是要从头做起的?
delphi写isapi,跑在iis下,网络通讯就完全免掉了
所以,瞎费劲的关键在于瞎!不知道怎么借助现成、成熟的东西,自然费劲不讨好了

至于ini描述树形,根本不是问题,再复杂的都很好办
<csdn>
<develop tool>
<XXX>
<YYY>
</YYY>
</XXX>
</develop tool>
</csdn>
转为ini就是:
csdn=xxxxxxxx
csdn.develop tool=xxxxxxx
csdn.develop tool.xxx=xxxxxxxx
csdn.develop tool.xxx.yyy=xxxxxxx
分析起来非常直接快捷!


探讨
别瞎费劲了,用JAVA写服务器端吧!
如果用Delphi这破玩意儿写服务器端,线程池、连接池、ORM、SPRING这些都没有(难到不难,还要自己写,自己压力测,够你折腾一段时间的、除非你的项目很简单,不需要考虑以后的维护成本,可以简单地在逻辑层直接写SQL),而且一不小心有个内存泄露,那整个服务器就挂了,别在天真地找到一篇关于Delphi三层的文章就认为你能用它做出很好效果的三层!Delphi开发三层有成功的案例没?有,有多少,不知道!对于答案为"有"的是有前提的,公司必须要有几个牛人历经一年半载的来搭框架,反复测试,在实际上还要不断修改!对于一些动辄就三层三层的贴子,真TMD好笑!
总之来讲:用JAVA写WEBSERVICE,把功能粒度分合适些(千万别搞得有N个service interface),让D端调用就行了!这样整个系统结构就比较松散了!
对于1楼朋友总是把ini吹得神乎其神的,INI这个东西解析是不慢,语意表达上是不是要差一些!更重要的是需要把数据传上来,反序列化后,就是业务对象了,您这个是不是还要写helper类啊,可够累的...
您如何把下面的树型结构用ini表示?
XML code<csdn><developtool><XXX><YYY></YYY></XXX></develop tool></csdn>


[解决办法]
要不你也用用牛得不可一世的"CBX"
[解决办法]
探讨
ini这个能否讲的在仔细点

[解决办法]
似乎说了些什么,又似乎什么都没说
[解决办法]
就如上面所说的,只要符合三层定义的标准,就是所谓的三层了,不管使用什么技术,当然WebServiec亦可实现。
[解决办法]
用webservice还是不错的,不过安全是个问题,别人看一下WSDL就能调你的东西了。不知道有好的解决方法没有
[解决办法]
看的头都大了,不过先谢谢了>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>




读书人网 >.NET

热点推荐