How to align the BPMN models with the Technology Architecture? - business-process-management

I stuck how to proceed further and need some new ideas to align these BPMN models which I have drawn for Customer Relationship Management(CRM) and Human Resources(HR).
As far as BPM model is considered it's mainly used for Business Architecture(BA) and then for Technical Architecture(TA) I could possibly use Rational Unified Process(RUP) but when I researched I could only find IBM Rational Rose Software which is not free...
My Question:-
Is there, open Source RUP tools which I can use? I looked up OpenUp but I could not make it work(which is a different issue).
Is this the right approach; for BA -> BPM and TA -> RUP ?

The scope of BPMN (BPMN specification 1. Scope ) describes
The primary goal of BPMN is to provide a notation that is readily understandable by all business users, from the business
analysts that create the initial drafts of the processes, to the technical developers responsible for implementing the
technology that will perform those processes, and finally, to the business people who will manage and monitor those
processes. Thus, BPMN creates a standardized bridge for the gap between the business process design and process
implementation.
There are Business process management(BPM) software's which provides process modeling and process execution conformance. Thus effectively making the models executable [at least to a certain depth].
In the free/ open source world you can find jBPM, Activiti etc...
I have tried out jBPM, is pretty much mature and has standard notations compliance. Also it supports modeling, execution and operational functionalities.

Related

what is the difference between ETSI-M2M standard and OneM2M standard?

I am doing a project about the topic desinging and implementing an M2M Application using OM2M. When I found some documentation in the internet, I know that the OM2M is defined based on the ETSI-M2M and OneM2M Standard. These two standards make me a bit confused about the similarity. Can anyone tell me what is the difference between these two standards, the ETSI-M2M standard and OneM2M standard?
Thank you so much!
I will try to help from the standard prospective, not in terms of the implementation
ETSI M2M was developed starting form 2009, and two releases were completed. In the meantime was identified the need to globalize the solution, so ETSI and its members approched other companies and other Standard Organizations to build a common project, and this is today oneM2M.
It is worth to remember that oneM2M is not a new Standard Organization, it is simply shared Partnership Project among existing organizations to merge the efforts and the expertize to provide better specifications.
Technically speaking, the principles are the same, the key Resources are still Applications, Containers and Access Rights (ACP in oneM2M). And the principle of separation of the semantic treatment from the platform is still the same.
So de facto Release 1 of oneM2M is a sort of "Release 3" of ETSI M2M. But be careful, they are not backward compatible.
Being practical, I would suggest you to look directly at Release 1 and 2 of oneM2M. A lot of improvement has been added by the different partners making it more easily usable.
In particular Release 2 finalizes the semantic interworking framework to be build around the platform, providing inter technology interworking and data sharing.
I hope I was usefull.
Enrico Scarrone,
Telecom Italia - TIM
ETSI SmartM2M Chairman,
oneM2M Steering Comittee Vice Chair

Processes implemented inside the DMS system?

Traditional categorization of processes is talking about integration, human centric and document centric processes, with the last one as a good candidate for placing inside the DMS system (of course, the prerequisite is that there is a built-in support for BPM).
But I was unable to find some concrete,more detailed explanation of the distinction between those options.
Imagine a company, that have Enterprise BPM solution , and also a DMS system with quite good support for BPM (i.e. Filenet DMS).
In both systems you can create user screens and workflows (process logic) as well.
Also, most processes working with documents are also quite "human-centric".
I am perfectly aware of the fact, that choosing the target platform always depends on the requirements and specific circumstances, but I wonder, if there are some general rules, or principles, based on which I can better decide where to put the process layer of the whole solution.
Additional clarification:
I don't want to implement any new platform. As I indicated a little bit in the previous post, we already have BPM platform (Oracle) and DMS as well (Filenet with BPM support - Case Foundation). So the question is not about choosing the new platform...but more about setting the rules for using the existing products/platforms. There are a lot new projects in the queue...and for some of them (that are touching the area of working with documents) we need to decide the target platform/s. For example, when you have a simple process with a few steps, and in all steps there is some work with an existing document (the document - or at least his original version, is also input to this process), the requirements on the front-end are not very complicated etc...it would simpler to build the whole solution in the Filenet platform( mostly because of the cost). But I am wondering if there are some similar rules....Like you should think about that or that... when you want use only the DMS platform...or both platforms etc. You can call these rules the principles for development, references architectures or something like that....that is guiding you when designing the target architecture/s.
Thank you
I'm reposting the answer because I don't see a reason for deletion (by #Bohemian).
I think it adds value to anyone asking the same question. #Bohemian could have at least specified why he deleted the post.
Here it goes:
You gave us rather small amount of information. And what exactly is
the question? What do you mean by "where to put the process layer"?
You shouldn't constrain yourself to only those DM systems that claim
to have BPM built-in. That's marketing speak behind which often lay
two half-baked products. You should instead question which
standards-based integration points the system has, so you can
integrate effortlessly. And then invest in best-of-breed DM and best
BPM separately. All-in-one solutions are often too closed, difficult
to extend and above all, they bring free vendor-lock-in with them.
What are your business requirements, i.e. what do you have to do?
Implement BPM inside organization that already has DM or not? Do you
have some BPM platform already? Do you have any
constraints/requirements when choosing either of those (vendor,
technology foundation, Gartner quadrant...)?
What are the options you're considering for DM and which options are
you evaluating (if any) as a BPM platform? Have you already settled on
IBM or you can go elsewhere? Is open source an option?
What is your role/responsibility in this project?
EDIT - after the author's clarifications:
I have not worked with Oracle's BPM, but I can tell you that, although Case Foundation is more suited to Case Management, you can develop a complete Process Management solution with it (workflows, tasks, roles, deadlines, in-baskets, etc.).
If you go that path and later come across the business need to allow business users to define their own case templates, take a look at IBM Case Manager, as it builds on top of Case Foundation, but also brings additional WebUI features (built on IBM Content Navigator), suitable for business users (although, more often than not, it turns out the IT does that job).
A few IBM redbooks about Case & Content management that might help you make an informed decision:
Introducing IBM FileNet Business Process Manager - this is the former name for Case Foundation - the same product, new version.
Advanced Case Management with IBM Case Manager
Customizing and Extending IBM Content Navigator - you'll need this one for customizations, if you decide to go with CF (instead of Oracle).
Building IBM Enterprise Content Management Solutions From End to End - from ingestion to case/process management (contains Case Manager).
I agree with #Robert regarding integration, after all, before version 5.2 FileNet Content Platform Engine was FN Content Engine + FN Process Engine.
The word of advice I can give you is to first document all features that business requires from BPM. Then do a due diligence on both products, noting down which of those features each of those products supports. Then the answer, if not laid out in front of you, will at least be much easier.
You also have to take into account that IBM is oriented towards IBM BPM (former Lombardi) when process management is concerned. Former FN BPM is now more pushed into Case Management (but those two are very similar paradigms).
You should definitely post back about your experience, whichever option you choose.
Good "luck" :)

where does specification by example complement/replace traditional requirements documentation?

I'm trying to understand where SBE's complement or replaces traditional requirements documentation. The diagram levels of requirements shows three levels of traditional software requirements.
Which of the items below (from the diagram) does SBE replace and which ones does it complement:
Vision and Scope Document
Business Requirements
Use Case Document
User Requirements
Business Rules
Software Requirements Specification
System Requirements
Functional Requirements
Quality Attributes
External Interfaces
Constraints
My naive understanding of SBE's would say that the SBE's are just an alternative form of the Software Requirements Specification. Is this correct?
BDD and SBE are normally used by Agile teams, who don't focus as much on documentation as traditional software development teams do.
BDD is the art of using examples in conversation to illustrate behaviour. SBE then uses the examples as a way of specifying the behaviour that you decide to address (I always think of it as a subset of BDD, since talking through examples often ends up to eliminating scope, discovering uncertainty or finding different options, none of which end up as specifications).
There are a couple of things that are hard to do with BDD. One of them is anything which isn't discrete in nature, or which needs to always be true throughout the lifetime of the system - non-functionals, quality attributes, constraints, etc. It's hard to talk through examples of these. These continuous aspects of requirements lend themselves better to monitoring, and that's discrete, so BDD can even be used to help manage these.
Since an initial vision is usually created to help the company make money, save money, or protect existing revenue (stopping customers going elsewhere, for instance), you can even come up with examples of how the project will do this. In fact, if you can't, the project is likely to fail anyway. So BDD / SBE can also be used to help complement an initial vision and scope.
Therefore, BDD / SBE can complement all of these documents, and in Agile teams, the documents themselves are usually replaced by conversations about the requirements and rules (illustrated by examples), story cards to represent placeholders for those conversations, and perhaps some lightweight capture of those conversations on a Wiki.
It is unlikely that any Agile team captures all of their examples up-front, as this leads to excessive investment in the requirements and tends to turn it into a traditional Waterfall /SDLC project instead.
This blog post I wrote about BDD in the Large may also be of interest.

Linking business model with technical model

We use ARIS Business Architect for modelling business process and Sparx Enterprise Architect for technical models like sequence diagrams, component diagrams etc. Is there a way to link the technical models designed using EA from ARIS business process, so that it would be easy to trace the business function end to end.
I believe Aris has the ability export their models in XMI format - which means you should be able to import them (to some degree, into Enterprise Architect). Keeping in mind that there is no one true flavor of XMI that crosses between all tools, so it might get you close.
Failing that Enterprise Architect is able to store hyperlinks in its diagrams / repositories to launch other files from, so you could use Enterprise Architects traceability capability from the technical models up to a reference to the business processes which then link out to Aris at the click of a button.
I understand this is an older question, but hopefully it helps none the less.

Tools for modeling Erlang systems

For modeling OO systems a common tool is the class diagram. In Erlang the focus is on processes rather than classes. What tools do you use for modeling Erlang systems and the interactions between processes?
I have been "trying" a bit to sell bigraphs as a model tool. A bigraph is defined to be:
A hypergraph called the link graph. It has a vertices processes and as hyperedges communication between these. In a hypergraph an edge can go between any amount of processes, not only two. In effect the graph maps the communication channels or the communication routes in the program. "Who is talking with whom". Example:
A tree with the same vertices called the location graph. This forms the supervisor-hierarchy which the processes sit in. In other words it maps the responsibility of each process. The further down in the tree it is, the more volatile it is. A process near the root is usually the ones that sit with state and have to be protected. Example:
I do hope this will give you a way to visualize and process Erlang programs. If anything is unclear, feel free to prod me.
Sequence diagrams can be a good tool for visualising processes and the flow of messages and control between them. I seem to remember that they actually existed before UML.
SDL for FSM modeling (OTP) - although the code is also just as easy to read.
Bi-graph for the supervisor tree
MSCs for message sequences between processes and/or applications
Just recently discovered this, even though it was mentioned in 2011 on Erlang mailing list.
Fundamental Modeling Concepts (FMC):
http://fmc-modeling.org/
It is meant to model software systems, and seems to be at exactly the right level of abstraction. The whole notation is encompassed in just three different diagram types. Look at this beautiful notation (petri-net diagram type):
They also provide a nice presentation comparing FMC to UML here.

Resources