2014-12-31 Created By BaoXinjian
一、摘要
ADF(Application Development Framework)是Oracle公司为简化Java EE程序开发的复杂性专门开发的一种解决方案,是Oracle提供的下一代企业级应用开发框架。
同时,Oracle ADF也是Fusion体系架构中最重要的技术之一和Fusion Application的核心技术,Oracle日后的几乎全部产品都将转到ADF框架。
1. 开放性
Oracle ADF可以充分利用Application Server的良好特性(尤其是WebLogic),
另外,Oracle ADF非常好的平衡了组件和编码,可以说既用组件、可视化、声明式的开发方式解决了简单、重复的劳动,又留下了自由编码的充分空间,在面对复杂应用时能够游刃有余。
2. 安全性
Oracle提供了完整的安全解决方案,提供基础的安全框架OPSS(Oracle Platform Security Services),一个基于标准的,可插拔的集成的企业级安全平台。
Oracle ADF提供了基于OPSS之上的安全组件ADF Security,实现基于ADF应用的企业级安全解决方案。同时ADF应用还可以集成Oracle Entitlements Server实现更细粒度的授权。
而Oracle所有的Fusion Fusion中间件(IDM、WebCenter、SOA/OSB、BPM、ODI、MDM等)和应用产品(升级后的EBS、Siebel、PS、Hyperion以及Fusion Application等),都是在OPSS基础之上实现安全解决方案,可以互相之间实现安全无缝连接。如果企业选择Oracle产品路线,那么Oracle ADF具有先天优势。
3. 扩展性
(1). Oracle ADF提供了200多个界面组件,完全可以满足常规应用,除此以外,可以基于这些组件方便地扩展出新的组件以满足错综复杂的业务需求。并且由于ADF是在JSF基础上的扩展,所有JSF的标准组件以及自定义组件也可以与ADF无缝集成。
(2). 从与其他Oracle产品关联性来看,Oracle ADF底层与其他Fusion中间件产品无缝集成,例如:BC部分借助于Oracle Database发挥更优良的特性、数据层及页面流可直接与Oracle Delivery Network集成实现基于消息事件的异步服务集成以及BPM/BPEL流程集成、展现层与WebCenter共同构建完整的企业门户。
此外,Oracle ADF作为满足J2EE标准规范的端到端解决方案及开发框架,可以方便地与其他开源技术/产品进行融合。
4. 框架能力
Oracle ADF,系统生命周期方面提供比了深入、全面的功能。比如个性化,是其基本功能,可以从系统和用户两个层次对界面元素、风格进行个性化定义而无需牵动原有系统设计和代码更改。比如Adapter,依赖Oracle“大而全”的产品线,Oracle ADF可以方便的使用各种现成的“知识库”性质的系统集成适配器。比如向导,Oracle提供了从简单到复杂、各种应用和对象的上百种向导功能,协助开发人员快速“初始化”应用和功能。
Oracle ADF应用开发框架是一个端到端的Java EE框架,它通过提供现成的基础架构服务以及可视的、声明式开发体验简化了开发。使用Oracle ADF构建RIA(Rich Internet Application)富互联网应用,基于Web 2.0的用户界面,带给用户高度互动性、丰富的用户体验以及功能强大的客户端:
- 局部页面刷新
- 立即验证
- 拖放操作
- 弹出窗口
- 动态和复杂的布局
- 类似桌面应用的交互
- ......
二、ADF架构
ADF架构图
ADF架构图如下所示:
最佳实践来看,使用Oracle ADF来构建应用,你的应用将清晰分离业务逻辑、页面导航及用户界面并遵循模型、视图及控制器的MVC三层架构模式。如上图所示的ADF架构:
- 模型层代表与当前页面相关的数据值(Model)
- 视图层包含用于查看/修改数据的用户界面(View)
- 控制器层处理用户输入并确定页面导航(Controller)
- 业务服务层处理数据访问及封装业务逻辑(Business Service)
三、ADF架构说明
1. ADF 架构说明
- Oracle ADF对应的每一层实现分别为:
- 业务服务层—ADF Business Components
- 模型层—Data Control和Bindings
- 控制器层—Taskflow
- 视图层—ADF Faces
1.1. ADF Business Components
在以数据库为中心的业务逻辑中,ADF提供了下面三种关键部件: Entity Object, ViewObject, Application module。
这三层建立的顺序是这样的,先建立持久层的实体对象(Entity Object),然后建立数据访问层的视图对象(ViewObject),最后建立接口层(Application module)。
其中建立持久层的实体对象主要是和数据库的表或者同义词对象建立关联,数据访问层的视图对象(ViewObject)是基于实体层的实体对象建立的(当然也可以只建视图对象,不过这样就不是基于实体对象的,而是基于SQL),
主要是进行数据库的访问,而接口层是整个Business Service 层和Model层的接口,在数据访问层建立的视图对象需要注册到接口层中,这样在Model层中才可以访问。
1.2. ADF Model
ADF model是ADF框架最核心的模块——它实现了JSR-227规范,包括两部分:Data Control和declarative bindings(声明式绑定)。
Data Control 通过使用标准元数据描述业务层中操作和数据集合(包括属性信息,方法调用等),从而抽象了业务逻辑的实现。
当开发人员创建好接口层 (Application module)时,Data Control也就自动创建好了,它包含了接口层中所有的功能。
也就是说所有访问业务对象的方法现在都通过Data Control来进行,这样使得绑定层使用一种方式来访问数据,不论后台的数据对象是如何获取得(数据库,webservice, javabean, csv等)。
可以把Data Control看做是一种代理机制,从而隔离了业务逻辑层和UI层。
1.3. ADF Taskflow
ADF Controller在实现了JSF标准的基础上进行了扩展,提供了更大的页面流功能。
1.4. ADF Faces
Oracle ADF Faces 是一组基于 JavaServer Faces JSR (JSR 127) 的功能齐全的用户界面组件。
ADF Faces Rich Client内建有AJAX功能的组件,已提供了超过100个富客户端组件,其中包括了内置Flash和SVG数据可视化组件。通过使用这些组件,用户带来极大的视觉冲击。
除了使用ADF Faces RC,Oracle ADF也对Apache MyFaces Trinidad视图技术提供了完全的支持。
四、ADF界面效果及组件展示
1. ADF控件
2. ADF图表
Thanks and Regards
转载:得帆技术 - http://definesys.com/solution/adf/adfsolution.html
ERP技术讨论群: 288307890
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建