About the Tasks
Building a governance application essentially involves three stages. You must build an API layer to fetch data from the back-end services. You also build a user interface that allows your users to perform the required tasks, such as viewing audit findings and creating a list of questions for each audit. Then, you integrate the user interface with a workflow that allows audit approvers to send the questions to the original auditors.
Build an API Layer Using Oracle Mobile Hub
Oracle Mobile Hub uses JavaScript and Node.js to help you build a façade API layer around your existing SaaS application. This API layer masks the underlying APIs from users and allows you to expose only the precise features that you want users to have access to.
Constructing a façade API layer using Oracle Mobile Hub helps you to:
-
Improve performance. Performance is everything for a mobile application, and mobile networks often have high latency but good throughput. Additionally, executing the majority of the back end calls to the SaaS service behind the scenes means you use the fast SaaS data center links, which tend to be faster, to get the data.
-
Leverage back-end asynchronous services if possible. If the back end API service provides an ability to execute calls in parallel (asynchronously) and wait for them all to rendezvous before returning, this provides an ideal opportunity to benefit from interleaving service requests to the backend service.
-
Implement caching. Regardless of the caching type (whether per user or application wide), implementing caching in an API service usually helps with performance, especially when the backend service is slow. Caching also reduces the load on the SaaS layer. Finally, if the backend service is rate limited, or if it provides a limited number of API calls per day, then caching is extremely important.
-
Scale the solution easily. If the backend is stateless, the solution can easily be scaled with elastic computing.
-
Reduce UI complexity. The UI developers can focus on displaying the data in the UI and dealing with UI requests, not on shaping or converting data. With a back end API layer which simplifies, or enriches the backend service, the UI is simpler, lighter and faster.
-
Allow reuse. Multiple applications in your organization may need the same functionality. Creating an API layer allows you to reuse that API layer in other projects.
-
Enhance security. Allowing a client, especially a JavaScript client, to access the SaaS layer directly can be risky. Other JavaScript developers could intercept the API calls being issued to the service, understand which calls are being made, and potentially replay the API calls with different parameters.
In any application development, the shape of the API dictates how easy it is to build and use the client. A well-designed API layer allows you to draw complexity away from the user interface and handle it at the API layer. So, it’s important to carefully think through the API design.
Build a User Interface Using Oracle Visual Builder
While building a governance application, you don’t necessarily need an application that’s pixel perfect on mobile devices, because this UI will be used by only a few users: for example, the audit approvers in this scenario. What’s more important is to minimize development time and allow the auditors to quickly be able to use the application. Another important aspect is the flexibility to change aspects of the UI with minimal effort. This allows you to progressively improve and enhance your application, without holding up users who need to start using it right away.
Here are some of the key tasks that the client must enable users to perform, making use of the APIs you designed earlier:
- Query open audits in the audit application
- Allow audit approvers to review findings from a specified audit
- Allow audit approvers to create a list of questions and add to that list of questions until the list is complete
- Allow audit approvers to send the a list of questions to the auditors of a specified audit
- Execute a workflow to alert auditors that there are questions that they need to resolve
With Oracle Visual Builder, you can define a custom object to be used as a temporary store or basket for questions asked by audit approvers. This basket or list of questions can then be integrated with the Process feature of Oracle Integration (sometimes referred to as Oracle Process Cloud Service), to implement the required workflow allowing auditors to resolve the questions.
Create a Workflow and Integrate It with the User Interface
To integrate the user interface with the workflow, you can use Process feature of Oracle Integration (sometimes referred to as Oracle Process Cloud Service). This feature allows you to quickly create workflows, assign tasks to users, and exchange documents across users. Workflows can be as simple or complex as your business requires.
A good approach is to use Oracle Integration's ability to integrate a Process workflow with the user interface in a clean and efficient manner. Here’s the recommended sequence of steps to implement this approach:
- From the UI, call Oracle Integration Service with the specified audit ID.
- Oracle Integration Service calls Oracle Visual Builder and gets the list of audit questions for the specified audit.
- Get the list of auditors for the specified audit.
- For each audit question, create a new Process instance and allocate the instance to the auditors so that it appears in their Process Worklist.
There are several benefits to this approach:
- Only one call is made from the UI to Oracle Integration Service, instead of a large number of calls depending on the number of questions.
- The call from the UI using Oracle Visual Builder to Oracle Integration Service is asynchronous and very fast.
- If an error occurs while creating the Process workflow instance, then Oracle Integration Service manages the error and retries. Oracle Visual Builder isn’t involved in error management.
-
The Process feature's performance is optimized when it's primarily used for process flows, which are based on human workflows, and the number of runtime processes is reduced.
-
Oracle Integration Service provides another API layer, which is integration based. This can be used for other enhancements. If you want to create tasks in people’s Outlook calendars or write data to a log service, the Oracle Integration Service layer provides an ideal location to implement this type of functionality.