PB开发HTTP服务端方案PowerServer

PowerServer简介

PowerServer是一个PowerBuilder语言的HTTP服务端框架。使用PowerServer,可以实现以PowerBuilder语言快速开发HTTP后端服务的目标。PowerServer将HTTP请求映射到PowerBuilder类中的方法,只要实现出方法,即可通过HTTP服务调用。此外,PowerServer还内置了拦截器功能,为PowerBuilder开发者提供了面向切面编程的方式。

PowerServer的设计思想是依赖注入。PowerServer启动时,Session会自动实例化所有的powerserverobject,不需要开发者额外编写create代码。接收到HTTP请求时,PowerServer首先将请求地址映射到powerservercontroller实例的方法,再依据请求的内容类型,按不同策略将请求数据注入方法的入参,方法调用完成后将返回对象转化为HTTP响应。

如何使用

配置PowerServerConfig.json

{
   "port": "8091",
   "targetName": "powerserver_demo",
   "pbvm": "PBVM125.DLL",
   "authCode": "",
   "sessionCount": 2
}

port : 端口号
targetName : PowerBuilder项目名称
pbvm :PBVM.DLL文件路径
sessionCount : PowerBuilder进程数

创建PB12.5项目,引入powerserver.pbl

在这里插入图片描述
在这里插入图片描述

编译PB12.5项目,拷贝pbd文件

编译出的pbd文件拷贝至PowerServer\PowerLib目录
在这里插入图片描述

启动PowerServer.exe

在这里插入图片描述
PowerServer.exe启动时,控制台会打印出已加载的控制器、拦截器、定时器、PB进程、当前端口号等信息
在这里插入图片描述

快速开始

示例 : Hello World

1.创建PB12.5项目powerserver_demo,引入powerserver.pbl

在这里插入图片描述

2.新增类psc_helloworld,继承powerservercontroller

添加方法hello,返回类型string,代码如下:

return 'Hello World from PowerServer'

在这里插入图片描述

3.编译项目,拷贝pbd文件至\PowerServer\PowerLib目录

在这里插入图片描述

4.配置PowerServerConfig.json

在这里插入图片描述

5.启动PowerServer.exe

可以看到,刚才创建的服务 /psc_helloworld/hello 已经成功加载
在这里插入图片描述

6.测试服务

在这里插入图片描述

示例 : 表单参数注入

1.新增测试类psc_demo01,继承powerservercontroller,添加方法test01

return 'id : ' + id + '~nname : ' + name

在这里插入图片描述

2.编译项目,覆盖pbd文件,启动PowerServer.exe

在这里插入图片描述

3.测试服务

测试GET方法:
在这里插入图片描述
测试POST方法,设置Content-Type为application/x-www-form-urlencoded:
在这里插入图片描述

示例 : 文本参数注入

1.测试类psc_demo01新增方法test02

return 'input string parameter : ' + param

在这里插入图片描述

2.编译项目,覆盖pbd文件,启动PowerServer.exe

在这里插入图片描述

3.测试服务

设置Content-Type为text/plain:
在这里插入图片描述

项目与文档下载

PowerServer项目与文档下载 提取码:jb0d

使用过程中出现问题请反馈作者:
QQ:768310524
TEL、WX:18649713925

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
服务端(jsxserver),采用c++ + iocp + pbni + zlib编写而成,支持PB长连结(提供pb客户端demo),支持http get post调用,pbni调用pbcall里的nvo_pbnicall(服务端业务代码全由PB编写),具体请看demo客户端代码中的说明; 实现的功能:1.pb客户端调用功能,可实现类似easerver iiop的功能,比easerver多了服务端心跳,客户端自动判断是否断网,自动重连,客户端单开线程序通迅,前端界面不会卡死(用eserver不管是iiop还是ws高锋期经常未响应卡半天),传输码流比easerver小,程序总体运行效率也高一些,支持http get post调用,做接口很容易实现;2.客房端点对点发消息(由服务端转发),可以实现类似在线聊天的功能,响应http post也可以通过服务端即时转发给PB的客户端,PB客户端生成响应数据返回http调用端,客户如果用的局域网系统,又想做移动端的远程查询(小数据量),软件供应商有公网服务器的话,可用本框架打通实现,我们用此框架实现过医生手机远程连入门诊内部查询修改自已的预约、患者资料;3.服务端即时通知功能,pb长连结客户端、http调用,服务端处理完成后,可以给在线的pb长连结客户端发通知消息,客户端收到通知后可即时做出相应操作,例如:酒店系统,前台开房后,全系统房态即时刷新,门诊系统患者前台挂号后,医生端即时就看的到,等等,比客户端轮询来的效果好。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值