关于产品包装的ESB服务定义探讨

需求背景:

某银行为支持小微企业发展,解决小微企业流动资金不足的困难,设计新贷款产品:优质客户在贷款到期时,可以通过审批获得一笔新贷款,客户偿还上笔贷款利息后,银行为客户发放新贷款,并自动将新贷款用于偿还上笔贷款本金(实际就是延长了上笔贷款的还款时间,避免小微企业为偿还贷款而借用民间短期借贷)。

系统背景:

该银行建设有信贷系统和核心系统,信贷系统主要负责贷款的贷前审批及贷后管理,核心系统主要负责贷款发放、偿还等账务核算。

实现分析:

该产品是通过对现有的“贷款还息”、“贷款发放”、“贷款还本”三个服务的组合包装,而问题在于该产品是应该由信贷系统连续调用三个服务来实现该产品功能,还是应该由核心系统对三个服务进行组装提供一个新的“贷款还息延期”服务(服务名称可能不合适,暂定)。

服务定义:

最初的思路,是由信贷系统在一个事务中,组合三个服务,包装为一个新的贷款产品,ESB不再新增服务,但若按此思路开发,则信贷系统需对核心系统提供的三个服务分别按次序调用,并保证全部成功,跨系统的事务一致性保障并不容易实现。若改由核心系统提供服务,由于核心系统并无组装现有交易模块的功能,需开发新程序将原有三个交易模块写于同一事务中(实际就是把三个交易代码复制到一起,然后简单修改)。

定义结果:

最终决定,由核心系统提供“贷款还息延期”服务。定义由核心系统提供服务,并非前述的实现难度的差异,而是基于贷款产品的实际提供方的考虑,表面上贷款产品是由信贷系统提供,但如系统背景中所述,该行的信贷系统是作为流程审批系统来使用,贷款的业务处理及账务核算均由核心系统提供,在该背景下,“还息”、“放款”、“还本”都是属于核心系统的服务范围,信贷系统只是作为一个业务发起方,本身无相关业务处理,核心系统才是真正提供该贷款产品的服务方,所以在该背景下,应由核心系统对已有服务进行组装,提供新服务。

扩展思考:

  1. 若信贷系统作为贷款的业务处理系统,承担贷款相关的所有业务处理,而核心系统提供的是会计分录记账,根据信贷系统提供的会计分录进行记账,那么就无需新增服务,因为所有的业务处理在信贷系统内部就可以完成,核心系统不需要进行改造。在这种场景下,信贷系统和核心系统是松耦合的,但对信贷系统的功能要求较高。
  2. 若信贷系统和核心系统间的界限较模糊,均承担了一些业务处理,如核心系统提供通用记账,根据信贷系统提供贷款种类信息及各项记账金额,核心决定记账方式和规则,则该业务产品的实现,可由核心系统对记账规则进行配置,而信贷系统完成相关计算来实现。在这种场景下,信贷系统和核心系统是紧耦合的,新增业务品种,核心需进行相关配置或修改,但核心系统的提供的服务相对唯一。
  3. 在该案例中,信贷实际只是业务发起方,核心系统实现了所有业务及账务处理,信贷系统和核心系统也是紧耦合的,新增业务品种,核心需新增服务(是否核心系统能通过整理产品模型,统一提供较为标准的某类产品服务,这样就貌似和第2点的情况一致了?)。

茶余饭后:

建设ESB的目标,就是将各系统进行解耦,降低系统间耦合度,提高业务响应效率,但在实际工作中,理想的系统模型是难以直接落地的,总会受到历史遗留、能力水平、资源情况等各方面约束,应该认识到建设ESB的过程也是一个循序渐进的过程,在服务的不断演变中循环上升,相信最终能获得成功。

文章只是对突然灵感的记录,不一定就正确,希望有志同道合之人一同探讨。

快乐的父女时间

人家说女儿是父亲的小情人果然不假。收看父女游戏现场直播是我每天最期待的事情。

龙龙爸爸传授如何张开小手抓玩具:

父女玩玩具    20121228_213214

 

和小虎狗狗的深情对视:

20130202_112704

 

一起玩玩具~

20130205_210530超喜欢父女俩一模一样的额头

趴趴照镜子:

20130207_192609    20130207_192602

爬爬练习

20130208_200657    20130208_200624

漂亮美眉照镜子喽~

20130208_205444        20130208_205433

玩照镜子游戏玩到。。。

20130208_205644           20130208_205655

 

有了龙龙宝宝,生活充满快乐!!!

与宝宝的湿疹抗战详细攻略

宝宝真的很容易得湿疹,龙龙出生不到三个月,反反复复好几次了,还好都不严重,没多久就好了,虽然现在还小,没表现出痛苦,但是当父母的看在眼里总是难受,恰巧今天看到这篇文章,介绍与宝宝湿疹的抗战攻略,介绍得很全面,就转一份备着,随时可以查阅。主要包括以下内容:“判断是湿疹”、“湿疹与过敏”、“最重要的是寻找过敏原”、“严重湿疹别怕用激素”、“过敏三部曲”、“湿疹宝宝日常护理”。

Continue reading

ICDSoft空间到期后,数据也能取回

一位朋友通过我这代购的ICDSoft空间到期不准备续费了,结果发现数据没备份,这时候已经登陆不上空间了,于是向我求助。

我联系了客服,说明不继续续费,但希望能取回数据,结果客服二话没说,就给处理了,没过几分钟就给了“空间、数据库、邮件”三部分数据的打包下载链接,下载链接有效期72小时。

这位朋友也因为我和ICDSoft如此周到的服务,决定再继续购买ICDSoft空间,真是一个双赢的结果呀!

我个人用了近3年的ICDSoft空间,最直接的感受有两点:1.空间稳定速度快;2.客服服务好效率高。希望ICDSoft越做越好,给我们这些客户带来更多优惠!

老年人的江南style

产后妈妈的瘦身计划实现起来真的好难。清晨,喂饱可爱的宝贝,趁其熟睡之际方得片刻休闲,换上休闲装备踏访金榜公园。

平日上班族紧张的生活节奏使得晨起逛逛公园成为奢求,从不知早晨的生活可以如此精彩。公园里到处充满中老年人的身影,草地上、池塘边、大树下。。。沐浴清晨新鲜的空气,在绿色的包围下,洗去了一身的疲倦,顿时神清气爽。

“OH OH OH OH,    SEXY LADY…”

殊不是平日还有关注点流行歌曲,还不知这是目前正火的韩国歌曲《江南STYLE》,快步凑近一看才发现近百名中老年人成规模地伴着这音乐跳着骑马舞,而且个个神采奕奕,广场舞跳得有模有样,我忍俊不禁、驻足观看。

老年版的江南的确吸引人眼球,但是也令我们这些年轻人深省。上班族们带着倦容形色匆匆地在人群中穿梭,老年人们有着积极的心态面对自己的生活。年轻人精神状况老年化,老年人精神状况年轻化。年轻人何以带着讽刺意味看待老年人对时髦的追求?

公园不同的角落里有着广场舞、太极拳、老人操、门球、转陀螺等等不同的老年人运动。老年人亦如此,我们年轻一代岂能过着单位家里两点一线的枯燥生活,我忍不住想把龙龙爸爸也拉来瞧瞧了。。。

小天使的诞生札记

每个孩子都是上帝牵着手来到世间的小天使。上帝将小天使的手交给母亲的那一刻是每位母亲都无法忘怀的。虚弱地在产床上与龙龙宝贝四目相对的霎那,欣慰、喜悦、激动的心情无法用言语形容。偏着头轻轻唤着“龙龙,龙龙”,宝贝水灵灵的眼珠子转呀转呀,记忆犹新~

一遍遍咀嚼龙龙爸在产房外等待时发送微博的文字,细细体会龙龙爸焦虑的心情。亲爱的龙龙,爸爸妈妈一样期待你的到来。11月14日是让我们永远珍惜的一天,可爱的宝贝跟妈妈一样拥有着守时的习惯,预产期当天凌晨便向妈妈发出信号。

凌晨四点,突然感觉到下身一阵阵潮湿的感觉,我又惊又喜,破水意味着龙龙即将到来。迅速指挥龙龙爸收拾待产包、通知父母,就像兵临城下时镇定指挥的大将军,其实只有细心的妈妈在电话里听出了我声音中的颤抖。反而最镇定的是傻傻的龙龙爸,出门前还抓紧时间洗头发刮胡子,电梯口笑得合不拢嘴地念叨着“好激动,好激动。。”

想说生孩子真的是件很伟大的事情,佩服各位为人母的妈妈,自己真正经历才深有体会。一阵阵不断加剧的疼痛本是难以忍受的事情,而为了宝宝早点出生,又盼着疼痛加剧、疼痛时间间距缩短。只记得自己疼得连记宫缩时间都顾及不上记录,连开口说话的力气都没有,只有在阵痛开始时抓紧龙龙爸爸的手。平均5分钟一次的疼持续了近15个小时,记忆里,宫口未全开的自己独自躺在产床上,在每次宫缩开始时使着劲,没有医生只有一位小护士不停的给接近脱水的我递水。喝光了所有高丽参茶、吃光了大片巧克力,疼得唤出声的喉咙早已发不出声音。产床上奋战3个小时,终于在15日凌晨10分听到了龙龙宝贝的第一声啼哭,身心顿时释然。。。

推出产房,亲爱的老公握住我的手,亲了我的额头,轻唤了一句“辛苦了”胜过千言万语,我忍不住热泪盈眶。。。

看着自己的孩子,长得超像自己的小脸蛋,好幸福!

龙龙宝贝满月啦!

打从宝贝出生那天起就想在我们的1+1里记录宝贝的成长过程。苦于月子期的电子设备使用限制,而如今只有在龙龙宝贝乖乖睡觉的时候才得片刻闲暇。在妈妈心里,宝贝每一个细微的变化都值得记录下来,成为永远珍贵的回忆。宝贝闪扑闪的大眼睛时刻锁住妈妈装着满满幸福的心 。

12月15日——龙龙宝贝满月的日子

龙龙乖乖地等着我们给她剪满月头

20121214_135949

 

乖乖理发

20121214_140005

 

妈妈舍不得把龙龙漂亮的头发剪掉,只剪了一点点,哈哈

20121228_182440

左边的是龙龙剪下来的一小撮胎毛,右边的是出生一周脱落的脐带哦,永久的纪念~~

称小猪去卖啦:

20121214_141658

 

小猪10.36斤,比出生的7.6斤长了不少,妈妈的成果哦,嘿嘿

龙龙的满月造型:

20121210_213010

 

有点 怂,但是妈妈喜欢,哈哈

另附上满月酒上,我们家宝贝主角至始至终的表现

20121214_20082720121214_200841

 

睡得很熟,不过没法展示我们水灵灵的大眼睛了。

 

爸爸妈妈最爱的龙龙宝贝满月了,虽然带着宝宝很辛苦,但是看着可爱的宝贝什么都值了!

龙龙的纸尿裤

龙龙出生前,就考虑过是用尿布还是纸尿裤的问题,虽然用尿布比较透气,但是考虑到卫生快捷,最后还是决定采购纸尿裤。现在纸尿裤的品牌很多,从国产到进口,妈咪宝贝、帮宝适、大王、花王等等数不胜数,而且也都有不错的口碑。对比了一些网上评论,综合考虑了品质、价格等因素,最后是选择了大王作为龙龙刚出生的纸尿裤,在NB号快用完的时候,S号选择了花王纸尿裤继续使用(主要是因为在NB型号快完的时候,龙龙出现了红屁股),同时也有继续买大王的S号,混着使用,再往后估计全用花王的了。

数量方面,一开始根据朋友建议,出生前囤了两大包大王NB114的,基本是满足使用了,都用完的时候,正好换花王S82。刚出生的时候,一天要10来片吧,到现在快40天了,平均一天也还是要8 9片的样子。纸尿裤的NB是适用于0-5kg、S是4-8kg、L是9-14kg、XL是12kg+,可以看出每两个号之间是有交集的,在交集期间,建议是使用小一号的,这样比较合身,但是如果宝宝比较胖,就可能需要大一号,这样不会太紧。网上也有说法是刚出生可以直接用S号的,其实也可以,但个人觉得还是先用NB的合身,可以先囤一包NB,用完再根据情况买S或NB。

价格方面,纸尿裤的价格很有意思,同一品牌不同尺寸的纸尿裤每包价格都是一样的,只是尺寸越大片数越少,简单的理解就是材料是一样的,尺寸大了数量就少了呗,呵呵。根据一段时间的观察,大王纸尿裤的价格差不多是159元/包(大包的,比如NB114,S104),花王纸尿裤的价格差不多是139元/包(大包的,比如NB96,S82),花王的更贵一些,这个价格基本上是低价了,所以达到这个价格就可以入手囤货了。另外,从一些渠道了解到,花王的成本大概是125左右,所以如果价格比这个还低的话,就需要提高警惕了,避免买到假货。

品质方面,经过对比还是花王更胜一筹:1.花王更薄,透气性比大王的好,用大王的时候,龙龙的屁股感觉被包得不透气,屁股会发红,用花王的时候就不会这样;2.花王对便便的吸附效果更好,有便便的时候,花王能把便便中的水份吸收得比较彻底,便便也会粘附在纸尿裤上多一些,而大王就稍差一些。这些差别还是同时用两款纸尿裤才有感觉,不然原来觉得大王已经很好了。最近用大王又红屁股了,纠结啊,不过也有说法是宝宝对不同纸尿裤的适应情况不同,其实应该一开始从最便宜的纸尿裤开始试用,红屁股再换一款,现在已经用到花王了,也没什么好再换了的。

原来还想在最后写一下换纸尿裤的步骤,因为龙龙爸一开始也是不会换,在几个步骤清楚了以后,现在顺手多了,不过现在觉得也没什么好写的,就说点关键的吧。1.把新的纸尿裤垫在宝宝的屁股下面,一开始不知道要这么做,在被龙龙尿湿床单以后,才发现这么做的重要性;2.旧的纸尿裤不用着急扔掉,打开以后,先用前面干净的一面,把宝宝的屁屁简单擦一下,然后折到宝宝的屁股下面,这时候再用湿纸巾擦宝宝的屁屁,擦完以后,用旧纸尿裤包着脏的湿纸巾,抽出来以后卷起来扔掉,这样做也就不会把新纸尿裤弄脏。

OK,就写这么多吧,以后如果还有新经验,再来更新。

Ant编译出现乱码问题解决

最近几天碰到一个Ant编译后,出现乱码的问题,纠结了几天,目前应该算是解决了。事情是这样,手头有一个java的工程,由于是在windows下开发的,所以源码的编码格式均为gbk,之前工程的编译都是在windows环境下进行,所以一直也没有问题。最近由于环境管控需要(《在Linux下的用户特殊操作权限控制》),尝试在Linux环境下进行自动编译和部署,因此就出现了编译出来的应用有乱码的问题,查了几个地方,已确定是ant的javac和copy指令的参数配置问题,在这里把过程中学习到的知识记录一下。

首先是Java的编译和运行机制,从.java编译为.class的过程中,javac会默认按照编译所在操作系统的默认编码读取源代码,并编译成内部为UTF-8编码的.class,而在java虚拟机执行的过程中,会按照程序运行所在操作系统的默认编码,将UTF-8编码再次进行转换。通过这种两次转换的方式,Java实现了对多语言的支持。 Continue reading

使用iconv批量转换文件编码(linux&windows)

Linux环境下,在需要转换的目录下输入:

touch iconv.tmp && find . -iname “*.java” \
-exec iconv -f gbk -t utf-8 ‘{}’ -o iconv.tmp \; \
-exec mv iconv.tmp ‘{}’ \;

Windows环境下,在需要转换的目录下,执行放置iconv.exe程序,并执行如下bat脚本即可(点此下载程序包iconv(bat+exe)):

@ECHO OFF
FOR /R %%F IN (*.java) DO (
echo %%~nxF
iconv.exe -f GBK -t UTF-8 %%F > %%F.utf8
move %%F.utf8 %%F >nul
)
PAUSE

本文参考了以下两篇文章,感谢作者的分享: