关于面向服务的进一步讨论,势必会越过EAI的边界,而在更抽象的层面上审视医疗信息系统。
多年前人们在讨论面向对象的时候,至少在程序员的圈子里已经形成一个简单的共识,面向对象的本质就是面向接口编程,其余的什么封装、多态、继承等都可以由此展开;那么面向服务的本质又是什么呢?面向契约编程?还是服务对齐业务?事实上,当我们回顾面向对象的分析方法,会发现其实一切都是一脉相承的,过去是用对象来抽象现实中的实体,现在是用服务来抽象现实中的业务模块。说起来实在是没有什么新意,但就是这点小小的变化,却带来了更多的商业机会,甚至制造了一些新的商业模式,比如SaaS。对技术人员来说,所有的这一切只是因为有了更加清晰的系统边界,更加简单、独立和弱耦合的交互,这跟当年面向对象所带来的思想革命相比,只不过是往前迈出了很小的一步。
---
有一本我一直觉得太神圣以至于不敢轻易去读的书,叫做《特定领域应用框架:行业的框架体验》。里面介绍了IT系统在各行各业比较成熟的设计模型和应用案例,比如计算机集成制造、网络和电信应用等等,每个领域框架都用了不小的篇幅进行深入的介绍。有趣的是,在这本罕见的大部头里,谈到医疗领域的却只有区区几页。此书英文版是1999年出版,大概那时候医疗IT还不象今天这么深入人心吧,或许故意的留白也能暗示一下这个行业作为新一波信息化浪潮所具备的巨大潜力。在这几页的介绍中,一些具体技术或许略显陈旧,但一些大的概念至今依旧影响深远。编者提到了三种设计模型,在书中可能是故意按从系统后端到前端的顺序来编排的。由于网上查不到它的电子版,我大致记得是:
- 面向消息的集成
- 面向服务的架构
- 桌面交互集成
看来在