采用B/S(浏览器/服务器)模式是目前应用系统设计开发的主要特征
采用Sybase
PowerBuilder
Notes共同实现B/S模式能够满足各种应用功能要求
开发效率高
便于原有C/S(客户/服务器)模式应用向B/S模式应用平滑过渡
是一种经济适用的B/S模式实现新颖方法
从C/S到B/S
传统的C/S模式下应用系统一般由服务器(Server)和客户端应用程序(App)组成数据(Data)一般存放在服务器上应用程序一般存放在客户端计算机上这样的系统虽然解决了数据共享等问题但却具有不易维护操作风格不一致能够处理的数据类型不易扩展等缺点随着网络应用系统的发展传统C/S模式应用系统的缺点不断暴露出来促使B/S模式应用系统的产生和发展
B/S模式应用系统由浏览器(Browser)和服务器(Web ServerOther ServerMiddle Ware)组成数据(data)和应用程序(App)都存放在服务器上浏览器功能可以通过下载服务器上应用程序得到动态扩展服务器具有多层结构B/S系统处理的数据类型可以动态扩展以B/S模式开发的系统维护工作集中在服务器上客户端不用维护操作风格比较一致只要有浏览器的合法用户都可以十分容易地使用
实现概述
Sybase是一种成熟的商品化数据库管理系统PowerBuilder是业界公认的数据库应用最优开发工具之一Notes是目前最着名的群件系统用这三个产品共同构建B/S模式应用Sybase完成结构化数据管理PowerBuilder开发的应用完成数据库结构化数据的维护 Notes完成数据流的管理和非结构化复合文档管理这样的B/S实现方法可以重用原有C/S原代码重用开发人员经验和知识具有很高的开发效率
技术细节
Sybase与Web
Sybase与Web虽然可以通过Sybase提供的工具(如WebSQL等)进行交互但很多情况下需要更经济实用的解决办法这里介绍一种利用Sybase固有工具Isql进行交互的方法这种方法对传统C/S开发人员很有用因为他们可以利用已有知识进行Web编程本方法实现思路为Web Server调用CGI脚本在CGI脚本中运行IsqlIsql在Sybase SQL Server 中运行存储过程存储过程使用Print语句通过标准输入/输出向Web Server返回需要的数据下面是一个在Sun Solaris环境下Web与Sybase交互的例子
URLhttp://wwwcggccom/cgibin/testcgi?abced
Testcgi内容为
#!$ #用Unix Shell执行CGI
Echo html/plain #CGI返回html文本
Echo
Echo < html >< title >Test < /title >
Echo pweb_test > $REMOTE_ADDR
#将存储过程名写入用请求者IP地址为名创建的文件
Echo $QUERY_STRING > > $REMOTE_ADDR
#将参数追加到创建的文件中
Echo go > > $REMOTE_ADDR
Isql –Uhttpuser –Phttpuserpassword < $REMOTE_ADDR
#运行Isql并以创建的文件为输入
Rm $REMOTE_ADDR
#删除创建的文件
Echo >
#与< !配合将存储过程执行结果状态屏蔽
Echo < /html >
Pweb_test的创建脚本内容为
create procedure pweb_test @qstr char()
As
Declare @stmp char()
[] [] []