随笔-2  评论-0  文章-12  trackbacks-0
  2008年7月2日

 

        通过这次大作业,让我更深刻的理解了SOA体系结构,并且理解了上课时听不明白的抽象名词。
本系统针对一个大型中学,该中学的班级构成,包括有高中部、初中部、实验班等多层级多班级的结构,且高中高年级按科目分班。教师按所教科目归属个教研组,并根据层级不同,赋予相应的权利和义务,兼任行政职务的教师在教研组内仅享“零行政权力”,负责宿舍管理的教师直接对学生形成垂直管理和交流,与各班主任保持平行联络和交流。对于家长,系统应当提供足够多的信息服务和作为交流平台的功能,保持关注学习状态和心理状态的联络。通过这个系统的设计,也培养了我们的团队合作能力,也让我们把课本的的知识用语实践。
        在设计的过程中,我们队也遇到分歧,但大家在发表自己的意见的同时也积极听取别人的意见,最终我们还是达成共识,总结出最佳方案。比如说,我们在讨论表示层时,刚开始没打算把所有模块都用浏览器显示,但为了简单,最终达成共识,统一用浏览器做表示层。
总之,通过这次合作,我们培养了团队精神,学会了交流和向别人学习。同时,也提高了自己设计文档的技能。
posted @ 2008-07-02 17:02 SOA设计 阅读(107) | 评论 (0)编辑 收藏
  2008年7月1日
 

终于完成了,感谢精诚合作的同志们。

最近重看书本上有关SOA的章节,每次都有新的感觉,好像不是那么难懂了。除了老师给出的范例,我们在图书馆下载了大量的论文,相关的设计领域包括了典型企业、城市GIS综合平台、旅游资源信息服务、校园信息系统等,通过对实例的学习,更直观而具体地感受到了SOA的方方面面。“服务”、“web封装”、“松散耦合”、“业务流程”等等的关键词,不再单纯的理论名词,而是可以给出更直观的实例和平行应用领域的对比说明。

SOA是一种架构模型,“服务”是SOA的核心,我觉得这种以人为本的精神在现在这一消费时代是强有力的竞争力,得到客户的拥护才有发展的前景,SOA体现的正是这种理念。SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成,从而降低开发成本,提高开发效率。从这一角度看,对于开发者SOA也是一种更有经济价值的开发方式。恰当合理的SOA建设会是一个在起点上就能促进双赢的推手。

在大量的阅读和学习之后,我们初步决定设计一个学校的信息系统。提出这一想法首先是基于生活经验,虽然SOA可以应用于很多领域和层级,但是对我们来说,对于学校生活有更深刻的理解和发言权;第二,我们发现,针对高校已经有了想当广泛的研究并且我们认为现有的高校系统已经相当的成熟,于是我们试图针对一个大型中学进行设计。决定之后,我们查阅了更多的资料,并决定了主要的服务功能,并进行了分工。我主要完成总体框架的设计,这一框架主要是系统的层次分级和各层次功能及服务的说明。最终选择使用现在的表示层、业务流程层、核心服务层、组建层的四层结构,使用这一结构是为了更好的表现各层的服务功能表示,但缺乏各层的接口连接说明是一个较大的缺点。

最终的设计还是较为粗糙的,由于缺乏更系统的学习,且时间的确有限,最终的结果也不是令人十分满意。但是,过程中的收获或许更有价值,新知识的学习和把握运用、团队合作和支持……对于我们自身来说是很好的体验。

posted @ 2008-07-01 01:28 SOA设计 阅读(235) | 评论 (0)编辑 收藏
 

 

在搜集关于SOA的资料中,逐步深入了SOA系统的概念,特点,作用,以及这个系统的应用领域。通过对很多资料的层层筛选和集中归纳有人让体会到资料的搜集过程也是很繁琐的,需要不断的选择,合成和总结。

SOAservice-oriented architecture,也叫面向服务的体系结构面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

对于建立这个系统,团队作用是很重要的。大家各司其职,各挥其长才能很好的完成这个系统。

posted @ 2008-07-01 00:42 SOA设计 阅读(156) | 评论 (0)编辑 收藏
  2008年6月30日

       这次项目,我的工作是负责总体规划和博客管理以及在详细设计中的画图。总体规划的工作的最大难点是在决策上,也就是根据自己队员的各种能力分配他们的工作 ,例如编程动手能力强的,搜索资料能力强的,表达能力强的等等,要分清楚他们在项目中该处什么位置才能发挥他们的才能使项目有效顺利的完成。
   
        项目里要求队员们最重要的一的点是:要有团队的概念。一个大型而且成功的项目向来都是一个小组完成的,而且小组里的队员都互相熟悉的,通过调配资源使得小组在最短的时间内完成出最好的设计来。
   
       具体的,由于以前有负责项目的经验,例如品牌策划活动等,所以由我来做总体规划的工作。首先在我确定了队员以后,我就以每位队员的不同能力分工作;因为我一直有写博客的习惯,所以博客的建立和管理这方面就由我来负责,其他组员再各自分工,完成资料搜索和整理实现设计。这次我们做的是基于SOA的校园信息系统,我就把系统功能划分为3大部分分别归属于学生、老师和学生家长;按照我们的设计,我依据组员各自的能力不同进行了分工,包括详细设计和资料搜索。

       在我们具体做的时候,由于我们是第一次合作,而且队里有很多人都是第一次经历多人合作完成一个项目,所以我经常要把大局放到首位,因为总体规划在我那,我要把分工明确了,当发生意见不一的时候,一定要站出来客观分析对大局的利弊,并且每时每刻让队里所有人都有团体的概念;因为每时每刻我都清楚团队精神是我们这个项目做成功的关键。

        在开发完成这个系统的过程中,软件工程的概念已经深深地刻到我的脑海里。还有就是结合我们现在学习的课程《软件系统结构》懂得一个系统的真正完成并不是我们单单地编写代码,而是要结合软件工程思想和体系结构理论来规划与实现,只有经过后者系统才能完善按预期实现。

        现在感觉到规划一个这样的项目只有单纯的理论基础是不够的,对待每时每刻都有可能发生的异常情况要懂得如何应变也是非常重要的。

        通过这次设计,进一步的感受到了团队合作如何才能最好的发挥出团队的最好水平,如何才能做好团队的管理工作

posted @ 2008-06-30 23:31 SOA设计 阅读(237) | 评论 (0)编辑 收藏
 

基于SOA的校园信息系统研究初探

1 引言

在信息技术高速发展的今天,信息化管理成为很多企业单位的迫切要求。对于一个大型中学来说,在教学手段和教学层面逐步扩展的前提下,更加需要一个完善的数字化信息平台。这一平台应当面向学生、教师、家长等多种角色,并提供有差异性且有足够深度的相关服务和业务。

面向服务架构(Service Oriented Architecture SOA , )的设计目标是以服务为基础, 通过服务的交互来实现系统动态、松耦合集成, 极大地降低了复杂性与成本。数字化校园的业务服务面向大量复杂的数据,要求整合异质、异构信息资源, 而SOA正能为用户提供多样化、个性化的信息服务。

2 SOA简介

SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA提供了这样一种框架:一个系统上的软件可以安全而且可靠地提出请求并获得其他系统上的计算资源,而不再需要一台中央服务器来管理和控制整个端到端的网络。SOA从根本上突破了客户机/服务器模式。

SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。在面向服务(SOA – Service Oriented Architecture)的应用体系中,是实现以人为本的‘服务’的为核心的。网络技术的发展宗旨都是力求使得客户的到的服务 – 拥护体验User experience更方便的得到。

SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成,从而降低开发成本,提高开发效率。

 

背景

本系统针对一个大型中学,该中学的班级构成,包括有高中部、初中部、实验班等多层级多班级的结构,且高中高年级按科目分班。教师按所教科目归属个教研组,并根据层级不同,赋予相应的权利和义务,兼任行政职务的教师在教研组内仅享“零行政权力”,负责宿舍管理的教师直接对学生形成垂直管理和交流,与各班主任保持平行联络和交流。对于家长,系统应当提供足够多的信息服务和作为交流平台的功能,保持关注学习状态和心理状态的联络。

学校的信息管理系统涉及多角色多部门,内容覆盖面广,系统建设的目标是提供给学生、教师、家长等角色保证实时和安全的服务和后台管理人员的透明管理。另外,为应变不可预期的变化,应当保证系统的扩展功能。

在web服务的前提下,运用以服务为基础的SOA可以实现快速安全的信息传输和业务传送,通过服务的交互来实现系统动态、松耦合集成,可以有效地降低了复杂性与成本。

4 SOA 的体系结构

面向服务的体系架构中共有3 种角色, 它们分别是服务提供者、服务请求者和服务注册中心。其中服务提供者负责服务功能的具体实现, 并通过注册服务操作将其所提供的服务发布到服务注册中心, 当接收到服务请求者的服务请求时, 执行所请求的服务。服务请求者则是服务执行的发起者, 首先需要到服务注册中心中查找符合条件的服务,然后根据服务描述信息进行服务绑定ö调用, 以获得需要的功能。而服务注册中心则用来提供服务提供者注册服务、提供对服务的分类和查找功能, 以便服务请求者发现服务(见图1)

1 SOA 体系结构模型

服务建模

基于SOA的校园信息系统服务建模,其框架主要由系统管理员(在本系统中没有重点介绍)、学生、老师和学生家长4 部分组成。服务之间是通过登录和系统反馈,交流信息,发布信息 、查找信息 和共享信息 等接口和操作关联起来的。这些接口和操作建立在规范的描述语言之上,并且独立于特定的硬件平台、操作系统和编程语言,使得SOA 框架具有松散耦合、位置透明、协议独立等特点。本文根据SOA 的体系结构 ,提出了基于校园信息服务模型,如图二所示。该模型运行的主要过程分为2 个阶段。

图二 基于SOA的校园信息系统服务建模

  (1) 用户登录系统和系统反馈给用户相应的功能阶段。首先,学生、老师和学生家长均可以根据个人已有的账户密码对系统提出登录申请,系统经过审核通过后反馈给各用户对应于账户密码的功能,由此形成了系统与用户之间经过封装的接口模块、封装的粒度、资源的服务时间、安全级别及服务信息等。在该模块中经过给内部协商完成后,系统按照一定的规则将该系统资源信息进行封装并与系统资源服务的用户进行协商。然后,个服务用户通过对系统进行访问而获得相应的资源服务

(2) 用户对服务资源的使用阶段。首先,学生,老师或者学生家长通过向系统提交申请获得服务后可以在各自的平台上提出相应的资源使用的请求,系统接到请求后,交由各自对应的平台进行分析,并根据分析结果反馈给服务用户相应的功能。因为系统在设计过程中已经对应三个主要对象将系统功能或分为三大不同的模块,所以当系统服务器接到来自服务用户请求的时候只需要把相应的模块交由相应的服务用户,用户再可以对相应子模块进一步处理。(例如,当学生登录服务系统后对系统提出请要要查询某某学年的学习成绩或者选课情况,系统只需要将学生的功能模块反馈给学生,然后再由学生功能模块中的查询功能模块实现学生的查询请求,这其实就是一个父子模块调用的设计过程)。又由于在系统资源的使用过程中,各服务用户之间难免存在着各种各样的问题,因此,各在专有的模块之间又需要设计有一个可以让不同用户间实现相互的交流和协作的交流平台(例如学生可以通过交流平台对老师提出教学疑问,老师可以通过交流平台对学生的疑问作出相应的解答),从而使得系统资源得到充分的利用。

 5 集成框架

 基于SOA的原则和思想, 下面提出一种针对该系统的集成框架, 如图所示分应用层、业务流程层、 服务核心层和组件层四个层次。

                        

图三 基于SOA的校园信息系统集成框架

(1)表示层

负责处理校园信息化系统与校园内外用户的接口及相关的组件,涉及系统的各层级使用者。信息门户给用户提供了一个统一的但又个性化的界面, 为学生、教师、家长提供相应的入口和个性化系统服务信息。通过它可以访问系统的各种不同的服务, 同时可以为业务流程层提供授权认证权限、信息的传输。

(2)业务流程层

集成了各种业务规则和逻辑, 提供服务请求者统一权限认证和活动监控。这一层侧重在业务支持上, 通过通用和标准的对象和服务模型, 可以在这一层上定义各个服务的业务流程, 并能够灵活调用各个功能模块。

(3)服务核心层

该层主要负责将系统资源通过平台提供的web services接口封装为服务的形式发布到资源注册中心供用户使用,并对资源进行相应的维护、管理和定期清理刷新。包括通用的服务功能,如注册认证、授权管理、资源搜索、学习服务、宿舍管理、成绩管理、查询服务等。另外,为了适应未来对系统的升级和扩展需要增加了一个业务扩展功能。实际上这一层可以看成是一个Web Services 容器, 处于核心地位,还负责服务质量和安全管理功能, 保证安全的访问。

(4)组件层

这一层实现校园现有和正在开发系统的接口数据格式的统一、数据库和文件系统数据的统一,为面向服务的信息平台提供基础的资源和协议。包括平台所有的基础数据库和业务数据库,如注册信息存储等;以及原有的可用系统组件。

5              系统的集成

在做好整体规划后,可以从一个关键服务开始,实现独立的web服务,在进一步按照SOA的思路,实现逐步的整合,一步步完善系统平台。

基于SOA 的集成方法需要把所有不同的系统封装成web 服务。经过封装后的应用系统可以在注册服务中心发布,实现Web服务的映射并进行管理。可以使用相关的资源封装模板进行封装,根据模板提供的组件和接口完成数据到业务的映射和封装,实现资源发布。针对学校可能存在部分旧系统的情况,根据不同的性质进行新的集成和修改实现封装。同时,对于数据库进行整合和清理,保证数据来源的有效性和一致性。

6   结束语

   SOA 为校园信息系统应用集成提供了理想的集成框架, 在应用层通过Web Service 实现松散的应用集成, 能够满足各种信息集成要求, 体现了松散耦合、位置透明、协议独立的特点, 能够支持随需应变的动态业务需求,很好地解决了传统校园信息应用系统集成存在的问题。上层设置服务总线利用面向消息的中间件技术实现服务的路由、编排、安全管理、事务管理等功能, 将面向应用的集成转到面向服务的集成。这就意味着在不用对现有的企业系统作修改的前提下, 系统可对外提供Web服务接口, 为学校管理学生老师和学生家长三方都能取得良好的效果。总之, SOA简化了IT 的计算环境, 其兼容性、互通性以及最终实现的商务自主的能力, 满足了高度动态的学习环境。

参考文献

[1]白鹤,赵静,新一代企业管理信息系统的SOA集成设计,

[2]冯建文,基于SOA的校园信息系统集成研究, 数据库与信息管理,2008年

[3]李永锋,赵小明,面向服务的旅游资源信息服务框架结构,合肥工业大学学报,2008.4第31卷第4期

[4]王明倩,邹红霞,吴涢晖,基于SOA构建可扩展的教务管理信息系统,装备指挥技术学院学报,2007.12,第18卷第6期

[5]与生俱来的SOA取代EAIhttp://www.anrison.org/wenzhang.asp?M_left=4&id=6284

[6]以服务为中心的企业整合-案例分析

http://java.ccidnet.com/art/3755/20060314/476513_1.html

[7]IBM SOA Homepage, http://www-306.ibm.com/software/solutions/soa/

[8]IBM Process Integration Homepage,

 http://www-306.ibm.com/software/sw-bycategory/subcategory/SW920.html

posted @ 2008-06-30 23:29 SOA设计 阅读(394) | 评论 (0)编辑 收藏
 

1)表示层

负责处理校园信息化系统与校园内外用户的接口及相关的组件,涉及系统的各层级使用者。信息门户给用户提供了一个统一的但又个性化的界面, 为学生、教师、家长提供相应的入口和个性化系统服务信息。通过它可以访问系统的各种不同的服务, 同时可以为业务流程层提供授权认证权限、信息的传输。

2)业务流程层

集成了各种业务规则和逻辑, 提供服务请求者统一权限认证和活动监控。这一层侧重在业务支持上, 通过通用和标准的对象和服务模型, 可以在这一层上定义各个服务的业务流程, 并能够灵活调用各个功能模块。

3)服务核心层

该层主要负责将系统资源通过平台提供的web services接口封装为服务的形式发布到资源注册中心供用户使用,并对资源进行相应的维护、管理和定期清理刷新。包括通用的服务功能,如注册认证、授权管理、资源搜索、学习服务、宿舍管理、成绩管理、查询服务等。另外,为了适应未来对系统的升级和扩展需要增加了一个业务扩展功能。实际上这一层可以看成是一个Web Services 容器, 处于核心地位,还负责服务质量和安全管理功能, 保证安全的访问。

4)组件层

这一层实现校园现有和正在开发系统的接口数据格式的统一、数据库和文件系统数据的统一,为面向服务的信息平台提供基础的资源和协议。包括平台所有的基础数据库和业务数据库,如注册信息存储等;以及原有的可用系统组件。

posted @ 2008-06-30 20:56 SOA设计 阅读(136) | 评论 (0)编辑 收藏
 

基于SOA的校园信息系统服务建模,其框架主要由系统管理员(在本系统中没有重点介绍)、学生、老师和学生家长4 部分组成。服务之间是通过登录和系统反馈,交流信息,发布信息 、查找信息 和共享信息 等接口和操作关联起来的。这些接口和操作建立在规范的描述语言之上,并且独立于特定的硬件平台、操作系统和编程语言,使得SOA 框架具有松散耦合、位置透明、协议独立等特点。本文根据SOA 的体系结构 ,提出了基于校园信息服务模型。
   
    该模型运行的主要过程分为2 个阶段。
 
   (1) 用户登录系统和系统反馈给用户相应的功能阶段。首先,学生、老师和学生家长均可以根据个人已有的账户密码对系统提出登录申请,系统经过审核通过后反馈给各用户对应于账户密码的功能,由此形成了系统与用户之间经过封装的接口模块、封装的粒度、资源的服务时间、安全级别及服务信息等。在该模块中经过给内部协商完成后,系统按照一定的规则将该系统资源信息进行封装并与系统资源服务的用户进行协商。然后,个服务用户通过对系统进行访问而获得相应的资源服务

    (2) 用户对服务资源的使用阶段。首先,学生,老师或者学生家长通过向系统提交申请获得服务后可以在各自的平台上提出相应的资源使用的请求,系统接到请求后,交由各自对应的平台进行分析,并根据分析结果反馈给服务用户相应的功能。因为系统在设计过程中已经对应三个主要对象将系统功能或分为三大不同的模块,所以当系统服务器接到来自服务用户请求的时候只需要把相应的模块交由相应的服务用户,用户再可以对相应子模块进一步处理。(例如,当学生登录服务系统后对系统提出请要要查询某某学年的学习成绩或者选课情况,系统只需要将学生的功能模块反馈给学生,然后再由学生功能模块中的查询功能模块实现学生的查询请求,这其实就是一个父子模块调用的设计过程)。又由于在系统资源的使用过程中,各服务用户之间难免存在着各种各样的问题,因此,各在专有的模块之间又需要设计有一个可以让不同用户间实现相互的交流和协作的交流平台(例如学生可以通过交流平台对老师提出教学疑问,老师可以通过交流平台对学生的疑问作出相应的解答),从而使得系统资源得到充分的利用。

posted @ 2008-06-30 20:55 SOA设计 阅读(154) | 评论 (0)编辑 收藏
 

SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA提供了这样一种框架:一个系统上的软件可以安全而且可靠地提出请求并获得其他系统上的计算资源,而不再需要一台中央服务器来管理和控制整个端到端的网络。SOA从根本上突破了客户机/服务器模式。

SOA的关键是服务的概念,W3C将服务定义为:服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化。在面向服务(SOA – Service Oriented Architecture)的应用体系中,是实现以人为本的‘服务’的为核心的。网络技术的发展宗旨都是力求使得客户的到的服务拥护体验User experience更方便的得到。

SOA是一种构造分布式系统的方法,它将业务应用功能以服务的形式提供出来,以便更好的复用、组装和与外部系统集成,从而降低开发成本,提高开发效率。

posted @ 2008-06-30 20:52 SOA设计 阅读(141) | 评论 (0)编辑 收藏
 

 本系统针对一个大型中学,该中学的班级构成,包括有高中部、初中部、实验班等多层级多班级的结构,且高中高年级按科目分班。教师按所教科目归属个教研组,并根据层级不同,赋予相应的权利和义务,兼任行政职务的教师在教研组内仅享“零行政权力”,负责宿舍管理的教师直接对学生形成垂直管理和交流,与各班主任保持平行联络和交流。对于家长,系统应当提供足够多的信息服务和作为交流平台的功能,保持关注学习状态和心理状态的联络。

 学校的信息管理系统涉及多角色多部门,内容覆盖面广,系统建设的目标是提供给学生、教师、家长等角色保证实时和安全的服务和后台管理人员的透明管理。另外,为应变不可预期的变化,应当保证系统的扩展功能。

 在web服务的前提下,运用以服务为基础的SOA可以实现快速安全的信息传输和业务传送,通过服务的交互来实现系统动态、松耦合集成,可以有效地降低了复杂性与成本。

posted @ 2008-06-30 20:52 SOA设计 阅读(103) | 评论 (0)编辑 收藏
    面向服务的体系架构中共有3 种角色, 它们分别是服务提供者、服务请求者和服务注册中心。其中服务提供者负责服务功能的具体实现, 并通过注册服务操作将其所提供的服务发布到服务注册中心, 当接收到服务请求者的服务请求时, 执行所请求的服务。服务请求者则是服务执行的发起者, 首先需要到服务注册中心中查找符合条件的服务,然后根据服务描述信息进行服务绑定ö调用, 以获得需要的功能。而服务注册中心则用来提供服务提供者注册服务、提供对服务的分类和查找功能, 以便服务请求者发现服务,如下图所示
posted @ 2008-06-30 20:51 SOA设计 阅读(599) | 评论 (0)编辑 收藏
仅列出标题