遵循SOA规范(Service Oriented Architecture 面向服务架构)的银行软件系统,可以理解为是多个松散子系统协同工作的结合体。“松散” (松耦合) 意味着每个子系统(在SOA架构中被称为服务:Service)是独立开发,独立运行,但可能需要和别的子系统进行数据交换。比如有一个核心系统实现帐务处理的功能,另外还有ATM子系统,信用卡子系统,中间业务子系统等,需要和核心系统发生数据交换。为了实现子系统之间的协同工作和相互的数据通讯,需要专门的软件开发机制。因为原则上每个子系统的数据接口可能是不同格式的,可能导致无法直接通讯(就象中国人和美国人对话).在SOA体系内,为解决这个问题,常用的方法是开发一个ESB (Enterprice Service Bus 企业服务总线).简单的说,一个ESB程序就是一个万能翻译机::当两个子系统需要通讯的时候,ESB可以把发送方的数据转化成接收方能接受的格式(有点象万能翻译机),传送给接收方.