Showing posts with label Cloud computing. Show all posts
Showing posts with label Cloud computing. Show all posts

Saturday, November 19, 2016

Editing Application Roles in Oracle Process Cloud Service

The other day I was working on my demo of Oracle Process Cloud Service (PCS) for UKOUG Apps 2016.  After creating the application, I wanted to start working on the process. My use case fits an out of the box pattern nicely, so I started with "Form Approval with Integration Pattern" and PCS created a default process for me; with two swimlanes and a number of activities. The resulting process is shown below.

Process created based on "Form Approval with Integration Pattern"












Every PCS application is provisioned with three standard roles:
  1. Process Owner. Users with this role have access to process activity history, can take actions, alter the process flow etc. Process owners typically manage deployed business processes and use metric analysis tools such as dashboards to monitor the business process. 
  2. Process Reviewer. This role gives access to process activity, but process reviewers can not take actions on tasks or alter tasks flows.  Process reviewers are not participating but typically responsible for reporting on current process instance status. 
  3. Analytics Viewer. assigned this role can create and view business analytics dashboards associated with the specified application.
In this example, I don't want to use these global application roles, I want two other roles:
  1. Expense Submitter. An employee that submits an expense because of traveling or other reasons
  2. Expense Approver.  The manager of the employee that approves the expense items on the expense report.
You can edit the swimlane by clicking on the pencil icon next to the swimlane and select a role. 

Assigning an application role to a swimlane

















I did not see the role I was looking for in the list, but that is not a problem: I can add an Application Role to the list by clicking the "+" icon.

So far so good. I added a role "Expenser" and assigned the first swimlane to it. Then I did the same for the second swimlane: I edited the swimlane and added a new role "Expense Approver".

Unfortunately, I made a mistake....

Editing the role

I wanted to call the first swimlane/role "Expense Submitter", remember? I accidentally named it "Expenser". I want to change this name, because I don't like it.

My first attempt is in the current screen. I have the pencil next to the swimlane, so probably I can edit the role here, right? Wrong.
It will bring me back to assigning a role to a swimlane. I can assign it to a different role or a new role. But not edit it. 
So let's look at another option, there is another place to manage roles, on an application level.

Click on the tab "Application Home". This will bring you back to the Application Home. When you click on the "Organisation" link, you will get a pop-up that allows you to delete or add roles. However, you can't edit roles. 

Because I really wanted a new name, I deleted the role and added a new one.

Remember, adding a role will not only impact the swimlane, but also adds an application role for the application. This role will be available for all processes in this application.
Application Home with Dialog to add and remove Application Roles

Of course this makes you wonder what happened with the swimlane that was using the role we just deleted?

Let's see:

Unassigned role after deleting a role from the application




















It results in a swimlane with a 'Unassigned role'. So I assigned the newly created role and continued with implementing the process. 

Conclusion

From a functional perspective, the ability to create a process based on a pattern is very powerful. The responsiveness of the process composer is very good. It is a pleasure to work with it, it feels like a modern application. However from a user experience perspective, I see plenty of room for improvement: 
  1. Navigation
    • Buttons versus links. Why is 'Organization' a link, not a button at the right hand side of the Application Home? Why is closing the application implemented with a link and not a button? There are multiple levels of navigation, and it is not always clear why which pattern is used for what level.
    • Moving from the Workspace to the Process Composer. It is unclear to me how to get back to the workspace once you have entered the process composer, apart from saving the link as a favorite in your browser.
  2. Internationalization
    • Some concepts are translated, some are not. 
    • Consistency. It seems that in the Dutch version, a project role is edited (see illustration), in the English version the dialog is called "edit Application roles" (the correct concept) . 
  3. Concepts. 
    • The name of the Swimlane is the same as the role you assign to it. The role is defined on an Application Level, not a process level. This is not clear from the way it is presented to the user and will only occur to the process developer, once (s)he will develop more than one process
    • It is not possible to edit the name of the role. You have to delete it and then add a new role. This will result in swimlanes with unassigned roles in existing processes. 
    • It is unclear for the process developer what a role entails, the pop-up window does not show where the role is used or what permissions are associated with it
    • By default the submitter of a form is defined as the process owner. In most cases this will not be the case: the receiver of the form is typically the process owner, who will approve or deny the request and has the ability to change the process etc.
This is not an extensive list, but just the issues I ran into while trying to change the name of a process role after having created a process based on a pattern. 

From a functionality perspective PCS is becoming more and more powerful. However, it is very important to keep the User Experience that comes with the functionality consistent within itself and with the other Oracle products as well. Including the Oracle Applications. Because for users, the difference between PaaS and SaaS is inconsequential, they just use the tools. In the end, to users it does not matter whether Oracle calls these tools a 'Platform' or 'Software'. What matters is that they are productive and that the tools are easy to understand. 

I think it is time that Oracle repositions the Oracle Usable Apps group to a higher level to include the PaaS products. And please, as a first recommendation from a UX perspecive, let me edit roles 🙏


Friday, October 8, 2010

Highlights from the SOA Symposium

Tuesday October 5th and Wednesday October 6th, the third edition of the SOA & Cloud symposium took place in Berlin. The location was really nice: at Alexander Platz, close to the train station and with plenty of hotels in the vicinity of the conference center.

I presented the case study Service Orientation in the Dutch Government.But I also attended many interesting sessions and talked to interesting people.

Build schools not prisons

The session Deriving Agility from SOA and BPM – Ten Things That Separate the Winners from the Losers, by Manas Deb and Clemens Utschig-Utschig was a very pleasant suprise. Instead of using agility as a buzz word to justify SOA and BPM, they actually spent time to explain what they mean by an agile organization. They used the sense-and-respond model by Haeckel for this. Then they proceeded to explain the things that separate the winners from the losers, with clear examples that people could relate to. A solid presentation, with some nice one-liners for the twittering audience (my tweet “governance: build schools, not prisons” in the heading came from this presentation)

BPM: Top Seven Architectural Discussions in 2010, touched upon a number of interesting topics. A highlight for me: most of the ‘business beef’(value) in BPM projects comes from the task flow level, optimizing the human tasks. This ties in nicely with the Approach vision about the need for user experience in solutions ;-)

The last session I attended the first day was Open Source Process Execution. Unfortunately, only two delegates were attending: someone from ASR and me. The talk was really on Activiti, an open source project that looks very promising. Coincidently, I ran into again someone who was using that in a meeting today. So the stuff I learned was already useful the same week!

Look bored if you already know this

Ralph Schafermeier talked about corporate semantic web: Corporate Semantic Web – The Semantic Web Meets the Enterprise. He started with an introduction of semantic web, and announced that he would skip it if we looked bored. This introduction was good. The only bad thing was there were a couple of people in the room, they wanted every definition to be phrased ‘exactly right’. This took up valuable time. I guess this is to be expected from semantic web people, to discuss semantics :-( . It distracted the attention from the real topic: application of this concept to BPM and CEP. Ralph showed a really interesting concept of adding semantic web annotations in BPMN models. This sounds to me as a very powerful concept that we will hear much more about in the future. If you want to check it out right now visit the Oryx site here. I did not look bored during this session, on the contrary!

BPM with REST, investigated if and how REST can be applied in an BPM engine. This is very interesting from a perspective of change management and creating more flexible interactions than with ‘traditional ‘ WSDL based integration. Solid speaker, solid presentation. Again an interesting research topic that will become applicable in the future. Maybe in case management this is a much better solution than in orchestration? I am still thinking about the concepts…

The last session I attended was Modern SOA Infrastructure and Open Source by Mark Little. This was not a very compelling story; personally I believe there are plenty of use cases where Open Source infrastructure is more than a viable option. However, the reasoning that was used in this presentation was full of circular logic: the definition of open is that the code is open source. Therefore Oracle can’t claim they are ‘open’. Or: “open source is built by real world developers”, as if closed sourced developers are not in the real world?!? This was I think a missed opportunity: it was based on prejudice and I doubt he convinced anybody who was not already convinced of the value of open source infrastructure.

All in all a great two days, and I even went home with a helicopter from the Oracle stand!