SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Affordable Workflow Options
for your APEX App
Niels de Bruijn
March 30th, 2017
Affordable Workflow Options for Your APEX App 2
Facts & Figures
Independent Technology House
with Cross-Industry Expertise
Headquarter
Ratingen
(North Rhine – Westphalia)
240
employed
Founded
1994
Branches
Dortmund, Cologne,
Frankfurt am Main
Top Company
for Trainees &
Students
Privately-
Owned
Corporation
Oracle
Platinum
Partner
28 Mio. Euro
Revenue
Affordable Workflow Options for Your APEX App 3
About me
§ Niels de Bruijn, Business Unit Manager APEX
§ Born in 1977, married, three daughters, living in Ratingen
§ Working for MT AG since DEC-2003
§ After working for 2 years as Oracle consultant for Oracle Nederland B.V.
§ Track record with APEX since its inception
§ Responsible for all APEX activity in the company
§ Knowledge Portal: apex.mt-ag.com
§ Presenting at Kscope, DOAG Conference, APEX Connect and Open World amongst others
§ ODTUG - Part of APEX Content Committee for Kscope
§ DOAG – Initiator & Conference Chair of APEX Connect
Affordable Workflow Options for Your APEX App
§ About workflow in APEX
§ Affordable workflow options for your APEX app
§ Spotlight: APEX & Camunda Community Edition
§ How it works
§ Live Demo
§ Modelling your workflow with bpmn.io
§ What did we learn?
Agenda
Affordable Workflow Options for Your APEX App
§ Which workflow?! There simply is no workflow feature in APEX (up to 5.1).
§ Also nothing planned for APEX 5.2
§ First thought: Hardcoding your workflow with PL/SQL (DON‘T DO THIS!)
§ Option 1: Define your workflow definition in tables
§ PL/Flow
§ Flow Control
§ Option 2: Integrate Camunda
5
Affordable workflow options for your APEX app
Affordable Workflow Options for Your APEX App
§ PL/Flow from Yeb Havinga (http://plflow.sourceforge.net)
+ Easy to install, 100% PL/SQL incl. PL/SQL API
+ Open Source
- No graphical interface to maintain the workflow
- Not standardized (no BPMN support)
- No updates since its last release in 2004
§ Flow Control from Jürgen Sieben (https://github.com/j-sieben/FCT)
+ Easy to install, 100% PL/SQL incl. PL/SQL API
+ Open Source
+ Released in JUN-2016, actively maintained by Jürgen Sieben
- No graphical interface to maintain the workflow
- Not standardized (no BPMN support)
6
Option 1: Workflow definition in tables
Affordable Workflow Options for Your APEX App 7
APEX & Flow Control: Live Demo
Affordable Workflow Options for Your APEX App
What if your requirements go one step further?
§ BPMN 2.0 support
§ Graphical Interface (both design-time as well as run-time) to document the process incl. manual steps
§ Tool to monitor processes
§ Support-Option available
8
Option 2: Workflow definition in BPMN (WYSIWYG)
Affordable Workflow Options for Your APEX App
§ Camunda as run-time Engine (camunda.org)
§ Fork of activiti
§ Regularly updated
§ Large team working on it (HQ based in Berlin)
§ Open Source
§ Supports various standards like BPMN 2.0, CMMN 1.1 and DMN 1.1
§ Available in two editions: free Community Edition & Enterprise Edition
9
Option 2: Camunda Community Edition
Source: camunda.com (3-MAR-2017)
Affordable Workflow Options for Your APEX App
§ Some usefull (Java) Apps can be installed to monitor processes, administrate users, etc.
10
Option 2: Camunda Community Edition
Affordable Workflow Options for Your APEX App 11
APEX & Camunda: Live Demo Run-Time
Affordable Workflow Options for Your APEX App 12
APEX and Camunda: how it works
Optional:
Camunda Apps
(ie. Cockpit)
ORDS
REST-API
APEX
Workspace Schema
APEX
Metadata Repository
Camunda
Metadata Repository
Oracle DatabaseBrowser
read-out
process status
initiate
process
Apache Tomcat
bpmn-viewer.js
Affordable Workflow Options for Your APEX App
§ REST Web Service call
§ All logic stays in APEX: we tell Camunda what to do in which case
13
APEX and Camunda: instantiating a process with APEX
my_process
Affordable Workflow Options for Your APEX App
1. Read out the BPMN definition (XML file) from the metadata repository
select gby.bytes_
from act_ge_bytearray gby
, act_re_procdef rpf
where gby.deployment_id_ = rpf.deployment_id_
and rpf.key_ = 'recruitment-procedures'
order by rpf.version_ desc
fetch first 1 rows only
2. Use bpmn-viewer.js to render the process (SVG)
14
APEX and Camunda: show process status
Affordable Workflow Options for Your APEX App
3. Use custom JavaScript to highlight current state:
//Highlight current status
function markUp(temp){
var parent = document.getElementById(temp);
parent.childNodes[0].childNodes[0].setAttribute("style", "stroke: #056693; stroke-
width: 4; fill: #b5e6fd");
}
var dlCheck = $('#P2_DL').val(); //P2_DL contains the PK of the APEX table
if (dlCheck != ''){
var element = $('#P2_ST').val() //P2_ST contains the CSS ID of the element
markUp(element);
};
15
APEX and Camunda: show process status
Affordable Workflow Options for Your APEX App
§ APEX user is passed to Camunda for auditing purposes
select hi.proc_def_key_ as Process_Definition
, hi.proc_inst_id_ as Process_Key
, hi.assignee_ as Approved_By
, hi.act_name_ as Task
, hi.start_time_ as Start_Time
, hi.end_time_ as End_Time
, apx.candidate as Candidate
from act_hi_actinst hi
, act_ru_variable ru
, act_apx_cam_variable apx
where hi.proc_inst_id_ = ru.proc_inst_id_
and apx.id = ru.text_
and hi.act_type_ = 'userTask'
and ru.name_ = 'id'
order by hi.start_time_ desc
;
16
APEX and Camunda: show history
Affordable Workflow Options for Your APEX App 17
About BPMN 2.0
See all on
https://camunda.org/bpmn/reference/
Affordable Workflow Options for Your APEX App
§ https://bpmn.io
§ Open Source Tool to model your workflows
§ Works locally in your browser or can be part of your app
§ Your work is saved in BPMN 2.0 (XML)
18
Modelling your workflow with bpmn.io
Affordable Workflow Options for Your APEX App 19
bpmn.io: Live Demo
Affordable Workflow Options for Your APEX App
§ Web Service call
20
Deploying a new process using a REST client in Chrome
Affordable Workflow Options for Your APEX App
§ There is no workflow feature in APEX 5.x and nothing such is planned for the near future
§ Use Workflow Control if
§ you don‘t need BPMN 2.0 support
§ you don‘t need to visualize or graphically design the workflow
§ Otherwise go for Camunda Community Edition
§ It integrates seemlessly with APEX and doesn‘t cost you anything (other than time)
§ Supports all standards (so you can migrate to another product if needed)
§ Enables you to visualize and graphically design your workflow process
21
What did we learn?
@nielsdb
http://de.linkedin.com/in/nielsdebruijn
https://blog.mt-ag.com/apex

Mais conteúdo relacionado

Mais procurados

The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)Scott Wlaschin
 
Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)Thomas Francart
 
Finit one small step - tips and tricks for transitioning from fdm to fdmee
Finit   one small step - tips and tricks for transitioning from fdm to fdmeeFinit   one small step - tips and tricks for transitioning from fdm to fdmee
Finit one small step - tips and tricks for transitioning from fdm to fdmeefinitsolutions
 
Oracle Data Integration - Overview
Oracle Data Integration - OverviewOracle Data Integration - Overview
Oracle Data Integration - OverviewJeffrey T. Pollock
 
Event sourcing in the functional world (22 07-2021)
Event sourcing in the functional world (22 07-2021)Event sourcing in the functional world (22 07-2021)
Event sourcing in the functional world (22 07-2021)Vitaly Brusentsev
 
Symfony World - Symfony components and design patterns
Symfony World - Symfony components and design patternsSymfony World - Symfony components and design patterns
Symfony World - Symfony components and design patternsŁukasz Chruściel
 
Dts x dicoding #1 memulai pemrograman kotlin
Dts x dicoding #1 memulai pemrograman kotlinDts x dicoding #1 memulai pemrograman kotlin
Dts x dicoding #1 memulai pemrograman kotlinAhmad Arif Faizin
 
Power BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerPower BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerIsabelle Van Campenhoudt
 
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a BreezeCreating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a BreezeMarkus Lanthaler
 
Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconAntonio Peric-Mazar
 
An Introduction to SPARQL
An Introduction to SPARQLAn Introduction to SPARQL
An Introduction to SPARQLOlaf Hartig
 
ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgnitermirahman
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex trainingVasudha India
 
RxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingRxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingJay Phelps
 

Mais procurados (20)

The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)The Power of Composition (NDC Oslo 2020)
The Power of Composition (NDC Oslo 2020)
 
Odoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best PracticesOdoo's Test Framework - Learn Best Practices
Odoo's Test Framework - Learn Best Practices
 
OData Services
OData ServicesOData Services
OData Services
 
SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)SPARQL introduction and training (130+ slides with exercices)
SPARQL introduction and training (130+ slides with exercices)
 
Finit one small step - tips and tricks for transitioning from fdm to fdmee
Finit   one small step - tips and tricks for transitioning from fdm to fdmeeFinit   one small step - tips and tricks for transitioning from fdm to fdmee
Finit one small step - tips and tricks for transitioning from fdm to fdmee
 
Oracle Data Integration - Overview
Oracle Data Integration - OverviewOracle Data Integration - Overview
Oracle Data Integration - Overview
 
Event sourcing in the functional world (22 07-2021)
Event sourcing in the functional world (22 07-2021)Event sourcing in the functional world (22 07-2021)
Event sourcing in the functional world (22 07-2021)
 
Symfony World - Symfony components and design patterns
Symfony World - Symfony components and design patternsSymfony World - Symfony components and design patterns
Symfony World - Symfony components and design patterns
 
Kamailio on Docker
Kamailio on DockerKamailio on Docker
Kamailio on Docker
 
Dts x dicoding #1 memulai pemrograman kotlin
Dts x dicoding #1 memulai pemrograman kotlinDts x dicoding #1 memulai pemrograman kotlin
Dts x dicoding #1 memulai pemrograman kotlin
 
Php with MYSQL Database
Php with MYSQL DatabasePhp with MYSQL Database
Php with MYSQL Database
 
Power BI Report Server & Office Online Server
Power BI Report Server & Office Online ServerPower BI Report Server & Office Online Server
Power BI Report Server & Office Online Server
 
Creating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a BreezeCreating Awesome Web APIs is a Breeze
Creating Awesome Web APIs is a Breeze
 
Using API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonyconUsing API Platform to build ticketing system #symfonycon
Using API Platform to build ticketing system #symfonycon
 
Web Development In Oracle APEX
Web Development In Oracle APEXWeb Development In Oracle APEX
Web Development In Oracle APEX
 
An Introduction to SPARQL
An Introduction to SPARQLAn Introduction to SPARQL
An Introduction to SPARQL
 
ACL in CodeIgniter
ACL in CodeIgniterACL in CodeIgniter
ACL in CodeIgniter
 
API Design - 3rd Edition
API Design - 3rd EditionAPI Design - 3rd Edition
API Design - 3rd Edition
 
Oracle apex training
Oracle apex trainingOracle apex training
Oracle apex training
 
RxJS + Redux + React = Amazing
RxJS + Redux + React = AmazingRxJS + Redux + React = Amazing
RxJS + Redux + React = Amazing
 

Semelhante a Affordable Workflow Options for APEX

Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Provectus
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework BasicMario Romano
 
The_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPThe_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPNiels de Bruijn
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Lucas Jellema
 
Tool overview – how to capture – how to create basic workflow .pptx
Tool overview – how to capture – how to create basic workflow .pptxTool overview – how to capture – how to create basic workflow .pptx
Tool overview – how to capture – how to create basic workflow .pptxRUPAK BHATTACHARJEE
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Andrejs Prokopjevs
 
Progress application server for openedge best practices - PUG Baltic Annual C...
Progress application server for openedge best practices - PUG Baltic Annual C...Progress application server for openedge best practices - PUG Baltic Annual C...
Progress application server for openedge best practices - PUG Baltic Annual C...Alen Leit
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classessapehsit
 
ApacheBeam_Google_Theater_TalendConnect2017.pptx
ApacheBeam_Google_Theater_TalendConnect2017.pptxApacheBeam_Google_Theater_TalendConnect2017.pptx
ApacheBeam_Google_Theater_TalendConnect2017.pptxRAJA RAY
 
Building Your First Apache Apex Application
Building Your First Apache Apex ApplicationBuilding Your First Apache Apex Application
Building Your First Apache Apex ApplicationApache Apex
 
Building your first aplication using Apache Apex
Building your first aplication using Apache ApexBuilding your first aplication using Apache Apex
Building your first aplication using Apache ApexYogi Devendra Vyavahare
 
ApacheBeam_Google_Theater_TalendConnect2017.pdf
ApacheBeam_Google_Theater_TalendConnect2017.pdfApacheBeam_Google_Theater_TalendConnect2017.pdf
ApacheBeam_Google_Theater_TalendConnect2017.pdfRAJA RAY
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaAmazon Web Services
 
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre RomanSpring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre RomanVMware Tanzu
 
St Hilaire Ajax Start Odtug Nov 2009
St Hilaire   Ajax Start Odtug Nov 2009St Hilaire   Ajax Start Odtug Nov 2009
St Hilaire Ajax Start Odtug Nov 2009ruiruitang
 

Semelhante a Affordable Workflow Options for APEX (20)

Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
Data Summer Conf 2018, “Building unified Batch and Stream processing pipeline...
 
Webinar: Camunda und Liferay
Webinar: Camunda und LiferayWebinar: Camunda und Liferay
Webinar: Camunda und Liferay
 
Alfresco Development Framework Basic
Alfresco Development Framework BasicAlfresco Development Framework Basic
Alfresco Development Framework Basic
 
The_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAPThe_Beauty_And_The_Beast_APEX_and_SAP
The_Beauty_And_The_Beast_APEX_and_SAP
 
PowerApps
PowerAppsPowerApps
PowerApps
 
Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...Handson Oracle Management Cloud with Application Performance Monitoring and L...
Handson Oracle Management Cloud with Application Performance Monitoring and L...
 
Raman O
Raman ORaman O
Raman O
 
Tool overview – how to capture – how to create basic workflow .pptx
Tool overview – how to capture – how to create basic workflow .pptxTool overview – how to capture – how to create basic workflow .pptx
Tool overview – how to capture – how to create basic workflow .pptx
 
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
Optimize DR and Cloning with Logical Hostnames in Oracle E-Business Suite (OA...
 
Progress application server for openedge best practices - PUG Baltic Annual C...
Progress application server for openedge best practices - PUG Baltic Annual C...Progress application server for openedge best practices - PUG Baltic Annual C...
Progress application server for openedge best practices - PUG Baltic Annual C...
 
Sap basis online training classes
Sap basis online training classesSap basis online training classes
Sap basis online training classes
 
Gain more freedom when migrating from Camunda 7 to 8.pdf
Gain more freedom when migrating from Camunda 7 to 8.pdfGain more freedom when migrating from Camunda 7 to 8.pdf
Gain more freedom when migrating from Camunda 7 to 8.pdf
 
ApacheBeam_Google_Theater_TalendConnect2017.pptx
ApacheBeam_Google_Theater_TalendConnect2017.pptxApacheBeam_Google_Theater_TalendConnect2017.pptx
ApacheBeam_Google_Theater_TalendConnect2017.pptx
 
Building Your First Apache Apex Application
Building Your First Apache Apex ApplicationBuilding Your First Apache Apex Application
Building Your First Apache Apex Application
 
Building your first aplication using Apache Apex
Building your first aplication using Apache ApexBuilding your first aplication using Apache Apex
Building your first aplication using Apache Apex
 
ApacheBeam_Google_Theater_TalendConnect2017.pdf
ApacheBeam_Google_Theater_TalendConnect2017.pdfApacheBeam_Google_Theater_TalendConnect2017.pdf
ApacheBeam_Google_Theater_TalendConnect2017.pdf
 
Managing the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS LambdaManaging the Continuous Delivery of Code to AWS Lambda
Managing the Continuous Delivery of Code to AWS Lambda
 
Flows for APEX
Flows for APEXFlows for APEX
Flows for APEX
 
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre RomanSpring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
Spring Boot & Spring Cloud on Pivotal Application Service - Alexandre Roman
 
St Hilaire Ajax Start Odtug Nov 2009
St Hilaire   Ajax Start Odtug Nov 2009St Hilaire   Ajax Start Odtug Nov 2009
St Hilaire Ajax Start Odtug Nov 2009
 

Mais de Niels de Bruijn

APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebNiels de Bruijn
 
Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaosNiels de Bruijn
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Niels de Bruijn
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBANiels de Bruijn
 
Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Niels de Bruijn
 
Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0Niels de Bruijn
 
Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenNiels de Bruijn
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Niels de Bruijn
 
MT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleMT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleNiels de Bruijn
 
MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2Niels de Bruijn
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.Niels de Bruijn
 
MT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEXMT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEXNiels de Bruijn
 
MT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEXMT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEXNiels de Bruijn
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...Niels de Bruijn
 

Mais de Niels de Bruijn (18)

APEX Migration
APEX MigrationAPEX Migration
APEX Migration
 
Low-Code Testing Tool
Low-Code Testing ToolLow-Code Testing Tool
Low-Code Testing Tool
 
APEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & BetriebAPEX 5.1 - Architektur, Installation & Betrieb
APEX 5.1 - Architektur, Installation & Betrieb
 
Getting your grips on Excel chaos
Getting your grips on Excel chaosGetting your grips on Excel chaos
Getting your grips on Excel chaos
 
Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)Anwendungsmodernisierung mit Oracle Application Express (APEX)
Anwendungsmodernisierung mit Oracle Application Express (APEX)
 
APEX für den Oracle DBA
APEX für den Oracle DBAAPEX für den Oracle DBA
APEX für den Oracle DBA
 
Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)Single Sign-On for APEX apps (Important: latest version on edocr!)
Single Sign-On for APEX apps (Important: latest version on edocr!)
 
Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0Packaged Applications in APEX 5.0
Packaged Applications in APEX 5.0
 
Schatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfenSchatten IT erfolgreich bekämpfen
Schatten IT erfolgreich bekämpfen
 
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
Single Sign-On for APEX applications based on Kerberos (Important: latest ver...
 
APEX 5.0, und sonst?
APEX 5.0, und sonst?APEX 5.0, und sonst?
APEX 5.0, und sonst?
 
MT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid SimpleMT AG - KASS - Keep APEX Stupid Simple
MT AG - KASS - Keep APEX Stupid Simple
 
MT AG New Features APEX 4.2
MT AG New Features APEX 4.2MT AG New Features APEX 4.2
MT AG New Features APEX 4.2
 
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
MT AG Möglichkeiten mit PhoneGap in verbindung mit APEX 4.2.
 
MT AG APEX goes Mobile
MT AG APEX goes MobileMT AG APEX goes Mobile
MT AG APEX goes Mobile
 
MT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEXMT AG 8 Gute Gründe warum Forms zu APEX
MT AG 8 Gute Gründe warum Forms zu APEX
 
MT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEXMT AG 7 Gute Gründe warum APEX
MT AG 7 Gute Gründe warum APEX
 
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
MT AG Rapid Application Development mit APEX 5 (Important: latest version on ...
 

Último

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

Affordable Workflow Options for APEX

  • 1. Affordable Workflow Options for your APEX App Niels de Bruijn March 30th, 2017
  • 2. Affordable Workflow Options for Your APEX App 2 Facts & Figures Independent Technology House with Cross-Industry Expertise Headquarter Ratingen (North Rhine – Westphalia) 240 employed Founded 1994 Branches Dortmund, Cologne, Frankfurt am Main Top Company for Trainees & Students Privately- Owned Corporation Oracle Platinum Partner 28 Mio. Euro Revenue
  • 3. Affordable Workflow Options for Your APEX App 3 About me § Niels de Bruijn, Business Unit Manager APEX § Born in 1977, married, three daughters, living in Ratingen § Working for MT AG since DEC-2003 § After working for 2 years as Oracle consultant for Oracle Nederland B.V. § Track record with APEX since its inception § Responsible for all APEX activity in the company § Knowledge Portal: apex.mt-ag.com § Presenting at Kscope, DOAG Conference, APEX Connect and Open World amongst others § ODTUG - Part of APEX Content Committee for Kscope § DOAG – Initiator & Conference Chair of APEX Connect
  • 4. Affordable Workflow Options for Your APEX App § About workflow in APEX § Affordable workflow options for your APEX app § Spotlight: APEX & Camunda Community Edition § How it works § Live Demo § Modelling your workflow with bpmn.io § What did we learn? Agenda
  • 5. Affordable Workflow Options for Your APEX App § Which workflow?! There simply is no workflow feature in APEX (up to 5.1). § Also nothing planned for APEX 5.2 § First thought: Hardcoding your workflow with PL/SQL (DON‘T DO THIS!) § Option 1: Define your workflow definition in tables § PL/Flow § Flow Control § Option 2: Integrate Camunda 5 Affordable workflow options for your APEX app
  • 6. Affordable Workflow Options for Your APEX App § PL/Flow from Yeb Havinga (http://plflow.sourceforge.net) + Easy to install, 100% PL/SQL incl. PL/SQL API + Open Source - No graphical interface to maintain the workflow - Not standardized (no BPMN support) - No updates since its last release in 2004 § Flow Control from Jürgen Sieben (https://github.com/j-sieben/FCT) + Easy to install, 100% PL/SQL incl. PL/SQL API + Open Source + Released in JUN-2016, actively maintained by Jürgen Sieben - No graphical interface to maintain the workflow - Not standardized (no BPMN support) 6 Option 1: Workflow definition in tables
  • 7. Affordable Workflow Options for Your APEX App 7 APEX & Flow Control: Live Demo
  • 8. Affordable Workflow Options for Your APEX App What if your requirements go one step further? § BPMN 2.0 support § Graphical Interface (both design-time as well as run-time) to document the process incl. manual steps § Tool to monitor processes § Support-Option available 8 Option 2: Workflow definition in BPMN (WYSIWYG)
  • 9. Affordable Workflow Options for Your APEX App § Camunda as run-time Engine (camunda.org) § Fork of activiti § Regularly updated § Large team working on it (HQ based in Berlin) § Open Source § Supports various standards like BPMN 2.0, CMMN 1.1 and DMN 1.1 § Available in two editions: free Community Edition & Enterprise Edition 9 Option 2: Camunda Community Edition Source: camunda.com (3-MAR-2017)
  • 10. Affordable Workflow Options for Your APEX App § Some usefull (Java) Apps can be installed to monitor processes, administrate users, etc. 10 Option 2: Camunda Community Edition
  • 11. Affordable Workflow Options for Your APEX App 11 APEX & Camunda: Live Demo Run-Time
  • 12. Affordable Workflow Options for Your APEX App 12 APEX and Camunda: how it works Optional: Camunda Apps (ie. Cockpit) ORDS REST-API APEX Workspace Schema APEX Metadata Repository Camunda Metadata Repository Oracle DatabaseBrowser read-out process status initiate process Apache Tomcat bpmn-viewer.js
  • 13. Affordable Workflow Options for Your APEX App § REST Web Service call § All logic stays in APEX: we tell Camunda what to do in which case 13 APEX and Camunda: instantiating a process with APEX my_process
  • 14. Affordable Workflow Options for Your APEX App 1. Read out the BPMN definition (XML file) from the metadata repository select gby.bytes_ from act_ge_bytearray gby , act_re_procdef rpf where gby.deployment_id_ = rpf.deployment_id_ and rpf.key_ = 'recruitment-procedures' order by rpf.version_ desc fetch first 1 rows only 2. Use bpmn-viewer.js to render the process (SVG) 14 APEX and Camunda: show process status
  • 15. Affordable Workflow Options for Your APEX App 3. Use custom JavaScript to highlight current state: //Highlight current status function markUp(temp){ var parent = document.getElementById(temp); parent.childNodes[0].childNodes[0].setAttribute("style", "stroke: #056693; stroke- width: 4; fill: #b5e6fd"); } var dlCheck = $('#P2_DL').val(); //P2_DL contains the PK of the APEX table if (dlCheck != ''){ var element = $('#P2_ST').val() //P2_ST contains the CSS ID of the element markUp(element); }; 15 APEX and Camunda: show process status
  • 16. Affordable Workflow Options for Your APEX App § APEX user is passed to Camunda for auditing purposes select hi.proc_def_key_ as Process_Definition , hi.proc_inst_id_ as Process_Key , hi.assignee_ as Approved_By , hi.act_name_ as Task , hi.start_time_ as Start_Time , hi.end_time_ as End_Time , apx.candidate as Candidate from act_hi_actinst hi , act_ru_variable ru , act_apx_cam_variable apx where hi.proc_inst_id_ = ru.proc_inst_id_ and apx.id = ru.text_ and hi.act_type_ = 'userTask' and ru.name_ = 'id' order by hi.start_time_ desc ; 16 APEX and Camunda: show history
  • 17. Affordable Workflow Options for Your APEX App 17 About BPMN 2.0 See all on https://camunda.org/bpmn/reference/
  • 18. Affordable Workflow Options for Your APEX App § https://bpmn.io § Open Source Tool to model your workflows § Works locally in your browser or can be part of your app § Your work is saved in BPMN 2.0 (XML) 18 Modelling your workflow with bpmn.io
  • 19. Affordable Workflow Options for Your APEX App 19 bpmn.io: Live Demo
  • 20. Affordable Workflow Options for Your APEX App § Web Service call 20 Deploying a new process using a REST client in Chrome
  • 21. Affordable Workflow Options for Your APEX App § There is no workflow feature in APEX 5.x and nothing such is planned for the near future § Use Workflow Control if § you don‘t need BPMN 2.0 support § you don‘t need to visualize or graphically design the workflow § Otherwise go for Camunda Community Edition § It integrates seemlessly with APEX and doesn‘t cost you anything (other than time) § Supports all standards (so you can migrate to another product if needed) § Enables you to visualize and graphically design your workflow process 21 What did we learn?