三层数据库与应用程序服务器的小型介绍(Delphi&BCB)
作者:曾牧暗鲨 2002年
本鲨花了10元买了两张电子书数据库类,和100元三本C++BUILDER5高级编程技术 <<Database与MIDAS编程>> <<IDE与OPP编程>><<COM,CORBA与Internet编程>>徐新华 人民邮电出版社学了学,在这里看了看。 大家对应用程序服务器并不很了解,所以把我的理解说一下。
应用程序服务器主要解决两个问题 一客户/服务器模式中:数据库服务器负责连接问题(项羽兄遇到了) 二网站要动态地更新数据及数据库要上互联网连接问题 还有其他方面的应用不说了。 第一模式应用环境主要是局域网中:客户程序+应用程序服务器+数据库 第二模式应用在互联网中:浏览器+WEB服务器+应用程序服务器+数据库 局域网中可以采用浏览器,互联网中也可客户程序。 可以想象出局域网中可以大数据量流,互联网中必须小数据量流。
规则应用何处? 采用应用程序服务器后,大家取得共识收交了客户端上的规则。 有的人把规则放到应用程序服务器中,能减轻数据库的工作负荷。 我认为规则还是让数据库去管理,数据库的能力比我们强。 只有一些很老的数据库管理规则能力很低,或许不是关系型数据库 应用程序服务器就得去处理规则。 应用程序服务器最好去负责连接方面,数据流量的监测,提供优质服务给客户端, 更好的兼容不同类型的,老式数据库。
目前有三种类型的应用程序服务器 微软的分散型:分散到不同的技术中。 数据库厂商:他们卖数据库时一起卖应用程序服务器(专用型)。 独立软件商:开发的独立的应用程序服务器。 适合于不同的情况。 而我们,我想是开发独立性应用程序服务器,能提供更好的灵活性,兼容性。 大家以开发时注意下将来。
C++Builder5为我们提供了开发客户端和应用程序服务器各种零件。 应用程序服务器端零件:TDataSetProvider+BDE方式零件(Table,Query...)+ADO(ADOTable....)。odbc还是通过BDE零件;SQL link我见都没见到 ADO零件不丰富没有BDE的会话,批量移动,缓存更新,嵌套表;更没有InterBase的事务,数据库信息,监测,事件。 BDE发布时复杂很,很不听话,哪怕有安装程序也无地自容。希望C++Builder6能增强ADO功能,啊Deiphl6出来了不置可否?
客户端 TDataSource+TClientDataSet+{TDCOMConnection;TSocketConnection;TWebConnection;TCorbaConnction;TSimpleObjectBroker} 五种不同的方式连接应用程序服务器. TDCOMConnection 采用DCOM技术发布时要注意NT服务器名和域名设置,应用程序服务器也要在客户端注册DCOM。
TSocketConnection:采用TCP/IP方式可以不用NT域名服务器,连接有安全问题应用程序服务器中要启动ScktSrver.EXE来监听。
TWebConnection: 采用HTTP方式,它却是连接的是WEB服务器,通过它传数据给应用程序服务器。发布时客户端要Wininet.dll只要装了IE3以上系统自带; WEB服务器必须是IIS4 UP 或者Netscap enterprise3.6 up WEB服务端要有HTTPsrvr.dll; TWebConnection->URL="HTTP://MIDASHOST.ORG/scripts/httpsrvr.dll
TSimpleObject: TOLEnterpriseConnection简单版为了向后兼容,好处在于连接应用程序服务器组,能随机选择,使应用程序服务器负载平衡,由4个部分组成 1Broker.exe 2ObjFact.exe 3OLECFG.exe 4OLEntExp.exe 1+2放在应用程序服务器Broker.exe先运行;3 和4是配置工具。不能单独使用ClientDataset+DCOM+Simpleobject
TCorbaConnction: 我没有这个家伙不好说!!
所有的客户端要同时发布MIDAS.DLL。具体情况具体分析,我不多说了。报纸新闻说加入了WTO要企业上信息系统,我学过信息系统很复杂涉及到管理方法和人际关系,但要数据库支持,三层数据库必是首先。我们有英雄有用武之地,VC VB 还嫩着点了 
|