在ADF中,ADF Model层的逻辑功能是能过Application Module展现给调用者的。最基本的,每个Application Module都要对应一个数据库链接,它负责管理数据库事务等;也做为ADF BC中将Model层逻辑expose给UI层的中间管理者。那么,Application Module可以定义两种不同的接口:the client interface,the service interface。
The client interface通过Application Module的Data Model和Java选项,将ADF Model层定义的VO和AM中的Custom方法展现给ADF ViewController层,实现UI界面需要的数据处理逻辑。这是在ADF中使用最多的方式。
The service interface通过Application Module的Service Interface选项,将ADF Model层定义的VO和AM中的Custom方法展现给其他的应用程序,可以是web service、或者其他的应用服务。这样可以在基于SOA的架构中,其他应用使用ADF Model层中定义的逻辑。
这样,ADF可以调用其他应用提供的Webservice,也可以提供Webservice给其他应用。
对于一个Application Module,可以不定义任何接口、只定义两种接口中的一种、也可以同时使用两种接口。
更多的内容可以参考ADF Fusion Developer‘s Guide中关于Integrating Service-Enabled Application Modules的描述。