CN102542407A - 一种基于服务规范的软件开发方法 - Google Patents
一种基于服务规范的软件开发方法 Download PDFInfo
- Publication number
- CN102542407A CN102542407A CN2011104274882A CN201110427488A CN102542407A CN 102542407 A CN102542407 A CN 102542407A CN 2011104274882 A CN2011104274882 A CN 2011104274882A CN 201110427488 A CN201110427488 A CN 201110427488A CN 102542407 A CN102542407 A CN 102542407A
- Authority
- CN
- China
- Prior art keywords
- service
- scenarios
- esb
- mentioned
- regulation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供一种基于服务规范的软件开发方法,包括:步骤1、将业务系统的业务需求划分成服务;步骤2、将上述划分后的服务再细分成细小粒度的服务场景;步骤3、根据业务需求确定上述每个服务场景的输入条件和输出条件;步骤4、将上述服务场景形成服务规范,提供给各个业务系统调用。通过本发明提供一种软件开发的服务规范方法,实现服务在不同业务系统中的模块之间的耦合问题,减少服务和服务之间的耦合性,实现了模块之间的松耦合,能很好的解决异构系统的集成问题。
Description
技术领域
本发明涉及计算机领域,特别涉及一种基于服务规范的软件开发方法。
背景技术
一般来说,软件开发过程中,紧耦合意味着应用程序的不同组件之间的接口与其功能和结构是紧密相连的,因而当需要对部分或整个应用程序进行某种形式的更改时,它们就显得非常脆弱。
相对于上面紧耦合系统的软件开发,松耦合系统也是软件开发一种技术,在这种技术中,强调的是软件的松散耦合。它是将应用程序的不同功能单元通过定义良好的接口和契约联系起来,藉此让软件应用系统变得灵活。松耦合系统的好处有两点:一是它的灵活性;另一个是当组成整个应用程序的每个组件的内部结构和实现逐渐地发生改变时,它能够继续的存在。
简单来说,松耦合系统开发技术是一种分布式和减少服务和服务之间耦合的架构模式。目前,现有耦合性减少是通过OO方法中以对象和对象之间关系的耦合性减少来实现,但OO方法对于异构系统的集成方面,逐渐不能满足用户需求变更加速和老系统集成的需求。
所以,需要提出一种新的软件开发方法,以实现服务在不同业务系统中模块之间的耦合问题,实现了模块之间的松耦合。
发明内容
本发明的目的在于提供一种基于服务规范的软件开发方法,实现服务在不同业务系统中的模块之间的耦合问题,减少服务和服务之间的耦合性,实现了模块之间的松耦合,能很好的解决异构系统的集成问题。
为了解决以上技术问题,本发明提供一种基于服务规范的软件开发方法,包括:
步骤1、将业务系统的业务需求划分成服务;
步骤2、将上述划分后的服务再细分成细小粒度的服务场景;
步骤3、根据业务需求确定上述每个服务场景的输入条件和输出条件;
步骤4、将上述服务场景形成服务规范,提供给各个业务系统调用。
进一步地,所述步骤1具体包括:对业务系统的业务需求进行整理并划分成服务,给定唯一的服务代码。
进一步地,所述步骤2具体包括:将上述划分后的服务在细分成细小粒度的服务场景,给定唯一的服务场景代码,同时对其功能描述即对已经定义的服务进行说明。
进一步地,所述方法还进一步包括:步骤5、服务提供方调用上述服务规范提供服务;具体包括:
B1、对企业服务总线进行安全认证;
B2、根据每个服务场景输入条件,向企业服务总线发送请求XML报文;
B3、将XML报文转换成结构对象;
B4、根据服务规范的服务代码和服务场景判断,进行业务处理;
B5、将处理的结果结构对象转换成XML报文;
B6、返回响应的报文给企业服务总线。
进一步地,所述方法还进一步包括:步骤6、服务消费方调用上述服务进行业务处理;具体包括:
C1、构造CompositeData对象,向企业服务总线发送请求;
C2、根据服务规范远程调用企业服务总线服务,进行CompositeData对象调用;
C3、判断交易状态,从返回的CompositeData对象中提取数据进行处理。
与现有技术相比,本发明提供一种基于服务规范的软件开发方法,实现服务在不同业务系统中的模块之间的耦合问题,减少服务和服务之间的耦合性,实现了模块之间的松耦合,能很好的解决异构系统的集成问题。具体来说,在软件开发过程中通过定义服务规范,然后以服务的方式去开发业务系统,在服务消费方直接调用服务,实现了服务提供方和消费方的完全独立。同时服务提供方和消费方之间又可以通过ESB(Enterprise Service Bus,企业服务总线)交换XML(Extensible Markup Language,可扩展标记语言)数据,达到了系统内高内聚,系统间低耦合的预期效果,同时也各系统实现数据双向互通提供了很好的方法。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明提供的一种基于服务规范的软件开发方法的流程图;
图2是本发明提供的服务提供方调用服务规范提供服务的流程图;
图3是本发明提供的服务消费方调用上述服务进行业务处理的流程图;
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明提供一种基于服务规范的软件开发方法,包括:
步骤1、将业务系统的业务需求划分成服务;具体包括:
对业务系统的业务需求进行整理并划分成服务,给定唯一的服务代码;同一个服务可以有不同场景。
步骤2、将上述划分后的服务再细分成细小粒度的服务场景;具体包括:
将上述划分后的服务在细分成细小粒度的服务场景,给定唯一的服务场景代码(服务代码+场景代码),同时对其功能描述即对已经定义的服务进行说明,方便开发人员更深一层的理解需求以及该服务的功能,方便以后的分析人员复用已有的服务。
步骤3、根据业务需求确定上述每个服务场景的输入条件和输出条件;具体包括:
根据业务需求整理出每个服务场景的输入条件和输出条件,输入字段包括字段的中文名称,英文名称,字段长度,字段类型,备注等,同时字段的英文名称要代码一定含义。
步骤4、将上述服务场景形成服务规范,提供给各个业务系统调用;具体包括:
将上述服务场景形成服务规范,提供给各个业务系统调用服务。服务规范发布具备权威性,版本发布后消费方和服务方都按照规范来开发。每次发布一个版本都要有个版本号码,如第一个版本是1.0.0,后续做了少量的修改,版本号是1.0.1,如果有大量修改,版本号是1.1.0。
步骤5、服务提供方调用上述服务规范提供服务;如图2所示,具体包括:
5.1、对ESB进行安全认证(根据业务若要进行安全验证则要此操作);
5.2、根据每个服务场景的输入条件,向ESB发送请求XML报文;
5.3、将XML报文转换成CD(CompositeData,结构对象,是系统信息传递的标准数据结构);
5.4、根据服务规范的服务代码和服务场景判断,进行业务处理;
5.5、将处理的结果CD转换成XML报文;
5.6、返回响应的报文给ESB。
步骤6、服务消费方调用上述服务进行业务处理。如图3所示,具体包括:
6.1、构造CompositeData对象,向ESB发送请求;
6.2、根据服务规范远程调用ESBClient.request(CompositeData data)服务,进行CompositeData对象调用;
6.3、判断交易状态,从返回的CompositeData对象中提取数据进行处理。
本发明提供一种基于服务规范的软件开发方法,实现服务在不同业务系统中的模块之间的耦合问题,减少服务和服务之间的耦合性,实现了模块之间的松耦合,能很好的解决异构系统的集成问题。具体来说,在软件开发过程中通过定义服务规范,然后以服务的方式去开发业务系统,在服务消费方直接调用服务,实现了服务提供方和消费方的完全独立。同时服务提供方和消费方之间又可以通过ESB交换XML数据,达到了系统内高内聚,系统间低耦合的预期效果,同时也各系统实现数据双向互通提供了很好的方法。
上述说明示出并描述了本发明的一个优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (5)
1.一种基于服务规范的软件开发方法,其特征在于,包括:
步骤1、将业务系统的业务需求划分成服务;
步骤2、将上述划分后的服务再细分成细小粒度的服务场景;
步骤3、根据业务需求确定上述每个服务场景的输入条件和输出条件;
步骤4、将上述服务场景形成服务规范,提供给各个业务系统调用。
2.如权利要求1所述的方法,其特征在于,所述步骤1具体包括:对业务系统的业务需求进行整理并划分成服务,给定唯一的服务代码。
3.如权利要求1所述的方法,其特征在于,所述步骤2具体包括:将上述划分后的服务在细分成细小粒度的服务场景,给定唯一服务场景代码。
4.如权利要求1所述的方法,其特征在于,所述方法还进一步包括:
步骤5、服务提供方调用上述服务规范提供服务;具体包括:
B1、对企业服务总线进行安全认证;
B2、根据每个服务场景输入条件,向企业服务总线发送请求XML报文;
B3、将XML报文转换成结构对象;
B4、根据服务规范的服务代码和服务场景判断,进行业务处理;
B5、将处理的结果结构对象转换成XML报文;
B6、返回响应的报文给企业服务总线。
5.如权利要求1所述的方法,其特征在于,所述方法还进一步包括:
步骤6、服务消费方调用上述服务进行业务处理;具体包括:
C1、构造CompositeData对象,向企业服务总线发送请求;
C2、根据服务规范远程调用企业服务总线服务,进行CompositeData对象调用;
C3、判断交易状态,从返回的CompositeData对象中提取数据进行处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104274882A CN102542407A (zh) | 2011-12-16 | 2011-12-16 | 一种基于服务规范的软件开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104274882A CN102542407A (zh) | 2011-12-16 | 2011-12-16 | 一种基于服务规范的软件开发方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102542407A true CN102542407A (zh) | 2012-07-04 |
Family
ID=46349250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104274882A Pending CN102542407A (zh) | 2011-12-16 | 2011-12-16 | 一种基于服务规范的软件开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102542407A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334346A (zh) * | 2017-08-18 | 2018-07-27 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
WO2019033410A1 (zh) * | 2017-08-18 | 2019-02-21 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
CN109388387A (zh) * | 2018-09-30 | 2019-02-26 | 中国建设银行股份有限公司 | 一种业务流模板、业务流生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082771A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团福建有限公司 | 一种基于esb技术的服务管理中间件 |
CN102194165A (zh) * | 2011-04-20 | 2011-09-21 | 铁道部运输局 | 高速铁路客票信息处理方法 |
US20110302254A1 (en) * | 2010-06-04 | 2011-12-08 | Xiben New Line Stock Co., Ltd. | Enterprise service bus and message processing method thereof |
-
2011
- 2011-12-16 CN CN2011104274882A patent/CN102542407A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102082771A (zh) * | 2009-11-30 | 2011-06-01 | 中国移动通信集团福建有限公司 | 一种基于esb技术的服务管理中间件 |
US20110302254A1 (en) * | 2010-06-04 | 2011-12-08 | Xiben New Line Stock Co., Ltd. | Enterprise service bus and message processing method thereof |
CN102194165A (zh) * | 2011-04-20 | 2011-09-21 | 铁道部运输局 | 高速铁路客票信息处理方法 |
Non-Patent Citations (1)
Title |
---|
张广胜等: "面向服务的企业应用集成系统描述与验证", 《软件学报》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108334346A (zh) * | 2017-08-18 | 2018-07-27 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
WO2019033410A1 (zh) * | 2017-08-18 | 2019-02-21 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
CN108334346B (zh) * | 2017-08-18 | 2021-03-12 | 深圳怡化电脑股份有限公司 | 一种业务控制流程的开发方法及装置 |
CN109388387A (zh) * | 2018-09-30 | 2019-02-26 | 中国建设银行股份有限公司 | 一种业务流模板、业务流生成方法及装置 |
CN109388387B (zh) * | 2018-09-30 | 2022-03-01 | 中国建设银行股份有限公司 | 一种业务流模板、业务流生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103077024B (zh) | 一种支持SaaS应用流程按需定制与运行的装置及方法 | |
WO2008122964A3 (en) | A grid accounting method and system | |
CN102169500A (zh) | 一种业务流程动态展示装置 | |
CN105760180B (zh) | 一种工作流引擎的扩展开发方法 | |
CN102866925B (zh) | 一种中间件与用户界面的通信方法和系统 | |
CN103118137B (zh) | 跨域访问页面装置和跨域访问页面方法 | |
WO2018001272A1 (zh) | Android支付插件的管理方法及系统 | |
CN103957188A (zh) | 一种对称的双向解耦的企业服务描述方法及服务调度系统 | |
JP5362011B2 (ja) | メッセージ処理パイプラインの構成 | |
CN103092645A (zh) | 一种基于微内核技术的地理空间信息应用系统及其实现方法 | |
CN102594695A (zh) | 一种企业服务总线的消息路由方法及系统 | |
CN102542407A (zh) | 一种基于服务规范的软件开发方法 | |
CN101459609A (zh) | 企业服务总线实现方法 | |
CN106686021A (zh) | 一种服务调用方法和网关 | |
CN105302564A (zh) | 网络办公软件服务控件及实现方法 | |
CN102324076A (zh) | 一种基于云计算的统一一卡通支付系统和方法 | |
CN101751255A (zh) | 遵循xpdl规范工作流中间件实现服务编制的方法、装置 | |
CN104112177A (zh) | 一种企业信息化建设系统 | |
CN106127573A (zh) | 一种轻型化运营系统及方法 | |
CN104135414A (zh) | 一种基于信息交换总线二次安全防护同步跨区服务的方法 | |
CN115801882A (zh) | 旧线系统与微服务系统间信息交互方法和装置 | |
KR101609751B1 (ko) | 자바 스크립트를 이용한 모바일 앱 및 웹 통합 개발 시스템 | |
CN103092620B (zh) | 一种Microsoft Exchange Server 2010 Web服务集成开发方法 | |
CN105117297A (zh) | 一种跨平台跨系统的可配置数据交互方法和系统 | |
CN111680991A (zh) | 一种基于区块链的软件集成交互方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120704 |