IT援救工作发展 如何让ITSM特别本地化?

如今,电信企业的规模和业务量都在急剧扩大,通信业务正在从基础的语音业务向数据增值业务扩展,未来3G时代这种趋势会更加明显。语音业务正面临着Skype等来自互联网的冲击,固网和移动网都不能幸免。谈到新业务,比如在手机中集成Wi-Fi功能,在有热点的地方通过互联网通话,而不必再走移动网络的流量。
随着数据业务的日渐复杂,对IT部门的要求也越来越高,已经不满足于仅仅对系统故障的处理了,而是要求IT部门能保障企业关键业务的稳定;能为企业的发展做出贡献,提高IT部门的投资回报率。
面对如此高的要求和压力,IT部门就需要有一套规范、可管理的IT服务流程,有效地管理IT组织、使信息系统更加灵活地适应业务持续变化的需求、使IT部门从成本中心转变为利润中心。
游龙科技作为网络管理软件的开发商和解决方案的提供商,多年来致力于ITSM领域的研究与开发,推出的SiteView
ITSM适合电信级企业IT部门运维和管理,它是一种在综合系统管理的基础上,最大限度提高IT部门服务质量和效率的解决方案。
SiteView ITSM与SiteView
以往产品的最大区别就是不再仅局限于监测,而是注重对数据源的获取和利用,更多地考虑与业务相关的管理,以及建设和利用长效机制的知识库,形成更有效的工作流。SiteView
ITSM符合中国用户使用习惯,满足中国用户IT服务管理需求,是中国用户真正用得起、用得好、用得久的IT服务管理软件,可根据中国用户的需求提供全方位解决方案。
ITSM集事件管理、运行考核、故障管理、资产管理、配置管理、知识库管理、视图管理、用户管理于一体,针对不同规模企业和个性化需求,为其提供统一的管理界面,提供快速的故障告警信息、故障日志;提供大量的网络设备和应用系统的性能和状态的真实数据、方便实用的事件统计功能,对这些系统提供的数据进行整理和分析,结合运行考核,制订应用于企业信息网络各级运行管理的数据集,便于对系统进行集中、统一地管理。
ITSM能够真正做到面向业务,优化服务。资产管理能够在IT资产的整个生命周期内支持和管理,帮助各机构建立完整的资产信息库、提高流程效率并有效控制成本;配置管理能够大幅度提高软件基础设施的灵活性
,更好更快的是保持每个配置环节一致,自动完成并且不易出错;流程优化能够帮助IT部门在紧急和关键之间找到平衡,将有效资源科学配比发挥最大效用,给服务关键环节添加润滑剂;知识共享能够快速找出解决问题的头绪,面对种类繁多的设备、缤纷复杂的故障,不再寻根溯源无从下手。

导语:“IT并不重要”的言论指明了IT的发展方向,就是IT应该更好地辅助业务的运行。实际上现在很多新的解决方案,如
ITSM都需要跟用户的业务结合的更紧密。但问题是,如何让ITSM更加本地化?

ITSM的由来
ITSMIT Service
Management,IT服务管理)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。ITSM起源于ITILIT
Infrastructure
Library,IT基础架构标准库),ITIL是CCTA英国国家电脑局)于1980年开发的一套IT服务管理标准库。它把英国在IT管理方面的方法归纳起来,变成规范,为企业的IT部门提供一套从计划、研发、实施到运维的标准方法。这套标准已经被欧洲、美洲和澳洲的很多企业采用,目前在欧洲40-60%的IT经理都知道ITSM,在美国有20-30%的IT经理了解ITSM,而在国内了解ITSM的人还很少。
北塔网络副总经理李汉忠这样认为:在上世纪80年代,欧洲的IT建设到一个阶段以后,发现IT投入所产生的回报正在慢慢减少,业务的要求却在增长,那么IT建设如何使其业务提高的同时又增长效益,这也是企业面前的需求之一,于是流程化管理的标准顺理成章的摆在了企业的面前。简单来讲,ITSM就是以流程为导向,用户为焦点的方法论。包括很多模块,其中服务的支持和服务的交付是比较重要的,目的就是如何使IT系统为主营业务提高效率。
ITSM的价值体现
作为IT管理的”ERP解决方案”,IT服务管理给实施它的企业、企业员工及其他利益相关者提供多方面的价值。
李汉忠认为ITSM的价值主要体现在一个企业如何把IT系统更好的融入业务中,并使企业业务有不同层次的提高及利润增长。李汉忠相信大多数的企业发展的最终呈现,就是IT系统以主要业务为支柱,与业务融合在一起,成为企业的利润增长中心。这也是大多数的企业为什么会这样重视ITSM理论的原因。
通过实施IT服务管理,可以获取多方面的商业价值,如提高业务运营质量,提供更可靠的业务支持,提供及时有效的业务持续性服务,提高了客户满意度等;IT服务管理不但提供商业价值,而且使企业在财务上直接受益,比如:降低实施变更的成本等;此外IT服务管理还提供许多创新价值:清楚地理解客户的需求,了解当前IT服务的有关信息,使业务部门更加灵活地使用IT,并且提高了预知未来发展趋势的能力,从而能够更加迅速地采用新的服务需求和进行相应的市场开发。
ITSM的发展趋势
“说到底IT系统是要为企业创造财富的”李汉忠非常肯定的说。现在,IT管理已经走出封闭的机房,超越企业与机构的小圈子,直接面对客户与合作伙伴,全面参与企业运作的全过程。可以预见随着IT和核心业务结合的更加紧密,IT管理流程的不断优化,以及以客户为中心意识的树立,IT管理在不远的将来会逐步过渡到IT商用价值管理阶段。

BKJIA独家特稿】其实,实现IT服务管理,并不难。

业务的不断发展、商品类型的不断增多、不断添加的业务需求使得闲鱼的代码出现“bad
smell”——平台代码和业务代码耦合严重难以分离;业务和业务之间代码交织缺少拆解。这也是行业中的通病。为解决此类问题,闲鱼自研了一套技术框架——SWAK。本文带大家一起看看SWAK是怎么解构闲鱼代码的。

在竞争日益激烈的电信行业,保障业务系统正常、高效运转成了IT部门工作的关键和重点,而SiteView
ITSM最大的功能和优势就是支撑业务流程,从整体上提高了业务运营的质量
,通过完善的服务体系,提高关键业务的连续可用性,保障客户利益、市场份额、业务收入;提高企业经济效益。

世界顶级赛事F1一级方程式赛车)大赛中,每一秒钟的超越都依靠科技的发展实现F1车队的终极梦想。丰田赛车有限公司为了表现出从设计到推出,再到赛道上进步的每一秒,都需要IT与业务目标保持同步。
F1的业务管理 这个连接主要IT构件和业务目标的动态方法息息相关,BSM业务服务管理)使丰田赛车有限公司精炼F1赛车的制造,并且能够降低制造时间,还能够使丰田赛车队了解并预计到技术对业务的影响,以及业务对IT架构的影响。也就是说,BSM可以帮助提高业务表现,并降低成本和IT架构的复杂性。
丰田赛车队是采用整套内部端对端设计和制造程序的两家F1车队中之一。要在短期内制造或改动整辆车,所有的程序必须准备就绪。相比其它制造商需要花费7年的时间推出一款新车,丰田赛车有限公司在赛季,从引擎设计到风洞底盘的研究,从制造到测试,仅需要7天便可完成同样的制造程序。
通过BSM战略让丰田车队能够监控科隆和竞争对手的任何赛道之间的卫星链路。这个链路对整个车队在有比赛的周末都至关重要,它能够让丰田车队复制60~80亿字节的实时数据,这些实时数据是通过每一个F1赛车的100多个传感器收集得到的,并将这些数据从赛道传送到我们在科隆的工程师那里进行时时的分析。
如果不能实时的洞察到赛车的性能,丰田车队也不能够在比赛时对改变的状况做出及时的反应。
这是一个BSM的典型案例,作为有效实现IT与业务深度融合、以优化IT资源配置为核心的BSM,给企业带来了深远影响。游龙科技总裁张泽军认为,BSM就是ITSMIT服务管理)的终极目标,但如果ITSM想在中国落地归根,还需要做更多的事情。

ITSMIT Service
Management,IT服务管理)是一套帮助企业对IT系统的规划、研发、实施和运营进行有效管理的方法,是一套方法论。IT…

夏忙,28岁,2004年4月进入滚滚来贸易公司,负责IT工作。滚滚来贸易公司以做进出口为主,这几年发展尤其快,从最初的几十人到了现在的200多人,而且基本上是人手一台PC。网络、邮件已经逐步替代了以前的电话、传真,成为最新的办公手段。

SWAK是Swiss Army
Knife的简称,众所周知,瑞士军刀是一款小巧灵活、适用于多种场景的工具。在闲鱼服务端,SWAK框架也是这样一种小巧灵活、适用于多种场景的技术框架,
它所要使用的场景都具有同一个特点——多实现间的规则化执行。本文将以一个例子开篇,来详细介绍其中的概念。

IT的方向 在IT业界流传着这么一句话,“外国卖的最便宜的是硬件,其次是软件,最贵的是咨询服务,最后还得卖个价值给用户。在中国最贵的就是硬件,其次是软件,一般的咨询服务都是免费提供,但价值呢?。”
的确,服务并不为诸多的用户所重视,而美国的经济学家尼古拉斯?卡尔在2003年发表的“IT不再重要”,也证明了随着企业IT基础架构越来越完善,进一步增加对IT的投资所能带来的回报实际上是越来越少的,这也就是为什么很多企业都在逐步缩减IT投资,而将有限的资源投入到可以直接创造效益的业务上去的根本原因。
IDC中国软件与服务研究部高级分析师杨挺认为:“IT的发展方向,应该是IT+业务,也就是说,IT应该更好地辅助业务的运行。实际上现在很多新的解决方案都是跟用户的业务结合的更紧密。
但这个问题应该分为两个方面去看待:一个方面就是对于那些IT与用户的业务结合的不是特别紧密,相关度不高的行业。比如传统的制造业,或者是批发零售行业,在这些行业中IT的发展方向应该是IT辅助业务更好地运行。
而另一方面,对于那些IT与用户的业务相关度非常高的行业,比如说金融、电信行业,实际上IT系统已经成为业务系统的一部分,所以在这些行业中,IT可以去发展成为企业的核心竞争力之一。因此说IT的发展方向还是真正与用户的业务相结合,那么ITSM会是很好的方法。”
ITSM解决方案作为跟业务结合非常紧密的基础架构的解决方案,是为了推动业务更好的运行。真正好的基础架构就是用户感觉不到这种基础架构的存在,正所谓无为而治。
Gartner认为:“如果不能全面地了解IT基础架构,企业将在实施应用变革过程中继续面临业务上的风险。当企业部署他们的配置管理数据库CMDB)战略时,有关自有应用的信息对于构建一个全面的或者完整的)IT服务视图是非常重要的。
从技术的层面来讲,想要实施一套完整的ITSM体系,在实施过程中有两个最为核心的要素是必须要实现的。
第一方面,需要对用户的需求分析,因为ITSM是一个注重流程的方法论,而用户的流程是需要经过严谨的供需分析的,这是显而易见的事实。
第二方面,在实施的时候,ITSM一定要有一个统一的缓冲数据库,这样才能使得各类的监测数据能够达到同步共享。
也许,像游龙科技这样的国内厂商更能深入理解客户的实际需求,所制定的IT运维的考核标准也符合中国国情,着重突出评估的直观、简单和准确。 

IT部门有三个人,夏忙一来就发现这三个人基本都不在自己的座位上,因为公司的200多台机器,总有这样、那样的问题报过来。于是,夏忙也就很快投入了战斗一线,修机器、调邮件、杀病毒,成了被拎来拎去的“八抓鱼”。

熟悉闲鱼的朋友们应该知道,在闲鱼App里面,商品有丰富的表现形式,不妨叫做类型A、类型B和类型C,各种类型也可以有各自的子类型。每种类型的业务逻辑存在一定的共性,但是也存在部分差异——如在分享页面中,subtitle字段的展示逻辑就不尽相同:

滞后的响应 用户对于新业务的响应滞后已经成为一个非常重要的问题,中国银行一位领导曾经说过,现在为什么要进行核心业务系统的改造?其中一个非常主要的原因就是对于新业务的响应滞后,这个问题已经非常明显的凸显出来。举一个很简单的例子,他们上一个小的业务模块,整个流程走下来可能就需要大半年的时间,与此同时,很多银行已经将这个业务推到市场中了,这样就会影响企业的市场推进过程。
杨挺说,很多企业用户都会遇到一些问题,一方面它的IT部门、这些维护人员像救火队员一样奔波于各种故障与问题之间,并且同样的问题、同样的故障还会不断地重复地发生,另一方面企业的业务部门在抱怨,已经由于IT系统的不稳定和效率低下已经造成了业务系统的损失,这就形成了一个悖论。
当企业建立一个系统之后,又可能会产生一系列的问题,比如说由于客户化的工作做得不够,很可能会导致解决方案无法落地的问题。张泽军认为,由于产品本身灵活性的不足,可能会导致国内用户的需求无法得到满足,比如无法实现定制化的报表功能。还有由于培训和推广方面做的工作不够,也会导致这个系统无法顺畅地运行,这都是一系列的问题。
当CIO在考虑解决方案的时候,主要是考虑实施成本,但当他已经决定要做一个项目而去选择解决方案提供商的时候,这时候成本已经不是企业主要考虑的因素,所要考虑的因素是解决方案提供商的一些技术的实力,一些成功的经验、行业的背景等。
但是由于ITSM解决方案市场本身这种特定的特点所限制,往往是在出现灾难、出现故障的时候效果才可以显现出来。张泽军说,所以一定要想方设法的通过量化、标准化的指标告诉我们用户,到底给业务带来什么样的影响,并通过一些报表化的呈现或者是比较模型来实现。

忙归忙,可是每到月底填写考核表的时候,夏忙就一点都想不起来这个月干了什么。好像每天都没闲着,也好像每天都当救火队员,但是看看这个月有什么进步?除了扑了几次一样的火,修了几次机器以后,再也没有什么可以书写的记录了。

图片 1

:“IT并不重要”的言论指明了IT的发展方向,就是IT应该更好地辅助业务的运行。实际上现在很多新的解决方案,如
ITSM都需要跟用户…

最让他郁闷和委屈的是,累死累活一个月下来,虽然忙得手脚不着地,可挨领导的批评也更多了,因为虽然问题是解决了,却收到了更多的投诉:找不到人、反应速度太慢、相似的问题总出现、没有预防措施……
总之,每天早晨,夏忙最担心一件事,今天会不会发生灾难性事件;每个月底,夏忙担心另外一件事,这个月因为遭遇投诉工资被扣了多少钱。

这种单一的实现通常会被写成如下的代码:

变更管理 有人“埋坑”不犯难

图片 2

11月1日,总经理召集各业务部门开会,简直就是一个批判会,总经理对10月各个部门的表现都不满意,特别是销售部门,惟独对IT部门提出了表扬,这让夏忙有一些宽慰。

类似的代码大家应该都写过不少。逻辑简单的时候写成这样无可厚非,但当逻辑开始变复杂的时候这种写法会具有较多的坏处:

第二天.好不容易轻松一点的夏忙晚到了公司一会,半路接到公司里电话,这个说有一封很紧要的邮件一直没法收;那个说说好要给一个重要客户把报价发过去的,但是现在也不能发……
原来是公司的邮件服务器出问题。可是昨天下班的时候这邮件服务器还好好的呀,夏忙赶紧给轮值的小欧打了个电话,问他昨天晚上都干什么了。原来在总经理训话结束以后,销售经理就立刻召集了销售部门人员开了个会。为了改变目前的状态,销售部门讨论的结果是改变现有的工作流程。昨天晚上加班开完会确认了新流程后,销售经理把小欧找来要求系统也随着这个新流程做些更改。于是,小欧就根据销售经理的需求更改了几个参数。“改完后我仔细检查了一下,没发现什么问题呢。谁会想到邮件系统会出现问题呢?”小欧也很委屈。

• 难以抽出公共的逻辑,代码块愈发臃肿。

夏忙明白了怎么回事以后,赶紧亲自到服务器上去恢复原来参数,让邮件服务器先正常工作。这一天夏忙没干别的,他花了整整一天的时间处理销售经理递交过来的需求。夏忙发现,销售经理拿过来的需求,有一些根本就不合理的。于是,夏忙又去找来销售经理“论理”。两人分析了半天,才讨论出了双方都满意的解决方案。

• 有较多相同点少量异同点的新类型的实现很难复用原先的代码。

除此之外,这个月听了总经理一通训话以后,各个部门都比较积极地革新业务流程。采购部、人事部、财务部……在那几天纷纷都来找IT部门来改流程、改参数。这下惨了,几乎每次更改后都出现了问题。接连几天夏忙更忙了,接连解决更改后出现的问题。


各个类型的代码实际上融合在一块,更改代码可能会影响到其他类型,提高上线风险和测试回归成本。

累得一塌糊涂的夏忙一闲下来就寻思:这不行呀,总经理训一次话就出现了那么多问题,万一他再训一次话,岂不是又完了;再说了,就算是总经理不训话了,业务部门还是会经常提出要修改系统配置等问题的,毕竟对业务部门来说,“变”是件好事。如果还是像过去那样随便变更,IT部门迟早要被这无数的“变更”给折腾惨了。

• 对于新接手的开发人员来说,理解成本高,上手难度大,无形中降低开发效率。

夏忙自己动手给IT部门制定出了一个明确的需求变化表。用户有变化需求时必须按照手续提交。拿到需求表以后,IT人员也不能马上修改程序,而是应该判定此需求是否合理,是否会对以前的系统以及其他系统造成影响,必要的时候要与业务部门召开专题讨论会,讨论具体修改事情。同时,在内部网站中的IT服务专栏发布IT作业公告。相关部门如果有异议,可以在反馈期之内反馈。

按照面向对象的思想,获取title的方式对于所有类型都是一致的,应该沉淀成平台逻辑,而获取subtitle就可以抽象成一个接口方法,而类型A、类型B和类型C的宝贝都具有各自的实现而已。对于
获取subtitle这个接口方法来说,它有着多种实现。

如果判断通过,也不随便就做更改,而是提出明确的时间表、修改方法和意见,征求业务部门同意后,按时按量完成。

那么什么是规则化执行呢?在上面的例子中,我们按照了商品的类型进行了逻辑的分离,但通常情况下并非能分隔地如此彻底。举一个例子,运营团队的划分可能也按照商品类型做划分,也有可能按照类目(category,如手机、3C数码、服饰、图书等)体系来做划分,甚至还有可能按照地域进行划分。那么一个商品可能既会受到商品类型体系的约束,又会受到类目体系的约束,还会受到地域的约束。如果几种约束不一致的话,就会产生冲突。比如subtitle字段,从类型A的视角上来看应该显示价格,在图书类目的视角下或许应该透出出版社——毕竟爱读书的人大多更关注质量而出版社是衡量质量的一个重要标准。是展示价格,还是出版社?或者都展示?如果都展示的话先展示价格还是先展示出版社?如果一行不够放下所有内容又怎么办?无论是上述的哪一种展示方式,背后都是“规则”(在设计模式里,称之为“策略”),代码也无非是按照“规则”进行编写而已。

变更实施完毕以后,还要对变更的实施情况进行总结和评价:变更是否成功实施,业务部门是否满意等;变更是否还有遗留问题,是否存在副作用。

以上的例子是多实现规则化执行的一个经典场景。类似地,如ABTest、双写等逻辑也是多实现规则化执行的应用场景。

“虽然总经理的训话害得我那么苦,但是就这个机会完善了变更管理流程以后,就再不怕其他的变更了,也算是没有白忙乎。”对于这个月的工作,夏忙还是很有成就感。

在上面的例子中,按照商品的类型或者按照商品的类目进行区分会产生冲突。其实无所谓类型或者类目,对于商品这个对象来说,无非是给其贴上了不同的标签而已——如一个类型A的图书类目宝贝被贴上“类型A”和“图书”两个标签。“类型A”的获取subtitle接口方法对应着一种实现,而“图书”的获取subtitle接口方法又对应着另一个实现。当一个对象被贴多个标签的时候,多个标签对应的实现就会产生冲突。

解决难点一:防止变更被遗忘

冲突的解决依赖于“规则”。“规则”最重要的两个部分是——优先级和归约策略;执行的先后顺序由优先级决定,而显示第一个实现的结果、显示第二个实现的结果还是两个实现结果的拼接等都是归约策略。“规则”还可以包含如“并行执行方式”和“异常处理方式”等其他组成部分。

如果有一个东西可以将你所管理的N台设备的历史配置信息都记录下来,并且能够在历史版本之间对过滤对比,紧急情况的时候还可以帮助你恢复历史配置状态,是不是就不会担心改错了配置而导致的异常问题了呢?

如上,可以得出SWAK的基本思想:

图片 3 

• 分析对象所具有的标签。

解决难点二:变更是需要计划和统计的
对待变更,从IT技术的角度来说很容易,正是因为这一点,忽略了最重要的东西,就是计划和统计,这就是为什么会出现变更无记录和无法管理的混乱状态的原因了。

• 分离出不可变的逻辑和可变的逻辑。可变的逻辑抽象成接口。

图片 4 


可变的逻辑根据标签的不同有多种实现。每种实现是独立的,即每种实现是互相隔离的。

解决难点三:流程化的变更是有必要的

• 当对象同时具有多个标签时,使用优先级和归约策略来解决冲突问题。

可能对IT管理员来说,很简单的操作都要走流程是比较繁琐的,但这个过程不可避免,有据可查有据可依是变更的前提,不然IT可就成了业务部门的“是非之地”了。

值得一提的是,SWAK的基本思想借鉴自阿里巴巴中台的TMF架构,关于TMF的细节可以参考《尽在双11--阿里巴巴技术演进与超越》一书的《基于TMF框架的交易平台架构》章节。

图片 5 

相应地,使用SWAK框架将带来如下的好处:

小贴士:

• 代码逻辑清晰,可变和不可变一目了然。

实施变更管理流程过程中,有两个要素很重要。

• 代码复用度变高。

其一,要转变IT工程师的观念和行为。变更管理流程的实行,刚开始的时候,对IT工程师的行为是一个约束。工程师对系统做任何修改、调整,都需要在变更管理系统申请、备案。因此,需要加强对IT工程师的宣传和要求,转变观念,使其能够接受并习惯。


可变逻辑按照标签进行隔离,单个标签的实现不会影响到其他标签的实现,降低开发和测试成本。无论是按照“类型”分还是按照类目分,对应的开发和测试同学只需要关注对应的逻辑即可。

其二,要明确职责。变更管理包括诸多流程,也涉及不同部门、不同岗位的人员。因此,需要界定各方人员的职责。如变更管理经理的职责,相关部门人员的职责,等等。只有职责清楚,各项职责执行到位,变更管理流程才能有效落实。

• 新接手的开发人员能够快速理解,轻松上手。

摩卡软件提出了网络管理、IT运维管理、
IT服务管理三位一体的管理思想,其自主研发的摩卡业务服务管理(Mocha
BSM)倡导IT服务4+1的管理思想,以实现企业端到端BSM为目的业务服务管理软件,能够全面、可视、实时地监控网络、主机、应用等资源,及时发现问题和瓶颈,准确、快速地定位故障产生的根本原因,告知事件对企业影响的严重程度,根据严重程度和优先级别触发相应处理流程。帮助企业迎接IT管理挑战,全面提升企业IT服务管理的价值,保证企业低成本、易操作、高效率地工作。

相较于运行期才进行根据标签去扫描并加载实现类的方式,SWAK框架更倾向于在静态期就能分析出具有某几个标签的对象在不同的实现方法下会有着怎样的执行逻辑。一方面通过缓存可以明显降低响应时间,另一方面也便于在开发期间发现和排查问题。整体的实现原理可以分成两个部分:注册
执行。基本流程如下:

夏忙,28岁,2004年4月进入滚滚来贸易公司,负责IT工作。滚滚来贸易公司以做进出口为主…

图片 6

在注册过程中,SWAK框架将会扫描文件(多实现接口、归约策略、冲突优先级采用了Java注解或者XML文件进行了配置,下面的代码示例中介绍多实现接口和其实现类是如何配置的),扫描出的结果都注册到了本地缓存中,而在执行过程中SWAK框架会从本地缓存中直接查找其所需的冲突优先级配置和归约策略等,这样有助于减少响应时间。另外,使用统一的本地缓存有助于进行“可视化的展现”——开发人员可以直观地看到并分析出程序的执行流程;产品经理也可以直观地看到哪些功能点可以方便扩展,哪些地方的优先级需要更新等等,甚至有助于需求的估时和排期。使用统一的本地缓存也为“可视化的配置”提供了可能性,结合阿里内部的Diamond或者Switch框架(轻量级的开关和动态配置项管理框架),可以无需更新代码,仅需推送配置就可以更新冲突优先级,为开发和测试提供了极大的便利。

图片 7

闲鱼服务端应用基本都基于Spring框架。为了便于在服务端应用上使用SWAK框架,在设计之初,我们就要求SWAK需要100%地兼容Spring框架。最终的实现版本做到了这一点,无论是业务的bean还是SWAK框架自身引入的bean,都完全由Spring容器托管。框架还使用了cglib代理了上图里执行过程中的一系列流程,完全由框架执行,对开发同学是完全透明、无感知的,使用起来如普通的单实现的接口一般,如下代码块所示。

图片 8

目前,SWAK框架在闲鱼已经在商品发布和编辑的部分流程上得以应用,我们正在积极将SWAK框架扩展到到更多的流程上。下图是基于SWAK框架的商品域核心功能的改造计划。经过基于SWAK的升级改造,闲鱼商品域核心功能按照业务隔离,各业务开发同学仅需关系其对应业务的开发即可,其通用逻辑和业务隔离由基于SWAK框架的一层和二层充分保证。代码质量和开发效率将获得显著提升。

图片 9

闲鱼自研的SWAK这一多实现规则化执行框架,可以很好地解决平台代码和业务代码耦合严重难以分离、业务和业务之间代码交织缺少拆解的问题。并且SWAK
100%兼容Spring,使用方便,快速上手。名副其实地,SWAK框架就像瑞士军刀一样可以适用于多种场景,小巧方便。当然,SWAK仍在不断进化,特性和功能仍在不断丰富。

本文作者:闲鱼技术

阅读原文

本文为云栖社区原创内容,未经允许不得转载。

相关文章