各位朋友,本人最近在研究三层应用,因为我们用户的需求,需要把两层改为三层,我也做了一个基本的模型,路是通了,但是还有几个问题希望有经验的高手给予指点指点,毕竟要迁移一个大型应用的话,前期要考虑清楚。
1、服务端实现方法
我们的应用数据量和用户数量都很大,所以关注性能。我也用了压缩的方式,但是我还看到网上服务端很多人用C#来写,或者用JAVA来写,还用了连接池的方法,而我目前用的方法是pb写的服务。我想知道非PB写的服务和pb写的效率方面差距有多大,还有如果用。net和java来写的话,客户端接受和发发出数据的话是要用什么方法了,PB的直接就set/get几对函数挺简单。
另外,java可以用连接池,pb是否也可以做连接池。
2、dddw数据获取
如果一次性加载,dddw对象放到服务器端可以解决,如果是动态加载用什么方法,setfulldate是不行,有人告诉我用importstring,我觉得好麻烦,这是唯一的方法吗?
3、分页技术
分页没有在pb中用过,用什么方法实现,什么原理(分次加载,还是一次加载分次显示),对数据库性能有无影响?另外我能想到的问题是,可能汇总合计会有麻烦。
我现在用的是pb11.5版本做测试验证。烦请各位高手给予指点,将不胜感激。
------解决思路----------------------
1.pb写的webservice我未能实现数据库连接池(可能我研究的还不够深),但c#和java的都没有问题,已经试过,建议你用c#和java来写,http://www.educity.cn/develop/1389315.html
2.dddw的获取,用importstring是比较好的方法,如果是用pb写的服务器端的话,用setfullstate比较好
3.分布技术和pb没有关系,主要是在sql上增加分页的部分,一次只取固定的行数,如sqlserver可以用top,oracle可以用rownum来实现
------解决思路----------------------
2、dddw数据获取
如果一次性加载,dddw对象放到服务器端可以解决,如果是动态加载用什么方法,setfulldate是不行,有人告诉我用 importstring,我觉得好麻烦,这是唯一的方法吗?
3、分页技术
分页没有在pb中用过,用什么方法实现,什么原理(分次加载,还是一次加载分次显示),对数据库性能有无影响?另外我能想到的问题是,可能汇总合计会有麻烦。
**********************************************
2,java中间层,用importstring。
3,pb11.5中有本页合计,和全部汇总函数,不需要担心。
------解决思路----------------------
1.应该差异不大.pb写的服务端,除了相比cs下会频频连接(对现在的数据库技术,这都不算什么了),其它的效率与cs无差异.pb写的服务端代码应该是没办法自行管理缓冲池的,它是由iis托管代码再调用pbvm的形式来运行服务端代码,那么,缓冲池的管理自然也归属于iis
2.3楼的办法可行,很好用
3.分页算法自行设计.对数据库而言,只不过是不同的sql查询而已