多层开发的作用是什么?

哇哈哈哇哈哈 2008-08-26 04:00:09
多层开发的作用是什么?
...全文
229 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangsp 2008-09-03
  • 打赏
  • 举报
回复
客户端1数据库服务器Sybase等
图一2层C/S结构
1.2多层结构的概念和特点
为了解决这些问题,多层结构应用体系应运而生,即在传统的二层C/S模型中放入应用程序服务器。应用程序服务器简单地说就是一个包含企业逻辑的应用程序,开发人员以一种特定的组件形态,如MicrosoftCOM/DCOM,CORBA对象,或EnterpriseJAVABean等,封装企业逻辑的程序代码,这种经过封装,能够执行特定企业功能的对象被称为“企业对象”,把这些企业对象分发到应用程序服务器中,开发人员在开发应用程序时就可以使用这些企业对象提供的服务。
多层结构的典型是三层结构,其基本思想是把用户界面与企业逻辑分离。整体结构如图二所示。


客户端应用程序服务器远程数据库服务器
(提供用户界面)(包含企业逻辑)(Oracle,MSQL,Sybase等DBMS)

图二三层结构模型
(1)客户端应用程序。提供用户接口,主要功能是指导操作人员使用界面,输入数据,输出结果,并不具有企业逻辑,或只拥有部分不涉及企业核心的、机密的应用逻辑。这样客户端就显的很廋,称为“廋”客户。
(2)应用程序服务器。它是应用的主体,包含了企业中核心的及易变的企业逻辑(规划,运作方法,管理模型等),其功能即接受输入,处理后返回结果。
(3)远程数据库服务器。即数据库管理系统(DBMS),负责管理对数据的读写和维护。
在更复杂的多层体系结构中,“廋”客户与远程数据库服务器之间可以加入更多的中间服务器,如加入一个中间安全服务器或中间转换服务器,用于对不同平台数据进行处理。
分布式多层结构把整个应用系统的执行分成数个不同部分并且执行在不同的机器中。其中应用程序服务器作为中间层集中实现企业逻辑,协调多层之间的请求,并掌握数据集定义的全部细节和远程数据库服务器进行通信,这样客户端应用程序就重点放在显示数据和与用户交互上,客户端应用程序甚至都不需要知道数据在那儿。
具体来说,多层结构具有如下优点:
(1)在一个共享的中间层封装了企业逻辑,不同客户端应用程序可以共享同一个中层层,而不必由每个客户端应用程序单独实现企业逻辑。
(2)客户端应用程序可以做的很廋。因为很多复杂的工作由应用程序服务器代劳,客户端应用程序只需关注用户界面本身。“廋”客户端应用程序更易发布、安装、配置和维护。
(3)实现分布式数据处理。把一个应用程序分布在几个机器上运行,可以提供应用程序的性能,通过冗余配置还可以保证不会因为局部故障导致整个应用程序崩溃。
(4)有利于安全。将一些敏感数据功能部分封装在中间层,并授予不同访问权限,可以保证对数据的访问限制。
1.3多层结构使用的技术。
目前分布式多层结构使用的核心大致可以分为两种不同的工业标准,即Microsoft制定的COM/DCOM/COM 和由700多家厂商共同提倡的CORBA。因分布式结构的广泛流行,现也有愈来愈多的根据这两种分布式核心技术加以演进而产生的分布式技术,如EJB(EnterpriseJavaBean)等。
Microsoft的COM/DCOM/COM 是以Windows为中心的开发环境,CORBA是平台中立的分布式技术,CORBA能够执行于Windows,UNIX以及Linux等操作系统中。这些技术都能使开发人员在应用程序中轻易地使用企业对象所提供的服务。这两种分布式技术都在客户端机器中以一个特别的对象来仿真真正的远程应用程序服务器上的企业对象,这样客户端应用程序就可以调用在客户端机器中的仿真对象,该对象再使用特定的通讯协议来真正调用远程应用服务器上的企业对象,从而调用远程企业对象的服务,以满足客户端的要求。

2在Delphi中实现基于MIDAS的多层结构
2.1在Delphi中多层结构的实现
在Delphi中多层结构的基础是MIDAS(Multi-tierDistributedAlicationServiceSuite,多层分布式应用服务器组)技术。
S_Slan 2008-08-29
  • 打赏
  • 举报
回复
跟据需要来定结构,不要为了三层而三层
哇哈哈哇哈哈 2008-08-29
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 S_Slan 的回复:]
跟据需要来定结构,不要为了三层而三层
[/Quote]

我提这个问题主要是为下面的帖子。
http://topic.csdn.net/u/20080825/15/5c3d1a1b-d379-45fe-a2a3-3e13bbd52d0e.html
S_Slan 2008-08-27
  • 打赏
  • 举报
回复
瞎折腾....hoho
frankie_24 2008-08-27
  • 打赏
  • 举报
回复
顶lihuasoft
wangxuelid 2008-08-27
  • 打赏
  • 举报
回复
JL
哇哈哈哇哈哈 2008-08-27
  • 打赏
  • 举报
回复
我还有个帖子,我打算用多层来解决。看看是否可行???

http://topic.csdn.net/u/20080825/15/5c3d1a1b-d379-45fe-a2a3-3e13bbd52d0e.html

哇哈哈哇哈哈 2008-08-27
  • 打赏
  • 举报
回复
到处听到多层,但是总是进不了门,有没有大哥指点一下。
我用的是DELPHI7,数据库连接打算用dbExpress。

还有多层的话一般来说是三层,层再多的话就会增加难度。

从逻辑和物理上来说多层的应该如何开发???
ckc 2008-08-27
  • 打赏
  • 举报
回复
多层的目的是把不同的工作分开处理,
也许可以在安全、效率、业务易维护性等方面得到好处

这个就和面向对象的开发有点相似。
规划合理你会得到好处。
处置不合理反而不合算。

工程上的东西没有绝对的,需要根据具体情况分析
oushengfen 2008-08-27
  • 打赏
  • 举报
回复
哎,去学习理解,就会明白不是瞎折腾.三层的效率,负载平衡,分布式处理.
哇哈哈哇哈哈 2008-08-27
  • 打赏
  • 举报
回复
确实有点瞎折腾,简单的解决方法,搞的这么复杂。

多层的具体实现方法、方式是什么???
yangkunjie 2008-08-27
  • 打赏
  • 举报
回复
为了更好的解决问题
lihuasoft 2008-08-26
  • 打赏
  • 举报
回复
就是在 群众 与 领导 之间 加一个 秘书
liangpei2008 2008-08-26
  • 打赏
  • 举报
回复
我的理解为:
1.层次(物理上)分开后就可以分割编译了,从一定程度上减少了测试的负担(如果不分层,软件需要提供一个整体的版本给测试部门,测试部门还需要回归测试)。
2.一般我们修改的问题都是业务逻辑的问题,故直接修改业务逻辑层即可实现,而不用动客户端
3.分层后可以在数据库层加上数据连接池,这样就避免多客户端同时连接造成服务器当机
4.使客户端更加瘦,对客户端的性能要求比较低,便于升级与(从一定程度上)防盗版。(类SaaS)
5.把业务放在中间层,可以与其它系统进行共用代码(当然,最好将业务层写为WebService结构),使之做接口方便!
这是我的小体会!
yhloveys 2008-08-26
  • 打赏
  • 举报
回复
楼上正解
Corn1 2008-08-26
  • 打赏
  • 举报
回复
客户端、数据库中间,隔了一个业务逻辑层,把有关数据库的操作放到中间层上。客户端负责调用中间层的相关接口。
这样做,使得客户端无法直接操作数据库,增加数据库的安全性。
javaxi 2008-08-26
  • 打赏
  • 举报
回复
把表现层、业务层、数据层的代码分开编写,目的是为了简化维护工作。

2,497

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧