Part 3 of the Soaring Through the Cloud series, written by Oracle ACE Director Mark Simpson, focuses on how Oracle's Process Cloud Service and Sites Cloud Service were used to build the authorization process and microsite used in the demo solution to allow community members to vote on musical acts as potential performers in an Oracle OpenWorld Appreciation Concert.
Table of Contents
- Introduction: How to Integrate Ten Different Oracle Public PaaS Services
- Internet of Things Cloud Service
- Building the Authorization Process and Microsite
- Integration Cloud Service to Connect the Dots
- Orchestration, Enrichment and Persistence with SOA CS and DBaaS
- Lightweight Application Container Cloud Service for Rich API implementation with Node.js
- Mobile Cloud Service
- Oracle JET application on top of MCS and ACC
Process Cloud Service (PCS) enables business stakeholders to have control and visibility over the design and execution of the business process. PCS facilitates the modeling, implementation, lifecycle management, monitoring and auditing of a business process, combining automated process steps with human collaboration. It interacts closely with ICS, which facilitates access to APIs and business services that are leveraged in the automated steps, and allows the initiation of the process to be exposed in different styles (e.g., REST interface translating to the IoT CS JSON format). Combining ICS and PCS allows PCS to concentrate on the business process steps rather than integration, keeping the process purely business-focused rather than clouding the process with implementation logic; that clouding role is left for ICS.
To support the human tasks required within PCS, Document Cloud Service (DCS) is used to store and share documents associated with the process and Oracle Social Network (OSN) is used to discuss instances of the process with colleagues. Both of these cloud services are enabled easily for a process from within the PCS modelling environment.
Building the Business Process Within PCS
A business process will be built to take the Act proposed from IoT CS, review and authorize submission of the Act, manually enrich the data with a description and image, and then submit the Act to the SOA CS via ICS. SOA CS will update the database, perform further automated enrichment and make the Act proposal available to the Mobile Cloud Service. A PCS application is created called ArtistProposalProcess that will store the models, human task form definitions, data objects, rules, documents and service connectors that will comprise the business process. The figure below shows the application workspace containing the process:
The first task when building a business process within PCS is to define the capabilities that will be provided by ICS within the execution of the process. For the SubmitActProposal process, two service endpoints exposed on ICS will interact with SOA CS. These are both part of the NewActProposalService.wsdl. To keep things simple for the business process modeler in PCS, each operation in the WSDL is created as a separate Web Service Connector. PCS does not need to know any detail of the implementation of these services, just the capability that they will offer, which is discussed and agreed upfront with the SOA developer; in this case, two operations will be used:
- CheckActExistenceServiceConnector : Verifies that the act being proposed has already been through the Act authorization process. If it has, we won’t route to human workflow but will move to the step to update the number of votes registered for the Act.
- SubmitNewActProposalServiceConnector : Creates a new Act proposal after enriching data about that Act, or will update an Act if it has already been submitted.
The web service connectors can be viewed from within the application workspace as seen in Figure 3:
To prepare the application to be ready for modelling the process, documents are enabled with an Artist Marketing Images folder created in DCS and associated with the process as seen in this figure. Any documents placed in this folder will be available to the reviewer.
The roles involved in the process are set through the Organization setup page; in this case we will have a Process Owner and a Process Reviewer. These will become the swimlanes of the process model. As shown in this figure, Social Conversation is enabled and configured to ensure that the result of any task assignment is immediately posted into a Social Conversation with process participants. The Social Conversation allows more free-format collaboration and information sharing on the process instance that may be needed for more unstructured elements of the process, such as the step in which images and marketing messages are selected.
To ensure consistency in data items used throughout the process, the business stakeholder will define the data items in business terms. These will then be referenced throughout the process and mapped to any data items exposed in the initation of the process and utilized by the web service connectors. It is important to have this separation between the business data objects used in the process and the data items used within the service implementations. The terms used in the Process Data Objects are what will be made visibile with the process audit and any dashboards.
Now that all the consituent elements of the process are in place, the process model can be created by dragging the process components to the process area, as shown in Figure 7:
The process contains the following components:
- Start Event : The entry point to the process that will expose the operation and data elements for the ICS process to invoke. The data elements are mapped to the business data objects as part of the data association of the Start event.
To keep the process instances business friendly, meta-data of the instance is included in this data mapping; in this case, a simple expression is used to set the title.
"Artist Proposal for " + artistName + " (Instance #" + instanceId + ")"
- Check Act Existence : Invokes the ICS service to check if the act has already been authorized and exists in the database. An Exclusive Or (XOR) follows the automated service call, which checks the actProposalExists data item returned from the service with a simple expression evaluation.
- Approve Act : If the conditional branch is not invoked, the process flow continues to a Human Task to enrich the proposal and authorize that this Act is acceptable to proceed to the next stage. A Human Task is created within the Process Reviewer swimlane, to be made available to anyone assigned this role for this particular process. The configuration of the task is done within a simple screen with reminders, escalations, approver patterns and description of the task set as shown in Figure 11:
A web form is created using simple drag and drop from the Form Palette, in this example to capture a marketing description for the Artist, feedback from the reviewer, and a URL to an image that will be uploaded to DCS and subsequently consumed by a marketing microsite in Sites Cloud Service. Each of the fields used in the form will be created as a data item, which will be accessed within the data associations of the process steps. Artist Name will be prepopulated from the data passed into the process, but will be editable to allow correction.
This task will appear in the Process Reviewer’s Tasks list of the PCS Workspace, as shown in the next figure; from here a reviewer can drill through to complete the task, upload a suitable marketing image to DCS, and enter into conversation with colleagues before accepting the proposal.
As Social and Documents were enabled for this process, two links are available on the right-hand side of the task. The first allows the user to navigate to the DCS folders associated with the process and upload documents. In this case a marketing image for the act is selected with a publically accessible DCS link generated:
The link is generated by clicking Share, setting a link name, defining an expiration date and defining who can access the link as shown in Figure 14. This link could be public, and access by named users or groups and can be controlled with an access code. This public link will be entered into the task for use in the mobile application, with the marketing image in DCS being available for use in the microsite.
The second link brings the Conversation window into focus. A conversation has already been automatically started due to the configuration set within the process. However, the Process Reviewer can now include extra colleagues in the conversation to check the finer details of the proposal before accepting. Below, “John” is added to the conversation to check that the image selected is suitable for the marketing department:
The user can now complete the form and accept the proposal as shown in Figure 16:
- Submit Proposal : Once the human task is accepted, the process will move to the final automated step to invoke the SubmitNewActProposalService on ICS. The outputs from the human task will be mapped to the inputs of this service.
In the PCS Workspace, the process instance can be reviewed with the process path, data items and authorizations fully audited. The process flow is shown by the green highlight in Figure 17:
Publishing a Microsite with Sites Cloud Service
Once the Acts have been authorized and ranked, the top Act needs to be published to a microsite to promote the event. Sites Cloud Service will be used to build the microsite. Sites CS enables the setting up of a template for the event, which can then be shared with a marketing content author to add the specific detail for the final Act and refine the design. Sites CS uses DCS to store assets and therefore the microsite will use the image selected by the Process Reviewer and the marketing strapline added within the authorization task.
The marketing event template created in advance will contain a site tree with links that point to existing pages. The content author can redirect these pages to new event pages and they will automatically appear in the menu structure of the website; for instance, a link is created to the new JET webpage that is created as part of this project to show the summary of the Acts and visualize the number of votes submitted. The template will be pre-seeded with background images, styles and text components that the content author can update. The template is shown in Figure 18:
This template will be responsive, and the content author can look at the rendering of the site in different resolutions by simply changing the viewport within the design preview mode.
The content author will now create a microsite based on this template to add the Act details. The microsite will bring in the menu structure, styles, background image and pre-populated text components from the template. In edit mode, the content author can simply drag components into the site and update the text or images. Figure 19 shows a paragraph being added on top of the background image to hold the marketing strapline for the event:
When adding image components, the File Picker will show the accessible folders in DCS. For this microsite, the author changes the background header image from the template default to the one stored within the PCS Instance Artist Marketing Images folder, as shown in Figure 20:
The content author can then alter the title of the Act and fine-tune any layouts and positioning of the components before saving, setting the site url and publishing the site. Figure 21 shows the final review of the site with the image and text components added:
The content author can also add any site security requirements to share the site only with known users and require authentication details in order to view the site. Because the purpose of this microsite was to allow the audience who had voted to immediately view the final microsite, no security was added. The content author can publish the site by changing the site status from Offline to Online. The site is available and publicly accessible immediately. Figure 22 shows the mobile viewport of the site that the audience could view:
The image is scaled, the text layout changed and the top site menu collapsed into a menu drawer component. Of course, we had to ensure the audience knew that this was a mock up for the project as the microsite was very real, so the template includes the disclaimer that this is only a demo and that the audience submissions and the microsite have no influence on what Act is chosen for the Open World Appreciation Event.
PCS provides the orchestration of the business process steps to manage automation, business rules and human interaction with the process. Seamless integration is provided with DCS and OSN for collaboration with colleagues on the process instance. will not deal with the service implementation; it will leave this task to ICS to facilitate and to SOA Suite CS for the more complex implementations. However, the simple importing of the web service definitions makes it simple to leverage service interfaces already defined in ICS, and allows the Process Owner to progress quickly from a set of capabilities offered by services to an executable business process.
Sites CS allows the results from the process to be composed into a microsite, with governance over the styles and layout of the site provided through templates. This approach allows the construction and publishing of a new microsite to happen in just a few minutes, with no technical contribution required. The combination of PCS, ICS, OSN and Sites CS provides an integrated set of services to rapidly automate the business process and publish the results in a microsite.
About the Author
Oracle ACE Director Mark Simpson is a SOA and Middleware specialist with extensive experience in Oracle SOA Suite, BPA Suite, BPM Suite, Enterprise Repository, Application Integration Architecture, Weblogic Server, and Database. Mark was the recipient of the
2011 EMEA SOA Partner Community Award for SOA Business Value, the 2009 EMEA SOA Partner Community Award for Outstanding Contriibution, the 2008/2009 UKOUG Technology Partner of the Year award, and the 2008 OPN Customer Success Winner for Technology.
This article represents the expertise, findings, and opinion of the author. It has been published by Oracle in this space as part of a larger effort to encourage the exchange of such information within this Community, and to promote evaluation and commentary by peers. This article has not been reviewed by the relevant Oracle product team for compliance with Oracle's standards and practices, and its publication should not be interpreted as an endorsement by Oracle of the statements expressed therein.