体系结构与开发平台选择

作者&投稿:褒春 (若有异议请与网页底部的电邮联系)
软件的系统架构和开发平台都有哪些?具体都有哪几种呢?~

一、软件的系统架构
(一)、分层架构
分层架构(layered architecture)是最常见的软件架构,也是事实上的标准架构。如果你不知道要用什么架构,那就用它。
这种架构将软件分成若干个水平层,每一层都有清晰的角色和分工,不需要知道其他层的细节。层与层之间通过接口通信。
虽然没有明确约定,软件一定要分成多少层,但是四层的结构最常见。
表现层(presentation):用户界面,负责视觉和用户互动
业务层(business):实现业务逻辑
持久层(persistence):提供数据,SQL 语句就放在这一层
数据库(database) :保存数据
有的软件在逻辑层和持久层之间,加了一个服务层(service),提供不同业务逻辑需要的一些通用接口。
用户的请求将依次通过这四层的处理,不能跳过其中任何一层。
(二)事件驱动架构
事件(event)是状态发生变化时,软件发出的通知。
事件驱动架构(event-driven architecture)就是通过事件进行通信的软件架构。它分成四个部分。
事件队列(event queue):接收事件的入口
分发器(event mediator):将不同的事件分发到不同的业务逻辑单元
事件通道(event channel):分发器与处理器之间的联系渠道
事件处理器(event processor):实现业务逻辑,处理完成后会发出事件,触发下一步操作
对于简单的项目,事件队列、分发器和事件通道,可以合为一体,整个软件就分成事件代理和事件处理器两部分。
(三)微核架构
微核架构(microkernel architecture)又称为"插件架构"(plug-in architecture),指的是软件的内核相对较小,主要功能和业务逻辑都通过插件实现。
内核(core)通常只包含系统运行的最小功能。插件则是互相独立的,插件之间的通信,应该减少到最低,避免出现互相依赖的问题。
(四)、微服务架构
微服务架构(microservices architecture)是服务导向架构(service-oriented architecture,缩写 SOA)的升级。
每一个服务就是一个独立的部署单元(separately deployed unit)。这些单元都是分布式的,互相解耦,通过远程通信协议(比如REST、SOAP)联系。
(五)、云架构
云结构(cloud architecture)主要解决扩展性和并发的问题,是最容易扩展的架构。
它的高扩展性,主要原因是没使用中央数据库,而是把数据都复制到内存中,变成可复制的内存数据单元。然后,业务处理能力封装成一个个处理单元(prcessing unit)。访问量增加,就新建处理单元;访问量减少,就关闭处理单元。由于没有中央数据库,所以扩展性的最大瓶颈消失了。由于每个处理单元的数据都在内存里,最好要进行数据持久化。
这个模式主要分成两部分:处理单元(processing unit)和虚拟中间件(virtualized middleware)。
处理单元:实现业务逻辑
虚拟中间件:负责通信、保持sessions、数据复制、分布式处理、处理单元的部署。
二、开发平台
ERP平台、金融电商平台、小程序平台、网站平台、bpm平台、低代码开发平台等等;厂家有天翎、顶点、天纵、清流、K2等开发语言有区分:dephp、java。net等;
三、如何选择合适的开发平台?平台的选型,无非是从客户业务需求的角度,以及对应的品牌形象和案例沉淀几个角度去选择;建议可以开箱即用,多试用几次,就找到适合的产品,通俗的说,就是货比三家。管理顾问,每天成长一点点,努力成就自己的优秀。

遥感地质填图,离不开遥感图像处理和矢量数据库管理与空间分析,如何将二者有机地结合起来,选择相互适宜的GIS软件和图像处理软件平台是集成系统成败的关键问题之一。
本项目选定ARC/INFO 8.0和ERDAS 8.4分别作为GIS和图像处理软件平台,其优势在于:
(1)ARC/INFO和ERDAS分别是GIS和图像处理领域中经典的专业软件,技术先进、功能完备、系统稳定。
(2)美国 ESRI公司和 ERDAS 公司是合作伙伴关系,数据共享十分方便。ARC/INFO系统中可以直接使用 ERDAS 的 IMG 格式影像文件;ERDAS 系统中也可以显示、编辑ARC/INFO的 Coverage矢量文件及其属性表。这种良好的数据交换方式,是其他任何 GIS和图像处理软件不能实现的。

图3-1 系统结构


图3-2 四大功能模块

(3)两家软件公司实力很强,ARC/INFO和ERDAS产品在世界GIS和图像处理软件市场份额排名领先。系统更新升级及时,因此定制的应用系统生存期和扩展性可以得到有效保障。
(4)两个产品已经或将要推出 COM组件的开发环境和基于RDBMS的数据管理体系结构,这对应用系统的可用性和产品化提供了良好的发展前景。虽然两个产品仍存在着一些数据管理、互操作之间的不便,但相对于其他软件在这方面的能力和应用的发展角度而言,目前选择ARC/INFO和 ERDAS是比较恰当的。其集成系统开发方案如图3-3。

原型系统架构分硬件架构、软件架构和部署方式3个方面。硬件部分描述了系统在部署的时候会涉及的服务器角色、不同角色之间的关联关系和网络连接方式;软件架构描述了系统各软件组件之间的层次关系;部署方式说明系统在不同用户环境下的配置形式。

5.2.5.1 硬件体系结构

按照原型系统的功能要求,根据数据处理流程,从多种数据源输入开始,到数据存储和处理,再到面向最终用户的不同形式展现,分来源/控制、存储/处理,以及运算/发布3个层次来设计系统硬件体系结构。硬件体系结构的设计需要根据系统对多数据源、多种数据处理方式、多种展现方式和多用户等功能要求,将不同的功能模块独立部署于不同的硬件平台,以满足系统的多种功能要求,支持负载均衡控制,提高系统的可扩展性(左美云等,2006)。系统的硬件体系结构见图5.24。

图5.24 系统硬件体系结构

(1)第一层次:来源/控制

系统的数据来源有Internet自动抓取、人工输入、模型运算输入等。数据下载服务器(Data Download Server)负责从Internet自动抓取数据,其中抓取的数据类型包括不同网站来源的石油价格数据以及影响石油价格的事件等;模型运算服务器(Model Server)负责模型的运算执行,并生成模型运算的结果数据。数据下载和模型运算的数据将存储到中心数据库服务器(Center Database Server)中,由中心数据库来完成数据归一、合并、错误数据检测等任务。

(2)第二层次:存储/处理

第二层次包含的中心数据库是整个系统的核心。通过设置中心数据服务器,完成存储在中心数据库中的数据增加、修正、计算、展现等任务。中心数据库除了由第一层次的数据下载服务器和模型运算服务器获取数据之外,还需要提供数据的人工输入,并为模型运算服务器提供中间数据接口任务。

除此之外,考虑到数据量规模,中心数据库服务器可以兼备数据仓库服务器(Data Warehouse Server)的角色。中心数据库服务器对数据仓库数据的生成、转换进行控制,提供具有星型架构的多维数据源。

(3)第三层次:发布/展现

第三层次负责完成对中心数据库中的数据进行提取,按照不同的应用进行展现。第三层次包括GIS展现服务器(GIS Server)、数据发布服务器(Data Deployment Server)等,这些服务器由独立的W eb服务器(Web Server)向网络用户提供单一的用户访问接口。GIS展现服务器负责对系统的GIS展现部分提供支持,包括国家风险、运输风险等。数据发布服务器则包含了所有二次开发的系统数据处理内容,包括各个风险模块中的指标体系定义和评价、基本数据的维护和展现等。此外,第三层次还提供对系统中心数据库的多维数据的展现功能,提供数据的切片、旋转、上钻、下卷等多维操作,并可以对结果数据进行导出。

GIS展现服务器从中心数据库服务器处获得的数据包括展现对象的基本信息、风险值等;数据发布服务器从中心数据库服务器处获得的数据包括石油价格、汇率、影响油价的事件等,另外数据发布服务器还从数据仓库服务器(中心数据库服务器)读取多维数据源。

5.2.5.2 软件体系结构

在软件体系结构设计方面,通过对系统关于国家风险、运输风险、市场风险、需求风险和供应风险的功能需求进行分析,抽象出共性的功能,依照三层设计的原则进行系统软件体系结构的设计,如图5.25所示,包括数据层、中间层和用户层。

图5.25 系统软件体系结构

在系统的软件体系结构中,系统运行管理模块具有贯穿全局的作用,负责对系统各个层次功能的运行参数进行配置,控制系统的权限等(左美云等,2006)。此外,系统的主体可以划分为数据层、中间层和用户层3个相互作用的软件层次结构。

(1)数据层

系统的数据层以中心数据库为核心。图5.26展示了处于数据层中的中心数据库里面的相关数据信息类别。可见,中心数据库是整个系统的基础,提供了所有数据的存储空间。在中心数据库层和程序代码之间设置了数据访问中间层,用来抽象程序对数据库的访问,提供统一的数据访问接口,提高程序代码对数据库平台的独立性。

图5.26 中心数据库内容

(2)中间层

系统的中间层包括数据抓起模块、图库管理模块、指标管理模块、模型运算模块和基础信息维护模块。

数据抓取模块负责对Internet数据进行抓取和更新。数据抓取模块自动连接不同的数据源网站,将网站上的数据经过下载、转换和过滤等处理,更新到中心数据库中,其中还要求留有处理各个阶段的详细日志。在数据抓取到本地的中心数据库之后,多个数据源的数据需要合并到一起,向数据使用者提供单一的数据出口。

图库管理模块为系统中国家、港口等模块中涉及的图片进行集中管理,完成图片的更新控制等。

指标管理模块将多个功能中所包含的指标归类形成一个共享模块。指标管理模块主要包括评价对象定义、评价指标维护、评价方法审核、评价值录入、评价指标存储、评价指标体系展现等功能。指标管理模块按照树形方式提供评价指标的定义功能,并可以提供按照时间版本进行管理的历史评价指标,同时为展现模块提供指标的查询和显示接口。

模型运算模块主要处理系统要求的数据计算模型,模型数据来源和数据输出需要经过数据访问中间层连接到中心数据库。在这个过程中,模型运算模块调用数据处理模块获得数据输入,并将模型运算结果依据模型本身的要求输入到中心数据库中。如油价预测模型以及石油市场风险预测模型就是模型运算模块中非常重要的组成部分。油价预测模型读取数据抓取模块获得的原始油价数据,在客户端进行计算预测,并显示预测结果;石油市场风险预测模型读取进行结构转换后的中间油价数据,接受用户输入的参数,计算并输出结果和报告。模型运算模块需要定义统一的模型结构,为多单位联合开发提供一致的接口,便于集成。

基础信息维护模块主要负责完成系统内实体对象相关属性信息的修改维护功能,主要包括国家、港口和航线等对象。

(3)用户层

用户层负责用户和系统接口的交互,包括GIS、价格数据、数据仓库、指标等多种展现形式完成交互。GIS展现和指标展现是最终用户界面的主要显示内容,主要功能包括多个风险的GIS展现、风险对象详细信息的查询显示和风险评价指标的显示等以及模型运输结果的展示等;价格展现模块则主要提供石油价格数据和影响油价事件的查询显示和导出;数据仓库展现模块从数据仓库读入数据,按照用户的要求进行国际石油价格的多维展现,包括价格按照市场、油品、价格类型和时间等多个维度的分析。

5.2.5.3 系统部署方式

在海外油气资源利用的风险管理系统中,系统的用户分为普通用户和管理员用户,这些用户的分布位置分散,特别是最终用户,包括了不同单位、不同地理位置,以及不同的访问终端等。为了最大程度地提高系统的灵活性和兼容性,在部署上主要采取了B/S(浏览器/服务器)的结构形式,以降低系统对客户端的要求,提高系统的可维护性。考虑到部分功能模块的特殊需求,采用了C/S(客户机/服务器)结构,这些主要是数据抓取和部分需要独立运行的模型程序。

5.2.5.4 开发平台选择

开发平台采取具有较高开发效率的.net平台为主体。Microsoft.net是一种全新的运算平台,其核心内容之一就是要搭建第三代互联网平台,以最大限度保护用户的现有投资和适应未来发展的需要。Microsoft为促进.net应用程序的开发而推出的Visual Studio.net集成开发环境中包含了许多强大的工具,并且支持多种编程语言,如 C#,Visual Basic.net,ASP.net等,这些编程语言可以实现代码级的无缝链接。

整个开发平台的选型如下:

1)服务器操作系统:Microsoft Windows Server 2003;

2)数据库管理系统:Microsoft SQL Server 2008;

3)内容管理系统:Microsoft Sharepoint Service 3.0,Microsoft Office Sharepoint Design 2007;

4)工作站操作系统:IE/FireFox/Opera等主流浏览器,Windows/Linux平台;

5)应用系统开发环境:Microsoft Visual Studio 2008;

6)应用系统开发语言:C#,ASP.NET,VB.net,框架为.net Framework 2.0;

7)GIS开发软件:MapInfo MapXtreme 2008;

8)数据仓库软件:QlikTech QlikView 9.0。




请问“系统”和“平台”有什么区别?
1、含义上的区别:系统是专门为做一件事或一类事而开发的一套系统,平台本身不做事,只是为其他做事的人或设备或系统提供一个平台,也就是说平台是基础,在这个基础上可以搭载一套或多套系统。2、功能上的区别 系统是由若干要素(部分)组成的。这些要素可能是一些个体、元件、零件,也可能其本身就是...

低代码开发平台有什么特点
低代码开发平台是一种使用少量的代码就可以快速搭建应用系统的开发平台。低代码平台的特点: 1.降低了开发门槛:低代码开发平台是用少量、简单的代码就可以快速生成应用程序的开发平台。2、提高开发效率:低代码开发平台还能通过模块化,可视化,拖拽等方式减少了开发过程中冗繁的代码编写,大大缩短了系统开发...

并联机器人视觉分拣开发平台的驱动结构和特点
并联机器人视觉分拣开发平台的驱动结构和特点如下:1、驱动结构:在并联机器人视觉分拣开发平台中,驱动结构通常采用伺服电机或步进电机驱动,并且按照实际应用需要与自动控制系统、视觉识别系统相结合,通过软件编程控制平台运行。并联机器人具有多个关节,每个关节都需要一个独立的驱动系统进行控制,能够实现各项...

如何进行系统的架构设计
设计开发架构模型 开发架构模型图是给开发人员看的,开发架构模型指导开发人员如何来架构系统的开发环境。开发环境包括系统开发框架的选型、开发工具和编程语言、模块划分等内容。下图是人脉系统开发架构模型图。开发架构模型图给出了技术体系是B\/S结构,开发框架选择SSM,开发语言是JavaEE。系统采用三层结构,...

软件平台开发公司应该如何选择
产品的平台化、构件化程度高,可以配置性强,高端ERP整合了物流软件和商业智能软件。不过产品在上海的客户比较多,在别的地方不是很多,还需市场检验。5:仁和ERP 仁和ERP应该说是最这几年发展起来最大的黑马品牌,由于软件技术的飞速发展,仁和ERP主要采用JAVA高级语言开发,比其它老品牌采用C#、.net、...

低代码开发平台有什么特点?
在激烈的市场竞争中,谁可以用最快的速度将商业创意推出上线,谁就占据了竞争的主导地位,而低代码恰巧可以完成这一使命。2、维护成本低 一般情况下,低代码开发平台或0代码开发平台,由于采用组件形式,以及面向对象的开发方式,使得代码的结构化程度更高,通常来说更容易维护。低代码开发不仅减轻了软件...

无代码的开发平台和低代码开发平台有什么区别?
据相关数据显示,使用低代码的开发效率是传统方式的3~8倍。比如,低代码只需要1分钟即可实现一个工作流。2.零代码,或称无代码,是一种完全不需要任何代码编程的开发方式。它主要围绕企业数据和业务管理需求,通过可视化方式设计数据结构,实现用户交互形式、设置访问权限和定义工作流程的平台。二、面向用户...

什么是android系统,android的发展以及android的平台架构和特性
10. 丰富的开发环境包括设备模拟器、调试工具、内存及性能分析图表和Eclipse集成的开发环境插件。Google提供了Android开发包SDK,其中包含了大量的类库和开发工具,并且针对Eclipse的可视化开发插件ADT。二、Android平台架构 从上图我们可以看出,Android操作系统的体系结构可分为4层,由上到下依次是应用程序、...

系统体系结构的信息系统体系结构
随着信息系统规模不断扩大、复杂程度日益提高,体系结构模式对信息系统性能的影响越来越大不同功能的信息系统对体系结构模式有不同的要求,各种体系结构模式的信息系统在开发和应用过程中也有很大的区别。选择和设计合理的体系结构模式甚至比算法设计和数据结构设计更重要。 单用户体系结构单用户信息系统是早期最简单的信息系...

低代码平台将如何改变软件开发?
当谈到低代码开发时,软件开发人员有错误的想法。由于低代码的可视化、拖放式编程方法,它经常被与商业用户或公民开发人员相关联。而这种声誉导致让许多开发人员怀疑是否将其引入工作流程,但随着企业加速数字化转型,他们可能别无选择。根据相关数据显示,低码平台正迅速成为许多组织的标准。以下介绍22个低代码解决方案,它们是...

尧都区17658739155: 理解开发环境和体系架构之间的区别 -
冉枯化瘀: 开发环境包含开发平台、硬件设施(电脑及其配置)、操作系统以及与之相关的软件.而开发平台只是单纯的软件的编写程序,比如windows vs2003 满意请采纳

尧都区17658739155: 什么是嵌入式软件开发 -
冉枯化瘀: 随着嵌入式软件系统结构越来越复杂,嵌入式软件的开发已成为复杂的系统工程.早期的嵌入式系统中,软件与硬件密不可分浑然一体,开发者多是电子工程、自动控制等领域的工程师,软件基本上都是用汇编语言实现.随着软硬件技术的发展...

尧都区17658739155: OA办公系统平台应具备哪些特性 -
冉枯化瘀: OA办公系统平台8Manage OA具备的特性有: 1、具备可控性 信息化所带来的优势不仅仅在于提升效率,更在于它能够帮助管理者洞察到企业管理中的黑洞.在企业中,制度、流程等就好比是企业运营的血脉,其IT化的过程中涉及到许多细节...

尧都区17658739155: 我的电脑是64位CPU,安XP64bit Edition与XP2应该选择哪个? -
冉枯化瘀: Windows XP Professional x64 Edition 对于一般用户,肯定会考虑,既然现有32位版本的Windows还用的很好,干嘛要升级到64位呢,而且因为32位和64位的硬件(主...

尧都区17658739155: 学习嵌入式开发必须要精通哪些知识. -
冉枯化瘀: 嵌入式开发必须要精通哪些知识?---- 精通?会,就不错了.会根据客户需求,设计出硬件系统(单片机、ARM等).会根据硬件系统,对软件系统(Linux 或 uC/OSII)进行裁减.会根据客户需求和硬件电路,设计出应用软件(JAVA、C 或汇编).会把应用软件组装到系统软件之中,并下载到目标系统,进行调试.

尧都区17658739155: J2EE、.net各自的体系结构、特点和适用环境是什么? -
冉枯化瘀: J2EE(Java 2 Enterprise Edition)针对企业网应用 两者体系结构非常相似,都在操作系统层上面加了一层中间层,也就是运行环境.这样就可以实现所谓跨平台,只要在各平台上安装其运行环境就可以了,具体说java就是java虚拟机,而.net就是...

尧都区17658739155: 怎么搞JAVA C/S模式的系统? -
冉枯化瘀: C/S结构,即Client/Server(客户机/服务器)结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势. B/S结构,即Browser/Server(浏览器/服务器)结构...

尧都区17658739155: 怎么搞JAVA C/S模式的系统?麻烦告诉我 -
冉枯化瘀: B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构.在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,...

尧都区17658739155: 软件体系结构有哪些? -
冉枯化瘀: bs结构,cs结构,大类主要分这两类,.net是软件的开发环境和平台,不是软件体系结构.

尧都区17658739155: 建立完善的企业电子商务系统电子商务系统整体规划,以及怎么建设一个
冉枯化瘀: 电子商务系统包含以下几个方面: 1)网站 2)企业内部信息系统 前台网站和后台企... 确定体系结构 可行性论证 系统需求分析 技术方案选择 系统结构确认 应用软件开发 ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网