首页 百科知识 应用架构和建模

应用架构和建模

时间:2022-06-09 百科知识 版权反馈
【摘要】:6.2 应用架构和建模信息系统应用架构和物理过程建模包括各种把信息、过程和通信连接到一个分布式计算机环境中的技术。物理数据流图且设计单元的形式记录应用架构和设计,使之可能进行更详细的设计、原型化,最终被实现成为一个独立的子系统。通过扩充DFD可以用于建模信息系统的物理架构和设计工具。

6.2 应用架构和建模

信息系统应用架构和物理过程建模包括各种把信息、过程和通信连接到一个分布式计算机环境中的技术。物理数据流图且设计单元的形式记录应用架构和设计,使之可能进行更详细的设计、原型化,最终被实现成为一个独立的子系统。

应用架构是对一个系统从整体上进行规划,从而架构一个系统的蓝图,作为后续的内部和外部设计的提纲。在架构蓝图时将介绍以下设计决策:信息系统是信息程度、数据存储在网络上的分布、内部开发所有的软件将使用的实现技术、商用现成产品的集成、用来实现用户界面的技术、用来与其他系统实现接口的技术。

6.2.1 物理数据流图

在前面我们介绍了DFD是一种系统分析工具,在系统分析阶段用于建模信息系统的逻辑业务需求。通过扩充DFD可以用于建模信息系统的物理架构和设计工具。物理数据流图的定义是其信息系统的一部分实现的技术设计决策和人为设计决策,进而同那些实际构造和实现系统的人沟通技术选择和其他设计决策。也就是说物理数据流图是用作系统构造和实现的技术性的蓝图。要依次开发的模型有:

(1)当前系统的物理DFD,主要帮助分析员在系统分析的问题分析阶段确定和分析现有物理系统中存在的问题。

(2)当前系统的逻辑DFD,是在上面的物理DFD中去掉了所有的物理细节后得到的变换形式。

(3)最终系统的逻辑DFD,用来表示新系统的详细的非技术性需求。

(4)最终系统的物理DFD,用来为所有逻辑过程、数据流和数据存储建议和建模技术选择和设计决策。

(5)最终系统的软件元素结构图。

1.物理过程

过程是DFD中的主要的形状,有时人们也把DFD叫做过程模型。物理DFD描述了逻辑过程的具体实现方式。物理过程就是要执行的特定工作的技术性实现。

在系统的需求分析阶段中,说明了实现基本业务需求所要求的逻辑过程,逻辑过程使用逻辑数据流建模。在对整个系统进行架构时要使用的是物理DFD。

一般逻辑过程经常被分配到特定的物理处理器上。如PC机、服务器、人、大型主机或计算机网络中的其他设备。每个逻辑过程必须通过一个或多个物理过程来实现。值得注意的是有些逻辑过程必须分解成多个物理过程。主要是因为过程要分解成由人执行的部分和由计算机执行的部分、过程要分解成使用一种技术实现的部分和使用另一种技术实现的部分。

2.物理数据流

在任何一个DFD中的所有过程都必须至少拥有一个输入数据注和一个输出流。物理数据流主要是用来表示以下内容:①一个物理过程的输出和输出的实现;②一个数据库的命令,如创建,修改和删除操作;③通过网络从一个信息系统输入数据;④同一个程序中的两个模块之间的数据流。

3.物理外部代理

外部从逻辑DFD中可以直接地转到物理DFD中。

4.物理存储

物理数据存储是实现了逻辑数据存储。物理数据存储表达了如下内容:①数据库中的表;②数据库;③计算机文件;④数据的介质备份。

6.2.2 信息技术架构

信息技术的架构是一个很复杂的课题,分布式系统就是一种典型的信息技术架构。在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型。在操作系统之上有一层软件中间件(Middleware)负责实现这个模型。一个著名的分布式系统的例子是万维网(World Wide Web),在万维网中,所有的一切看起来就好像是一个文档(Web页面)一样。

在计算机网络中,这种统一性、模型以及其中的软件都不存在。用户看到的是实际的机器,计算机网络并没有使这些机器看起来是统一的。如果这些机器有不同的硬件或者不同的操作系统,那么,这些差异对于用户来说都是完全可见的。如果一个用户希望在一台远程机器上运行一个程序,那么,他必须登录到远程机器上,然后在那台机器上运行该程序。

分布式系统和计算机网络系统的共同点是多数分布式系统是建立在计算机网络之上的,所以分布式系统与计算机网络在物理结构上是基本相同的。它们的区别在于分布式操作系统的设计思想和网络操作系统是不同的,这决定了它们在结构、工作方式和功能上也不同。网络操作系统要求网络用户在使用网络资源时首先必须了解网络资源,网络用户必须知道网络中各个计算机的功能与配置、软件资源、网络文件结构等情况,在网络中如果用户要读一个共享文件时,用户必须知道这个文件放在哪一台计算机的哪一个目录下;分布式操作系统是以全局方式管理系统资源的,它可以为用户任意调度网络资源,并且调度过程是“透明”的。当用户提交一个作业时,分布式操作系统能够根据需要在系统中选择最合适的处理器,将用户的作业提交到该处理程序,在处理器完成作业后,将结果传给用户。在这个过程中,用户并不会意识到有多个处理器的存在,这个系统就像是一个处理器一样。

6.2.3 信息系统的开发模式与环境选择

企业在设计信息系统的实现方案时,首先应考虑信息系统开发模式,然后考虑开发方法,接着是确定开发环境,选用合适的开发工具。由于开发方法和工具我们将在下一节作详细的比较与分析,因而本节我们只对开发模式和开发环境做一些简单的比较。

1.C/S模式与B/S模式

近年来,随着计算机技术与网络技术突飞猛进的发展,信息系统开发模式正经历着巨大的革新。综观整个信息系统平台的发展过程,共产生了四种模式:主机终端模式、文件服务器模式、客户机/服务器模式(C/S模式)、浏览器/服务器模式(B/S模式)。

(1)客户机/服务器(C/S)模式

C/S(Client/Server)模式是20世纪80年代逐渐成长起来的一种模式,在这种结构中,网络中的计算机分成为两个有机联系起来的部分:客户机和服务器,如图6-1所示。客户机由功能一般的微机来担任,它可以使用服务器中的资源。对于用户的请求,如果客户机能够满足就直接给出结果,反之则需要交给服务器来处理,例如调用存放在服务器上的公用数据等,服务器对这些数据进行一些客户看不见的处理后发还给客户。因此该模式可以合理均衡事务的处理,充分保证数据的完整性和一致性。

客户方应用软件一般包括用户界面、本地数据库等。当用户调用服务器资源时,客户机将请求传送给服务器,并根据服务器回送的处理结果进行分析,然后显示给用户。

img68

图6-1 C/S模式结构图

但随着Internet技术的发展,以及企业对信息系统的总体拥有成本(这里的总体拥有成本,是指不但考虑开发成本,还要考虑维护和升级成本;不但要考虑硬件成本,还要考虑软件成本)的考虑,这种模式逐渐暴露出许多问题,如:

① 开发成本较高,C/S结构对客户端软硬件要求较高;尤其是软件的不断升级,对硬件要求不断提高,增加了整个系统的成本。

② 移植困难,不同开发工具开发的应用程序,一般来说互不兼容,很难移植到其他平台上运行。

③ 不同客户机安装不同的子系统软件,用户界面风格不一,使用繁杂,不利于推广使用。

④ 由于每个客户机都安装了相应的应用程序,所以维护复杂,升级麻烦,比如升级,则每个客户机的软件都要更新。也正是由于每个客户机都安装了相应的应用程序,所以该模式又叫“胖客户机/瘦服务器模式”。

(2)浏览器/服务器(B/S)模式

随着Internet席卷全球,以Web技术为基础的B/S(Browser/Server)模式正日益显现其先进性,当今很多基于大型数据库的信息系统正在采用这种全新的技术模式。

B/S模式由浏览器、Web服务器、数据库服务器三个层次组成。在这种模式下,客户端使用一个通用的浏览器,代替了形形色色的各种应用软件,用户的所有操作都是通过浏览器进行的。该结构的核心部分是Web服务器,它负责接受远程(或本地)的HTTP查询请求,然后根据查询的条件到数据库服务器获取相关数据,再将结果翻译成HTML和各种页面描述语言,传回提出查询请求的浏览器。同样,浏览器也会将更改、删除、新增数据记录的请求申请至Web服务器,由后者与数据库联系完成这些工作。其结构如图6-2所示。

img69

图6-2 B/S模式结构图

B/S模式具有以下优点:

① 使用简单。由于用户使用单一的Browser软件,基本上无需培训即可使用。

② 易于维护。由于应用程序都放在Web服务器,软件的开发、升级与维护只在服务器端进行,减轻了开发与维护的工作量。

③ 保护企业的投资。B/S模式采用标准的TCP/IP、HTTP协议,可以与企业现有网络很好地结合。

④ 对客户端硬件要求低。客户机只需安装一种Web浏览器软件;也正因为此,所以该模式又叫“瘦客户机/胖服务器模式”。

⑤ 信息资源共享程度高。由于Intranet的建立,Intranet上的用户可方便地访问系统外资源,Intranet外用户也可有条件地访问Intranet内资源。

⑥ 扩展性好。B/S模式可直接连入Internet,具有良好的扩展性。

(3)B/S与C/S的混合模式

我们还可以将上述两种模式的优势结合起来,形成B/S与C/S的混合模式,如图6-3所示。对于面向大量用户操作的模块采用三层B/S模式,在用户端计算机上安装运行浏览器软件,基础数据集中放在较高性能的数据库服务器上,中间建立一个Web服务器作为数据服务器与客户机浏览器交互的连接通道。而对于在系统模块安全性要求高,交互性强、处理数据量大、数据查询灵活的地点则使用C/S模式,这样能充分发挥各自的长处,开发出安全可靠、灵活方便、效率高的信息系统。

2.NET架构与J2EE架构

在IT领域,Web技术蓬勃发展。Web的优越性使得信息系统的开发越来越依靠Web技术,系统开发建立在特定的面向Web的开发平台。目前流行着一些系统开发环境,其中以微软的,.Net开发框架和SUN的Java2平台企业版(J2EE)最为常用。

图6-3 B/S与C/S的混合模式结构图

(1)Net开发框架

2000年6月,微软公司推出了“Microsoft.NET下一代互联网软件和服务战略”,引起IT行业的广泛关注。Microsoft.NET战略基于一组开放的互联网协议,推出了一系列的产品、技术和服务。Microsoft.NET开发框架如图6-4所示。.NET开发框架的几个主要组成部分:通用语言运行时以及它所提供的一组基础类库是整个开发框架的基础;在开发技术方面,.NET提供了全新的数据库访问技术ADO.NET,以及网络应用开发技术ASP.NET和WindowS编程技术WinForms;.NET还提供了VB、VC++、C#、Jscript等多种语言支持;而Visual Studio.NET则是全面支持.NET的开发工具。传统的基于Windows的应用(WinForms)也在Microsoft.NET架构中。在Microsoft.NET中开发传统的基于Windows的应用程序时,除了可以利用现有的技术例如ActiveX控件和丰富的Windows接口外,还可以基于通用语言运行时开发,可以使用ADO.NET、网络服务等。

图6-4 Microsoft.NET开发框架

Visual Studio.NET和.NET开发框架紧密结合。Visual Studio.NET通过提供一个统一的集成开发环境及工具,大大提高了开发者的效率,集成了多种语言支持,简化了服务器端的开发,提供了高效地创建和使用网络服务的方法等。

(2)J2EE架构

J2EE(Java2 Enterprise Edition,即Java平台企业版)是SUN公司所定义的,基于Java技术的一整套企业应用开发标准和规范以及同硬件无关的运行时环境。J2EE能够为开发的产品带来显著的可移植性、可伸缩性、稳定性、安全和可管理性。SUN公司的J2EE平台已经成为使用非常广泛的Web程序设计技术。

J2EE设计的目的是将企业计算应用领域中不变的东西先定义好,比如整体结构和一些主要职责(如数据库操作、事务跟踪和安全等),而剩余的变化的东西,即针对这个领域中具体应用所产生的不同的变化需求,就是J2EE程序员所要做的。采用J2EE之后,系统开发人员可以集中精力撰写符合企业应用的商业逻辑的程序,而系统层面的问题等都可以由支持J2EE架构的服务器自动完成。J2EE架构如图6-5所示。

img72

图6-5 J2EE架构

J2EE为多层Web应用系统提供了容器平台。在这里,容器概念实际是指应用服务器提供的特定功能的软件模块,用户所开发的程序构件要在容器内运行,构件和容器的关系有些像计算机插件和主板的关系。程序构件在部署时被安装在容器里,容器是能提供基本功能的底层平台,它们之间通过接口进行通信。一般Web程序开发者只要开发出满足其需要的程序构件并能安装在容器中就够了,程序构件的安装过程包括设置各个构件在J2EE应用服务器中的参数以及设置J2EE应用服务器本身。这些设置决定了在底层由J2EE服务器提供的多种服务(譬如安全、事务管理和远程调用等)。

J2EE各种不同的应用构件(如Servlet、JSP、EJB),他们构成了应用的主体。J2EE平台提供的应用服务(如IDBC、JTA、JNDD),这些服务保证并促进了构件的良好运行。J2EE的主要通信技术(如RMI、JMS、JavaMail)在平台底层实现机器和程序之间的信息传递。

(3).NET与J2EE的比较

NET或J2EE构造Web服务时有各自的优势,可以根据需求权衡使用。Microsoft. NET从历史上看主要占据PC桌面领域,其目标定位是小型企业,家庭办公和企业桌面用户,但是在其平台上,高水平的开发人员从人数来说还不够多。

J2EE平台建立在基于命令行的UNIX基础之上,其定位是开发人员,而且在大型企业系统市场有强大的用户基础。此外,它还实现了真正的跨平台兼容性。但是,由于J2EE是基于标准的平台,而且是由各阶段产业参与者共同发展的结果,所以这也意味着这种技术的深化和精炼需要时间。表6-1列出了两种框架的详细比较。

表6-1 NET与J2EE详细比较

总而言之,在已经使用了微软技术的场合不妨采用.NET技术构造Web服务,而且可以利用Web服务创建特定的Windows客户应用程序。如果构造和发布大型企业的Web服务,在服务器端汇集Web服务,创建客户应用程序消费Web服务,以及需要平台无关性的场合则可以考虑采用J2EE。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈