Declarative Web User Interface Development by the Citizen Developer - Introducing the Oracle Application Builder Cloud Service clip image002

Declarative Web User Interface Development by the Citizen Developer – Introducing the Oracle Application Builder Cloud Service

The Citizen Developer – also known as the Line of Business user – is the non-technical but still somewhat IT-savvy member of a business department. She may configure web surveys, create macros in Excel spreadsheets, perform complex data analysis or maintain a departmental web site. She does things that touch upon the responsibilities of the corporate IT department, probably knows some people in that department to consult with and she may want to do even more. Gartner identified the citizen developer a few years ago and Oracle has identified her as a persona it wants to cater for with the public cloud. clip_image002

The Process Cloud Service allows the citizen developer to design, run and manage simple human workflows. Document Cloud Service and Social Network are available to share and collaborate on documents; they both are integrated with the Process Cloud Service. Simple SaaS-2-SaaS integrations can be configured with the Integration Cloud Service. With Oracle Data Visualization Cloud Service, the citizen developer can play ‘data detective’ on data uploaded from Excel spreadsheets and with Oracle Big Data Discovery Cloud Service, some similar slice-and-dice actions can be done on big data stored on Hadoop.

Two cloud services allow the citizen developer to create an interactive application. The MCS (Mobile Cloud Service) provides the Mobile Application Accelerator (MAX for friends) feature that can be used to declaratively compose a MAF mobile app. The Application Builder Cloud Service (ABCS) allows our line of business user to develop a web application in a declarative manner. ABCS hosts the application, does access management, manages custom data objects and takes care of interactions with REST services. As Oracle puts it on https://cloud.oracle.com/ApplicationBuilder :” Oracle Application Builder Cloud Service enables business users with no previous programming experience to rapidly create web and mobile apps, minimizing dependence on IT departments and reducing infrastructure costs.”

 

In order to create a new web application – hosted by ABCS – one has to go through the following steps:

· Create a new application based on either the Alta UI or the Oracle Applications Cloud UI template; define the application outline: logo, main navigation tabs and pages

· Define Data Objects in the Data Designer; these are either custom data objects (for which ABCS creates tables in an associated database schema) or REST services selected from a catalog (currently only from Oracle Sales Cloud); Data Objects have attributes, calculated attributes and lookup attributes that reference other data objects

This next figure shows the catalog of REST services on which the data objects can be based:

catalog

· Create pages for a data object, based on the operations to be performed (pages for table listing, detail presentation, form editing etc) on a data object; select the attributes of the object to be presented

· In the WYSIWYG page designer, using drag & drop and through a property inspector, visual elements – bound to data object attributes – can be added, moved around and configured- similar to IDEs such as JDeveloper or even Forms Builder – but all inside the browser

The page designer  is shown in the next figure:

designer

This figure shows the what you see is what you get page editor. On the left hand side are the UI components that can be added to the page. On the right-hand side is the product development where the properties of the currently selected object can be edited.

· Actions to be performed on button click, link activation or other events can be specified using a set of preconfigured actions (such as query data, create new record, delete record) or using custom actions (to be programmed in JavaScript – which is probably a bit of a stretch for true Line of Business users; it does seem likely that a citizen developer asks some assistance from developers – or perhaps acquaintances with some web development experience)

· Validations can be added, paging support (show 10 records at a time), and UI refinements applied

· Using live mode, the application can be tried out in a sandbox where it presents exactly as it will when published

· When the application has reached the point where it can be released to real users, a two-step stage-and-publish workflow is performed; ABCS then makes the application available on a URL that can be shared around, enforces authentication and authorization (unless the application is publicly available) based on Oracle Public Cloud accounts and provides Single Sign On within the Oracle Public Cloud (for example for users navigating to the ABCS app from within a SaaS application

When the citizen developer is stuck, there are few extension points where a real developer 😉 can step in to help out; this developer needs to have web development skills, especially JavaScript. The following hooks and extension points are available:

· Define custom actions to be performed upon specified events in application

· Add custom code areas to a page where custom HTML, CSS and JavaScript (the custom page model) can be embedded; this opens the door to incredible enrichment with almost anything

· Add custom components – predefined building blocks (similar presumably to custom code areas that have been turned into reusable units) that can be published to and shared from the Oracle Cloud Marketplace

Conclusion

The visual experience with ABCS is very impressive. The page designer is attractive and seems very intuitive. The Live Preview Mode provides the next level of WYIWYG experience. With drag & drop, pages are easily constructed and (re)organized. Creating data objects is fairly straightforward and consuming REST services a piece of cake. Many preconfigured application actions – lookup & join, CRUD, validate, navigate – are available out of the box to be associated with fields, buttons and links.

Anyone can get their stab at their first application running in a few minutes and enriching that application is apparently very simple and productive too. And that application looks great: templates for both Alta UI (used for example for all Oracle Public Cloud user interfaces) and Oracle Applications Cloud User Interface (used in all SaaS applications) can be selected. Launching the application for a larger user community or even for public access is very easy.

Some observations I have to share as well:

· The overlap with MAX (the mobile application accelerator) is considerable: both allow the Line of Business user to declaratively develop an application on top of REST services through a browser, but each in their own, separate ways; Oracle staff indicates that somewhere in the not too far-away future the two will come together (I am not sure this is an official standpoint yet or just a glimpse of what might or might not happen)

· Another substantial degree of overlap exists with APEX- that other browser based declarative development environment for departmental application development; I understand that APEX will adopt Oracle JET for its data visualization (see for example the note on New Charting Engine in the APEX 5.1 Statement of Direction ) – bringing ABCS and APEX also visually closer together; Oracle’s positioning (again, my interpretation of various presentations, statements and rumors) seem to state that APEX is primarily seen as the tool for reporting and for applications used within the IT department. Additionally, at least for now, ABCS does not exist in an on premises edition

· The story of the Line of Business user or citizen developer is a little hard to swallow; the first steps towards the application can probably be taken by such a person with ABCS, but quite rapidly some form of guidance by someone with real development skills will be needed (to write a few lines of JavaScript, wire up REST services and help with custom components)

· At the time of writing, ABCS only supports custom data objects and interaction with REST services exposed by Oracle Sales Cloud. Integration with other SaaS Services and especially with REST services exposed on ICS, MCS, JCS and SOA CS – and preferably any REST service anywhere – is very much looked forward to (and is in the works at Oracle, to be added in the next few months)

· The temptation will be enormous to use ABCS to create far more complex applications than are currently suggested as the scope for ABCS; when the envelope of a particular application has been pushed and pushed – as will happen – the productivity is bound to collapse and at some point a dead-end will be reached; in the longer term, there may be the possibility to then export the application as an Oracle JET application and continue development on it

The Application Builder Cloud Service is an impressive piece of work. Attractive and productive web applications can be put together very rapidly in an apparently very agreeable manner and subsequently published to a selected user group or the general public. It can be used for extending Oracle SaaS applications or creating simple stand-alone applications. Once more data visualizations – the stunning charts from JET – have been added along with internationalization and the more generic REST service support, this is one hell of a tool in the Oracle Public Cloud toolbox.

Note: this article was originally published in OTech Magazine, Fall 2015.