SOA和统一数据格式
―――――――――――――――――――――――――――――――――――――――
做SOA项目的时候,常常要涉及到不同系统的数据转换。
关于数据转换,并不是一个新概念,在EAI时代,基本每个EAI平台都提供数据转换功能。虽然有现成的功能提供数据格式转换,但是数据格式转换的工作量还是很大,包括规则的配置、测试、异常处理等等。
我做了很多项目,我发现我接触的客户很少会主动想到把企业中各种对象的表示格式进行统一。客户通常会把开发系统的工作交给开发商,而每个开发商都用自己的方式去表示系统的对象。这就造成一个对象,比如一个设备,变压器,在不同的系统具有不同对象名称,不同的属性,不同的属性长度等等。当然,这也有业务方面的原因,比如GIS系统中的变压器和物资系统的变压器,它们的属性会有差异。
开发商在开发完系统之后,会交付数据字典给客户,或者不交付。
客户通常拿到数据字典之后,只是存档,并不作处理。
在我看来,一个企业,必须建立一部企业内部统一的数据字典,包括了企业中所有的对象,每个对象在不同系统的表达方式,其中需要抽象出对象在所有系统中的通用属性和在特定系统中的特别属性,明确规定对象的名称,属性名称,属性长度精度等,这些名称长度精度必须在所有系统中统一。将来的新系统必须参照这部统一的数据字典进行开发。
不过,建立企业内部统一的数据字典是一个漫长的过程,需要不断的更新和维护,它涉及到系统的改造,同时还有对象的生命周期变化,比如设备A不再使用了,开始使用设备B。
企业内部统一的数据字典的建立是企业IT部门必要的工作。