Conditional vs Business rule transitions - aqualogic.bpm.modeling(Archived)

Any thoughts on when I should be using a business rule transition instead of a conditional? Any need to use this yet?
I understand the primary distinction is "dynamic" but am having a hard time getting my head around the difference without an example.

I think business rules are mostly useful when modeling a condition that is likely to change, and you want to make it easy to change the condition on-the-fly, without having to change and re-deploy the process.
A simple example is when there is a transition that must be followed only when a variable value is above some predefined value (for example, a manager must approve all orders above $ 10K).
If using a business rule, this "10K" value can be easily changed as needed.
The ALBPM documentation has some guidelines on when to use Business Rules (section "When to use Dynamic Business Rules):
My example is taken from the one in the document describing ALBPM 6.0 new features:


Product class and Attributes

Can a single product class with attributes be mapped to 2 separate product specification (based on the value of the attribute). Eg, lets say there is a product class called Internet which has an attribute called Site type. The value of the attribute site type could be single site or multi-site. Based on the value of the attribute for the product class, we need to invoke different orchestration plans.
Is this possible? If yes, how can this be achieved? We would also like to know if this is the right approach. If not, how do we model such requirements 
Hi ,
You can try modifying the xquery used for product class to product spec mapping and specify this condition. I have not tested, but logically it should work.
Amit Singh 
From OSM modeling point of view, OSM Design Studio allows you to map a ProductClass to only one Product Specification.
A common orchestration plan with proper orchestration rules ( Component Condition, Decomposition Rule Condition, Order Item Dependency Condition) looking at the site type (as a an order item property) could support this case, assuming a single/multi-site fulfillment logic can be implemented in a single fulfillment function.
However, defining new Product Class might be bettern approach.
The site use case mentioned in the post was just an illustrative example. In case we have similar requirements where the attribute can take many values, or even multiple attributes, creating separate product classes for each would be an overkill and lead to maintenance issues. Standard product modeling methodologies, such as those recommended by SID, would not recommend such an approach.
Is there any way we can achieve this requirement without creating proliferation of product classes?
Hi Nagu,
Look at it from a different perspective - The value prop. of Product Class (PC) to Product Spec (PS) mapping is that you don't have to to change the PS, based for every offering based on that specific PC or even if there is an attribute value change (Eg. value of the attribute Download speed changes from 3Mbps to 12Mbps), the PS remains the same. Now, if you like to introduce a new PS for corresponding to every attribute value of the PC, then this value of PS -PS mapping is lost i.e. now you will have to introduce a new PS when the value of an attribute changes, which is not desirable. OSM provides you enough flexibility wrt. to order decomposition, dependencies between order components, dynamic orchestration dependencies etc. to create the orchestration plan based based on the order attributes (which includes the PC attribute values) and you should be looking at these features to achieve your use cases. The recommendation is generic though, if you could flesh out your use case for us, we would be happy to recommend an approach.
Hi Nagu, as a general rule, the product spec can be mapped in whatever way you wish, the product class to exactly 1 product spec is just a possible approach.
But you can write your own xquery which can access the incoming sales order line item and possibly some other mapping file than the one generated by the studio OOTB.
Your mapping file could be in the file system and by just posting a new version you could add more mapping rules to existing product specs without redeploying.
You could also access an external data source, like a WS.
In general I don't see an issue in general with a custom product spec mapping algorithm.
If you are using Order 2 Activate though, the easiest is to conform to the OOTB approach.


The BPA beta is missing some important BPMN functionality, namely BPMN subprocesses. I'd like to know whether subprocesses will be available in final BPA and an approximate timeframe for this. Are there any workarounds for subprocessses in BPA beta ?
Hello Michal,
Yes, you’re right. The BPMN implementation within the BPA Suite is not 100% according to OMG standards. Regarding the sub-processes you can create “assignments” that have the same meaning within the modelling of dynamic structures. But it is not possible to display a “Collapsed Sub-Process”. Like defined by the OMG this should be displayed as: “The details of the Sub-Process are not visible in the Diagram. A “plus” sign in the lower-center of the shape indicates that the activity is a Sub-Process and has a lower-level of detail [OMG]”.
This is not possible with the actual version. But an assignment can be used as substitute. Right click on a function object and select “New… Assignment”. This allows you to create sub-process like structures.
Regarding the BPMN implementation in general please take a look at my post:
Re: BPA and ARIS comparison!
Hi ,
In BPA beta every task/function (human or automatic) will have an assignment to its relavant function allocation diagram.This will lead to a situation where every function on the diagram will have an assignment.
In this case best difference between a collapsed subprocess assignment and function allocation diagram assignment is by using a different kind of symbol ,like process interface symbol, for functions associated with subprocesses.This is how we do it.
Dirk, Please suggest if there is any other way to do the same.
Hi Ashish,
I didn't get you modeling approach. Could you explain it a little bit more? Are you talking about BPMN assignment diagrams? They are no longer part of the BPA ARIS methodology...
Hi Dirk
i am talking about the Beta BPA modelling approach.
Eg: when we create a human task, it pops up a new screen which takes input of the role performing it and workflow pattern. Once ok button is clicked, the human task in the diagram is assigned with a "function allocation diagram"(FAD).This FAD contains the workflowpattern and the role perfoming the task.
It is these kinds of assignment that i was talking about, These assignments also occur for automatic tasks.So ultimately all the functions in the diagram appear with assignment symbols.
Hi Ashish,
thanks, now I got it. To be honest, I wouldn’t model it like that because with this approach you mix up different content levels. It is always hard to assure that (for functions only representing sub processes – like your process interface objects) further detailed process fragments still fit (from a semantic perspective) smoothly into the overall process structure.
By the way are you at OOW in November?
Hi Dirk,
Could not get the point about different content levels.
what best way do you suggest for representing subprocesses( collapsible ones) in a scenario like the one in Beta?
Regarding the OOW, i have just dropped you a mail.
Message was edited by:
Hello Ashish,
the main problem with this kind of modeling occurs because of the semi formal modeling language. When you model non IT supported function (indicated in your diagrams by interface objects) and IT supported functions (the once you transfer into Oracle specific objects) in one diagram you will end up with the situation where it is hard to assure the sub process (assignments of your interface objects) fit smoothly into the overall context of the transferred master process.
Let me try to make this a bit clearer with a “drawing”
Root process: Function1 - Function2 - Function3
Sub Process: Function1.1-Function1.2-Function1.3
If the root process is converted into a BPEL process it is hard to assure (in a bigger modeling environment) that the sub process and its functions 1.1. … (if not automated!) will not be modified by someone else. This could destroy the meaning of the diagram.
In the other case (automated sub functions) a representing service object will already exists because the sub process went through a conversion process already. This provides you with the possibility to select a service and assign it to the function within the root process. This will always lead to an object of the “automated activity” type. When you now want to trace it back down to the sub process you could use the “occurrence” tab within the property section that will guide you to the sub structures.
With this modeling approach you do not have to deal with the object assignments.
Message was edited by:
Hi Dirk,
Thanks for the reply,
Technically i totally buy your case. After all ,even in executables development(using BPEL), every subprocess in a main process is a invoke activity.So to maintain semantic sense, it is fair to represent subprocesses as automated functions.
But from a business users perspective , when a business user looks at a diagram, he would want to know which object is further split into a subprocess(with out checking occurence for every automated activity).This can be done using a different symbol type for automated sub functions.
I guess this can be achevied if we seperate the business processes and IT processes in BPA itself.i mean one model describing the business abstract process, and another IT model which can be used to convert into BPEL.
Eg: maintain business processes in EPC(r d) model types, then use "generate model" functionality to convert EPC(rd) models into BPMN model.Then do what ever changes that have to be done to BPMN model before transforming it into BPEL using the new SOA menu.
Hello Ashish,
yes, I agree. That's the better approach
Thanks Dirk,
just took a clue from an earlier thread in which you had made this point.
I would suggest that customers create a new symbol for sub processes which is derived from function but has a different color / icon. Then use FAD to identify the detailed sub process. 
Might I ask how one obtains the Beta I'm evaluating several different modlers and would prefer to focus my attention on the "to be" rather than "has been" versions. 
If you are from Oracle, there is an internal download site. If you are not, then OTN should have the 90 day evaluation version.
Addendum to my earlier posts:
the new ARIS version has a full OMG compliant implementation of the BPMN sub process object. Even the show sub-process as icon functionality works. According to a colleague from Oracle I spoke to this will be available within the production version too. I already have it in my “old” ARIS 7.02

Pass data or variable from BPA/BPMN to BPEL

We want our business analysts to be able to attach a string to an automated task in a bpmn flow using the BPA tool that we can grab within bpel either as a variable or a hardcoded param to pass into a webservice. Currently, none of the parameters I have set within the BPMN model show up when it is shared with IT and pulled into JDev. Does anyone know how to pass a string between BPMN and BPEL.
Message was edited by:
I think currently you can add description to the BPMN activity that will go into BPEL blue print for IT. IT has to take notes from BPMN and add that into WSDL call.
I think you are referring to the solution we currently have where we read the annotation that the business user puts on each task and then hardcode the variable once it is imported into bpel. I was trying to give the business user the ability to change the string variable in the future without making change requests to IT, but Im starting to think thats not possible. Thanks for your response. 
You are probably right as for current BPA. Also, I think what you are trying to do can also be done through ORacle Business Rules - part of SOA. Using rule, business will be able to change the value of the string/parameter without having IT to change it and it does not impact deployed BPEL at all. What in BPA, you would do is to give IT an task to add rule that business can change at run-time.
Hope this helps.
You can use input and output variables to pass this string information as a variable to IT.
What more - it is reusable! 
Where can you define these input and output variables?
I think I understand: if you define an activity in BPMN, there is no place to put input or output variables. If you transform this into an automated task, you can select input and output variables from a list of technical terms in your database. 
I just want to initiate a discussion if this is really something we want the business guys to do? For me it is (bluntly spoken) not a good idea to have the business change information that has a direct impact on IT systems without any quality check by IT irrespective from governance and testing issues. I trust the business guys (in fact that’s my origin) but when it comes to real life systems and implementations I like to have a safety net! So the solution created by Oracle (whatever the reason for it was) is in my opinion good for the time being.
What are your thoughts?
I am not sure what you mean: what is 'the solution created by Oracle'?
I do believe it is a good idea that both business and IT know what data we are talking about, use the same terminology. So you need to model something in BPMN that gets transferred to XML message in BPEL. But maybe that is not what you are talking about?
Hi Lonneke,
with the „Oracle solution“ I am talking about the way Oracle is connecting data on the business side with data on the IT implementation side. For the time being the Oracle methodology (and the tools as well) do not provide a direct link, like it was posted in the comments above.
Whatever made Oracle set it up like this (maybe it is because of the first version of the tool or something else ;-) ) from the experience I have with modelling on either the business and the IT side I deeply believe that business and implementation data should be connected (yes off course) but still separately modelled. You should “only” map the information artefacts.
I agree that both parties should be able to take a closer look at the data designs of each other. But a technical implementation model for data objects is far away from being useable in business process models.
I also agree that we need something that can be transferred to XSDs. But you put it right, something that can be transferred and not something that expresses technical data description directly. There is always a transformation necessary due to the different modelling patterns within the business and IT world.
Hi Dirk,
i see where you are coming from. I agree it is not a good idea having business users change stuff which will have impact on IT systems and vice versa is also not any better.
But at the same time to have any "value-add" bpel transformation from BPA , Data also needs to be a part of it. Otherwise defining data for BPEL processes will become redundant if the data is already present in BPA processes but not transfered to BPEL processes.
i think the business and IT in BPA should be striclty associated with their respective views. Business people model their business models and IT people enrich the Business processes with IT data.Because it is IT people who work on the business processes after business people, they can review the entire Data structure of processes.Anyways, Techinical terms is what business people can use. Defining the data structure behind it is IT peoples job.
Otherwise, having business and IT together doing the datamodels also looks good
I am not too sure if i am clear in my previous posting.
I believe the IT view and business view that oracle has come up with in the newer version of the tool is precisely for the reason that both the business and IT people work on the process and its transformation is done only after the process has been reviewed by both.
"Techinical term" is what business people in insert for data (input output data). but it is the "class" behind the techinical terms which actually gets transferred as XSD to bpel processes.And class definition is done by IT people.
I hope i am a little more clear this time,
And with the concept of mapping Technical Terms to Class objects the mapping between both information "worlds" is created.
Unfortunately this is not support in the actual version. But I am confident that this will follow in one of the next versions.
I ran into an interesting article about the semantic mismatch between BPEL and BPMN:
I don't know how old it is, but this is a relevant issue when transferring models from business (i.e. BPMN) to IT (i.e. BPEL).
I actually wrote a little blog ( about it, feel free to comment #site.

Listing rules within a ruleset

My goal is to make a jsp, presenting content based on a dynamic set of rules. New rules may be added, and I want to avoid re-coding the jsp, to use the new rules.
I need a mechanism for listing all rules, within a ruleset. Is this possible? If it is, I would really appreciate an example.
Hope someone has some experience with this,
Trond G. Karlsen

OSM O2A - Using extensible attributes in rules

In our RODOD implementation using OSM 7.0.3, we are using the concept of "extensible attributes" intensively.
The concept is great: lots of data coming from Siebel or gathered during the fulfillment process is stored in my order lines' "extensible attributes", almost OOTB, without no need for further customization.
The problem comes when we want to use these extensible attributes in conditions for data jeopardies, change notifications, process branching, etc. All these conditions are configured as "Order Rules", which are based on simple dictionary elements, and which cannot refer to my "extensible attributes" using complex XPath like the following one:
+BaseLineItemData/ItemReference/SpecificationGroup[Name="ExtensibleAttributes"]/Specification[Name="Call Waiting"]+
My question is: Is there any way to use complex XPath in "Order Rules" so I can refer directly my "extensible attributes"?
Right now, we are using lots of workarounds to copy the "extensible attributes" in simple order elements, so they can be referred directly from the "order rules". This approach works in a sunny day scenario, but it will bring problems with revisions that are changing the "extensible attributes" but not the simple order elements.
Thank you in advance 
Hi Leandro, as I told you earlier, the only way I can think of is the SQL based rule.
It appears to be fully supported, though not necessarily encouraged.
Hi Viktor,
Right now we'll try to use a workaround that doesn't go through low level customization.
The point is that we can do this because our rule is associated to a Jeopardy event. Basically, we'll let the Jeopardy be always triggered and leave the complexity of checking the extensible attributes to the jeopardy's automation.
Unfortunately, this solution only works for rules associated to events triggering any automation. In other cases, your solution should be considered, even if it's not configurable from the design studio.