[计算机]一个无须编程将原vfp软件B-S.doc_第1页
[计算机]一个无须编程将原vfp软件B-S.doc_第2页
[计算机]一个无须编程将原vfp软件B-S.doc_第3页
[计算机]一个无须编程将原vfp软件B-S.doc_第4页
[计算机]一个无须编程将原vfp软件B-S.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一个无须编程将原vfp软件B/S化方案一、一个日益普遍的需求随着宽带网日益普及,不少中小企业、特别是大量具有分支机构的小企业,想借此寻找一个现实可行、廉价的办法来建立一个可异地运行分布式管理信息系统。但现实条件仍比较严峻:服务器端:宽带上网,虽然获得了速度,但不愿再投资获得固定的IP地址,因而只有临时的IP地址(动态IP地址);客户机端:拨号上网或宽带上网;与internet建立连接时不可避免的断链。但对应用软件的要求却没有降低,甚至更高。如:希望像浏览网页一样,远程只要有浏览器,不要任何软件部署;即使56kmodem拨号上网,速度上相对局域网却不应有明显延迟,至少不应比一般的浏览网页慢;对与internet建立连接时经常的断链,无论在服务器端还是客户端,都要有充分的容错性不能对程序的运行产生丝毫的影响。要支持分支机构即时进行凭证打印,解决在B/S结构中较难的,报表可在客户端打印机上远程打印的问题。最好还能支持远程的其他外设,如:扫描仪等,或许还想要个多媒体声音效果什么的。这显然是一个B/S结构的应用系统。对我们foxer来说,这一要求更不容乐观。html、asp、VBScript要学习太多的新东西,对vfp来说,还要面对那么多不灵活,蹩脚的东西。我们的知识准备充分了吗?这可不是随便看两三本书就可以磨出来的功夫。那么有没有一个捷径?在我们现有的知识结构下,用最小的开发成本下提升我们的vfp应用程序到互联网上?有。确实存在!她能克服上述的困难,满足上述的全部要求。想象一下吧,就一个报表打印,无论是通过网页还是本地执行都是丝毫不差的,那就够我们兴奋不已了。我已经看到你的感动了。好吧,Letsgo!二、这是一个将原vfp软件B/S化的方案上图是一个简单示例:一个浏览器窗口,标题是:“dupeiji的vfp在b/s结构中”。窗口中显示一个正在运行的vfp程序。1、客户端通常,浏览器将web服务器传来的HTML代码转化成图文并茂的网页。网页还具备一定的交互功能,允许用户在网页提供的申请表上输入信息提交给后台,并提出处理请求。受限于HTML语言的交互性差问题,输入输出的用户互界面不能用纯INTERNET技术规范HTML/HTTP解决,因为INTERNETWWW技术的主要应用是发布信息而不是输入输出,“浏览器”是用于“浏览”而非终端输入输出!所以为了解决浏览器和HTML页面的交互性差问题,以IE为客户端的“B/S”应用软件往往在浏览器中采用微软的VBScript脚本语言和ACTIVEX技术。对ACTIVEX控件,foxer应不陌生。如同我们经常利用ACTIVEX控件来增强vfp的功能一样,在IE浏览器中,可以用VBScript脚本语言来操纵ACTIVEX控件。如果IE浏览器发觉本地没有页面所需的ACTIVEX控件,他将自动从web服务器下载。因此,IE浏览器中的界面可以是纯HTML构成,也可以HTML与ACTIVEX混合构成。一个极端的例子界面布局只由ACTIVEX构成这个ACTIVEX控件其实是一个从web服务器下载,由浏览器启动,并在浏览器内运行的客户端程序。我们的方案就是这样的一个极端例子通过这个ACTIVEX控件产生vfp界(画)面,呈现给浏览器端远程用户。当然,不是没有html,我们还时有一个用html生成的前导连接界面以进行服务器登陆,并调出ACTIVEX控件对象。2、服务器端在B/S结构中,用户界面由作为第二层或中间层的Web服务器产生,通过internet发送至远端的浏览器。在我们这个体系结构中,用户界面也不能在客户端产生,谁让我们是B/S结构?否则就变成了C/S了。但我们和一般意义上的B/S不同。通常,浏览器提出处理请求后,Web服务器启动相应的进程来响应,并动态生成一串形成用户界面并经交互的HTML代码、脚本语言代码,其中嵌入处理的结果,返回给客户机的浏览器。如果客户机提交的请求包括数据的存取,Web服务器还需与后面的应用程序服务器、数据库服务器协同完成这一处理工作这点非常重要!对于只由ACTIVEX构成的浏览器,服务器端的WEB服务器在与用户建立连接、发布ACTIVEX控件到客户端后、程序运行结束前,就不再用HTML向远程浏览器端发布信息。这里,我们的界面是由后面的一个应用服务器产生,它可以并发、多用户地响应浏览器端用户的请求,并在服务器端分析、运算,产生并传送vfp程序的界面。浏览器端用户的请求还可扩展至打印、声音、甚至诸如扫描仪等串并口上的设备。多么伟大、激动人心!这里,关键是应用服务器(APPSERVER),通过WEB服务器要与连接上来的用户的浏览器所启动的ACTIVEX控件连接。这里,这个应用服务器(APPSERVER)是什么?很关键,是微软的终端服务!这是一个win32位应用程序运行的平台。3、应用服务器终端服务关于终端你知道吗?Foxer!曾经有一个多用户版的foxbase+曾在XENIX(一个pc版UNIX)下以主机终端的形式运行。记得当时还用什么“国光”终端机不知道?你太年轻了!啊、不,是我老了。现实中,你应该能看到有许多运用终端的场合虽然不大容易看到主机。一个典型的应用就是银行。柜台上都是字符型终端机。随着windowsserver2000推出,终端服务已经成为其内核的标准构件,不管终端服务安装与否,这种内核一直内嵌在服务器操作系统内,因而带来了许多的图形终端的应用。看几则广告:“近日,由微软发起的“中国Windows终端论坛”(CHINAWBTFORUM)在京举行,众多的技术开发者、微软OEM合作伙伴及微软公司的嵌入式技术专家参加了大会,从而使得该次会议成为2003年Windows终端领域的一大盛会。”“最新推出的WindowsServer2003作为企业级服务器操作系统平台,集安全、可靠、高效与经济性于一体,在多用户的终端服务方面,其功能比WindowsServer2000相比,在多媒体支持、数据传输能力和安全控制等方面有了大幅度的改进,使图片、声音等传输变得随心所欲,顺应了服务器广泛兼容,整合应用的未来趋势。”“实达的新一代万维5000系列Windows终端即是目前国内第一个完全符合WindowsServer2003终端服务标准的产品,其优越的性能可充分发挥WindowsServer2003的功能。据有关专家介绍,基于WindowsServer2003的第四代终端技术与方案已经迈向成熟,在功能上不输于商用PC,而在安全、管理及成本上则由于继承了传统哑终端的优点而明显优于商用PC。近几年以来,国内Windows终端市场以每年翻四、五翻的加速度迅速剧增,至今市场总容量已近10万台,广泛应用于银行、保险、电信、电力、税务、铁路、教育等各行业,呈现出良好的发展态势。”看一些早期业者对微软终端服务的描述:“这种网络体系对服务器硬件有较高的要求,除了要尽量使用高性能的CPU、硬盘、网卡等设备之外,对服务器的内存还有特殊的要求。终端服务器本身运行需要32MB内存,还要为每个客户附加额外的内存,一般每增加一个客户需要占用48兆的服务器内存。微软称他们做过测试,一台PentiumII350MHZ双CPU,512M内存的服务器,能满足50人的日常办公需要。”以上这些早期文章介绍,在我们今天看来,这些要求根本不高,一个普通的服务器都能满足这些要求普及性运用终端服务的时代已经到来!4、vfp微软的终端服务是一个win32位应用程序运行的平台。Vfp作为标准的win32位应用程序,当然可在其中运行。这里,我们其实在讨论一个平台,一个vfp可以在其中运行的平台,而不是vfp本身。vfp通过在这个平台中运行,由终端服务完成与远程浏览器中的ACTIVEX的界面传递,与用户交互。vfp本身依f/s或C/S方式,直接存取dbf或依其调用的不同连接存取后端大型数据库(如SQLSERVER,ORANCLE等)返回vfp端。啊,看到这里,你会说,不就是终端服务吗?老兄,绕什么弯啊。我早就会。我甚至也可以为远程用户配置专用Windows终端!但朋友,别忘了,你的服务器没有固定ip地址。你靠什么连到你的服务器?每天打长途电话,报告你新启动后的ip地址?本方案除了在客户端可零部署外,更重要的是只有利用浏览器花生壳这种B/S躯壳,才能将一个固定域名随时解析到服务器的临时ip地址上,以此连接到服务器!三、怎样?明白了吗?那好,现在让我们来部署吧!说到部署终端服务,实在是太简单了。我都不好意思说了。但反过来,对我们foxer来说,不就是要的简单、实用吗?好,言归正传说部署。1、首先客户端,哈!不好意思,说漏嘴了。客户端还要部署吗?2、那就只有服务器端了。服务器端有几个层次。首先作为web服务器,IIS必须部署。道理前面已讲了。Windowsserver2000已将IIS作为标准构件。如何部署?我就不再这里多啰嗦了。资料不要太多噢。接下来,安装最重要的东西在你的Web服务器安装一组网页,称之为“终端服务WEB客户端”(或叫“远程桌面Web连接”),其中当然还包括并将同时安装最重要的ActiveX客户端控件!这些网页构成了前导连接界面以进行服务器登陆,并调出ACTIVEX控件对象。好,给点掌声!东西哪里来?噢,微软早已已给我们准备好了。下载地址:/windowsxp/pro/downloads/rdwebconn.asp选择chinese(simplifie)简体中文go!下载。运行获得的安装文件“tswebsetup.exe”。默认的,相关文件将被安装到2K所在盘的“c:InetpubwwwrootTSWeb”目录中。“c:Inetpubwwwroot”目录一般为IIS安装后默认web站点的主目录。“TSWeb”显然是其下级目录。可选默认选项。安装完成后根据提示重新启动计算机。做一下测试:在任何一台客户机(也可以是服务器)上打开IE浏览器,输入如“http:/ lss-ef2c38ndces/tsweb”(假设“dupeiji”为服务器的计算机名)或“50/tsweb”(假设“”为服务器的局域网ip地址),再回车!提示将下载一个控件。这就是前面一直描述那个ActiveX控件。确认接受(以后将不再出现提示)。好,看到了吗?一个登录界面?这就对了!这是你,从服务器默认web站点主目录,的下级目录“TSWeb”获得的,前面所安装的,登录网页。如果你的服务器通过宽带已直接连上了internet,开IE浏览器,可输入:“/ip/index.php”。这将看到自己服务器的公网ip地址,形如“73”。用另外一台有modem的计算机,拨号上网。开IE浏览器,输入:“73/tsweb”(73应替换为你服务器公网ip地址)。回车!稍慢又是这个登录界面?对了!你已通过internet连接到了自己的服务器。比邻若天涯,天涯若比邻。3、公网ip地址每次在宽带断开再次连接后都要改变怎办?装“花生壳”(或采用其他免费的动态域名解析服务提供商)啊!见:/products/PeanutHull.asp申请一个3级域名形如,或将自己原有的域名转至“花生壳”,在服务器上下载并启动“花生壳”客户端软件。这样远程客户浏览器只要始终键入固定的形如的域名就能链上一直变化ip地址的web服务器。你不用每天打长途电话,报告你新启动后的ip地址了。还是用另外一台有modem的计算机,拨号上网。开IE浏览器,输入:“/tsweb”(假设应替换为你服务器的固定域名)。回车!稍慢仍是那个登录界面?呵,你成功了!好,够了!测试到这里先暂停一下,你不能再继续了。接下来,你得先安装终端服务,才能继续后面的测试。4、安装前我们应先确定文件系统应采用NTFS格式。同时,我们将终端服务安装在独立服务器或成员服务器上,而不是在主域服务器上(如果安装在主域服务器上,连接时老是会出现服务器忙的提示)。添加终端服务组件:选“控制面板添加/删除程序添加/删除Windows组件”,把“终端服务”和“终端服务授权”两项均选中,再选“确定”则开始安装所选组件。此后会出现一个使用模式选项界面:远程管理模式和应用程序服务器模式。我们应该选应用程序服务器模式。对于以后的的提示,可选其默认选项即可。安装成功后,按提示重新启动后,则可在“开始程序管理工具”中看到相关组件,包括“终端服务授权”、“终端服务管理器”、“终端服务客户端生成器”及“终端服务配置”四项。5、接下来我们应进行终端服务的设置:在“开始程序管理工具终端服务配置”中,打开“终端服务配置”窗口,依次选“连接右边面板RDP-Tcp右键属性”,出现有“常规”、“登录设置”、“会话”、“环境”、“远程控制”、“客户端设置”、“网卡”、“权限”8个页标签的选项表单。需要特别设置(改变默认设置)的有:“环境”页标签:“在用户登录时,启动下列程序”项设置要使用的vfp应用程序。如果这里不设置,用户登录后将会直接出现windows2000(或2003)的桌面。不建议置空。若有多个程序需选择运行,可编一个前导选择界面程序作为本项选择。或有能力的话,可自己动手修改下载的登录网页,使其有多项选择,这时本项选择可置空。本标签的另一个关键选项“开始位置”,应该置空。“开始位置”往往是vfp应用程序的默认工作目录,运行时会产生一些中间文件。C/S环境下,由于客户端程序在不同的机器上,即使工作目录相同也不会冲突,而这里必然会。那置空后工作目录在哪里呢?放心,终端服务会自动为每个用户建立不同的目录。注意,在我们的程序中,也不要出现指定用户写入临时文件的工作目录的语句。这大概是我唯一要求你修改程序的地方。那这还叫不修改程序的B/S化方案?那我以为你程序中原来就没有指定过工作目录噢。还有“禁用墙纸”应选择。可节省资源。“登录设置”页标签:应选“使用客户端提供的登录信息”并选“总是提示密码”来鉴别用户的合法身份。“会话”页标签:一般选“替代用户设置”(由服务器来控制设置,)并选“从不”定时强制断开定时强制断开可能会破坏系统。“权限”页标签:将允许使用终端服务的用户(或组)名“添加”进列表中。安装完毕,我们继续刚才的测试。在一台客户机上打开IE浏览器,输入如“http:/dupeiji/tsweb”(“dupeiji”为服务器的计算机名)或“/tsweb”(“”为服务器的局域网ip地址)或“73/tsweb”(73应替换为你服务器公网ip地址)或“/tsweb”(应替换为你服务器的固定域名)。回车!出现终端登录界面。继续以下测试。在“服务器”一栏输入2000服务器的名字(或索性空白,不输入),在“大小”中选择合适的分辨率(或索性“全屏”),再单击“连接”按钮。在随后出现的终端登录窗口中输入:输入相应的用户名和密码,再按“确定”。哇,vfp应用程序出现在了浏览器里。一阵眩晕。克制。试着点击菜单,输入、查询一切如常。连接打印机,开始打印。从遥远的地方传来了凭证、报表,丝毫不差。怎么?反而没动静了?嗨,欢呼吧!四、再回到开头,看看我们的需求满足了吗?也算总结吧。远程只有浏览器,软件零部署了吗?是的。最关键的那个ActiveX控件只要部署在web服务器端,浏览器中的网页会检查本地有否该控件,没有,就会提示从web下载并调出实际是一种自动部署。浏览器执行了vfp程序了?没有。否则就叫C/S了。vfp程序在是终端服务器内多用户地执行,通过那个ActiveX控件返回给浏览器vfp程序的交互界面,同时接收浏览器端ActiveX控件中用户的键盘、鼠标信息。就和早期安装有SCOUNIX或专用操作系统的大型机、中型机,下面都是终端机的情形相像。即使56kmodem拨号上网,速度上相对局域网却不明显延迟,至少不比一般的浏览网页慢?是的。网络上仅传输的是变化了的,经压缩的,对图像采用缓存技术的vfp程序的交互界面和用户的键盘、鼠标信息。传输量很有限。对与internet建立连接时经常的断链,无论在服务器端还是客户端,都有充分的容错性?对程序的运行不产生丝毫的影响?是的。因为vfp程序在是终端服务器内执行,断链发生在终端服务器外部,因而对程序运行本身不会产生丝毫的影响。如果说影响的话,那就是中断了当前的连接,影响了浏览器交互界面的传输。不要紧,当用原来的用户名重新登录时,还是原来的程序界面(可能中间计算已完毕)正等着你呢。通过internet,能远程支持分支机构的打印机进行即时凭证打印?报表格式丝毫不差?是的。终端服务器默认设置“登录时连接客户端打印机”,这样会使客户端打印机映射到终端服务器上。注意,它是通过

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论