【IT168 信息化】现在,SOA虽然才刚刚迈入实践阶段,但是大范围的应用案例已经浮上台面。在台湾,目前除了台大医院的系统架构已经全面转向SOA,其它包括运营台湾移动通信的公司也正在进行全面性的系统架构检视,并且把这项评估视为年度的重点;台湾固网公司则是因为既有系统与业务模式,早已超出原本的规划,因此,调整系统架构是迟早的事情。
没有时间等100分的成功案例出现,觉得SOA可行就用了
一般来说,企业对于新兴技术或是方法论的采用,都会采取循序渐进的做法,SOA的发展自然也是如此,企业一开始通常都会用一段时间进行概念验证,然后才会决定项目范围,台大医院同样也经历了这个过程。
“2年多前,台大医院的主机转换项目再度启动,并且大刀阔斧地决定把系统架构转向SOA,在当时甚至当今都是一个非常领先的做法,”台大医院副院长赖飞罴表示,决定把系统架构转换成SOA之前,台湾没有任何一个成功案例可以参考,但是“对于台大医院来说,也没有时间等100分的案例出现,然后才来做这件事情,因此,在经过概念验证之后,觉得SOA可行就用了。”
台大医院的系统架构转换,将会涉及的应用范围同时包括了门诊系统、住院系统与急诊系统等三大核心领域,赖飞罴说,过去的系统虽然稳定,但是延展性差,任何一个需求的产生都是痛苦。举例而言,凡是健保局需要医院提供的一些医令数据,往往都需要半天甚或一天的时间才能完成数据转换。而在系统架构转换成SOA之后,因为同时遵循HL7医疗标准以及Web Services技术标准两个开放标准,因此,就可以直接与外部系统连接,进而达到快速响应需求的目的。
目前台大医院的系统架构,由上至下可以区分成Web Application(应用层)、HL7 over SOAP(网络协议层)、Web Services(共享业务模块层)以及数据库等四层。赖飞罴表示,这样的分层切割出来之后,事实上也改变系统开发人员的工作模式。过去一个新的需求产生之后,往往会挑选出适当的人员,然后就交由这些人从无到有逐步开发完成。现在系统架构转换成SOA之后,只要明确定义出每一层应该遵循的标准,例如:共享业务模块层的沟通,就是采用Web Services标准,就可以做到垂直分层分工,而不用理会其中的程序代码或是商业逻辑。
遵循HL7医疗标准,逐步切割出10个共享业务模块
然而,当初光要定义这些标准,台大医院就花费了半年时间进行相关的规划,其中共享业务模块部分主要是遵循医疗界的HL7标准进行切割。相较于其它企业必须慢慢摸索的情况,台大医院在这方面幸运许多。台大医院信息部门系统组组长杨子翔进一步表示,HL7虽然是内容讯息传输标准,但是由于标准制定范围涵盖了每一个医疗流程,因此台大医院决定依循HL7,并且依序在共享业务模块层,切割出查询、病人基本数据管理以及财务管理等10个共享模块。
目前台大医院的共享模块,主要是透过Web Services沟通。杨子翔表示,当初虽然也有考虑过使用MQ,不过后来因为考虑到与其它医疗单位等外部系统连接的需求,因此还是决定采用Web Services作为跨平台标准。台大医院历时一年半开发的系统,总算从去年开始陆续上线,在今年4月要完成所有系统的转换。
在此同时,相关的管理工具也必须备妥。杨子翔表示,目前针对Web Services的系统效能监控,主要是用CA的管理工具。对于转向SOA之后,延伸出来的模块重复使用性监控,则是经由应用系统呼叫共享业务模块的程序代码过程间接掌握。长期来说,台大医院仍旧需要透过工具进行共享模块的管理,不过碍于现阶段正在进行系统转换,因此,相关的管理工具评估,自然就成了第二位。
这一次再度启动系统转换项目,台大医院只能成功不能失败,赖飞罴决定自己亲自操刀,在采用Sun Fire 12000主机之后,整体的系统架构也决定转向SOA,应用系统的开发则是采用微软公司的Visual Studio 2003版,相较于过去使用Cobol开发的情况,一开始最难的就是如何找到.NET人才,进而建立一个开发团队。