三层数据库与应用程序服务器的小型介绍(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 还嫩着点了