300分請沙隆巴斯的主人在此講一下關于三層中從pooler﹐到線程﹐包括客戶端如何實現線程﹐中間層如何實現線程。(300分)

  • 主题发起人 主题发起人 liuxiangsoft
  • 开始时间 开始时间
李维的ado mts com+上有这么段说是通过mts com+,自身就带事务和pooling。
自己写pooling累死,说不定还有很多bug:)
 
TO: liuxiangsoft,
你不要看啊,你看你是不是应该写啊,如果大家只是等着别人写出来看一下,这种学习效果
是很差的啊。
你自己实现一下,贴出来,有问题再由其它人指出来,这种方法可以事半功倍啊。
 
谁在SQLServer上把数据库建好了?麻烦把脚本贡献出来吧。
 
首先对于三层来说,客户端无须关心中间层如何为它提供数据,如何更新数据,也不用关心
数据存储在何处,所以客户端是无须关心连接池,对象池等一系列中间层的优化技术,对于
客户端来说,是很简单的,就是调用中间层提供的接口,完成任务即可。
-------------------------------------------------------------------------------
晕哦,连什么是三层结构都没有搞清楚。上面写的仅仅是通过中间层来写一个连接代理而已
。除去不关心数据库位置和异质数据库(待考)之外,连接池什么的有2层用数据库本身的多客户端连接管理好吗?告诉你delphi的remotedatamodal可是在大访问量下不相应的。
接沙隆巴斯的例子:
用户查阅可供借阅的书籍应该作为中间层的一个方法,要根据用户所在系别,信誉度等等进行查询并且返回一个数据集
用户借阅某本书也应该作为中间层的一个方法,判断该用户是否允许借阅该书,用户没有借满,书没有全部外借,并解决多人同时借该书的冲突问题。
这样才是真正的三层结构,都是被Delphi的demo害了的孩子,有空也看看java和.net的设计模式吧。
 
我的想法是把这个简化的虚拟图书馆系统做成个OFEN的项目,按照GPL来进行。

也请各位DFW一齐参与,将齐逐步完善。

项目按照增量模式进行开发。

0.1版的范围只包括借还书管理(不包括异常管理)和附带的一部分日志管理。0.2版将加入书籍管理、借阅人管理;0.3版加入系统维护管理、完整的日志;0.4版加入藏书仓库管理;0.5版加入对书籍的条码和智能借书证的管理。

0.4后进行锁定,以形成一个稳定发行版:1.0;此发行版运行于WINDOWS平台,基于COM+的三层架构,采用定制客户端。第一个发行版的数据库选oracle8,开发工具选择D7。此版本的目标是满足县一级图书馆(10万册以下)的需求。此后将数据库移植到PostgreSQL与MySQL,向GNU靠拢,以形成1.0a与1.0b两个分支。

在1.0基础上增加面向公众的图书检索功能,形成1.1版;1.2版增加多个图书馆间的资源共享管理。

1.2后进行锁定,形成新的稳定版本2.0。此版本可使用PostgreSQL、MySQL与Oracle数据库;应用服务器(DO、BO层的)为运行于WINDOWS的COM+(必须支持SOAP);WEB服务器选择IIS。此版本的目标是满足中型的(50-100万藏书)的图书馆需求。(附:关于其应用服务器与WEB服务器的另一选择:JBOSS与APACHE/TOMCAT,就其可行性与技术框架还请其它DFW提建议,主要是与1.0版的兼容与平滑过渡问题,对此我还没有完整的解决方案。我是希望项目能够进一步向GNU靠拢的,最终摆脱该死的MS)

2.0版已经可以提供一个较全面的信息流平台,再往下将是和资金流与物流的结合。关于这方面的事情,其前景还看不清晰,也希望各位DFW能够给于指导意见。
 
以上是我的一个初步想法,如果实现的话,一方面对大富翁上的所有人都是一个参与、思考、贡献、提高的循环过程;另一方面可以在大富翁这国内最早的程序员社区之一里,创建一个由自愿者组成的,开放的,有明确目标的开发团队;最后,也希望其成果能够成为一个对社会有用的东西。
 
沙隆巴斯的主人,我想参加可以吗,虽然技术一般般,但多少可以出点力的
 
TO: kusanagi
连接池什么的有2层用数据库本身的多客户端连接管理好吗?告诉你delphi的remotedatamodal可是在大访问量下不相应的。

你这不是误导其它人吗?
数据库本身的多客户端连接管理?晕倒,我都不想反驳里了,不过你这种话放在这里会害人的吧.
知不知道数据库的连接有多贵啊.如果数据库可以支撑10个,那么运用三层后就可以支撑100个(比方).100个用户的数据库,你买的起吗?

进来后三句话未看,就乱发言,晕倒.
 
to: proman
别生气,呵呵。在你的帖子里只提到了关于连接池,多线程等东东。而且我也不是针对你发布帖子。就你的问题给你做解答。
//如果数据库可以支撑10个,那么运用三层后就可以支撑100个(比方).
这句话是有问题的,举个例子来说。我曾经写过一个三层结构程序,数据库是db2。你知不知道db2每个客户端只能建立一个事务(不排除我用的方法不对)?我在服务器上开多个线程每个线程启动一个数据库连接并建立事务都不可以。具体问题要具体分析,你说得也有道理,不过我更加关心是应用服务器层以接口的形式发布的东西而已。
 
大厦必须有一个可靠的基础,一个软件项目也是如此。
建筑施工是一个严谨的工程过程,软件开发也有如此。
对于这个项目,我希望按照SW-CMM来进行开发过程(依据SW-CMM1.1中的2级——可重复级来进行)

而前面我提出的需求假设是昨天上午个人拍着脑门搞出来的,当下午做数据库设计的时候就已经发现了一系列问题(细心人应该已经发现了它们的不一致之处)。因此,我想应该停下来,重新进行需求开发。
 
to kusanagi
--------------------------------------------------------------------------
---
首先对于三层来说,客户端无须关心中间层如何为它提供数据,如何更新数据,也不
用关心
数据存储在何处,所以客户端是无须关心连接池,对象池等一系列中间层的优化技
术,对于
客户端来说,是很简单的,就是调用中间层提供的接口,完成任务即可。
--------------------------------------------------------------------------
-----
晕哦,连什么是三层结构都没有搞清楚。上面写的仅仅是通过中间层来写一个连接代
理而已

--------------------------------------------------------------------------
-----
proman的想法“对于客户端来说,是很简单的,就是调用中间层提供的接口,完成任务即可。”和你的想法“不过我更加关心是应用服务器层以接口的形式发布的东西而已”不是一样的吗?
 
to 所有人:
我新开了个信箱:MyProject@163.com ,所有想参加此项目的或对此项目感兴趣的都可以发邮件来。我希望能从有兴趣的自愿者中产生一个核心小组,和一个范围很大的外围群体。

此项目参照GPL来开发,所有的文档、源码公开,知识产权公有。
 
那是不是应该先进行用例分析?

我先报名参加啊。

163的信箱,不知道发信给你能不能收到?
 
to proman:
谢谢你的支持。你的邮件已经收到。
 
我在http://www.delphibbs.com/delphibbs/DispQ.asp?LID=2587574开了个新帖子,欢迎大家去。
 
to ﹕kusanagi,PROMAN:

其實我同proman早講過﹐我學習三層是從0開始的﹐差不多在去年初才學﹐之前是用vfp或vb寫程序的。今年采用cs模式開了了一個倉庫管理系統﹐已上線﹐自我感覺良好﹐現在才有時間用在三層上。全部都在模索之中。

我較喜歡做事﹐要么不做﹐要么做得最好。前兩個月我還沒有聽過pooler﹐現在寫的測試三層中的軟件基本已用到了pooler﹐它產生的功能我沒有做測試﹐因為沒有上線﹐自己沒有100個用戶做測試﹗但是對于李維在書中提到要實現三層的最優化的就提到pooler﹐所以我才不顧一切﹐來學習三層。

至于沙隆巴斯也已開貼﹐那我明天結貼﹐在此中心的希望我們都是dfw的朋友﹐在語言中不要含有諷刺之意﹐proman曾給我很大幫助。可見在三 層的開發中﹐他也是相當有勢力的。每人都每個人的優勢和不足。


 
我給你一個例子﹗
 
多人接受答案了。
 
后退
顶部