第一层只是提供用户操作的界面
第二层提供业务处理的COM
第三层进行数据的更新处理

解决方案 »

  1.   

    我是这样作的,不过大概不叫三层结构:),叫多层数据库开发。假设我们的应用是人事管理第一层:界面。
    完成用户的交互操作。在界面代码中,严格控制,不可以出现任何SQL语句。所有的的数据的读写都通过对象来处理。第二层:数据通道及商业逻辑。根据界面的请求,从数据库获取数据。不可以直接写表。必须通过存储过程处理。在查询时,不要在中间出现复杂的处理,比如JOIN等,多适用视图处理。第三层:数据服务
    完成数据的真正写操作。-----------------------------------
    比如有对象:
    人员
    属性有:ID,姓名,性别ID,出生年月、身份证号码,职务ID。
    没有方法。
    人员S(人员对象的集合)
    属性:COUNT
    方法:ADD(object as 人员,key as string).REMOVE(key as string).Edit(object as 人员)
    职务
    属性有:ID,职务,缩写代码,描述
    职务S(职务对象的集合)
    属性:COUNT
    方法:ADD(object as 职务,key as string).REMOVE(key as string)
    ------------------------------------界面需要反映一个人员的职务:职务S(人员S(i).职务ID).职务
    新加一个人员:人员.姓名=‘aaa’,性别ID=性别(i).性别,出生年月=2001-1-1、身份证号码=‘2123131313’,职务ID=职务S(i).职务
    人员S.add 人员------------------------------------
    中间处理是读取VIEW的信息装入集合
    通过存储过程参数写或删除数据
    ------------------------------------这样有一个最大的好处:
    各层完全独立,不必知道与自己无关的东西。
      

  2.   

    随着Internet的进一步普及和发展,基于网络的数据处理日益成为企业信息化的中心环节。数据库的灵活性、安全性和可拓展性成为数据处理技术的焦点。本文将以数据处理结构为主线,回顾与展望基于网络的数据处理方式的演变。 
    二层结构 明日黄花 
    在基于网络的数据处理中,客户机/服务器(Client/Server)二层计算模式具有里程碑意义。这种模式在20世纪80年代后期开始引入业界。它为多用户系统提供了前所未有的双向交流感和灵活性,革命性地改变了传统应用设计和系统实现方式,很快便在各种类型的软件系统设计与开发中获得广泛应用,到20世纪90年代初期,这种计算模式已成为业界的主流。 
    客户机/服务器二层计算模式的基本结构如图1所示。客户端提供用户界面、运行逻辑处理应用。数据服务器接受客户端SQL语句并对数据库进行查询,然后返回查询结果。用一个形象的比喻来描述就是:服务器端像一个仓库,主要功能是存储原材料和成品,但并不进行加工,而客户端就像加工车间,完成从原料到成品的整个制造过程,然后将成品存储到仓库。由于业务的处理逻辑主要在客户机端执行,因此这种结构也被称为胖客户(Fat client)结构。 
    该结构最大的优点在于结构简单,开发和运行的环境简单。但也正是这种结构,产生了其原生性的问题: 
    首先是系统的拓展性和安装维护问题。 
    当将部门级的应用逐渐推广到企业级的关键任务时,这些小规模环境下运行良好的应用,进入大规模生产系统之后,性能呈几何级数下降,以致影响到系统的可靠性;在系统开发完成后,整个系统的安装也非常繁杂。在每一台客户机上不但要安装应用程序,而且必须安装相应的数据库连接程序,还要完成大量的系统配置工作。 
    其次是系统的安全性问题。 
    在二层结构下,大量代码化的企业业务流程驻留在客户机上,给系统的安全性带来了极大的考验。同时随着用户数量的增加,这种业务逻辑的维护成本也越来越高。 
    最后是系统间的通信障碍。 
    当二层计算模式从部门级应用拓展到企业级应用时,二层结构的应用之间几乎没有交互性操作,因此很难实现分布系统的组件技术。 
    以上这些问题是两层结构本身的原生性问题,仅仅依靠对二层结构进行细枝末节的修补和开发无法很好解决。要真正解决这些问题,必须从根本上改变这种二层结构设计。 
    三层结构 方兴未艾 
    从上面的分析中可知,企业应用系统的不断扩充和新应用的不断增加,基于传统的二层数据处理结构中系统拓展性、维护成本、数据安全性和应用间通信功能障碍等原生性问题的存在,已是捉襟见肘、力不从心。在这样的背景下,三层结构应运而生。 
    什么是三层结构呢?顾名思义,它是将数据处理过程分为三部分:第一层是客户端(用户界面),提供用户与系统的友好访问;第二层是应用服务器,专司业务逻辑的实现;第三层是数据服务器,负责数据信息的存储、访问及其优化。由于业务逻辑被提取到应用服务器,大大降低了客户端负担,因此也称为瘦客户(Thin Client)结构,如图2所示。 
    三层结构在传统的二层结构的基础上增加了应用服务器,将应用逻辑单独进行处理,从而使得用户界面与应用逻辑位于不同的平台上,两者之间的通信协议由系统自行定义。通过这样的结构设计,使得应用逻辑被所有用户共享,这是两层结构应用软件与三层应用软件之间最大的区别。 
    这种三层结构的优势何在呢?做一个形象的比喻就是它在二层结构中间增加了标准化的加工厂和传输路线,从而可高效生产并传输客户端所需产品。具体而言主要有以下几点: 
    首先,通过将整个系统分为不同的逻辑块,大大降低了应用系统开发和维护的成本。 
    三层结构将表示部分和业务逻辑部分按照客户层和应用服务器相分离,客户端和应用服务器、应用服务器和数据库服务器之间的通信以及异构平台之间的数据交换等都可以通过中间件或者相关程序来实现。当数据库或者应用服务器的业务逻辑改变时,客户端并不需要改变,反之亦然,从而大大提高了系统模块的复用性,缩短了开发周期,降低了维护费用。 
    其次,系统的扩展性大大增强。 
    模块化使得系统很容易在纵向和水平两个方向拓展:一方面可以将系统升级为更大、更有力的平台,同时也可以适当增加规模来增强系统的网络应用。由于摆脱了系统同构性的限制,使得分布数据处理成为可能。 
    三层结构 营造优势 
    前面,我们谈到了基于应用服务器构建三层数据处理结构本身具有的技术优势。但是,正如“企业组织要追随战略”一样,技术融入市场环境,并为企业带来竞争优势才能真正体现其价值。 
    三层结构在营造企业竞争优势中的作用主要体现在模块化设计使得用户在现有结构的基础上实现了系统扩展,从而提高企业信息化的速度和业务水平;同时三层结构中中间件的出现使得用户可以直接从市场上选择合适的产品来构建系统,大大降低了开发周期和开发费用。目前中间件市场已经凸现出来:基于C和Java语言的BEATuxedo、IBM公司的CICS/6000作为该领域的先行者已在市场中奠定了竞争优势。依托HP公司服务优势和Bluestone技术优势的HP Application Server完全基于Java语言,以开放标准为基础,在跨平台、可靠性等方面明显具有优势,成为强有力的挑战者。随着市场的进一步拓展,将会有更多的软件厂商投身其中,使得客户面临更多的选择机会。 
    总之,在技术和市场日新月异的信息时代,竞争的规则已从“大鱼吃小鱼”演变为“快鱼吃慢鱼”,以中间件为基础,构建三层数据处理结构,将会更快、更好地促进企业信息化,提升企业竞争力,在激烈的市场竞争中赢得优势。