Farseer

导航

第九章:XML文档集成(一)---概述

[译序]
AIF是一个很好玩的东东,最近在工作之余在看AIF的一些文档,<<Inside Mircrosoft Dynamics AX 4.0>>这本书的第九章有关于XML文档集成的,试着将其翻译一下。本章只是讲解AIF如何通过XML文档框架为AX提供XML文档接口,并不是AIF的全部内容。
本文仅供AX从业者和爱好者学习交流之用,请勿转载,由于笔者水平有限,错误在所难免,还望不吝赐教。
本章内容
简介
AIF架构概览
XML结构
AxBase API
AxInternalBase API
查询
Axd向导
定制已经存在的XML文档
实体键类
发送框架
总结
本章目的
描述AxdBase和AxInternalBase类层次
介绍Axd向导
描述如何定制一个AX4.0XML文档
解释如何通过发送框架向一个在编码时并不知道的合作者发送XML文档
讨论在AX中接受和发出XML文档时的涉及到的安全问题
简介
在AX4.0中AIF取代了商务门户(Commerce GateWay)作为交换电子商务文档的方式。为了给B2B协作提供广泛的支持,AIF支持与应用继承平台比如Microsoft BizTalk Server2006交互。它也可以通过其他多种多样的通信方式包括MSMQ和WebServices完成企业应用的整合场景。
AIF依赖XML文档框架为AX提供XML文档接口。XML文档框架由两个X++类层级组成:
1.AX文档类(指Axd类)将数据呈现为电子文档。它们使用户可以不必了解底层的复杂表结构及相关的业务逻辑,同时将错误处理从单个的表和字段提升到文档层次。另外,Axd类提供了方法,用来将对象序列化成XML文档,在执行值映射和数据过滤时从XML文档中实例化出文档类。Axd也可以基于AOT中相关的Query自动产生XML Schema。
2.Ax<Table>与AX中的表有1:1的关系,使得用户可以不必关注底层针对表的业务逻辑和复杂的默认设置。Ax<Table>使得调用程序不需要按一定的顺序设定字段也不需要重复针对表的业务逻辑。因此,Axd类总是通过Ax<Table>操作AX的数据库表。
AIF框架概览
AIF框架的整体如图9-1所示,有两个主要组件组成:传输(transport)和事务逻辑敞口(译注:原文为exposure,有暴光,暴露之意,感觉翻译成这些都不太合适,这个地方的意思应该是将事务逻辑封装起来暴露给客户,但翻译成暴露感觉怪怪的)。本章主要关注事务逻辑敞口,当实现新的文档或者修改默认设定时需要修改它们。

图9-1:AIF架构,下面部分是业务逻辑,上面是传输层
AX业务逻辑的设计主要包含两个类型层次:AxInternalBase和AxdBase,可以将AxInternalBase类层次看作是表功能的扩展。自定义的类继承表的属性和设置,随后为了满足自己的要求,必须应用一些附加的业务逻辑和验证。Ax4.0 AxInternalBase的子类主要实现验证,值替换和默认值设定。
新建的XML文档类继承类AxdBase,该类可以从AX中序列化或者反序列化XML,或者序列化反序列化XML到AX。它也是对AX执行查询,读取和创建文档的单一入口点,AxdBase实现了AifServiceable接口,这使得外部可以通过Web Service或者AIF的传输层访问继承类。图9-2论证了AX核心业务功能和XML API以及XML API和AIF传输层之间的交互。

图9-2.文档类和周围环境的交互

posted on 2007-07-17 10:49  佛西亚  阅读(600)  评论(0编辑  收藏  举报