Thursday 21 October 2021

Release 22 enhancements - specifically workflow modeller

 A pretty healthy release:

Remember that release 22 is critically the superset of applications ASU and tools 9.2.6.  I don't mind the naming standard, as I do spend quite a bit of time reminding my clients that their jde release is 6 years old.  And that takes me to https://support.oracle.com blah blah.


  • Logic Extensions - these are cool, this is going to be huge
  • Return Associated Descriptions for Data Requests - handy
  • Files as Orchestration Input and Output 
  • Add Current Environment as a System Value in Orchestrations
  • Bypass Warnings During Process Recording
  • Attachments to Messages: Media Objects - this is excellent
  • Orchestrator Support for Media Objects
  • Display Messages in Orchestrator Monitor
  • Service-Only User
  • Workflow Studio
  • Creating External Forms from EnterpriseOne Web Client
  • Launch Orchestrations from Composed EnterpriseOne Page
  • Form Extension Improvements
  • Pop-up Messages for Orchestrations Launched from the EnterpriseOne User Interface
  • Export EnterpriseOne Search Results to Microsoft Excel
  • Bypass UBE Printer Selection Screen
  • Zero Downtime Deployment for Applications
  • JD Edwards Update Manager for Applications
  • Offline Server Manager Monitoring and Notification
  • Automatic Kernel Reconnection
  • Health Check API for a Group of Interdependent Servers
  • AIS REST APIs to Discover Objects and Execute Business Functions
  • Enhanced Logging Capabilities for UBE
  • Simplified UBE Default Queue
  • New UBE job Status for Terminated Jobs
  • Configurable Application and UBE for Server Manager Health checks
  • Enhanced User Security Activity Tracking for Auditing
  • Support for Oracle Autonomous Database on Shared Exadata Infrastructure
  • Improved Business Continuity with Native Oracle Database Connection Management for On-Premise
  • Platform Certifications
Actually so much great stuff.  Although the Fusion5 team created an AWS architecture that supports no downtime deploys, canary deploy, blue / green deploy and more 3 years ago.  

Anyway, back to the workflow studio.

Workflow Studio

Everything can be launched from orchestration studio.



But - that is not why I'm here.  I'm here to talk about the new workflow modeller.  The old 32 bit workflow modeller will not work after 9.2.6.

The need for workflow is everywhere - well all need it and want it

Nearly everything about workflow will continue to work the same way.

  1. Process monitor the same
  2. Distribution lists
  3. Halt tasks
  4. Workflow kernel
  5. Same, same same.


There is a TC that you need to run, look out for the ERID3, if there are any values not 4 - you need to run Convert Workflow Specs Stored in F98811 from Xe to B9 (R89811B) locally on the development client.  You'll probably need the latest planner, as we all know - this is where specs come from…  Also, F98811 is in control tables, so you'll need to run this for all environments.  JN19147 is the latest planner that contains this TC.

Think of a work flow of a process that does require human thought…  Whereas an orchestration or notification can be pretty autonomous.  Human though as in an action.  A good clear example that is available out of the box, is credit limit approvals.  If a credit limit is changed, just check with the manager before that is done.

You get directed to a common approvals screen, you approve or reject and then a BSFN fires off to run the update, perfect.  



The rules engine seems to be a dramatic improvement from the traditional orchestration decision trees.  It looks to have been lifted from the logic extensions, a much easier and more powerful interface.

Now, we have a pretty basic hybrid solution at the moment, foundational.

You still need a thick client to create DSTR's both key and additional data

You need a thick client to create the workflow in OMW before you can open it in the new modeller.  Then you can design the workflow.

  • You cannot call orchestrations - what??  this felt crazy and wrong.  The first thing I wanted to do is call an orchestration.
  • You cannot call notifications - just old school emails
  • You can activate and deactivate workflows
  • You can send an action or information message


This is like a cloud lift and shift, pretty strict - but it's so much better than the old workflow engine.

Note that you'll still need to initiate processes from code.

Of course you can get creative and create a NER or BSFN to call B98ORCH and call your ORCHs - that would be sweet

I can't wait to integrate workflow into something like IFTTT or zapier , which is very possible through a connection.  This could open the world of IOT, voice, tweets and more generically to your JD Edwards robotic capability, teams notifications and more.  Note that this could be SMS, integrate with your todo list.  Automation and workflow are going to become more and more important and I cannot wait to see where this is going in future releases.

Awesome progress and I can see where it's heading.  Great work JDE team.




Tuesday 19 October 2021

patching a tools release

 We modify tools releases all of the time, if you make modifications to your tools - it is generally best to edit the par file, as opposed to hacking into the weblogic files after you've layed the tools release down.  Why?  Because you are going to forget that you've made changes and deploy over the top - I guarantee you!

So, The parfile (as was explained about 8 years ago in this blog), is made up of the following structures:


The following is a linux script that tears down all of the zip files and then builds them back up - pausing in between

You do not need to use the entire script, but it does tell you exactly what you need to do to change things and packs up the tools so that you can deploy it.

Upload the file that this creates (as a .par) and ensure that while the script waits for you, you edit

scf-manifest.xml

Remember that it is the first line that you see in server manager, so rename the description to include what you have done!  Then you'll see this in server manager. 

<scf-manifest targetType="webserver" version="9.2.4.3" componentName="EnterpriseOne HTML Server" description="EnterpriseOne HTML Server 9.2.4.3 04-07-2020_10_22" minimumAgentLevel="112">^M

Back to my script:
I've left some extra stuff in this script for you.  It's handy for how it patches files with sed and using the input from other files.  You may want to do similar things for your patching requirements.

remember parameter 1 is the complete name and path to the toolsreleasefile.par  the second parameter can be anything, but it's going to wait for you to enter a key before it packs everything back up.

You could add your logo copies in here, your colour changes if they are more complex than the UDC in the new tools...  You can do any of your paper fixes too.  Therefore the tools in SM will have EVERYTHING and no more hacking the owl_deploy and stage dirs.

PS.  I just had to do an edit because of the shape of the par files once I was done.  It's all tested and working now.

if [ $# -ne 2 && $# -ne 1 ]
then
  print "USAGE $0 toolsrelease [confirm]"
  exit 1
else
  TOOLS=$1
  if [ $# -eq 2 ]
  then
    WAIT=1
  fi
fi
tmpDir=/tmp/tools$$
mkdir $tmpDir
if [ $? -eq 0 ]
  then
    unzip $TOOLS -d $tmpDir
    echo "tools found in " $tmpDir
else
  echo "could not create dir:" $tmpDir
fi
currDir=`pwd`
unzip $tmpDir/webclient.ear -d $tmpDir/webclient.ear.dir
unzip $tmpDir/webclient.ear.dir/webclient.war -d $tmpDir/webclient.ear.dir/webclient.war.dir
#we have everything exploded - now we need to patch, but let's remove the zip files
rm $tmpDir/webclient.ear
rm $tmpDir/webclient.ear.dir/webclient.war

# strange
# send complete img and share dirs
rm -rf $tmpDir/webclient.ear.dir/webclient.war.dir/share
rm -rf $tmpDir/webclient.ear.dir/webclient.war.dir/img
unzip /home/shannon/Documents/img.zip -d $tmpDir/webclient.ear.dir/webclient.war.dir
unzip /home/shannon/Documents/share.zip -d  $tmpDir/webclient.ear.dir/webclient.war.dir

#okay, now we are in a position to patch and then use the recompress script.

patchMaster=/home/shannon/Documents
cp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4login.jsp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4loginbackup.jsp
cp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogout.jsp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogoutbackup.jsp

#now patch - you don't need this for this blog, but the sed
#commands are pretty RAD
sed -i -e '/^<\/HEAD>.*/r /home/shannon/Documents/html4login_append.jsp' $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4login.jsp
sed -i -e '/.*<!-- Display an informative message when the login screen is due.*/r /home/shannon/Documents/html4login_append2.jsp' $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4login.jsp
sed -i '/^<%@ page.*/r /home/shannon/Documents/html4balogin_append.jsp' $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogout.jsp
sed -i '/^framebusting.*/r /home/shannon/Documents/html4balogin_append2.jsp' $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogout.jsp

diff $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4login.jsp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4loginbackup.jsp
diff $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogout.jsp $tmpDir/webclient.ear.dir/webclient.war.dir/share/html4balogoutbackup.jsp


if [ $WAIT -eq 1 ]
  then
    read  -n 1 -p "Do All your Manual patching! Enter Key When done:" mainmenuinput
fi

#now zip
cd $tmpDir/webclient.ear.dir/webclient.war.dir
zip -r  $tmpDir/webclient.ear.dir/webclient.war ./*
cd $tmpDir/webclient.ear.dir
rm -rf $tmpDir/webclient.ear.dir/webclient.war.dir
zip -r  $tmpDir/webclient.ear ./*
rm -rf $tmpDir/webclient.ear.dir
cd $tmpDir
zip -r $currDir/$TOOLS.new ./*
rm -rf $tmpDir
cd $currDir