补丁下载

oracle每个季度都会更新一次补丁,可以从这里下载oracle产品每个季度的补丁,点击去后,在左边找到你的产品,点击右边进入补丁下载

补丁下载需要登录oracle support,你必须先注册一个support账号,进入后在产品列表找到产品

Read the rest of this entry

介绍

Oracle Identity Manager简称OIM是Oracle公司开发企业身份管理应用,主要是负责企业用户信息,组织信息的同步,依靠强大的连接器,OIM几乎可以从任何系统中同步用户,并且同步至任何系统,并且这些工作都是通过配置完成,要在异构系统间中做到配置式的同步,需要对整个系统进行高度抽象,也正因此,OIM有众多新概念,如果不理解这些概念的作用,很难灵活的使用OIM。本篇文章将OIM中常用的概念进行整理,包括以下内容
  • 连接器(Connector)
  • 适配器(Adapter)
  • IT资源(IT Resource)
  • 表单(Form)
  • 流程(Process)
  • 资源对象(Resource Object)
  • 预配(Prepopulate)

Read the rest of this entry

背景

今年至少已经有3个人问了我同样的问题osb很无聊,不能写代码,没有写代码的快感,他们的疑惑我也是能理解,作为一个程序员,做开发不写代码就像厨师炒菜不用锅铲一样,很容易产生来自灵魂的拷问,“我是谁,我在哪,我在干嘛”。先说结论,osb是我从业以来最喜欢的产品,也是我觉得做的最牛逼的产品,这个想法至今没有改变过。我疑惑的是,为什么我们当初学osb的时候没有人有这疑问?

国庆期间陪老婆去散步,看到一排竹子,我跟老婆说,小时候我们很喜欢用竹做枪,野果做子弹,现在已经没人玩了,老婆说,现在小孩有手机,有平板,有电脑,谁还会去玩这个。这个有点像我们当年做开发,没有容器,没有微服务,没有spring boot,所有的开发都得从最基础的做起,很多接口都是直接用servlet开发,要是有人跟我们说有个东西能够不用写代码就可以写接口,肯定是不信的,但osb就是这么个东西,所以当年对osb格外的喜欢。现在程序员,不管前端还是后端都有各种各样的框架支持,一句话,都是给惯的。

那么osb过时了吗?并没有。

Read the rest of this entry

背景

某客户有两套用户中心,门户需要实现以下需求,先在用户中心1进行认证,如果认证通过就结束,如果失败进行用户中心2进行认证。

实现

上一篇文章中,我们提到weblogic是可以配置多个Provider,也就是认证提供程序,并且有个控制参数(Control Flag)控制认证规则,通过调整Provider顺序可以控制认证顺序,这两个配合即可实现上面的需求。

创建Provider

这里我们参考上一篇文章创建了两个SQLAuthenticator,SQL1和SQL2,并将其调整至最前面,如图:

Read the rest of this entry

背景

企业应用中,最麻烦的应该就是认证,每个企业都有自己的认证体系,甚至企业内部每个系统有自己的认证方案,其中有基于标准的,有根据标准自定义的,也有完全自定义的,将这么多不同认证体系的系统集成到一个统一认证中心是非常具有挑战性的,所以我一直觉得单点登录的项目是最难做的,也正因为认证体系的多样性,weblogic提供了多种认证方案,看到下面这张图就知道weblogic为什么是最强企业应用中间件了,基本上你能想到的,想不到的认证方式weblogic都提供了解决方案。

Read the rest of this entry

http://oa.definesys.com:7003/definespace/ers/login.html为例

  • 根据oa.definesys.com确定所在服务器,如果是ohs或者nginx之类的代理服务器,需要根据配置找到真正服务器地址
  • 根据7003找到所在程序,可以通过以下命令找到应用程序pid
[root ~]# netstat -npl|grep 7003
tcp        0      0 172.17.65.1:7003        0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.23.0.1:7003         0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.16.81.92:7003       0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 127.0.0.1:7003          0.0.0.0:*               LISTEN      16496/java          
tcp        0      0 172.22.0.1:7003         0.0.0.0:*               LISTEN      16496/java

Read the rest of this entry

介绍

在Oracle BPM中如何动态指定审批人,你可能觉得这问题很简单,在UserTask前面加上获取人员的Service就行了,这个也是一般做法,如图

在Service里可以调用第三方接口也可以调用存储过程,但如果这里想调用java代码该如何实现?有两个方案

  • 把代码发布成webservice或者rest接口,通过service进行调用
  • 借助script组件,script可以执行java代码,如图

把代码发布成webservice,增加了工作量,也增加了系统的复杂度,动态获取审批人问题变成了第三方系统集成问题,script组件的引入污染了流程图,试想如果每个节点都需要同样的计算逻辑,那么在每个节点前面都需要加上script组件,不仅不利于后期维护,而且也会影响最终给用户的流程图,影响流程图的美观。那有办法两者兼得吗,最近在看老外做的一个bpm项目,发现了一个解决方案。

Read the rest of this entry

什么是 Jakarta EE

Jakarta EE并不是新技术,他的前身就是大家熟悉的Java EE,老一辈的程序员可能还记得J2EE,是的,他们都是同一个东西,至于为什么会改来改去,这里面就有很多故事了。

1998年12月,SUN公司发布了JDK1.2,开始使用Java 2 这一名称,第二年Sun公司联合IBM、Oracle、BEA等大型企业应用系统开发商共同制订了一个基于Java组件技术的企业应用系统开发规范,名字很自然就取为Java 2 Platform Enterprise Edition简称J2EE,后面的事情大家也知道,JDK版本升的很快,J2EE名称如果跟着Java版本走必然会给开发人员造成困惑不利于该技术的推广,终于在2006年,SUN公司在发布Java 5后正式将J2EE改名为Java EE(Java Platform, Enterprise Edition),很多早期j2ee开发者虽然现在用的是最新的java ee标准但他们还是认为自己在用j2ee,当然,只是名称的改变并没有给开发者带来什么麻烦,相比之下下面这个就是要命。

2009年,Oracle宣布收购SUN,Java相关技术自然归Oracle所有,在2017年,Oracle 宣布开源 Java EE 并将项目移交给 Eclipse 基金会,但Oracle移交的很不痛快,提了很多要求,其中就包括不能再使用Java EE这个名称,虽然有点无理但Eclipse基金会还是接受了这个要求并且改名为Jakarta EE,经历了从j2ee到java ee的改名再经历一次似乎也无所谓,但要命的是Oracle要求Jakarta EE不能修改javax命名空间,这个就意味着java ee移交后代码就此封版,如果想修改代码,不好意思,请另起炉灶,所以,Oracle你移交的意义在哪?

那么从Java EE到Jakarta EE会给企业带来什么影响?下面我们一起分析。

Read the rest of this entry

背景

做过oracle bpm开发的同学都知道,在调用oracle bpm相关api时,需要引入大量的jar包,导致应用包体积过大,部署一次需要大量的时间,本文介绍一种方案可以避免该问题。

实现

我觉得做开发都要有一个思维习惯,那就是,你觉得不合理的肯定有人已经解决了,能开发出oracle bpm这种重量级产品的都是大牛,我们都能发现的问题他们不可能没有发现,那他们是怎么解决的?oracle bpm自带一个workspace的应用,用户可以登录该应用进行流程的审批操作,我们可以看看官方是怎么处理jar包的,我们可以在console上找到该应用的位置

Read the rest of this entry

结论

先说结论,OIM无法动态展示预配的错误信息,也就是说,错误信息是固定的,写死的,具体原因我下面会讲到。

过程

OIM同步数据是通过task进行同步,task可以关联一系列的Response,Response可以通过design console进行配置,如图:

Read the rest of this entry