现在的位置: 首页 > 综合 > 正文

Delphi 三层开发基本概念介绍

2017年12月01日 ⁄ 综合 ⁄ 共 10071字 ⁄ 字号 评论关闭
三层客户/服务器
一:优点:灵活性和可扩展性。
应用三层开发技术(分布式)的原因
(参考书目: Delphi 5.x分布式多层应用系统篇)
一:解决客户机/服务器结构的维护成本问题,改善客户机/服务器结构延展性问题。
客户机/服务器结构支持的用户人数有一定限度(200人以下)。则种结构限制了Internet/Intranet及电子商务的发展。三层开发应用Database Pooling, Object pooling,Resource Pooling,线程模式提供了高度延展性。
二:解决应用逻辑重复使用的问题。
例如:当企业要在原有的客户机/服务器结构上添加Web浏览服务时,就需要配置Web服务器,重新编写所有应用逻辑,并且更新MIS系统。在三层结构中,用COM/DCOM, CORBA(Common Object Request Broker Architecture)对象,或Enterprise Java Bean等,封装企业的逻辑程序代码(称之为企业对象),可以解决上述问题。大大降低开发和维护的成本。
三:整合不同系统结构的需要,及时应用新技术的需要。
二:Microsoft的三层服务模型
1:结构:是windows DNA(distributed internet applications,分布式内部网)COM(component object model ,构件对象模型)构件作为实现系统及应用程序服务的工具。
l         用户服务
l         业务服务
l         数据服务
(1)用户服务:windows DNA定义了四种可用于实现用户服务层的客户:
n         标准浏览客户:依赖于简单,基于页面的HTML来管理数据表示和与用户进行交互.其兼容性 很好,功能不丰富。
特殊浏览器(ex: Dynamic HTML ,脚本及ActiveX控件)的优点来最大化用户接口的丰富性和功能 ,适用于公司intranet .
n         依赖型Internet客户:能在客户机器上将对Internet的访问和对操作系统的访问集成在一块。
n         增强型Internet客户:Microsoft Office 97和Microsoft Visual Studio.
(2)业务服务:通过将基于服务器的Microsoft产品与定制的COM构件运行环境集成在一块来实现。
n         Web服务( Microfsoft Internet Information Server与Active Server Pages ).
n         事务和构件服务 (Microsoft Transaction server和 COM) .
n         消息服务(Microsoft消息队列服务器)。
n         通用数据访问(universal data access)(Microsoft数据访问过件)
l       大型机环境的互操作(Microsoft SNA服务器). 其详细信息在下面的专题中列出。
(3)数据服务:
n         Microsoft SQL Server7数据库。
n         Microsoft Exchange server 5.5版本的目录和信息库。
专题:
业务服务
一:Web服务( Microsoft Internet Information Server与Active Server Pages ).
Web服务对象模型:
1,server对象:提供对服务器上方法和属性的访问.例:问(universal data access)(Microsoft数据访问构件)              setobjmyobject=server.createobject(“businessserver.myruleobject”)
2:Session对象: 用来存储一个特定用户会话所必须的信息。
3:Application对象:用来使某个应用程序的所有用户共享息。
4:Request对象:略。
5:Response对象:略.
    
二:事务和构件服务 (Microsoft Transaction server和 COM)
1:Microsoft事务服务器(MTS)是基于构件的事务处理系统,用来满足复杂事务处理。MTS支 持SQL Server和任
何基于X/open算法的XA协议的数据库(见注释)。
MTS提供的服务有:
n         对分布事务的支持。
n         用于控制实例化和使用对象安全的服务。
n         过程和线程的自动管理。
n         对象实例的管理。
n         数据库连接管理(连接池)。
在应用程序中可声明相应的构件完成以上服务。
2:MTS和SQL server事务一样,要求原子执行,或整个成功,整个失败。Transaction Server与Microsoft Distributed Transaction Coordinator(MSDTC)交互确认事务满足ACID(原子性Atomicity,一致性Consistency,分离性Isolatation和耐久性Durability)。
3:MTS和SQL server事务的区别.MTS可以用visual basic ,visual c++ 等封装的
和属性的访问.例:问(universal data access)(Microsoft数据访问构件)              setobjmyobject=server.createobject(“businessserver.myruleobject”)
2:Session对象: 用来存储一个特定用户会话所必须的信息。
3:Application对象:用来使某个应用程序的所有用户共享息。
4:Request对象:略。
5:Response对象:略.
    
二:事务和构件服务 (Microsoft Transaction server和 COM)
1:Microsoft事务服务器(MTS)是基于构件的事务处理系统,用来满足复杂事务处理。MTS支 持SQL Server和任
何基于X/open算法的XA协议的数据库(见注释)。
MTS提供的服务有:
n         对分布事务的支持。
n         用于控制实例化和使用对象安全的服务。
n         过程和线程的自动管理。
n         对象实例的管理。
n         数据库连接管理(连接池)。
在应用程序中可声明相应的构件完成以上服务。
2:MTS和SQL server事务一样,要求原子执行,或整个成功,整个失败。Transaction Server与Microsoft Distributed Transaction Coordinator(MSDTC)交互确认事务满足ACID(原子性Atomicity,一致性Consistency,分离性Isolatation和耐久性Durability)。
3:MTS和SQL server事务的区别.MTS可以用visual basic ,visual c++ 等封装的MTS构件实现 , Recordset对
象的addnew方法添加新行。SQL server事务只能由Transact-SQL代码编写,如 (ADO).
4:Windows DNA(windows distributed internet application architecture):将客户/服务模式开发与web和在一起的战略 .
使用HTML,DHTML,Active server pages向用户提供第一层(表达层), MTS和MTS的构件, 如IIS(internet               information server),IIS/ASP构件及ASP脚本占据中间层(业务逻辑层),SQL server作为数据服务层。
5:MTS使用分布事务协调者(Distributed Transaction Coordinator , DTC)事务引擎.DTC使用两级段交付标准。
关于DTC的信息可通过一下方法得到:用MMC(Microsoft Management Console)打开c:/winnt/system32/services.msc,
在右边的列表中找到DTC服务,察看其属性。
6:使用MTS最大化系统性能。(注意事项)
n         避免传递或返回对象。
n         尽可能通过值(BY VAL)来传递参数。(By Val关键字使网络间的旅程最小)
n         避免创建数据库游标。少用RecordSet对象。
n         通过使对象包容器线程化(Apartment Threaded),MTS可以在多个对象中执行并发的客户请求。
7:
注释:XA是一种由X/Open组织定义的两相提交协议,允许多个数据库服务期间的事务协同,并将其看作一个事务。(Unix数据库,包括oracle ,informix,db2都支持)
三:消息服务(Microsoft消息队列服务器)。
1:Microsoft消息队列(Microsoft Message Queue ,MSMQ)为应用程序提供了异步通信功能.MSMQ被认为是连接分布式应用程序中业务与数据服务层的桥梁。
2:MSMQ自动与MTS集成。应用程序可以将MSMQ消息封装在MTS事务中。
3:MSMQ与Microsoft exchange服务器的不同.exchange提供用户到用户(person -to -person)的消息传送.而MSMQ提供应用程序到应用程序(application - to -application)的消息传送.
四:通用数据访问(universal data access)(Microsoft数据访问构件)
数据访问构件跨越了业务服务层和数据服务层之间的界限。ADO,OLE DB(嵌入式数据库)以及ODBC共同组成了Microsoft数据访问构件(MDAC).
五:大型机环境的互操作(Microsoft SNA服务器)
Microsoft的COM &DCOM(简介)
一:COM是一种定义对象服务器如何与对象客户进行交互的协议。对象服务器(object server)是实现COM类的模块。对象客户(object consumer)是使用COM对象的模块。
DCOM扩展了COM协议,使得对象服务器可以位于一台与客户不同的计算机。 通过RPC向对象服务器调用。(CORBA也是分布对象协议)
COM通过SSPI(Security Support Provider Interface,安全支持提供者接口)来管理对象的安全性。
二:应用服务器(中间层)应具备的特性:
n       远层启动,监视和中止的能力。
n       可扩展的能力。
lang=EN-US>MTS构件实现 , Recordset对
象的addnew方法添加新行。SQL server事务只能由Transact-SQL代码编写,如 (ADO).
4:Windows DNA(windows distributed internet application architecture):将客户/服务模式开发与web和在一起的战略 .
使用HTML,DHTML,Active server pages向用户提供第一层(表达层), MTS和MTS的构件, 如IIS(internet               information server),IIS/ASP构件及ASP脚本占据中间层(业务逻辑层),SQL server作为数据服务层。
5:MTS使用分布事务协调者(Distributed Transaction Coordinator , DTC)事务引擎.DTC使用两级段交付标准。
关于DTC的信息可通过一下方法得到:用MMC(Microsoft Management Console)打开c:/winnt/system32/services.msc,
在右边的列表中找到DTC服务,察看其属性。
6:使用MTS最大化系统性能。(注意事项)
n         避免传递或返回对象。
n         尽可能通过值(BY VAL)来传递参数。(By Val关键字使网络间的旅程最小)
n         避免创建数据库游标。少用RecordSet对象。
n         通过使对象包容器线程化(Apartment Threaded),MTS可以在多个对象中执行并发的客户请求。
7:
注释:XA是一种由X/Open组织定义的两相提交协议,允许多个数据库服务期间的事务协同,并将其看作一个事务。(Unix数据库,包括oracle ,informix,db2都支持)
三:消息服务(Microsoft消息队列服务器)。
1:Microsoft消息队列(Microsoft Message Queue ,MSMQ)为应用程序提供了异步通信功能.MSMQ被认为是连接分布式应用程序中业务与数据服务层的桥梁。
2:MSMQ自动与MTS集成。应用程序可以将MSMQ消息封装在MTS事务中。
3:MSMQ与Microsoft exchange服务器的不同.exchange提供用户到用户(person -to -person)的消息传送.而MSMQ提供应用程序到应用程序(application - to -application)的消息传送.
四:通用数据访问(universal data access)(Microsoft数据访问构件)
数据访问构件跨越了业务服务层和数据服务层之间的界限。ADO,OLE DB(嵌入式数据库)以及ODBC共同组成了Microsoft数据访问构件(MDAC).
五:大型机环境的互操作(Microsoft SNA服务器)
Microsoft的COM &DCOM(简介)
一:COM是一种定义对象服务器如何与对象客户进行交互的协议。对象服务器(object server)是实现COM类的模块。对象客户(object consumer)是使用COM对象的模块。
DCOM扩展了COM协议,使得对象服务器可以位于一台与客户不同的计算机。 通过RPC向对象服务器调用。(CORBA也是分布对象协议)
COM通过SSPI(Security Support Provider Interface,安全支持提供者接口)来管理对象的安全性。
二:应用服务器(中间层)应具备的特性:
n       远层启动,监视和中止的能力。
n       可扩展的能力。
n       易于配置的能力。
n       安全失效的能力。
远层启动功能:如果用户想在远程计算机上创建一个COM对象,远程机上的DCOM服务控制管理器(Service Control Manager ,SCM)会自动启动COM服务器并使COM对象可用。具体信息可在开始菜单中运行DCOMCNFG命令。
易于配置的能力:在Windows资源管理器中右击一个COM DLL或EXE就可激活注册或撤销注册。
可扩展的能力:可扩展的第一等级和第二等级。DCOM提供的两种负载均衡。1),静态负载均衡(指定应用服务器的运行机器),可在DCOMCNFG中的应用程序的属性中指定。2):动态负载均衡,由调度程序进行分配。
Delphi提供的相关技术:
u       COM / DCOM / COM+企业对象。
u       CORBA企业对象。
u       XML / HTML
u       CGI / SAPI/NSAPI
u       ASP
u       Active X (Active Form)
u       ADO / OLE DB
u       BDE / IDAPI SQL Links
u       MTS对象
u       MIDAS服务器
u       CORBA服务器。
相关组件在1) File菜单/new/ Multitier和ActiveX页中。
2)在组件面板中的ADO, Midas, Internet Express, ActiveX等页中。
Corba简介
1:什么是corba(common object request broker architecture)?
Corba是由object manangement group(OMG)定义的分布式对象标准结构。语言中立,使用了面向对象的设计结构,允许软件对象在不同的操作系统平台和应用程序中重复使用。
如果想实现一下功能,corba是较好的解决方案:
l         应用系统要整合异质平台和操作系统。
l         应用程序服务器必须执行在linux/unix机器中。
l         应用系统必须执行关键性任务,具备安全强固的容错能力,必须稳定,有效率。
l         想开发使用Web对象的Internet/Intranet解决方案。
l         应用系统未来想和Java整合。
2:corba的结构
corba对象是一个提供特定服务的组件,它通过定义一组输出接口来声明可以提供的服务。在这个输出接口中,corba对象定义了客户端可以调用的方法和存取属性。客户端只要指明提供服务的corba
si-font-family: Times New Roman>消息队列服务器)。
1:Microsoft消息队列(Microsoft Message Queue ,MSMQ)为应用程序提供了异步通信功能.MSMQ被认为是连接分布式应用程序中业务与数据服务层的桥梁。
2:MSMQ自动与MTS集成。应用程序可以将MSMQ消息封装在MTS事务中。
3:MSMQ与Microsoft exchange服务器的不同.exchange提供用户到用户(person -to -person)的消息传送.而MSMQ提供应用程序到应用程序(application - to -application)的消息传送.
四:通用数据访问(universal data access)(Microsoft数据访问构件)
数据访问构件跨越了业务服务层和数据服务层之间的界限。ADO,OLE DB(嵌入式数据库)以及ODBC共同组成了Microsoft数据访问构件(MDAC).
五:大型机环境的互操作(Microsoft SNA服务器)
Microsoft的COM &DCOM(简介)
一:COM是一种定义对象服务器如何与对象客户进行交互的协议。对象服务器(object server)是实现COM类的模块。对象客户(object consumer)是使用COM对象的模块。
DCOM扩展了COM协议,使得对象服务器可以位于一台与客户不同的计算机。 通过RPC向对象服务器调用。(CORBA也是分布对象协议)
COM通过SSPI(Security Support Provider Interface,安全支持提供者接口)来管理对象的安全性。
二:应用服务器(中间层)应具备的特性:
n       远层启动,监视和中止的能力。
n       可扩展的能力。
n       易于配置的能力。
n       安全失效的能力。
远层启动功能:如果用户想在远程计算机上创建一个COM对象,远程机上的DCOM服务控制管理器(Service Control Manager ,SCM)会自动启动COM服务器并使COM对象可用。具体信息可在开始菜单中运行DCOMCNFG命令。
易于配置的能力:在Windows资源管理器中右击一个COM DLL或EXE就可激活注册或撤销注册。
可扩展的能力:可扩展的第一等级和第二等级。DCOM提供的两种负载均衡。1),静态负载均衡(指定应用服务器的运行机器),可在DCOMCNFG中的应用程序的属性中指定。2):动态负载均衡,由调度程序进行分配。
Delphi提供的相关技术:
u       COM / DCOM / COM+企业对象。
u       CORBA企业对象。
u       XML / HTML
u       CGI / SAPI/NSAPI
u       ASP
u       Active X (Active Form)
u       ADO / OLE DB
u       BDE / IDAPI SQL Links
u       MTS对象
u       MIDAS服务器
u       CORBA服务器。
相关组件在1) File菜单/new/ Multitier和ActiveX页中。
2)在组件面板中的ADO, Midas, Internet Express, ActiveX等页中。
Corba简介
1:什么是corba(common object request broker architecture)?
Corba是由object manangement group(OMG)定义的分布式对象标准结构。语言中立,使用了面向对象的设计结构,允许软件对象在不同的操作系统平台和应用程序中重复使用。
如果想实现一下功能,corba是较好的解决方案:
l         应用系统要整合异质平台和操作系统。
l         应用程序服务器必须执行在linux/unix机器中。
l         应用系统必须执行关键性任务,具备安全强固的容错能力,必须稳定,有效率。
l         想开发使用Web对象的Internet/Intranet解决方案。
l         应用系统未来想和Java整合。
2:corba的结构
corba对象是一个提供特定服务的组件,它通过定义一组输出接口来声明可以提供的服务。在这个输出接口中,corba对象定义了客户端可以调用的方法和存取属性。客户端只要指明提供服务的corba
;   易于配置的能力。
n       安全失效的能力。
远层启动功能:如果用户想在远程计算机上创建一个COM对象,远程机上的DCOM服务控制管理器(Service Control Manager ,SCM)会自动启动COM服务器并使COM对象可用。具体信息可在开始菜单中运行DCOMCNFG命令。
易于配置的能力:在Windows资源管理器中右击一个COM DLL或EXE就可激活注册或撤销注册。
可扩展的能力:可扩展的第一等级和第二等级。DCOM提供的两种负载均衡。1),静态负载均衡(指定应用服务器的运行机器),可在DCOMCNFG中的应用程序的属性中指定。2):动态负载均衡,由调度程序进行分配。
Delphi提供的相关技术:
u       COM / DCOM / COM+企业对象。
u       CORBA企业对象。
u       XML / HTML
u       CGI / SAPI/NSAPI
u       ASP
u       Active X (Active Form)
u       ADO / OLE DB
u       BDE / IDAPI SQL Links
u       MTS对象
u       MIDAS服务器
u       CORBA服务器。
相关组件在1) File菜单/new/ Multitier和ActiveX页中。
2)在组件面板中的ADO, Midas, Internet Express, ActiveX等页中。
Corba简介
1:什么是corba(common object request broker architecture)?
Corba是由object manangement group(OMG)定义的分布式对象标准结构。语言中立,使用了面向对象的设计结构,允许软件对象在不同的操作系统平台和应用程序中重复使用。
如果想实现一下功能,corba是较好的解决方案:
l         应用系统要整合异质平台和操作系统。
l         应用程序服务器必须执行在linux/unix机器中。
l         应用系统必须执行关键性任务,具备安全强固的容错能力,必须稳定,有效率。
l         想开发使用Web对象的Internet/Intranet解决方案。
l         应用系统未来想和Java整合。
2:corba的结构
corba对象是一个提供特定服务的组件,它通过定义一组输出接口来声明可以提供的服务。在这个输出接口中,corba对象定义了客户端可以调用的方法和存取属性。客户端只要指明提供服务的corba
ly: Arial>简介
1:什么是corba(common object request broker architecture)?
Corba是由object manangement group(OMG)定义的分布式对象标准结构。语言中立,使用了面向对象的设计结构,允许软件对象在不同的操作系统平台和应用程序中重复使用。
如果想实现一下功能,corba是较好的解决方案:
l         应用系统要整合异质平台和操作系统。
l         应用程序服务器必须执行在linux/unix机器中。
l         应用系统必须执行关键性任务,具备安全强固的容错能力,必须稳定,有效率。
l         想开发使用Web对象的Internet/Intranet解决方案。
l         应用系统未来想和Java整合。
2:corba的结构
corba对象是一个提供特定服务的组件,它通过定义一组输出接口来声明可以提供的服务。在这个输出接口中,corba对象定义了客户端可以调用的方法和存取属性。客户端只要指明提供服务的corba

抱歉!评论已关闭.