在本文中,我将考虑在Oracle ADF和Oracle Jet的组合之上实现应用程序的各种体系结构模式。 练习ADF的组织可能会考虑将Oracle Jet合并到现有项目中,以刷新外观并使其具有现代感和响应能力,并以新方式实施新功能。 它可能会考虑将Oracle Jet用于全新的项目,以及显然用于与移动设备的混合应用程序开发相关的项目。

Oracle Jet与UI有关,仅与客户端有关。 因此,无论如何,服务器端都必须实现一些东西。 显然,许多组织将决定使用ADF来重用其在ADF中的知识,经验,实施和投资。 这是很合理的。 因此,让我们看一下在将Oracle Jet与Oracle ADF相结合时我们有哪些选择。

第一个,最明显和最受欢迎的选择是将Oracle Jet置于ADF BC之上。 因此,Web或混合移动应用程序的客户端是通过Jet实现的,而服务器端是作为Rest服务公开的ADF BC。 借助JDeveloper 12.2.x,您只需单击几下鼠标便可以将ADF BC作为Rest服务公开。

这种方法的优点是非常简单的体系结构。 简单的东西就有机会工作更长的时间。 另一个非常有价值的好处是,我们将重用我们的资源,我们的知识和ADF经验,如果正确地实现了现有的ADF应用程序,那么我们将重用业务逻辑实现的最关键部分。

但是,我们必须了解,在ADF应用程序中完美运行的ADF BC商业服务对于Jet应用程序可能没有用。 这是为什么? 主要原因是我们更改了状态管理模型。 我们从经典的ADF有状态行为切换为REST无状态模型。 此外,在Jet Web和Hybrid应用程序中,UI设计更有可能会有所不同。

因此,我们需要创建新的ADF BC服务,以支持无状态模型并为新UI的方便提供服务。

好消息是,我们不必从头开始构建所有内容。 如果以正确的方式构建现有的ADF BC模型,则我们可以重用其核心部分,包括实体和在实体级别实现的业务逻辑。

因此,我们可以将整个ADF BC模型拆分为包含实体,实用程序和共享AM的核心部分,以及包含特定AM和VO并为ADF应用程序和Jet应用程序提供服务的外观部分。

重新考虑了我们的ADF BC并准备好为ADF和Jet应用程序提供服务后,我们现在可以将Jet功能集成到现有的ADF项目中。 常见的架构方法是

为了使用ADF来实现系统的某些页面,一些页面是使用Jet来实现的,还有一个移动混合应用程序也可以通过Oracle Jet来实现。

这种方法的优点是我们将事物分开保存。 看起来不同的应用程序在共同的业务模型之上运行。 每个应用程序都引入了自己的UI,适用于针对其实现的那些用例。 此外,它们为整个系统提供了不同的入口点。 我们可以通过常规ADF页面访问它,我们可以与移动设备一起使用,也可以从Jet网页访问它,而Jet网页又可以轻松地集成到任何父级网页中,例如门户网站应用程序。

但是这种优势可能会变成一种劣势,因为对于每个进入点,我们都应该考虑身份验证,内部化,本地化等。

这种方法将更多的运行组件带入整个系统结构,因此CI,CD,自动化测试和环境在这里变得更加复杂。

另一个明显的选择是将Jet内容集成到ADF页面中,以便从用户角度看它看起来像一个页面,但在幕后却是两个不同Web应用程序的混合。

这个选项不是我的最爱,我会避免。 因为基本上,您在这里要做的是在同一页面上混合两个Web应用程序。 这意味着将有两个具有不同事务的不同会话,因此会有独立的实体缓存和用户上下文。

Jet内容不参与JSF生命周期,因此整个页面以两种不同的方式提交。 ADF希望拥有整个页面,因此诸如响应式几何管理和“拖放”之类的出色功能将不适用于Jet内容。

在我看来,当我们需要在页面上显示一些外部内容形式时,这种方法在非常特殊的情况下是有意义的。 例如,如果我们的页面是门户或仪表板的一种,它在一个地方收集来自不同来源的数据。 在这种情况下,可以在类似的页面和常规Jet应用程序中使用相同的Jet组件。

当我们通过远程任务流调用将ADF内容集成到Jet页面时,同样的考虑也针对相反的方法。 该技术很有意义,但是当我们想重用Jet中未实现的现有ADF功能时,仅应在特定的用例中使用。 至少目前还没有。 这种方法不应用作构建我们的应用程序的标准工具。

最重要的是,Oracle ADF和Oracle JET可以完美地协同工作,这对于拥有扎实的ADF背景的组织来说是一个不错的选择。 唯一的选择就是明智地选择将这两个完全不同的工具结合在一起的体系结构方法。

而已

翻译自: https://www.javacodegeeks.com/2018/05/oracle-adf-jet-architecture-patterns.html

Oracle ADF和Oracle Jet一起工作。 建筑模式相关推荐

  1. oracle adf lov,Oracle 应用开发框架学习一:入门使用ADF业务组件

    3.6概述Groovy脚本语言支持 Groovy是一种脚本语言,Java平台类似Java语法.ADF业务组件的Groovy语言表达不同的Java代码中可以使用的业务组件自定义Java类.Groovy脚 ...

  2. oracle adf 使用,ORACLE ADF 问题总结

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 1. 现象:Lov或者页面ADF Table 数据显示有重复行,或者当前行用鼠标无法选择: 解决:检查vo上是否有主键 2. 现象:页面字段出现无法更新 ...

  3. oracle adf购买,oracle adf

    Product Details 基本信息 ISBN-13 书号 9781484228197 Author 作者 Vesterli Format 版本 平装-胶订 Pages Number 页数 192 ...

  4. oracle adf lov,Oracle ADF之 LOV 级联下拉菜单

    ADF中的基于LOV的级联下拉菜单补充: 我们都知道ADF的List Of Values. 虽然很好用,但是对于刚刚接触ADF的人来说,也不是那么好理解的. 前几日在开发中遇到一个需要改造三级级联下拉 ...

  5. oracle adf immediate,Oracle ADF 双击行事件

    参考ADF Code Corner How-to handle and respond to mouse double clicks in ADF Faces tables. 在双击table 的某一 ...

  6. oracle adf_Oracle ADF和Oracle Jet一起工作。 建筑模式

    oracle adf 在本文中,我将考虑在Oracle ADF和Oracle Jet的组合之上实现应用程序的各种体系结构模式. 练习ADF的组织可能会考虑将Oracle Jet合并到现有项目中,以刷新 ...

  7. oracle adf_Fn函数来构建Oracle ADF应用程序

    oracle adf 在我之前的一篇文章中,我描述了如何创建一个Docker容器作为ADF应用程序的构建器. 在这里,我将展示如何将此容器用作 在FN平台的功能 . 首先,让我们更新容器,使其符合功能 ...

  8. Oracle ADF移动世界! 你好!

    您好,ADF Mobile,世界! 您可能已经知道... ADF Mobile在这里! 以下是一些链接,这些链接会让您有宾至如归的感觉. ADF Mobile主页: http://www.oracle ...

  9. oracle adf源代码在哪里,第 3 章 | 从设计到实践全面了解 Oracle ADF 应用程序

    从设计到实践全面了解 Oracle ADF 应用程序 作者:Chris Muir 和 Penny Cookson 第 3 章 -"应该具备"需求:创建一个大众化应用程序 2009 ...

最新文章

  1. MVC页面加载速度优化小记
  2. 用createrepo配置Yum本地源
  3. docker部署nacos单机版
  4. FPGA进阶篇--SPI控制双通道16bit串行DAC8532
  5. ubuntu 下安装java6的源
  6. pytorch Tensor的操作和Numpy之间的转化(三)
  7. python方差选择样本_两个样本方差比的分布(来自Python的实验)
  8. 中石油训练赛 - 手机号码(简单分块+思维)
  9. Kubernetes共享使用Ceph存储
  10. python自动化测试框架结构_基于Python的HTTP接口自动化测试框架实现
  11. python sybase安装
  12. python读、写、修改、追写excel文件(xlrd / xlwt / xlutils / openpyxl)
  13. linux下可以输入中文曲,Ubuntu 14.04终端模式下中文输入听歌
  14. Xshell和secureCRT
  15. 戴着人工心脏上脱口秀大会——王十七的充电人生
  16. 经常写大材料的请惠存(转载)
  17. NS3中“E: package ‘gnuplot‘ has no installation candidate”问题解决方案
  18. 第五章 光学系统中成像光束的选择
  19. Mysql-基础命令
  20. python爬虫初学实战——免登录爬取easyicon里的vip图标(2)

热门文章

  1. K8S Learning(10)——Pod配置
  2. 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列
  3. JVM 调优和垃圾回收器说明
  4. Eclipse 内置浏览器
  5. JDK8新特性之Optional
  6. JSON Web Token (JWT),服务端信息传输安全解决方案
  7. (四)十大经典排序算法(动画图解,代码完全)
  8. js遍历对象的key和value
  9. 什么是mysql的主从复制?
  10. JAVA常用的环境变量配置