Software AG是德国的一家多年从事系统软件、ERP、电子商务产品和应用解决方案的软件厂商。Software
AG以MainFrame和数据库技术起家,代表产品有两大类:Enterprise Transaction
Suite包括ADABAS、NATURAL(4GL),Power Suite for
Internet包括Tamino、Bolero、EntireX。该公司设计开发的企业资源规划(ERP)产品Prodis可以在Unix、Windows
NT以及IBM AS/400等操作系统上运行,适用于编制从销售到生产的规划,并可用Software
AG的Natural程序设计语言进行修改使之适应公司的具体需要。另外,Software
AG还通过从微软获得授权进行DCOM的跨系统移植工作,从而使得其基于DCOM的产品支持包括Sun Solaris、OS/390、Digital
Unix、IBM AIX、OpenVMS和Linux在内的6种操作系统。Tamino Server是Software
AG进军电子商务市场的又一武器。
Tamino
是一种基于XML的信息服务器,可以用于电子商务系统的应用和开发。Tamino实现了完整的XML数据库系统,而不仅仅提供一种在数据库管理系统同
Web应用间的转换接口。Tamino使得异构数据的存取变得更加容易,这些数据可以是简单的文本,也可以是声音、图像、视频等多媒体数据;数据的来源将
不受限制,不论数据是来自于原始XML资料库(XML
Store和X-Machine),还是从现有的文档甚至各种数据库系统来源读取。通过预先定义一组文档类型描述格式,再借助系统内置的Tamino
Schema
Editor,使得开发者可以方便地定义需要的底层数据结构;基于URL方式的数据存取方式更是大大方便了XML数据的存储与检索,使得程序员可以从编写
繁琐的XML语法分析器代码中解放出来;Tamino Server提供Server Extensions编程接口,允许用户利用Visual
Studio开发COM组件,通过在组件对象中嵌入商业逻辑,从而开发出适合于用户自己的应用系统。
Tamino
Server的结构如下:
由图可以看出,Tamino提供如下功能:
- 通过XML Store和X-Machine实现XML对象的存储与检索机制
- 通过SQL Store 和SQL Engine实现SQL数据的存储与检索机制
- 通过X-Node实现同外部异构数据源和应用间的接口
- 通过Data Map管理XML数据的存取机制
- 通过Tamino Manager进行多个Tamino服务器的Internet远程管理
Tamino Server具有几个显著的优点:
- 使得跨平台、跨系统间异构数据的交换与存取成为可能。在这里,XML起着不可忽视的作用。
- 高效。作为XML引擎的X-Machine使得Tamino可以快速高效地处理大量的数据。XML数据直接以原始的对象型格式存储,无需转换成其他格式,减少了中间环节,大大提高了数据处理的效率。
- 可扩展性。X-Node的引入,使得Tamino可以同多种数据源和应用系统联结,进一步拓展了Tamino的应用环境。Server
Extension 编程接口使得开发者可以开发适合自己需要的应用系统。
- 可管理性。通过Tamino Manager可以进行多个Tamino服务器的Internet远程管理。
- 开放式标准。Tamino遵循开放式DBMS原理提供如OLE-DB、DCOM、ODBC和JDBC等标准接口。交换数据格式采用W3C标准XML,查询所采用的W3C草案XQL相信也会在不久的将来成为国际标准。
- 支持全文检索。
与此同时,Tamino Server也有它自己的弱点:
- Tamino在XML元素内容上支持多内码,但不支持元素标记的多内码转换;另外,Tamino 工具也不支持多内码的显示。
- 不支持URL直接的XSL样式化输出
- URL-Based的XML数据更新功能较弱
最后,来说说Tamino
Server应用。Tamino是一种基于XML的数据管理系统,实现了XML数据的存储与检索。在电子商务、跨平台计算、信息发布等领域有较好的应用。利用Tamino开发的步骤如下:
- 需求分析:设计出数据字典和商业规则
- 定义数据结构:利用Tamino Schema
Editor完成数据结构的定义。通过指定相应的Map-type类型,设置数据的存储方式:XML Store或SQL Store。
- 编写代码:
- 利用URL编写XML数据处理脚本。
原理:在客户端通过Script动态生成XML片断或XQL语句,然后以GET或POST方式发送至Web服务器处理。
- 利用Tamino Server Extensions编写消息处理代码
原理:利用Visual
Studio开发COM组件。Tamino Server
Extensions支持下面两种类型的函数(SXF):Mapping函数和事件函数。其中Mapping函数又包括Mapping
In函数,即当XML数据存储入Tamino Server 时由文档处理器调用的函数;Mapping Out函数,即当从Tamino
Server检索XML数据时调用的函数。事件函数主要用于通知Server
Extensions有关事件的发生,包括事务事件(如Commit/Rollback)、会话事件(如会话结束)、Server事件(如断开与Server的连接)。