您的位置:首页 > 理论基础 > 计算机网络

PB 与 php 通过 http 开发报表查询程序可放互联网

2016-11-13 22:23 1076 查看
开发三层结构最简单的方式就是webservice 方式,但是这种方式我总感觉到不太方便,

网上面有相应的代码是传 sql 不安全,

我就想了一个办法服务器用 php 来开发,显示报表用pb,这样就放心多了。

代码出下

服务端:

PHP code

?
PB 程序与服务端数据方式为 json



pb 代码:

string findstr

findstr = "yhbh=" + sle_yhbh.text

dw_xb.httpjson(findstr)

很简单吧。

更多0分享到:

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理
回复次数:16



关注
jiang396
北京大丸子
本版等级:


#1 得分:0回复于: 2014-01-17 17:49:45

引用 楼主 jhdalhero 的回复:

pb 开发三层结构最简单的方式就是webservice 方式,但是这种方式我总感觉到不太方便,

网上面有相应的代码是传 sql 不安全,

我就想了一个办法服务器用 php 来开发,显示报表用pb,这样就放心多了。

代码出下

服务端:

PHP code

?
PB 程序与服务端数据方式为 json



pb 代码:

string findstr

findstr = "yhbh=" + sle_yhbh.text

dw_xb.httpjson(findstr)

很简单吧。

楼主,httpjson是自己开发的吧?还是系统或者第三方可以免费用的?
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jiang396
北京大丸子
本版等级:


#2 得分:0回复于: 2014-01-17 17:52:16

有实例可以下载参考吗?这个功能太好了
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
lzp_lrp


WorldMobile
本版等级:







更多勋章
#3 得分:0回复于: 2014-01-17 19:03:07

应该是楼主自己写的函数,挺好的功能
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
msgtogcr
做梦的猫
本版等级:


#4 得分:0回复于: 2014-01-17 19:55:58

我是用 WEBSERVICE 实现的,考虑到数据安全,所有数据窗口对象发布到服务端,客户端通过数据窗口的 DATAOBJECT 属性来请求数据。

麻烦就是要做一个通用的 WS 的接口对象,分别放在服务端和客户端,好处就是完全不需要 PB 以外的知识就能实现。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jhdalhero
永州东哥
本版等级:


#5 得分:0回复于: 2014-01-17 20:14:02

引用 4 楼 msgtogcr 的回复:

我是用 WEBSERVICE 实现的,考虑到数据安全,所有数据窗口对象发布到服务端,客户端通过数据窗口的 DATAOBJECT 属性来请求数据。

麻烦就是要做一个通用的 WS 的接口对象,分别放在服务端和客户端,好处就是完全不需要 PB 以外的知识就能实现。

通用的好就是好,就是安全性不够呀。是从客户端传sql,很容易破解。

我现在就是相当于b/s 构架的一个富客户端。

对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
msgtogcr
做梦的猫
本版等级:


#6 得分:0回复于: 2014-01-17 22:30:15

没有传 SQL,是传数据窗口对象的名称,反编译客户端也只能得到 dataObject 的名字,没有实体。

我把 PB 的三层定义为 C/S/S 架构,也就是富客户端,并且对敏感数据结合 WEBFORM 提高安全性,基本上可以说数据库的安全性并不亚于 B/S 架构。
对我有用[1] 丢个板砖[0] 引用 | 举报 | 管理




关注
jhdalhero
永州东哥
本版等级:


#7 得分:0回复于: 2014-01-18 00:17:34
http://download.csdn.net/detail/jhdalhero/6860501
我简单的搞了一个程序 pb11.5 的,可以下载看看。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
msgtogcr
做梦的猫
本版等级:


#8 得分:0回复于: 2014-01-18 10:59:35

运行看了,很不错!非常适合不同开发工具之间的数据集成,较使用 webService 的运行速度大大提高。。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jhdalhero
永州东哥
本版等级:


#9 得分:0回复于: 2014-01-18 16:38:33

我打算把这个东西按这个思路搞一下,智能一些,让pb只做为前台显示,后台可以用其它工具开发,pb搞一些表格实在是太方便了。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
msgtogcr
做梦的猫
本版等级:


#10 得分:0回复于: 2014-01-18 20:20:29

如果大量使用这种技术的话,就要放弃 PB 数据窗口对象显示层与数据层绑定的特定,而是分成两层设计了。

客户端一律使用外部数据源做为显示层;服务端固定一个地址做为接口,并用其它工具形成 JSON 字串做为数据层,保证两层的列顺序一致,即可实现通用的接口了。

基于我做 WS 方面的经验,调用方面我觉得可以尽量模拟 PB 本身的 RETRIEVE() 方法,这样便于改造老代码,也符合 PB 本身的编码习惯。例如,可以利用 dataobject 标识,做为服务端接口的传入参数,找到数据层对应的 SQL,检索并返回数据。

如:of_retrieveJSON(username, password, moduleName, arg1, arg2, ..)

同时做个 JSON 的客户端接口对象,用以重载不同参数的 of_retrieveJSON()

一点个人经验,供楼主参考
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
msgtogcr
做梦的猫
本版等级:


#11 得分:0回复于: 2014-01-18 20:27:48

写错了:

如:of_retrieveJSON(dw_1, arg1, arg2, ..)

然后在 JSON 的接口对象中真正实现这个方法

如:of_httpjson(username, password, moduleName, arg1, arg2, ..)

如果考虑安全性,可以将各参数拼接并加密后再 postURL
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jiang396
北京大丸子
本版等级:


#12 得分:0回复于: 2014-01-18 21:08:53

引用 9 楼 jhdalhero 的回复:

我打算把这个东西按这个思路搞一下,智能一些,让pb只做为前台显示,后台可以用其它工具开发,pb搞一些表格实在是太方便了。

下载了,非常不错,楼主再努力做成一个能够加密支持https的控件就更好了。
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jiang396
北京大丸子
本版等级:


#13 得分:0回复于: 2014-01-24 09:19:12

引用 11 楼 msgtogcr 的回复:

写错了:

如:of_retrieveJSON(dw_1, arg1, arg2, ..)

然后在 JSON 的接口对象中真正实现这个方法

如:of_httpjson(username, password, moduleName, arg1, arg2, ..)

如果考虑安全性,可以将各参数拼接并加密后再 postURL

这个模式能不能做成https的传输?这样更安全一些。版主好像说要用一些ole,我不太会用,求指导
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jiang396
北京大丸子
本版等级:


#14 得分:0回复于: 2014-01-27 23:06:39

求php 端的数据结构, 我按照lz的php模式,写了一个query,然后json_encode,发现pb得到的数据不对,所以非常想知道服务器端的数据结构
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jhdalhero
永州东哥
本版等级:


#15 得分:0回复于: 2014-01-30 08:57:04

可联系我QQ 2208502
对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理




关注
jiang396
北京大丸子
本版等级:


#16 得分:0回复于: 2014-01-30 23:00:15

自己已经鼓捣出来,感谢楼主。继续开发https的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: