Showing posts with label BPM. Show all posts
Showing posts with label BPM. 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 🙏


Tuesday, October 22, 2013

Nordic OTN Tour 2013

This year I am part of the team that is presenting at the Nordic OTN Tour 2013. It covers three countries: Sweden, Denmark and Norway and is organized by the local user groups. Tim Hall, Mike Dietrich, Sten Vesterli and me are presenting on Database and Middleware in all countries.

Sweden, October 22nd

Today we presented in Stockholm. The program can be found on their website.

It was an interesting day, both from a Middleware perspective and from a Database perspective. The user group decided to plan two parallel tracks; the sessions about Middleware in the morning and Database sessions in the afternoon. Because of this, the Middleware sessions were competing with each other and the Database sessions were competing with each other. From that perspective it would have been nicer to have a Middleware track and a Database track running in parallel. The advantage of the Orcan approach however, is that Database people will attend the Middleware sessions that they might otherwise have skipped.




Denmark, October 23rd

The programs are not exactly the same in all three countries. In Denmark there are three parallel tracks, and instead of talking about using Oracle Fusion Middleware 11g to realize a SOA, I will talk about Oracle BPM Suite. The program can be found on the website of the Danish user group. Apart from the people that were at the Swedish day, there are a number of other speakers in Copenhagen:

  • Rasmus Knappe
  • Jørgen Christian Olsen
  • Gordon Flemming
  • Lars Bo Vanting 



Norway, October 24th

The last day is in Oslo. In Norway there are two parallel tracks, like in Sweden. I will do the same presentations: Overview of Oracle SOA Suite 11g and Creating SOA with Oracle Fusion Middleware 11g.

The same team is doing the presentations. In addition there are a few Norwegian speakers as well:

  • Trond Brenna
  • Harald Eri and Bjørn Dag Johansen
The agenda is published here

All in all a very interesting tour, I look forward to meeting the different user groups and spend time with the other ACE Director and talk about Oracle stuff all day ;)


Friday, November 23, 2012

DOAG 2012

This week the German Oracle User Group, or DOAG as it is called in German, held their yearly conference. Like other years, the location was the conference center in Nuremberg, a beautiful city in the south.

Vennster was well represented in the SOA/BPM Space, we did the following sessions:
  • SOA Made Simple: service design (Ronald van Luttikhuizen)
  • SOA Made Simple: creating a roadmap for your SOA (Lonneke Dikmans) 
  • Effective Fault Handling in Oracle SOA Suite 11g (Ronald van Luttikhuizen)
  • Introduction in Eventing in SOA Suite 11g (Ronald van Luttikhuizen)
  • Using the B2B Adapter in a Dutch government project (Ronald van Luttikhuizen)
  • Securing heterogeneous systems using Oracle WebServices Manager (Ronald van Luttikhuizen and Jens Peters)
  • Deployment in Oracle SOA Suite and Oracle BPM Suite (Lonneke Dikmans)
  • Stop generating your User Interface! Start designing it (Lonneke Dikmans)
You can find the slides by Ronald and me on slideshare:
Of course there were also other presentations by other presenters ;) DOAG is a big conference, with over 400 presentations. Most of them cover cases, others explain the latest developments. There is a number of tracks that are of interest if you are working in the 'middleware space': BPM, Middleware & SOA, development, Java and Strategy and Business.  The English spoken sessions are not as popular as the German language sessions, but both are well visited. 

I visited three sessions, one case study titled "Dynamische Benutzer-Workflows mit SOA und BPM-Suite" by Arne Brüning, one about the new developments in EclipseLink called "The Evolution of Java Persistence" by Doug Clarke and the last one was a session titled "NoSQL and SQL: Blending the Best of Both Worlds" by Andrew Morgan. All three happened to be presented by Oracle. They were very different in nature. The workflow session discussed a customer case. It was interesting from that point of view. I would have preferred more technical depth, but the presenter was well prepared and had an interesting story to tell. The session by Doug about Eclipse gave a nice overview of the latest developments and put them into perspective of the history of TopLink and EclipseLink. I think that this is a good strategy: it shows that EclipseLink is both proven and modern: it has been around for years and part of the original team is still working there PLUS they have solutions for new developments like JSON, REST services, NoSQL and multi-tenancy. The final presentation was an example how not to do that. The presenter put NoSQL in the title in an attempt to attract a crowd. But the session was really about MySQL clusters. A lot of people left the session while he was talking, because it was completely off topic. The presentation itself was not bad, but the title was misleading.  

Unfortunately I did not have time to see more sessions, because of all the presentations we were doing ourselves. There certainly was a lot more I would have liked to listen to and I hope we will be back next year!



Saturday, November 19, 2011

DOAG2011 Day 2: Vennster presentations

Wednesday was the day I presented on BPA Suite to BPEL and User experience in the Enterprise. As I mentioned in the previous blog, this fitted nicely with the sessions I attended on Tuesday.

BPA Suite to BPEL case study
The first session I presented talked about the use of the Oracle BPA Suite as the modeling tool for the business processes in a project. The Oracle BPA suite provides an option to automatically transform BPMN (Business process execution language) to BPEL (Business process execution language). This approach has some advantages and disadvantages, as I described in "Transforming BPMN to BPEL: Why and How" a couple of years ago.
So, not surprisingly, we ran into some issues in the project; both from a design perspective and from a development perspective. These findings were discussed, including some pointers to solve these issues:

Using Oracle BPM (the BPMN 2.0 designtime and runtime tool from Oracle) will resolve a lot of the translation and impedance mismatch issues. But other issues will remain; the most important things to keep in mind when using the models that are created by analyst for development are:
  1. Make sure the analyst is fluent in BPMN 2.0.
  2. Make sure the business process is not to detailed, so that the best practices from a development and user experience perspective can still be applied.
User experience in the enterprise
The second presentation concerned the second item: best practices from a user experience perspective. Often when Business processes are modeled, the analyst will model all the tasks and then a screen is generated for one task. This might seem like a cheap solution from a business perspective, but usually this leads to very clunky user interfaces and expensive changes to the process once it is deployed an in production.
It is important to clearly separate the user interface logic (flow) from the business process flow and apply common user interface practices and patterns in the application. This is exactly what happened in Fusion application: user experience was an integral part of the development process.

You can apply these techniques in different types of projects:

  1. Custom development projects
  2. Customization of packaged application
  3. Creating packaged application.
It will save you a lot of money in the life cycle of the application, and does not cost a lot to implement!

Tuesday, November 15, 2011

DOAG2011 Day 1: Quality

Today was the first day of the German Oracle User Groep (DOAG) conference. If you are interested in SOA and BPM, there is plenty to see: there is  a development track, a Middleware track and a BPM track.

When you develop SOA and BPM applications, quality and control is an important topic. Components are reused and processes span multiple departments. This means that you have to make sure that the processes you design perform the way you expect them to, and that the services you use, are functioning as expected.

These topics were all addressed one way or the other in the sessions I visited today. Let's start with the more technical aspects: the quality of the development process.

Continuous integration
Jurgen Broda, Martin Karmann and Daniel Kleine-Albers presented "SOA Continuous integration". In this session they explained the way they had used Hudson in their SOA (SCA-BPEL) project. For people who are familiar with test driven development and continuous integration in Java projects, the approach this team took was very similar to that. The only complication with SCA composites is you have to deploy them before you can test the code. In this project, they created a custom testing framework for integration testing of the composites. Note that the SCA composites testing framework can be used to unit test the composites.
The biggest advantages of continuous integration in a SOA projects are:

  • Developers work on components that are part of services that are reused. Often this becomes very complex and it is hard to keep track of the functionality and quality. Using continuous integration breaks down the complexity in deployable units of code that run tests successfully. 
  • If a change is being developed, there are regression tests available to make sure the rest of the services and processes did not break. 
  • Requirements can be tracked if you tie the tests to the requirements, giving project managers a clear view of the progress. 
The thing the team found lacking is automated quality checking of the BPEL code. In the Java world we are use to analyze code using tools like FindBugs and CheckStyle. There is no such thing for BPEL, yet.  This was a very inspiring session; I used to think continuous integration was not too complicated in SOA projects. But now I know differently: in fact, I am going to propose to install Hudson and start doing continuous integration in our current project as soon as I get back!

AIA
Controlling the code you create using continuous integration is an important step towards quality and stability in your development process. But, creating SOA and BPM applications has additional requirements compared to 'regular' java or PL/SQL applications: code is supposed to be reused, and often you need to integrate existing packaged applications like Oracle eBusiness Suite or Siebel CRM. For this reason, Oracle provides a framework to integrate different packaged (Oracle) applications: Application Integration Architecture. In his session "Oracle AIA, does it deliver on it's integration promise" Ahmed Aboulnaga talked about his experience with Oracle AIA. Lowering risk and cost are the main reasons to get started with AIA. Using predefined process integration packs (PIPs) and the application integration foundation pack is not easy. But the architectural principles behind AIA are solid and this ensures that the integration code is reusable. Apart form that, a lot of time can be saved in analysis, because the data models (EBOs) are already defined. This is often a large part of the effort in a SOA project. Beware of customization though: this will become expensive very quickly. In fact, Ahmed stated that in AIA projects in general the initial investment is low (ROI is high), then in the middle (which can take up to two years) cost are high and finally it lowers again because of reuse of the integration code and good systems design. In the end it is worth it, but you have to know what you get into.

Process Simulation
Reusing architectural patterns, code and data models is a good way of ensuring quality in your projects. But every organization is different. For example, the type of staff you employ, the number of process instances you run etc. With BPM studio, process analysts have a simulation tool to make sure that the processes they design are efficient in terms of resource utilization and throughput. Michael Stapf showed in his session "Simulation von BPMN 2.0 Prozessmodellen mit BPM 11g" how to simulate a model that is created in BPMN 2.0 with Oracle BPM Studio 11g. The nice thing is, you don't have to deploy the model, nor do you need to implement all the services to run the simulation. The simulation engine checks the quality on a totally different level: it gives you the opportunity to monitor and control your process design. This is a very effective way of finding bottlenecks before you actually implement them in your organization. Changing a process that is in production is much harder than changing a design, obviously... A nice new feature in 11.1.1.5 (Feature pack) is the round trip simulation: you can add data from your running instances and feed that into the simulation models. 

Social BPM
So far I talked about ensuring code quality with Continuous integration and AIA and ensuring quality of design with AIA and process simulation. But a lot of quality gets injected in your process at runtime. People work together, make decisions, talk to each other, learn from similar cases etc etc. Social BPM is a term to indicate the application of Collaborative work to Business Process Management. Manas Deb explained in his SOA keynote "Social and collaborative BPM pushing organizational excellence" what this means for your organizations and how this helps you improve the quality of your organization. 
I really enjoyed this session. I graduated in Cognitive Science in the 90s and a large part of the curriculum at the time was CSCW or computer supported collaborative work. At that time, the tooling and connections (internet) was not as developed as it is now. It is good to see the application of these concepts in modern tooling like Oracle BPM. 

For me this was a very successful day. I enjoyed running into the "Oracle crowd", and attending sessions both in German and in English. I learned a lot. Unfortunately I did not learn enough German to do my presentations in German, so tomorrow I will talk in English about using the BPA Suite to generate BPEL and how User Experience and BPM fit together (using Fusion apps as an example). This fits nicely with the themes I have discussed so far.  I think the DOAG program is really well balanced, it is a nice location and after attending DOAG2011, everybody should be able to produce modern high quality applications ;) 

Friday, November 5, 2010

Sharing models in BizAgi Studio Xpress

We have started to evaluate BizAgi Studio Xpress for a prototype we are building. The tool is easy to use for business analysts: they can download it themselves and just press ‘Next’ to install it on their machine. Really.

Next you start by modeling your process, define the data model and design the screens for human interaction. I will talk about the pros and cons of this approach in the next post. Today I want to talk about sharing the projects you create with Studio Xpress with other people.

BizAgi Studio Xpress stores the meta data (the process, the data and the screens) in a SQL Server database. If you get the enterprise edition you have more choices: you can use an Oracle database and application server platforms. Because I am working remotely on the prototype with our business partner Creetion, we needed to share the project we defined. This means we have to export the database and import it again at ‘the other side’.

The BizAgi website explains how to do this: you need to download SQL Server Management Studio. So far so good: I downloaded the SQL Server Management Studio and tried to install it. I have Windows7 installed on my laptop, and have (of course) administrator rights. However, when I run the msi, I get error-code 29506: “The installer has found an unexpected error while installing this package.” Apparently, you need system rights to install the application. The solution is to run the msi as an administrator. Bizagi has written in more detail how to accomplish this here.

Luckily a lot of people ran into this problem :-( , so there is plenty of information about this topic . Once I installed it, I tried to run the SQL Server Management Studio to create a backup of my project. Again, I got an error because I need to run the application as an administrator. This drives me nuts in Windows7: I have defined myself as an administrator but still I need to run a lot of software ‘as an administrator’! The platform is nice to edit Office documents and to surf the net. But when you trying to use version control systems, databases or any other advanced tool, the OS gets in the way.

Creating the backup is not hard. Yo do have to make sure you put ‘.bak’ as an extension in the filename, the SQL Server Management Studio does not do this for you. When you restore the database, it won’t show up in the list if you didn’t add this extension.

I am not sure where to put the blame: with Microsoft for the lousy user permission and security scheme in Windows7 or with Microsoft for the lousy integration of SQL Server Management Studio with the Windows7 user permission and security scheme….. wait: I can blame Microsoft either way :-)

But, we can now work remotely (but not at the same time) on the same database: everytime one of us updates the project, we create a backup and store this in our shared Dropbox folder.

A nice addition to BizAgi Studio Xpress would be an option to create the backup and restore directly from the Studio menu. I don’t mind installing database management software. But my colleagues, who are more business oriented, don’t appreciate this at all.

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!

Friday, September 24, 2010

Random thoughts about Oracle OpenWorld, Oracle Develop and JavaOne 2010

Today was the last day of Oracle OpenWorld. It was the fifth time for me, so the amazing crowd that floods San Francisco doesn’t surprise me anymore. There was a big difference this time, though: it was the first time that JavaOne was part of the conference. I had visited JavaOne twice before. Both times the conference was in Moscone. For obvious reasons, this was not possible this time. Moscone is big, but not that big….

They moved JavaOne over to the Hilton, Park 55 hotel, and Nikko hotel where Oracle Develop also took place. Being in these hotel feels smaller and less ‘buzzing with energy’ compared to Moscone. It didn’t bother me, because I am used to it: they did this before with Oracle Develop. But for the JavaOne visitors, it was a step back. I attended a session about SOAP versus REST webservices. The session was very well attended, it was a repeat from the day before. The room was small and one of the presenters had to leave early because he had a plane to catch. I think that if this session would have been located at Moscone, it would probably have fitted all the people that wanted to attend on Wednesday. This would have improved the quality: the story became a little one-sided because the SOAP guy left..

The problem of finding sessions that you want to attend was even bigger this time than last year: adding JavaOne to the mix increased the amount of sessions you have to chose from to an incredible number. The schedulebuilder doesn’t help. In fact it seems to deteriorate evey year: I missed some sessions I would have liked to attend: for example the session by Mark Simpson on Governance. Some sessions ‘dispappeared’ from the schedule: for example the ADF session by Sten Vesterli.

Now let’s take a look at the bright side:


I loved meeting all the Oracle Ace Directors, Oracle Productmanagers and the people from Oracle Technology Network again. Meeting here every year really makes the community sustainable. You can do a lot of stuff online, but it really helps if you meet people in person once or twice a year. I even bumped into some Dutch people I hadn’t seen in a while. It feels like one big reunion all week long.

We had our first ‘official’ session of the new SOA BPM enterprise methodology group at the unconference sessions. We talked about best practices for using existing database logic in a SOA environment, and tips for communication with .NET services in your enterprise.

I attended interesting sessions (in random order, since this blog contains random thoughts):

  • Dirk Staehler showed the methodology Opitz uses with Oracle BPA Suite for enterprise architecture, SOA and BPM.
  • A nice overview of use cases for SOAP and use cases for REST webservices
  • A demo showing the use of UCM, more specifically the imaging solution with the prebuilt integration with Oracle BPM for invoice processing
  • The BPM CAB where I met with the people responsible for the integration between Oracle BPA Suite11g and Oracle SOA suite11g and Oracle BPM Suite11g.
  • The partner council that was organized by Juergen Kress. Dave Shaffer was doing a great job getting the feedback from the partners and explaining the roadmap and other stuff that I can’t talk about ;-)

Of course, it was not all work: I had great breakfast, lunches, dinners and coffees with friends. I visited the Oakland museum to check out the awesome Pixar exposition and of course went to the appreciation event at Treasure Island!

All in all, the conference was a huge success for me and I am already looking forward to next year!