ADF Single Origin Policy

本来想在一个页面中通过iframe引入一个ADF开发的应用,结果报如下错:

Warning: Unable to load content in a frame. Frame content will load at the top level

查资料得知,这是因为违反了Single Origin Policy原则。这个特性是在ADF 10.1.3.5就加入的,具体来说就是通过一个配置参数控制ADF应用是否可以被iframe引用。此参数位于web.xml配置文件中:

<context-param>
	<param-name>oracle.adf.view.rich.security.FRAME_BUSTING</param-name>
	<param-value>differentDomain</param-value>
</context-param> 

这里FRAME_BUSTING可取值为:

  • differentDomain :主页面所在域与iframe引入页面所在域相同时,才被允许使用iframe引用
  • always :永远不允许被iframe引用
  • never :永远可以被iframe引用(缺省值)

(完)

Oracle发布Oracle应用开发框架移动客户端

2011316

  • 为了对Java移动开发提供进一步支持,甲骨文公司日前宣布推出Oracle应用开发框架移动客户端(Oracle Application Development Framework Mobile Client),该产品是对Oracle应用开发框架(Oracle Application Development Framework,简称Oracle ADF)的延伸。
  • 作为Oracle 融合中间件的一个组件,Oracle ADF移动客户端使开发人员能够将现有的技能扩展到移动设备之上。该移动客户端通过使用单一、标准的Java用户界面(UI)框架和所有支持性工具,极大简化应用程序的创建和部署。开发人员只需借助一次构建便能将Oracle ADF移动客户端部署到多个设备,而且该客户端已增添新设备支持功能,因此应用程序可以部署到新平台而无需进行二次开发。
  • Oracle ADF移动客户端可提供本地移动功能,通过对黑莓(RIM)和微软Windows Mobile设备提供支持,应用程序可直接部署到移动设备之中。
  • 通过访问实时和离线数据以及深度设备服务的集成,Oracle ADF移动客户端能够使各种应用软件受益,包括现场服务、仓库管理、消费品/零售执行和销售自动化等。
  • Oracle ADF移动客户端完善了Oracle ADF移动手机浏览器,该浏览器可以使开发人员能够为广泛的移动浏览器创建连接性企业应用。

简化基于Java的移动应用开发

  • 基于与Java Server Faces(JSF)相同的编程范式,Oracle ADF移动客户端实现了极高的产出价值,在公开的开发环境下,开发人员可以用可视化编辑工具组合和Java代码来定义一个与设备无关的代表性应用程序。这种单一的通用型应用程序定义,可以使用该平台的本地用户界面,从而适用于多个设备类型。
  • 该方法使开发人员不必过分专注于某一个特定的设备或工具包,使应用程序在移动空间内可以迅速适应不断变化的性能和平台。
  • Oracle ADF移动客户端使创建基于Java的应用程序,就像在电话或移动设备上运行本地应用程序一样。
  • Oracle ADF移动客户端的数据管理设施和访问设备服务的功能,使之成为将现有企业应用延伸到移动领域的理想平台。
  • Oracle ADF移动客户端同时可以轻松地重新使用现有的企业服务,将其扩展到中断的移动传输之中,而无需考虑应用程序的源设计。
  • Oracle ADF移动客户端的其他新功能包括:

- 离线和实时访问企业数据:Oracle ADF移动客户框架为离线数据提供了设计工具和数据同步服务。此外,实时数据链接可通过Web服务公开创建,数据也可以在本地缓存,为混合在线/离线移动应用提供支持。

- 本地设备硬件访问:移动客户通过Oracle ADF移动客户端的创建,可以访问到如照相机、全球定位系统和从Java代码嵌入到应用程序的其他数据采集源的本地设备硬件。

- 公开条码读取器集成:允许Oracle ADF移动应用程序在设备上简化和无缝集成一体化的条码阅读器。

- 在设备和企业间实现数据同步Oracle 数据库 Lite 移动服务器提供了高度可配置的数据同步引擎,可实现基于增量的自动化以及按需同步服务。移动处理重放服务(Mobile Transaction Replay Service)作为Oracle ADF移动客户端的一部分,也可以使离线时已经在移动设备上记录的逻辑处理,通过API回放,而不会直接放到数据库中。此种方法可以更好地实现对现有企业服务的重新使用并较好分离了SOA架构。

甲骨文高管引言

  • 甲骨文公司工具和中间件首席设计师及高级副总裁Ted Farrell 表示:“日益增长的移动商务应用,要求Java开发人员比以往任何时候都要能更快地创建和扩展移动应用。甲骨文ADF移动客户端和Oracle ADF移动浏览器使开发人员可利用其现有的技能,在移动设备和平台间实现有效部署应用程序,以解决企业内迅速增加的流动性需求。”

支持性资源

(完)

JDeveloper用户目录设置

此目录是JDeveloper用户个性化信息的场所,其中最重要的就是内嵌式WLS Domain。如果想改变此目录位置可以通过三种方式:

1. 添加启动参数

jdev.exe -J-Dide.user.dir=<Path>

例:

  • jdev.exe -J-Dide.user.dir=D:\users\jdoe (on Windows).
  • jdev.exe -J-Dide.user.dir=/home/users/jdoe (on Linux and UNIX).

2. 设置环境变量

JDEV_USER_DIR=<Path>

例:

  • SET JDEV_USER_DIR=N:\users\jdoe (on Windows).
  • export JDEV_USER_DIR=/home/users/jdoe (on Linux and UNIX).

如果环境变名冲突想更改环境变量名,可以修改3中指定的配置文件,加入:

ide.user.dir.var=JDEV_USER_HOME, JDEV_USER_DIR

3. 修改配置文件

配置文件位于:MW_HOME/jdeveloper/jdev/bin/jdev.boot,最文件中加入

例:

  • ide.user.dir=D:\users\jdoe (on Windows)
  • ide.user.dir=/home/users/jdoe (on Linux and UNIX

最后,记得重新启动JDeveloper。

(完)

JDeveloper Tip – AFStretchWidth

简单来说,AFStretchWidth样式类是用来替代100%这个属性值的。举例来说(如下图):

afstrectchwidth_structure

标蓝色的af:panelGroupLayout是子组件,如果想让这个子组件填满父组件所提供的空间,传统的做法是指定宽度100%,但这是不推荐的做法,推荐的做法是使用AFStretchWidth。例如(如下图):

afstrectchwidth

(完)