/ Development  

Don't waste time inventing the wheel; Your project dooms without these 'Runtime References'

Hi there AppWorks fans,

Welcome to a new installment of AppWorks tips.

A question answered in each project: What is a ‘runtime reference’? It’s really simple; Just a reusable component delivered by others and consumable in runtime by your end-users. “Others” can be the AppWorks platform itself (by OpenText/Cordys), but also third party Independent Software Vendor (ISV), and even components delivered by yourself! It is important to understand this principle as it can save time reusing a component compared to building it yourself. That’s why this post gives you an overview of the most common runtime references (delivered by the platform) I see a lot at projects, which you can use during your entity modelling (incl. practical examples).


Let get right into it…

First a quick introduction where to save the runtime references. For my projects, I always use a certain folder structure where the runtimerefs folder is just an additional folder like the other folders; Because a runtime reference is of a certain type, I split them into sub-folders:

1
2
3
4
5
6
7
8
9
prj_general
nl-bos-general
entities
bpms
webservices
roles
runtimerefs
applications
webservices

To add runtime references to your project, simple right-click you destination folder and click ‘Add runtime reference’:

runtimeref_001

An interesting question would be: What happens to your project when the runtime reference gets an update? Well, at that moment you can “reload” the runtime references used in the project (from the right-click context menu) to that updated version! Only, be aware and validate if the runtime reference parts, you’re using in your project, are still in place and work smoothly.

Now for an overview of interesting runtime references for you to consume in your projects…


Application Connector

Category: OpenText HTTP Connector
Name: OpenText HTTP Connector
Example: Your final destination on consuming JSON data via ReST

The HTTP connector makes it possible to communicate (over the HTTP protocol) to external Representational State Transfer services. The default these days to communicate to external APIs (like we see in the microservices-space). For this connector, you need to create a corresponding service container which communicates to the external source exposing the ‘Create’, ‘Read’, ‘Update’, and ‘Delete’ (CRUD) operations to work with. You do the configuration via a “connections” XML definition stored in the XML store and further configuration happens via the ‘HTTP Connection Manager’ artifact. The HTTP runtime reference exposes the “HttpConnector” Java-class for generating a custom web service internally of AppWorks which communicates via the HTTP connector to the external web service.

Category: Cordys Business Process Engine
Name: Business Process Management
Example: A dive on contract-based development

The BPM connector makes it possible to generate webservices out of a BPM. So, instead of starting a BPM via the ExecuteProcess webservice (out of the box of the platform), we can now directly generate a new custom service calling a specific BPM. The BPM runtime reference exposes the “BPMApplicationConnector” Java-class for generating a custom web service internally of AppWorks to execute the BPM (with or without a relevant input message!).


Web service Interface

Category: Cordys E-mail Connector
Name: Method Set Email
Example: The required tips to send/retrieve E-mail with attachments

This interface exposes email related web services (like ‘SendMail’, ‘SetProfile’, ‘GetMail’, etc.). It all depends on a related email service container for sending/receiving email on the platform. When your solution depends on mail traffic of a mail server, this is your path to manage mail via service calls from a BPM perspective.

This interface also has an entity specific variant called ‘Method Set Entity Email’ exposing services to call the ‘Email’ BB specific actions on an entity. This makes it possible to work with the related ‘Email templates’ building block!

Category: Cordys Document Store
Name: Method Set Document Store
Example: TAG: DocumentstoreConnector

The docstore interface exposes basic web services to communicate (in a BPM) with the document store location of the platform (or external CMS). It lets you create, update, get, and delete documents (CRUD on documents!). Invest your time to explore it as each project requires to call something magic from/to the document store location.

This interface has a ‘2.0’ version as well named ‘Method Set Document Store 2.0’ exposing even more operations (like checkout/check-in) to work with external Content Management Systems (like OTCS and DCTM).

Category: Cordys File Connector
Name: Method Set FileConnector
Example: Unleash your inner tech guru; Master the art of the “FileConnector”

Reading/writing plain text files (and even Excel files) is a common requirement for each project. This connector exposes web service operations to interact with these types of files. It lets you write, copy, delete, move, and even create new directories. This all happens on a configurable storage location. The connector exposes a polling mechanism to start an action (like a BPM) when it finds a file in a specific location. It’s an old connector, but still stands the test of time.

Category: Cordys Notification
Name: Method Set Notification
Example: Dynamic task handling in parallel flow

When interacting with tasks from a BPM/Case instance, this “Notification” set of services exposes operations like ‘ClaimTask’, ‘PerformTaskAction’, and ‘GetTask’. There is an interesting operation in this set with the name ‘GetUserDetails’ to receive current user (or UserDN specific) information. All these operations are available from a BPM perspective when exposed as runtime reference in your solution.

Category: Cordys XMLStore
Name: Method Set XMLStore
Example: Read XML data (from XML-store) to generate entity test data

The AppWorks platform depends on the XML techniques with a dedicated XML Storage location. Simply a folder structure with XML type of documents (with their own security settings). You can access this storage location via the ‘XMLStore Explorer’ artifact. The connector exposes service operations to interact with the XML files; Operations like get, append, update, and move are available in your BPMs adding this method set to as a runtime reference in your project.

You see the name “Cordys” passing by a lot…? It’s a heritage name from the past where the good old “Business Object Platform (BOP)” evolved into our beloved AppWorks platform.


A “DONE” with an interesting list of runtime references to explore by yourself and reusable in your low-code solution. Use them smartly and don’t invent the wheel yourself; Have a great weekend and I see you in another post at AppWorks Tips; next week.

Don’t forget to subscribe to get updates on the activities happening on this site. Have you noticed the quiz where you find out if you are also “The AppWorks guy”?