三层架构体系

2024-08-29

三层架构体系(共8篇)

三层架构体系 篇1

随着互联网应用软件系统的快速发展, 软件工程的不断进步和规范以及面向对象编程思想的应用, 人们对封装、复用、扩展、移置等方面的要求也越来越高, 三层架构体系结构是面向对象思想发展中的必然产物。三层体系结构是在客户端与数据库之间加入了一个中间层, 也叫组件层。这里所说的三层体系是指逻辑上的三层, 即使这三个层放置到一台机器上。通过引入中间层, 将复杂的商业逻辑从传统的双层结构 (Client-Server) 应用模型中分离出来, 这种方式在一定程度上改变了软件开发的模式, 提高了软件系统的可用性、稳定性和兼容性。

1、ASP.NET三层架构概述

Microsoft.NETFramework是微软推出的一套开发平台。ASP.NET可以使用.NET平台来快速方便地部署三层架构。ADO.NET的数据库访问基础是.NET数据供应器 (Data Provider) 。显示层放在显示页面中, 数据库操作和逻辑层用组件来实现, 这样就能很方便地实现三层架构。在ASP.NET2.0中, 典型的三层架构包括表示层 (即页面及后台代码) 、业务逻辑层 (即业务接口、业务实体、业务逻辑) 和数据访问层。三层架构示意图如图1所示。

三层架构 (3-tier application) 通常意义上的三层架构就是将整个业务应用划分为:表现层 (UI) 、业务逻辑层 (BLL) 、数据访问层 (DAL) 。区分层次的目的即为了“高内聚, 低耦合”的思想。

(1) 表现层 (UI) :通俗讲就是展现给用户的界面, 是应用程序中实现的客户端。用户服务主要是Web客户端和Windows客户端, 也可以是其他平台应用程序, 主要作用是对用户的请求接受, 以及数据的返回, 为客户端提供应用程序的访问。

(2) 业务逻辑层 (BLL) :业务逻辑层主要负责对数据层的操作, 也就是说把一些数据层的操作进行组合。其目的是将“数据访问层”的基础存储逻辑组合起来, 形成一种业务规则。

(3) 数据访问层 (DAL) :数据访问层主要是对原始数据的操作, 具体来说是为业务逻辑层或表示层提供数据服务。该层所做事务直接操作数据库, 针对数据的增添、删除、修改、更新、查找等。

在开发过程中, 大多情况下为了复用一些共同的东西, 会把一些各层都用的东西抽象出来。如将数据对象实体和方法分离, 以便在多个层中传递, 例如称为Model。一些共性的通用辅助类和工具方法, 如数据校验、缓存处理、加解密处理等, 为了让各个层之间复用, 也单独分离出来, 作为独立的模块使用, 例如称为Common。此时, 三层架构会演变为如图2所示的情况。

2、三层架构应用

如图3所示的系统EXP采用的是三层架构的设计模式, 该系统中数据访问层是Data Access, 业务逻辑曾是Business, 表示层是Web UI, 下面分别对这三个层做一介绍。

2.1 数据访问层

在数据访问层Data Access中, 完全采用“面向对象接口编程”思想, 同时使用设计模式中的工厂模式为主。如设计一个SQLHelper类用来实现数据库的访问。抽象出来的数据库访问模块, 脱离了与具体数据库的依赖, 从而使得整个数据库访问层利用数据库迁移。由于数据库类型的不同, 对数据库的操作也有所不同, 代码因此也会有所区别。

2.2 业务逻辑层

业务逻辑层Business的核心模块包含了整个系统的核心业务。在业务逻辑层中, 不能直接访问数据库, 而必须通过数据访问层。业务逻辑层将表示层提出的请求转换为对数据访问层的请求, 并将数据服务层返回的结果提交给表示层。对数据访问业务的调用是通过接口完成的。既然与具体的数据访问逻辑无关, 则层与层之间的关系是松散耦合的。如果此时需要修改数据访问层的具体实现, 只要不涉及到接口定义, 那么业务逻辑层就不会受到任何影响。例如, 在很多系统中, 用于处理用户方面的业务逻辑, 可以使用User Business类来实现, 该类使用User Interface接口, 访问SQLHelper类。

业务逻辑层包含了业务对象本身以及应用于它们的规则。这也是主要业务对象所在的位置。它们实现业务实体或系统对象。系统的业务规则将在这些对象中编码, 即从表示层接收请求, 根据编码的业务规则处理请求, 从数据访问层获取数据或将数据发送到数据访问层, 将处理结果传递回表示层。

2.3 表示层

示例中表示层Web UI是三层结构中用户与系统的交互层, 设计中最重要的模式是模型:视图一控制器 (Model-View Controller, MVC) 模式。在.NET平台下, 不需要自己去实现MVC模式。就视图对象而言, ASP.NET已经提供了常用的控件, 非常方便, 也可以通过继承Systerm.Web.UI.User Control, 自定义用户控件, 并利用页面组合控件来实现视图。表示层的设计与实现均遵循以下特点:要有方便、友好的客户交互界面。

3、结语

基于ASP.NET三层架构的软件开发已经成为一种流行的开发模式, 也带来了很多开发上的优点, 适合开发应用需求灵活的系统, 一定程度上保证了系统的可扩展性和可移植性。大型的软件系统开发过程中, 一个好的分层式结构, 可以使开发人员的分工更加明确。实践证明, 多层架构开发模式的应用是一条比较好的软件系统开发途径。

参考文献

[1]MaroBellinaso.ASP.NET Web站点高级编程[M].北京:清华大学出版社, 2002.

[2]马燕, 王文发, 李竹林.一种基于.NET的4层结构应用模型研究与实现[J].江西科学, 2008, 4.

[3]余文芳, 张文博, 廖非凡.基于ASP.net的三层开发架构应用探讨[J].软件导刊, 2008, 7 (8) .

三层架构体系 篇2

[关键词]网络在线考试;详细设计;架构

详细设计中的一个主要任务就是架构设计。根据需求阶段的规划,进行网络在线考试系统的架构设计时,选择了三层架构。由于使用三层架构进行系统开发的基础是要搭建系统框架。本文将从三层架构的介绍入手,通过完成基于三层架构的“在线考试系统”框架的搭建,让读者掌握三层架构的搭建过程。该过程重点在于表示层、逻辑层、会话层的构建及用户创建各层之间依赖关系的模型层的实施。难点在于实施模型层过程中的各个实体类的创建。

1.三层架构模式的介绍

在早期开发应用程序时大多数是基于Windows模式设计,在这种环境中一般程序设计人员设计考试系统时主要是采用C/S架构完成。程序一般时运行在一个局域网内,采用两层架构的设计思路就可以完成要求。而对于这种模式的考试系统对于学生使用地域上产生了很大的影响,必须要组织学生在同时同地完成考试。为此,提出基于Web模式设计考试系统是可以解决这些问题的。对于采用Web模式开发的考试系统之前有使用ASP、PHP、JSP等工具完成的,当然这些开发工具各有各自的优点和缺点,本文主要讨论的是开发的架构,对于具体采用的语言不作分析和研究。

无论程序设计人员采用何种开发工具,目前在对于网络编程中使用的架构是客户端、业务处理端以及数据存储端的三层架构。使用这种严格的三层架构来对应用软件进行开发时将极大的提高了程序模块化设计,提高了应用软件运行的效率。当然采用这中架构设计的软件在今后的扩展和维护上也带来了很大的好处。

从应用软件开发技术角度上说,三层架构的“三层”是指用户界面表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。

(1)用户使用的界面一般称为客户端或表示层

客户端是用户直接与应用软件建立关系的窗口,用户对软件需要完成的基本操作以及实现数据的输入输出等都是通过客户端完成的。

(2)业务处理端又称为逻辑层

对应用软件的业务处理都通过逻辑层完成的,业务的处理效率以及执行的优劣情况都是通过业务层来实现,因此逻辑层将承担非常重要的任务。程序设计人员开发开发时需要投入大量的精力在对程序的业务处理端。对于不同的开发语言在业务端的建立有不同的方法,可以通过创建类库、Web Service等形式完成对业务处理代码的封装。对于复杂的业务处理可以建立业务应用程序,加入中间件技术等完成。

(3)数据访问层

数据对于应用软件是必不可少的,所有的应用软件都会采用数据库作为系统中实现交互处理的数据存储。数据访问主要是为用户提供数据交互的平台,程序员可以通过在数据库中创建各种数据操作对象完成相关操作,比如创建存储过程、视图、角色等。

2.网络在线考试系统设计

在线考试系统的架构:先创建解决方案(取名Online),在解决方案下创建4个项目:第1个项目是用户界面表示层(取名OnlineWeb);第2个项目是业务逻辑层(取名OlineBll);第3个项目是数据访问层(取名ONlineDal);除了这3个项目之外,还有一个模型成(取名OnlineModels)。下文将逐个给出各个层次中的每个程序的设计考虑。

本程序对考试系统的分析主要分为3个功能部分:用户登录、考生考试和交卷部分。各部分分别调用多个模块。

(1)验证模块

一般应用程序都有验证模块,通过验证模块可以防止非法用户对管理系统的使用。验证模块的设计不仅是用户使用系统的通道,更是对系统数据保护的重要措施。在验证模式的实现时可以加入防止SQL注入、SSL加密等技术以提高其安全性。

(2)时间控制模块

对于考试系统,需要模拟传统的考生时间规定。在考试系统中能够自动完成时间的设定以及对时间的控制等功能。考生只能在规定的时间内作答,当考试时间达到设定的值将能够对考生进行提醒和锁定考试。

(3)生成试卷模块

考试系统中一个重要的模块就是生成考试试卷,对于考试试卷的生成原则是需要根据设定的难易程度完成自动组卷。生成试卷的形式可以是传统的考试试卷形式,也可以是带答题卡的试卷形式。

3.总结

系统任务是根据需求分析阶段产生的规格说明书导出系统的实现方案。在本任务中基于概要设计说明书来实施目标系统的设计过程。本文简述了网络在线考试系统架构设计时采用三层架构,将整个业务划分为:用户界面表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)。目的是为了在系统开发过程中实现系统各个模块的“高内聚,低耦合”。

参考文献

[1]张仁龙,李晓华.计算机基础课程考试系统的设计[J].北京农学院学报,2007(S1)

[2]李美满.基于COM技术的通用考试系统的设计与实现[J].计算机工程与应用,2007(01)

[3]闫薇,尹心平.VBA技术在计算机基础考试系统设计中的应用[J].齐齐哈尔大学学报,2006(03)

[4]付细楚,邹北骥.基于组件的考试系统的研究与实现[J].计算机工程,2005(24)

[5]叶青,徐春凤.数据库原理无纸考试系统的设计与实现[J].长春理工大学学报,2005(02)

三层架构体系 篇3

随着软件技术的发展, 三层体系架构随之出现。开发人员可以将应用的商业逻辑放在中间层应用服务器上, 把应用的业务逻辑与用户界面分开。在保证客户端功能的前提下, 为用户提供一个简洁的界面。这意味着如果需要修改应用程序代码, 只需要对中间层应用服务器进行修改, 而不用修改成千上万的客户端应用程序。从而使开发人员可以专注于应用系统核心业务逻辑的分析、设计和开发, 简化了应用系统的开发、更新和升级工作。

2 分层架构设计

2.1 应用程序的分层

层次体系中分层通常是按照每层实现的功能进行划分的, 对于一个web数据库应用程序, 用户交互界面、数据库和应用程序实现的功能是三个基本的要素, 因此, web数据库应用程序的架构一般可以相应地分为三层:表现层、数据层和业务层。

表现层 (Presentation Layer) 。表现层通过与用户交互界面, 调用业务层接口传递用户请求信息以及获取所返回的信息。

业务层 (Business Tier) 。业务层用于访问数据层, 从数据层取数据、修改数据以及删除数据, 并将结果返回给表现层。该层除了实现应用程序功能外, 还包括用户数据的验证及各类计算等。

数据层 (Date Tier) 。数据层是数据库或者数据源。入SAL Server、ACCESS、Oracle数据库或XML文件。web应用程序的分层情况如图1所示。

2.2 三层体系架构

在ASP.NET中, 表现层是通过Web窗体实现的。包括ASPX文件及相应地后台CS文件。业务层通常包括两个组件 (也成为两个子层) 业务员逻辑层 (Business Lobic Layer.BLL) 和数据访问层 (Data Access Layer.DAL) , 业务逻辑层在数据访问层之上, 也就是说BLL调用DAL的类和对象。DAL访问数据并将其转给BLL。数据层则是对NET支持的数据库, 在ASP.NET中三层构架如图2所示。

3 财务系统中三层应用系统

在财务系统中三层架构应用程序, 表现层是通过WEB窗体来实现。业务层包括数据访问组件 (DAL) 和业务逻辑组件 (BLL) , 使用的技术是Asp.net在.net平台上部署和开发, 这样可以保证系统程序快速和方便的实现。而后台的数据库是通过SQL Server来实现。在这里三层架构重点和优点是应用服务器 (DAL+BLL) 来体现。

3.1在数据访问组件中, 包含了访问数据库所需要的各种方法, 如执行一个SQL语句、返回数据集、得到数据表及返回Data Reader等。数据访问组件实现了数据层和业务逻辑有效的分离。以下是具体实现代码:

3.2在业务逻辑组件是应用系统的主要部分, 其封装了实现程序功能的各种方法, 如用户信息的验证、业务流程的处理等。业务逻辑使得表现层和业务逻辑实现了有效的分离, 在表现层, 只需要传递相关的参数, 引用业务逻辑组件中的方法即可, 不必关心具体处理过程。

在前面的逻辑层代码以及数据访问组件代码轻松的实现咯数据连接、业务处理功能。同时增强了可用性、安全性、封装的复用性、可扩展性和可移植性, 是用户在管理上更加轻松, 从而实现安全、高效且稳定的应用系统。

总结

使用ASP.NET创建三层的Web应用程序是非常方便的, 我们使用了两个在单独的项目中创建的组件DAL.dll和BLL.dll将业务层分离出来, 使得表现层不再直接与数据层关联, 在表现层需要做的只是调用业务中的方法。数据访问组件DAL.dll负责连接和操作数据库, 其中的方法是通用的, 只需BLL.dll传递相关的SQL语句和参数即可。另外, 在创建三层的Web应用程序时需要注意各层或组件的引用关系, 表现层引用业务逻辑组件, 业务逻辑组件引用数据组件。

摘要:三层是指逻辑上的三层, 通过引入中间业务层, 将复杂的业务封装后从应用模型中分离出来, 并提供了可伸缩、易于访问、易于管理的方法。

关键词:财务系统,三层体系,Asp.NET,bll, bal

参考文献

[1]许锁坤.ASP.net技术基础:北京:高等教育出版社, 2003.

[2]J.Han and M.Kamber.Data Mining Concepts and Techniques.Morgan Kaufmann Publishers, 2001.

[3]王聪.基于三层架构开发的小型图书管理系统的设计.科技与企业, 2012/06

[4]崔小军.基于日历的时序关联规则挖掘算法.计算机应用, 2006/08, P.16-19.

三层架构在线考试系统的设计 篇4

在线考试系统是典型的管理信息系统 (MIS) , 其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的数据库。而对于后者则要求应用程序功能完备, 易使用等特点。为充分利用校园网现有的网络资源, 利用.Net/ADO.NET 技术开发了一个基于C/S三层架构模式的在线考试系统, 可用于学生网上期中和期末等各阶段的考试, 以提高考试质量、减轻教师的工作负担和提高工作效率, 从而使考试更趋于公正、客观, 更加激发学生的学习兴趣, 有利于提高教学效果和教学质量。

2 系统需求分析

系统需求包括非功能需求和功能需求两大类。

性能需求包括:

(1) 时间特性:响应时间:局域网≤3秒;局域网间≤8秒;校园网内查询≤2秒;外部网络查询≤5秒。

(2) 适应性:该系统的服务器端管理程序最后提交形式为安装程序, 使其能在Windows2000、WindowsXP、Windows2003操作系统平台上正常运行, 前台考试系统产品提供客户端, 使其能在网络上正常运行。

(3) 安全需求:对于基于网络考试系统安全性设计来说, 关键在于如何保障各类用户安全地在自权限内实时准确地访问系统的合法数据;如何维护整个管理信息系统信息资源的安全性、完整性、一致性等。

系统功能需求:考试系统主要的用户是学生, 授课教师及系统管理员。这里我们根据系统使用者的划分不同的功能模块:用户登录、学生使用的功能、管理员使用的功能、教师使用的功能。用户特征如表1所示

3 考试系统三层结构的设计与实现

(1) 表示层。

本系统由两大模块组成:服务器端和客户端。服务器端用于本系统的用户、试题、试卷、学生、考生、考试、成绩的管理和维护, 以及对整个考试流程的监控和成绩的统计分析。客户端用于在线的考试, 考生通过登录进行在线的考试, 在教师阅卷完成后可以进行成绩的查询。服务器端和客户端都通过调用业务层提供接口来实现相关的功能。

(2) 业务层。

系统的各个类都有各自的业务逻辑类来处理, 包括登录逻辑、用户管理逻辑、考试逻辑、试题、科目、考试策略控制逻辑。并且每一个业务逻辑类都需要调用SQL SERVER数据库访问类来进行相应的数据库的存取。而在ExecuteSql类中, 为了提高系统存储速度, 定义了很多存储过程。这样可以提高系统的效率。在业务层中每个类中定义了接口, 通过接口调用相关的功能函数。

(3) 数据访问层。

采用SQL SERVER 2000数据库作为后台服务器。采用两种方式访问数据库:SQL语句方式操作数据库和存取过程想结合的方式实现了系统的部分业务逻辑。数据库访问类ExecuteSql类来进行相应的数据库存取的相关操作, 而数据库访问层其它的类都继承ExecuteSql类, 派生类继承通过构造函数初始化, 调用其基类的构造函数, 初始化数据库连接字符串。

本系统的三层架构模型如图1 所示。

在线考试系统功能模型 如图2所示。

4 结语

本文详述了一个基于.NET的在线考试系统的开发工作。.Net开发平台用来提供开发人员生成企业级WinForm应用程序所需的服务。通过使用.NET的先进特性和.NET框架提供的强大功能, 开发了一个可以通用的考试系统, 只要符合题库的规范, 任何科目的考试都可以在这个系统上执行。系统使用MVC设计模式实现一个三层的体系结构, 表示层, 业务逻辑层与数据访问层实现真正分离, 方便了以后对系统的修改扩展工作。

摘要:在线考试系统是典型的管理信息系统 (MIS) , 其开发主要包括数据库的建立和维护以及前端应用程序的开发两个方面。在线考试系统的设计过程中, 将系统设计为三层结构:数据库访问层、业务逻辑层、表示层。利用VS.net2005开发技术和SQL Server 2000数据库技术以及Rational Rose 2003建模工具, 编制了在线考试系统程序。

关键词:三层架构,在线考试

参考文献

[1]赵丙秀.SQL Server 2000上机考试批阅系统的实现[J].电脑编程技巧与维护, 2006-11-03.

[2]郭彬.基于NET三层架构的在线考试系统设计与实现[J].电脑知识与技术, 2008-12-15.

[3]齐敏菊.基于NET的网络考试系统的研究[J].淮南师范学院学报, 2007-09-15.

三层架构体系 篇5

一个大的软件项目中包括很多的模块, 不同的模块就要创建不同的接口, 那么如何返回很多实现接口的对象呢, 在简单工厂模式中只能编写多块相似的代码, 通过判断条件返回具体的对象, 这样就造成大量的代码冗余, 采用抽象工厂的方法, 可以产生一批有关联的产品, 减少程序冗余度, 提高程序效率。

二、什么是抽象工厂模式

如图1所示, 抽象工厂模式就是实现提供所有具体工厂的接口, 基本上为每一个产品种类提供一个创建方法。在具体工厂中负责创建产品结构中每个产品, 它包含了创建不同产品的商业逻辑, 实现抽象工厂中的接口, 定义产品的共同接口。

三、实现抽象工厂模式的步骤

由上图我们可以看出要想实现抽象工厂模式, 大致分为三大步。简单三层的实现, 简单工厂模式的实现, 抽象工厂模式的实现。

(一) 简单三层的实现

1.新建项目“Three Layer”, 设计窗体结构。并标准化命名控件名称。例如:用户名TEXTBOX控件, name值为“Txt Login ID”。

2.设计数据库并实现数据库的联接。创建数据库结构, 并添加若干条记录, 同时导出一份Access数据库。在项目中新建Db Helper.CS类文件, 引用Configuration Manage以后程序中要用到App Settings设置。

3.实现窗体的登陆功能。

4.数据访问层的实现。在这个层的代码中提取方法, 具体操作是选中代码, 右键选择重构下的提取方法, 这里注意不要选择用户名和用户密码, 这里我们就提取到了有两个参数的方法。选择的代码都是针对数据操作的, 将方法放到DAL数据访问层。在VS2005中新建项目, 填写新的类库, 即数据访问层类库 (DAL) , 将刚刚提取的方法从表示层剪切到DAL中。再在表示层添加对DAL层的引用, 在按钮的Click事件中调用这个方法, 我们就实现了从一层到两层的转变, 从而实现了最简单的两层结构。public bool Is AdminUser (string str Name, string str Pwd) {string str Sql=“Select count (*) from Adminwhere LoginId=@Longid and login Pwd=@Longin Pwd”}

5.业务逻辑层的实现。为了重用这些代码, 我们把它放到表示层和数据访问层中间, 称为业务逻辑层。下面在前面代码的基础添加一个新的类库即业务逻辑层BLL, 然后在BLL层添加具体的方法, 引用DAL层的方法, 最后在表示层中首先删除对数据访问层的引用, 再添加BLL层的引用, 更改按钮的Click的代码为引用BLL层的方法。这样三层结构就实现了。

6.引入模型层。具体的实现方法:添加新的类库, 建立实体类, 再依次将需要传递的参数作为属性添加到实体类中。最后添加引用, 因为作为数据传递, 所以每个层多要引入Model层。各层引用关系为:用户界面层引用BLL层, BLL层引用DAL层, 各层都引用MODEL层。

(二) 简单工厂模式的实现

1.提取接口。我们在数据访问层使用统一的接口, 让访问SQL Server和Access的类都实现这个接口, 然后通过接口调用具体的实现。具体的演示方法是在前面代码的基础上点击DAL层的类, 右键选择重构, 选择提取接口, 这样一个接口就出现了。新建项目DemoIDAL, 添加类库IAdmin DAL.CS将形成的接口代码复制到该文件中。

2.引入配置文件 (Web.Config) 。在项目中引用CONFIGTION命名空间。添加连接两程数据库的key值和VALUE及SOURCE值。

3.创建Access DAL层。为了可以使用Access库, 我们添加新的数据层DemoAccess DAL, 再添加一个Access User DAL类并实现刚创建的接口, 将DAL层中的文件复制到Demo Access DAL中更改数据库的引用, 即将所有代码中有Sql的字样换成Oledb。

4.创建简单工厂。实现步骤是创建新的工厂项目类, 添加类Simple Factory, 然后在类中实现返回实现产品接口的方法, 通过Web.Config读取配置数据针对不同数据库, 返回不同实现接口的对象。

DAL.AdminDAL () ;case“Access”:

return new Demo.Access DAL.AdminDAL () ;default:return null;}}最后修改BLL层的调用方式为简单工厂调用, 用接口隐示声明, 但是实现通过工厂创建代码为

(三) 实现抽象工厂

具体的实现步骤是:首先通过修改前面的编写的简单工厂simple Factory类为抽象工厂类, 添加相应的抽象方法, 通过读取对应的配置文件, 返回实现抽象类的工厂;

然后创建一个具体工厂类SQLFactory继承这个抽象工厂类, 重写抽象方法, 只返回具体SQLServer库的实现;

最后创建新的Access具体工厂类, 添加类AccessFactory, 让它也继承抽象工厂类, 重写抽象方法。

另外不要忘记修改BLL层的调用方式为抽象工厂调用, 具体的代码是先得到一个工厂, 然后再得到相应产品。具体的代码是:

四、总结

“抽象工厂”在实际编写代码中十分抽象, 只要明确抽象工厂的作用是创建对象提供一般接口, 按照从简单三层到简单工厂, 再到抽象工厂这样的步骤去实现“抽象工厂模式”的三层架构, 一定会给代码编写及优化带来一定的便利。

参考文献

[1]徐祗祥.深入.net平台和C#编程[M].2008.

[2]杨明.C#三层架构[M].科学技术文献出版社, 2009.

三层架构体系 篇6

1.1 现状

公司原有企业网站在2001年建设, 当时的框架和网站结构都急需升级, 建设一个新的、符合当前信息技术的、可随时扩展的、更加功能集成的企业门户迫在眉睫, 因此公司相关部门积极组织建设一个功能更强大、稳定性更高、响应时间短的企业门户。建立以电子化服务网站为应用支撑平台, 利用Web网站对公司部门和公司下属单位, 提供政策法规宣传、办公指南、业务办理等信息服务, 为部门及下属单位提供业务流程, 技术支持和应用支撑平台。政务公开的主渠道, 网上服务的载体, 职工互动的重要渠道, 是电子企业的“一站式”服务平台。不断优化提升神华准格尔能源有限责任公司网站的建设水平和服务能力, 是贯彻落实科学发展观、促进公司职能转变、建设全集团“首善之区”的要求, 是建设“信息准能”“数字准能”和“服务型电子企业”的重要组成部分。

1.2 用户特点

企业门户系统主要涉众包括:主站系统管理员、部门子站管理员、信息采编员、信息审核员等。

主站系统管理员:对整个系统进行全面管理, 包括系统配置、系统运维、权限管理、服务管理、安全管理。子站管理员:子站管理员又称作部门及直属单位管理员。负责管理子站点信息的维护, 栏目管理等操作。信息采编员:负责收集、编辑各类新闻信息;对权限范围内的站点和栏目信息进行维护, 对错误信息撤稿或重新发布。信息审核员:负责权限范围内的信息审核工作, 负责将审核通过的信息发布到网上供访问者浏览。

1.3 各类角色权限

信息发布人员:只能对自己所属栏目板块发布信息, 并且只能查看到自己发布的信息。

信息审核人员:对所属栏目有管理信息的权限, 包括内容审核、修改、发布、删除等操作权限。本系统共设有3级审核流程。一级审核员负责管理内容级别为零级的稿件 (如:子站管理员向主站报送的稿件) , 操作权限包括内容的审核, 修改和删除。二级审核员负责对内容级别为一级及一级以下的稿件进行管理, 如:一级用户所发布的稿件, 操作权限包括内容的审核、修改和删除。三级审核员负责对内容级别为二级及二级以下的稿件进行管理, 如:二级用户所发布的稿件, 操作权限包括内容的审核、修改和删除, 三级用户审核后的稿件直接发布到网站上, 并且审核后的稿件不可以删除。

信息管理人员:对所有栏目都有可查看编辑、修改、查看、删除等操作权限。

系统管理员:可以对整个系进行理管理, 包括系统设置、用户管理、栏目管理、数据模型管理、模板管理、资源管理及系统辅助插件等所有的功能, 并具有对部门和下属单位管理的权限。

1.4 系统建设的原则

1.4.1 先进的系统设计模式

先进管理理论与公司的管理规范高度融合。同时, 充分考虑到公司的实际发展情况, 以及行业的特点, 特别是公司必需的各项业务报表都采用管理人员所熟悉的规范格式, 使其既具先进性, 又具适用性。

1.4.2 充分考虑企业未来发展

考虑到企业未来的发展, 为系统未来的扩展留有充分的设计和数据接口。

1.4.3 支持多企业集团式管理模式

支持公司与各各直属单位集团化管理模式。公司所有的指导性、指令性计划可通过本系统下达给各直属单位, 同时亦可将公司关心的所有信息自动地由各直属单位定期地从各直属单位业务信息库中汇总并上传, 从而实现了数据传送的迅速、准确性。

1.4.4 严格的安全控制管理

允许系统管理员自行定义每个使用者对每个程序、每一功能菜单、每个数据文件的操作权限。操作员在使用每个程序时, 系统自动检验操作权限, 实现多级安全控制, 大大提高了用户系统的操作安全和数据安全性。

1.4.5 丰富灵活的查询

系统在每个模块都将提供大量、丰富、灵活的查询和报表功能。从单项条件查询到多条件组合模糊查询;从单独业务数据查询到跨业务连锁查询;从当前业务数据到历史业务数据查询;从基于业务功能的查询到基于主题的查询。用户可以从多角度方便地查询所需了解的信息, 甚至可以从某个业务细节描述的部分词语来查询所关联的数据。利用数据仓库技术还可以得到一些具有实用价值的潜在的数据分析结果。

1.4.6 灵活、简便、实用性强的操作界面

系统应为每个程序都提供详细的在线帮助信息, 用户可以随时得到程序使用的指导。用户界面采用统一格式, 使用方便、灵活。

2 SSH三层架构的使用

2.1 三层架构的必要性

所谓三层架构通常认为是将整个业务应用划分3个层次, 即表示层、业务逻辑层、数据访问层3个层次分开, 区分层次的目的是为了“高内聚, 低耦合”的思想, 表示层为用户提供交互操作界面, 即用户在使用一个系统的时候他所看到的界面;业务逻辑层负责关键业务的处理和数据传递, 也可以说是对数据层的操作, 对数据业务逻辑处理;数据访问层实现数据库访问, 可以实现针对数据的增加、修改、删除操作。

2.2 SSH框架的应用

SSH框架就是Struts、Spring、Hibernate的一个集成框架, 是一种Web应用程序开源框架用Struts作为基础工具进行开发, 开发人员可以集中精力关注于构建应用程序的业务, 而不必要关注体系结构本身的问题。Spring是一个容器, 它包括并且管理系统对象的生命周期和配置, 在具体的SSH项目中管理事务及对象的注入, Spring是非侵入式的, 基于Spring开发的应用系统中的对象一般不依赖于Spring类。组成该框架的每个模块或者组件都可以单独存在, 或者与其他的模块联合实现, 组件间的依赖关系减少, 极大改善了代码的可重用性, 不需要实现框架指定的接口, 可以轻松地将组件从Spring中脱离, 设置不需要进行任何的修改, 可以在运行期为组件配置所需要的资源, 而不用再编写组件代码时加以指定, 从而在相当程度上降低了组件之间的耦合。Hibernate是一个开源代码的对象关系映射框架, 他对JDBC进行了非常轻量级的对象封装, 使得程序员可以随心所欲地使用面向对象的编程思路来对数据库进行相应的增加、修改、删除。

3 技术方案

3.1 统一架构规范

通用标准规范:公司所有部门及二级单位的门户都必须基于公司统一应用框架进行开发。公司统一应用框架系统构建企业范围内的多维组织机构体系、唯一用户信息、全局角色信息, 实现通用的工作流的定义与流转。统一应用框架同时还提供平滑的, 而不是由各业务系统写接口的方式来实现的流程整合, 以及设置模型、栏目模板、内容模板等通用模块。

硬件系统规范:门户系统采用高端应用方式, 即后台在所有公司部门及下属单位网站集中部署。业务应用需要提供支持群集部署的能力, 且各业务应用服务器群集前需放置负载均衡器实现负载均衡, 直接使用IP地址访问应用服务器不能发挥负载均衡的作用。业务应用应禁止对服务器本地文件进行访问与保存, 并避免生成与使用大量的临时文件。由于有流媒体软件的运行, 为了保障用户点播效果良好, 不至于被卡主, 因此对网络的要求较为严格, 客户端和服务端网络连接的带宽为100Mbps以上。服务器之间带宽为1000Mbps, 并保证在统一网段内。

单点登录:企业门户作为企业展示的平台, 必须作为公司所有应用系统登录的最先入口, 因此单点登录的功能是重中之重, 在企业门户的部门及直属单位中各个应用系统的链接分为两个部分, 对于在公司已经运行良好的应用程序都实现了单点登录, 从门户的首页统一登录, 然后登录各个相应的应用系统, 只要第一次输入了用户名和密码后就会记录相关的信息, 此后只需登录一个地方便可以访问所有的应用系统。对于正在试运行中的应用系统暂时还没有加入单点登录的范围。

3.2 数据库方案

数据库采用SQL Server 2008, 自动备份, 完全保证门户系统安全性。在数据的集成方式上采用接口方式, 业务系统之间进行数据交换必须要做到松耦合, 数据提供源如果有需要提供的数据, 需要开发一个公共Web Service, 以获取需要的数据。尤其是数据库部分提供完整的备份策略, 可以实现数据的完整备份、增量备份和恢复功能。提供自动备份和手动备份功能, 对于自动备份可以设定备份时间、备份周期, 可以指定是增量备份还是完整备份。对于备份的文件建立异地保存体制, 保证有各种原因产生的阻塞或者遭受攻击后可以快速恢复。

4 企业门户系统主要功能

4.1 子站管理

公司现有多个二级单位, 在企业门户的建立过程中要充分考虑到个性的地方, 因此各个二级单位都要建立自己的子站, 由于该企业门户系统采用DNS设置站点的方式搭建主站及子站, 从表面上看, 主站及各个子站都有自己独立的网址, 而且在使用中互不影响, 不会因为主站有故障而不能进入子站, 只要知道子站的地址, 完全可以地址栏中嵌入子站地址而单独打开各个子站。在管理方面, 主站及子站都有自己独立的管理员, 分开管理, 层次关系一目了然。站点设置主要是针对当前站点进行设置。其属性包括站点名称、站点简称、域名、路径、各站点资源的存放路径、域名别名、域名重定向、使用相对路径、访问协议、动态页后缀、静态页后缀、静态页目录、开启静态首页、后台本地化、前台本地化、附件FTP、开启回收站、终审级别。

4.2 内容管理

内容管理是企业门户的核心环节, 主站及子站的所有数据内容统一进行管理, 省去了数据分散, 维护难度大, 统一在数据库表中存储。

4.3 门户系统创意设计

门户系统在设计上充分利用目前先进的开发工具, 充分考虑以后的维护, 由于该门户系统包含的各个子门户多, 这样在更新的时候会很麻烦, 工作量非常大, 可以考虑建立模板的方式建立门户。

4.4 基础信息模块

通知公告:公布本部门的活动、人员流动、事项的安排等本部门事项。本栏目的主要信息来源于本单位门户系统后台所发布内容。该栏目的展现形式主要以文字标题列表为主, 内容包括文字、图片。

安全生产:宣传安全生产信息, 发布企业设备安全, 产品安全, 以及交通运输安全等相关信息。本栏目的主要信息来源于本单位门户系统后台所发布内容。该栏目的展现形式主要以文字标题列表为主, 其内容包括文字、图片。

党群工作:宣传党的政策、公布入党流程, 党规党纪等。本栏目的主要信息来源于本单位门户系统后台所发布内容。该栏目的展现形式主要以文字标题列表为主, 内容包括文字、图片。

学习中心:发布与本栏目有关的内容, 优秀作品赏析、专业知识、经验交流、新闻线索等信息。本栏目的主要信息来源于本单位门户系统后台所发布内容。该栏目的展现形式主要以文字标题列表为主, 其内容包括文字、图片。

资讯中心:内容包括公司要闻、集团要闻、时政要闻、生产经营、安全管理、基本建设、党群工作、综合新闻、深度报道、生产图表、图片新闻、专题报道、视频报道、门户系统考核评价等栏目。首页还包括通知公告、视频展示、电子报等内容的展示, 其中电子报的为预留板块为以后整合电子报系统所设置, 以图文并茂的形式显示。首页通知公告的数据来源于OA系统中的通知公告和企业门户系统发布的通知公告, OA系统的通知公告需每天系统按时自动导入。生产图表需要和生产调度系统整合, 当生产调度系统数据发生延时或数据获取不及时时, 企业门户系统后需有手动录入功能, 确保数据实时有效。

查询功能:电话号码查询、天气预报查询、列车时刻查询、航班查询、职工社保公积金查询。电话号码管理, 把部门及直属单位的电话码进行统一管理, 统一维护, 用户可通过此功能对部门及直属单位, 人员管理, 包括姓名、单位名称、部门名称、科室、职位、办公室电话、家庭电话、手机号码等信息进行修改, 添加、删除用户、快速查找等操作。

下载专区:是用户下载相关学习与工作资料的统一入口, 这里将会对网站内的资源 (包括:电子文档、附件等) 进行分类管理, 以方便用户查询与下载。下载的内容是用户自己维护的, 目前采用与新闻上传同样的方式, 可以根据栏目自身的设置情况灵活地设置审核权限, 在审核通过后自动进入下载页面, 在用户下载后进行下载数量的计数。

问卷调查:是社会调查引的一种数据收集手段。当一个研究者想通过社会调查来研究一个现象时 (比如什么因素影响顾客满意度) , 他可以用问卷调查收集数据。并进行数据分析。企业的相关部门当有意见需要征集的时候可以发起相应的热点进行全公司范围内的问卷调查。后台会显示每一种选项的统计情况, 方便组织者对公司所有员工的思想动态进行了解。

系统管理:是企业门户管理员最为关心的问题, 主要是程序开发完以后通过配置来实现相应的功能, 主要包括站点设置、模型设置、登录设置、用户管理、删除内容的清理、登录设置等。比如登录设置将实现登录次数、错误次数、登录的时间、IP地址等信息;站点设置主要是针对当前站点进行设置。由于该企业门户中各个子站是通过不同的站点实现的。栏目管理实现了栏目的新建、删除、修改、栏目浏览权限设置、投稿权限设置等操作。目录结构可根据需要自定义生成, 并可对栏目进行顺序调整。网站管理员可以为每个栏目指定不同的栏目管理员和内容编辑人员。每个栏目可单独地管理权限设定。每个栏目可以配置个性化模版、管理权限。

视频管理:视频要采用主流的Flash Media技术, 提供视频在线点播功能与网站系统完成整合接口, 后台能对视频进行路径添加、修改、删除、视频地址下载维护等常规操作, 系统并为Flash Media提供一个专属管理平台, 可生成企业网站有效的视频播放链接和下载链接。视频管理实现了点播和直播功能, 是此次企业门户建设的一个亮点。

5 结语

基于SSH三层架构的企业门户系统确实为公司的日常生活带来了极大的方便, 使得在日常的管理中人为的因素减少, 为各个子应用系统提供了单点登录功能, 实现了信息系统用户的整合。而且在栏目设置、内容管理方面更加灵活。数据存储上采用自动方式, 保障了数据安全性。

参考文献

[1]张文军.基于Flex与SSH的富互联网企业级技术及其云架构的研究.科学出版社, 2013.

[2]高洪岩.精通Java Web实用开发技术 (Struts+Spring+Hibernate) .工业出版社, 2009.

[3]陈俟伶, 张红实.SSH框架项目教程.水利水电出版社, 2013.

基于三层架构数据库设计理论 篇7

关键词:三层架构,表示层,业务逻辑层,数据冗余

一、三层架构概述

所谓的三层架构就是将系统的整个业务应用划分为表示层——业务逻辑层——数据访问层, 这样有利于系统开发、维护、部署和扩展。

(1) 表示层提供应用程序的用户界面 (UI) , 在ASP.NET中页面是UI的表现形式, 在Windows Form里, 窗体是主要的表现形式。表现层是系统与用户沟通的唯一渠道, 是系统功能的展示。

(2) 业务逻辑层是实现应用程序的功能。在.NET中, 通常以类库的形式封装系统需要的业务逻辑。业务逻辑是开发过程当中主要的任务。

(3) 数据访问层中包含了与数据存储进行交互的类库。这些类在功能上和业务逻辑层相互独立。数据访问层是实现所有业务逻辑所需要的数据访问功能。

二、三层架构设计优缺点

(1) 使用三层架构开发的优点

三层架构适合群体开发。开发三层架构, 不同的开发人员只需要对本身的分工精通, 降低了原有的开发难度。

三层架构可以支持更好地分布。逻辑层的应用程序可以在多个计算机上运行, 充分利用网络计算机功能, 分布式计算机的潜能巨大, 远比升级CPU有效。

三层架构的最大优点是安全性。用户只能通过逻辑层来访问, 数据层, 减少了入口, 把很多危险系统都屏蔽了。

(2) 使用三层架构开发的缺点

系统性能被降低。由于分层架构中业务逻辑层在数据交换中都起着承上启下的作用, 这样就是的很多业务不能直接访问数据库, 以此获取相应的数据, 如今必须通过中层来完成。

有时会导致级联的修改。这种修改尤其体现在自上而下的方向, 如果在表示层中需要增加一个功能, 为了保证其设计符合分层是结构, 可能需要在相应的业务逻辑层和数据访问层中多增加相应代码。

三、数据库设计原则

(1) 真实性

三层架构数据库设计的相对独立性, 使得真实性是针对如何应用系统设计来说, 都占有着举足轻重的地位。正因如此, 在设计数据库的最初阶段, 数据库设计是应忠于规范, 各个环节应能详细的反映出实际情况。这样才能确保在以后业务逻辑设计时, 减少数据库的更改, 避免发生不必要的错误。

(2) 适当冗余

冗余是不可避免的, 适当冗余可以减轻数据库设计繁复性。冗余性一般对很多系统来说是不利的因为他不仅给系统数据一致性造成潜在的威胁, 还会不必要的占据数据系统资源, 浪费存储空间, 减慢响应速度。系统在对流程做了反复细致的分析后, 多次精简掉重复的不必要的冗余字段和冗余数据以及冗余表, 力求是数据系统在结构和性能上达到最优的状态。

(3) 完整性

三层架构数据设计时, 用标准化来实现数据完整性和数据的功能性, 在写数据的时候可以增加触发器来保证数据的正确性。它包含数据库域完整性, 实体完整性和参照完整性。

(4) 全面性

在应用程序设计之初, 需要对系统的整个流程做细致的调查, 尽可能细致的调查, 尽可能多地收集相关数据与资料, 从而确保所涉及的数据的全面性。要考虑到程序设计涉及到的所有数据, 这样再设计数据库ER图时, 才能更加清晰、全面的反映应用程序之间业务关系, 从而使得业务逻辑层的设计顺利进行下去。

四、数据库设计

(1) ER图

设计数据ER图对设计数据库来说相当重要, ER图好比数据库的纲要, 只有清楚数据库中各个表数据之间的联系, 才能设计最佳的表结构。表的关键字段和外部关键字, 在ER图上能清晰地反映出来, 在操作数据库时, 依据ER图能很快查到相关的信息。

(2) 事务处理

在连续的操作数据时, 由于期间发生其他故障导致连续数据操作中断, 使得数据表中一部分数据发生改变, 而另一部分没有改变, 尤其是相应的表还存在级联关系时, 这样问题就可能导致数据库崩溃。而事务处理在数据库设计时显得相当的必要, 它将整个数据操作当成一个事务来处理, 这就使得数据要么全部处理完成, 要么就全部没有处理, 从而有效地解决了这个问题。

(3) 存储过程

存储过程是完成一组特定功能的SQL语句集, 它独立与应用程序, 可是实现模块化编程, 作为一个单独的模块, 被多个程序调用, 提高程序的可移植性。它相当于对一组SQL语句的封装, 在运行时会被优化分析, 从而具有较快的运行速度。数据库管理员可以对存储过程进行权限设置, 可以避免非授权用户对数据的访问, 保证数据的安全性。

(4) 触发器设计

有时候我们在修改数据库中某个表时要约束其他的表也随着一起更改或者是限制更改, 这是数据库中的一个比较麻烦的事情, 这时候就要使用到触发器, 当发生对数据库中的表进行更改时, 就使响应相应的触发器, 而限制某个表的操作, 而确保数据安全性。

五、数据库设计优化

建立专用的关联提高设计中的灵活性。为了保证数据库的一致性和完整性, 往往需要建立多个表关联, 当关联层次过多时, 表的插入、更新、删除操作表间的连接所占的系统开销都大大地增加, 降低了系统的相应时间, 合理适度的增加某些专用关联可以解决这个矛盾。

三层架构体系 篇8

1 EMS的平台架构

为了更好地实现EMS系统, 对整个EMS系统进行分析、设计成三大层次, 如图1所示, 包括平台支持层、平台框架层、平台应用层, 各业务应用在此平台基础上进行二次开发, 极大地提高开发的效率和质量。

平台支撑层 (Platform Support Layer, 简写为PSL) :提供一个大型分布式系统所必需的各种底层支撑的功能。这些功能不仅可以应用于网管系统, 理论上也可以应用于各类的大型分布式的管理系统。平台支撑层的功能主要包括4个部分:J2EE应用服务器、J2EE应用服务器的扩展功能、标准网管协议栈、其他一些通用工具包。

平台框架层 (Platform Framework Layer, 简写为PFL) :针对网管系统这个特定的应用领域, 我们抽取出一些公共的软件框架, 把这些程序框架统称为框架层。所有具体的管理应用都应该基于这个框架层提供的全部或者部分框架来开发。

平台应用层 (Platform Application Layer, 简写为PAL) :在平台框架层的基础上, 提供具体的管理应用功能。这些功能都是可以拆卸的, 应用在使用统一网络管理平台的时候, 可以根据自己的具体需要来选择需要装载那些管理功能。

2 EMS功能模型

EMS功能模型, 主要包括:操作系统功能、工作站功能、北向接口功能、网元中介功能、管理信息功能。

操作系统功能 (Operation System Function, 简写为OSF) :处理与电信管理业务相关的信息, 支持和控制设备管理功能的实现。

工作站功能 (WorkStation Function, 简写为WSF) :提供按照统一网管平台内部的网络管理信息到用户可以理解的表现形式之间的转换。JAVA GUI形式和WEB。

北向接口功能 (Northbound Adapter Function, 简写为NAF) :提供网络管理信息到NMF表现形式之间的转换。

网元中介功能 (Element Mediator Function, 简写为EMF) :在OSF和NEF之间, 起到信息传递和适配的作用。

管理信息功能 (Management Information Function, 简写为MIF) :操作和维护信息模型, 在网管系统中起到代理的作用。

3 EMS的主要功能

根据运营商对网管的集中管理要求, EMS包括的功能主要有:拓扑管理、安全管理、日志管理、告警管理、性能管理等。

拓扑管理为被监控的网络提供统一的网络拓扑结构和状态信息, 使用户能够在拓扑视图上直观的掌握整个网络的拓扑结构及网络设备运行状态。全网监控, 一目了然。包括的功能主要有:网元代理的管理、配置同步、告警监控、链路管理等。

安全管理为用户提供统一的安全管理, 包括安全策略管理、用户管理、部门管理、角色管理、角色集管理。

日志管理记录系统运行的各类日志, 包括记录用户操作的操作日志、记录服务器定时执行的系统日志、记录用户登录的安全日志。

告警管理是系统运行过程中对本网管系统所管理的各种网络设备所发生的故障进行管理的一个功能组。本功能组把所管理的故障通称为告警。包括的功能主要有:告警实时监控、通知实时监控、当前告警查询、历史告警查询、告警规则等。

性能管理主要负责网络运行设备性能数据的收集, 为操作维护人员提供对运行设备的监测和分析, 从而了解网络和网元的运行状况。包括的主要功能有:测量任务、门限任务、性能数据查询、性能报表等。

4 结语

基于三层架构的电信EMS网管系统, 由于自身的平台架构设计合计层次清晰、可扩展性强, 各网管应用在此平台基础上进行业务的二次开发非常容易, 并很容易维护。同时也满足了各电信运营商对EMS网管系统要求操作简单、易维护性、接口丰富、跨平台、支持软件丰富的要求。

参考文献

[1]Crawford, William, J2EE Design Patterns, O'Reilly&Assoc., 2003

上一篇:广电网络接入网技术下一篇:构建和谐寝室