论面向服务架构设计及其应用
摘要:面向服务架构(SOA)是一种组件模型,这种组件比传统的组件有着更高的标准化级别,是以服务为目的的,可以说它是为了有效解决不同信息系统之间的交互和沟通问题而生的。河北省科技创新平台的开发,担任技术总监职务。该平台主要为科研创新提供更好地发挥环境,加快科研进度。
关键词:创新;科研;服务架构
引言
SOA是一种企业架构,因此,它是从企业的需求开始的。但是,SOA和其它企业架构方法的不同之处在于SOA提供的业务敏捷性。业务敏捷性是指企业对变更快速和有效地进行响应、并且利用变更来得到竞争优势的能力。对架构设计师来说,创建一个业务敏捷的架构意味着创建这样一个IT架构,它可以满足当前还未知的业务需求。
1. 软件开发
在紧张而又舒适的大学期间,我有幸参加了几个项目的开发过,在河北省科技创新平台的开发中,我主要参与了后台数据库的设计以及前台页面的编写。该平台主要负责科技创新的审核以及保存。将SOA信息管理功能全面贯穿整个系统。
2.面型服务框架
面型服务的体系架构,是一个组件模型,他将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,他应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。
SOA的结构编程方法:
所谓“结构程序设计方法”,就是基于面向对象设计方法的早期蓝本,侧重於解决程序正确性的编程的方法,以此为基础建立了软件工程这门学科,建立了编程的基础理论体系。人们的知识是从一个定理、一个原理逐步积累起来的,社会是依靠知识的不断积累发展的。然而编制软件每次却都是从零开始,这是造成“软件危机”的根本原因。由此提出了编程工作是否也可以重用以前成功的经验和程序呢?。整整经过十多年的探索,到七十年代才获得成功。
SOA的UML统一建模语言:
UML主要理论成果是:①统一面向对象的基本概念,并引进了许多新的概念,②认为软件开发的过程实质上是从抽象的模型逐步细化,过渡到具体的实现,其中间的每个阶段都是实现了某一抽象模型,UML为此提供了建立模型的工具,用直觉的图形来建立模型,从此软件专家就有了自己的工具,正如音乐家有了五线谱工具那样;③为适应软件的多变性,提供了演化的概念。
SOA的构件架构:
卡内基。梅隆大学为软件的架构和框架建立了扎实的基础理论,软件体系结构是软件系统的高级抽象,体现了软件设计思想,反映了系统开发中最早的决策,明确了系统有那几部分组成,它们之间是如何交互的;进一步影响到资源的配置、团队的组织以及产品的质量。系统的成败在于体系结构。构件架构技术和理论创立了架构师,是目前最吃香的软件工程师的职称。
安全性方面:
Web服务安全规范用来保证消息的安全性。该规范主要包括认证交换,消息完整性和消息保密。该规范吸引人的地方在于它借助现有的安全标准,例如,SAML来实现web服务消息的安全。OASIS正致力于Web服务安全规范的制定。
Open Group 服务集成成熟度模型 (OSIMM) 标准(以及国际标准)提供一种方法来评估其服务的使用并开发一个路线图来实现其 SOA 业务目标。SOA 采纳场景往往相差很大,特别是当企业缺乏一个清晰的路线图时;该路线图是如何继续他们的 SOA 采纳之路的景愿。SOA 之旅并不能开始和终止于一个单一项目。当越来越多的组织继续合并服务定位的使用作为其 IT 策略的基础,从各个维度评估其当前状态(从业务到基础架构),以及寻求最大化其 SOA 旅程的业务获益,对于他们来说日益重要。
3.开发过程中的问题
由于我的项目在开发过程中参与中的都是新手,我们一边学一边开发,虽然开发过程中完全使用SOA的技术并且符合SOA的标准,但是仍然不可避免的会出现一些问题,最初的需求分析我们没有严格按照UML来进行标准规划,而是想当然的做到哪里就是那里,项目初始阶段没有问题,但是到后面由于设计的出错忽略掉了一些重要的功能,不得不重新开始进行需求规划,使用UML统一建模语言进行标准的需求分析,严格的按照SOA的标准进行开发,运用分布式系统的三层体系结构、结构编程方法、构件架构技术;最终成功的完成了我们的项目!