My "todo" List

I am planning to write some blogs at somepoint of time in the future on the following topics:

Spring Framework, Hibernate, ADO.NET Entity Framework, WPF, SharePoint, WCF, Whats new in Jave EE6, Whats new in Oracle 11G, TFS, FileNet, OnBase, Lombardi BPMS, Microsoft Solution Framework (MSF), Agile development, RUP ..................... the list goes on


I am currently working on writing the following blog

Rational Unified Process (RUP) and Rational Method Composer (RMC)

Saturday, May 5, 2012

ECMS systems, IS systems, BPMS systems and BRMS systems


Enterprise Content Management System (ECMS), Imaging System (IS), Business Process Management System (BPMS) and Business Rule Management System (BRMS)


So what really are they and how do we decide which one we really need. I am using this blog as an attempt to help folks by sharing my professional experience so they can decide which way they want to go. I will then in a couple of follow up blog(s) speak about some of the products I have used in my projects in the past (IBM - FileNet, Hyland – OnBase, Microsoft SharePoint - MOSS, IBM Lombardi (now IBM Business Process Manager), Oracle BPEL Manager (now Oracle BPM Suite), IBM ILOG, JBoss Drools etc.) I will dedicate separate blogs for each of these Commercial off the Shelf Products (COTS), as these products need their separate spot lights and I will be more “tech-ish” about it in those blogs (if that really is a word)
In Short, this blog is focusing on business audience with limited technical jargons, no promises. So let’s begin with the a few things that will help you


Basic Guidelines, Misconceptions for Business users
  • Do not get bogged down by technical acronyms and jargons
  • If you as a business user feel that these systems will do the work for you with a wave of a magic wand then just remember one acronym (ERP). Confused, the systems will help you get there half way you still need to walk the rest of the journey
  • Do not be under the misconception that technical staff all of a sudden will not be needed (Trust me on this one).
  • Do not assume that these systems will completely eliminate any expensive custom coding or need of technical staff.
  • Do you want to custom code a solution or use a Commercial off the Shelf Products (COTS), do your “make-versus-buy” decision before you go either route.
  • Do some feasibility study and possibly some Proof of Concept (POC); I strongly recommend POC.
  • Custom coding with disciplined engineering can give you what you want; Commercial off the Shelf Products (COTS) can give you a jump start. I can make an argument for either approach, it all depends on your requirements and what you want, hence do some feasibility study and possibly some Proof of Concept (POC).
  • Take baby steps when using these systems in your organization; Incremental modernization. Start with Pilot projects first instead of big bang unless you already know what you are doing. These products will definitely change your existing business processes and business practices mostly for the better
  • These products are means for improving your business practices/processes; you do not have to be enslaved to them. Paper and Pencil still work for many companies. If you do not intent to use them and you do not acknowledge that business practices/processes need iterative process management, monitoring and control, then do not buy them.
  • Define some Key Performance Indicators (KPI) and yes use metrics that make sense to the business community not some techies like me. We can help you get to the Well but you have to drink the water.
  • The KPI will help you define the Return on Investment (ROI). If you don’t know what you want and how to measure it then just go and burn some cash at least that will keep you warm in winter or donate it to me I can make the money disappear for you.

I already scared you with a lot of don’t but really it’s not that bad, follow some simple rules to get the best bang for your buck


  • Whenever you buy any Commercial off the Shelf Products (COTS) remember to use as many features as the product provides out of the box
  • Try to adapt your business processes around the COTS products, whenever you want to change anything that the products do not provide out of the box, you end up with custom codes. This does not mean that these products do not provide some customization; the mantra is Configuration and not Customization. The more you steer away from Configuration that these products provide to tweak their components and go towards customization the more technical staff you need.  
  • This does not mean that you have to accept any change the product is forcing you to do for your business as far as existing business processes/practices is concerned. But if the product is providing something that you can adapt your business processes/practices to; then do that as it will save you money in the long run. If you cannot do that then you are better off going the custom coding route minus these products. I am not implying one approach is better than the other but just merely suggesting that you do your homework.
  • Most of the time in these products, the custom code ends up surfacing in following areas
o   User Interfaces (UI)
o   Integration with existing systems from where you need to pull or push data to.
o   These products do provide you with some configuration tools but you will need some good Graphic and HTML designers to make your User Interfaces look pretty. With regards to integration with other system, think about how tight an integration you want with the other systems, do you need transactions (in short your business data) to flow in real-time, near real-time, overnight. These decisions will impact what middleware you end up with. It can be as simple as a file transfer to as complex as using an Enterprise Service Bus (ESB). You pick. My 20 cents – check to see if your business needs are really real-time and if not try the old school route of file transfer (secured ftp, of course).


This is how I see the four systems in use.


Enterprise Content Management System (ECMS)


ECMS systems primarily focus on managing the content for your organizations and provide workflows and portals that facilitate Content management and collaboration. Content could be anything ranging from Word documents, Excel sheets, Forms, Images, Business Data etc.
Most of the ECMS COTS products provide you with basic workflows, website portals for collaboration, document sharing, wiki etc.
Microsoft SharePoint is an example of ECMS COTS product. I will speak about this product in a separate blog and provide insight into its features, its configuration capabilities as well as what you get out of the box.  Microsoft Office SharePoint (MOSS) provides lots of out-of-the-box templates that help you jump start.
There are SharePoint templates that software firms sell which you can purchase instead of custom coding the templates on your own using C#, VB.NET (basically any programing language provided with Visual Studio.NET), again make sure you have taken your make-versus-buy decision, and you know where I stand on this decision, “everywhere”. Seriously one shoe does not fit all.
Basic features provided by ECMS systems include (but is not limited to)


  • Content management User Interface
  • Content storing with attributes tied to the content; these attributes can then be used to retrieve the content or channel workflow decisions/paths
  • Workflows to manage content
  • Dashboard and web portals to present users with various statistical information
  • Security based on authentication/authorization models
  • Standard templates for various business needs
  • Integration with Microsoft Office Suites or OpenOffice (although SharePoint prefers Microsoft Office; I am shocked)
  • Reports
  • Adapters to connect to other systems
  • API (Application programming Interface)

Imaging System (IS)

I basically consider Imaging Systems to be a sub-set of ECMS system. In my mind The  Content – the letter “C” in ECMS acronym can be an “image”. Yes there is more to this simple interpretation of mine when it comes to images but isn’t it all revolving around “Content” (in this case “image”) Management. I have used Hyland OnBase and IBM FileNet for Imaging and I am going to dedicate separate blog for the two Imaging COT products. Some of the basic features provided by IS systems include (but is not limited to)


  • Image Management User Interface
  • Image manipulation with features like
    • Annotation
    • Redactions
    • OCR
    • Bar coding
    • There are many other nice features but you got the point
  • Image storing with attributes tied to the image; these attributes can then be used to retrieve the content or channel workflow decisions/paths
  • Full text Search of images that are OCR
  • Workflows
  • Security
  • Reports
  • Adapters to connect to other systems
  • API (Application programming Interface)

If you look at the list I have here versus the list I have for ECMS there are many overlaps, it’s just that Imaging systems are tailored for managing Images as their primary “content” versus the ECMS system which deals with “any” content in general.  Because Imaging systems primarily manage “images”, Image manipulation related features are best provided by Imaging Systems versus ECMS systems which are tailored for a generic Content management (not just Images).

Business Process Management System (BPMS)

These systems primarily provide you with tool-sets that allow you to model your business processes (existing or proposed ones), perform simulations to identify potential bottlenecks and then finally do the plumbing by modeling System processes(services). Basically BPMS allows you to do process improvement. I have used IBM Lombardi (now IBM Business Process Manager), Oracle BPEL Manager (now Oracle BPM Suite) and plan to dedicate separate blogs for these products. The real difference between BPMS systems and “ECMS”/”IS” systems is that BPMS systems provide you components and tool-sets that allow you to model the business processes and then define system processes(services) all in one integrated environment (IDE). The idea is business analyst/Functional Subject Matter Expert (SME) create the business process models using the same integrated environment and then developers take that business process model to create system processes/services under the business process models using the same integrated environment (IDE). Since both roles work from the same integrated environment (IDE) and do not pass word documents that define the functional/technical design, there is no Lost In Translation (or at least that’s the goal). Some of the basic features provided by BPMS systems include (but is not limited to)

  • Dashboards
  • BAM - Business Activity Monitoring
  • Simulation capabilities for identifying potential bottlenecks within business processes.
  • Security
  • Of course workflows
  • Business workflows
  • System workflows
  • Reports
  • Adapters to connect to other systems
  • API (Application programming Interface)
So the million dollar question is? When do we need BPMS versus the other systems (ECMS/IS) when those systems also have workflows? I am going to introduce two new terms

  • Document Centric workflows – use a ECMS/IS system
The workflow engine is typically tailored around the content that is managed by the ECMS/IS system
  • Process Centric workflows – use BPMS system
The workflow engine provides you with better capabilities to model business workflows and then system workflows and is definitely much more flexible that the ECMS/IS systems as the primary function of BPMS system is business process improvement and hence its tool-sets and features are not Content/Document centric unlike ECMS/IS systems

 
In the BPMS world there are some open standards which hopefully proprietary BPMS product companies will adhere to

  • BPMN - Business Process Modeling Notation a standard that helps business community model business processes in a consistent graphical notation that is well understood by any COTS product
  • BPEL - Business Process Execution Language (BPEL) a standard executable language for specifying system actions within business processes. If propriety COTS product can execute BPEL then we can achieve cross product integration.
Just remember my 20 cents, if the proprietary BPMS system is not fully compliant but you as a business community do not care then its fine. Who cares what the engine really does right?
But do make your decision based on document centric versus business centric workflows when you decide to go ECMS/IS route versus BPMS route.

Business Rules Management Systems (BRMS)

Well this is really the odd apple in this bunch as it really can be used in conjunction with the other three. The idea with BRMS systems is that they abstract out the business rules into a business friendly User Interface (UI) so the business community can define the rules and everything is peachy. Seriously, BRMS provides tool-sets that allow business users to define rules and then let the technical folks do the plumbing all of this from the same integrated environment. So in that sense they work just like the BPMS system it’s just that in BRMS system, the primary focus to define, design, built and manage are “Rules” and not “Processes”. I have used IBM ILOG, JBoss Drools and plan to dedicate separate blogs for these products.




The above diagram provides a simple cheat sheet for the business community to use while deciding what systems they really need to address their business needs. Again this is an over simplified cheat sheet; since there are COTS products that provide hybrid features and in fact all of the above mentioned systems are provided as a collective suite by each major vendor in this space.  And when you are faced with a COTS product that provides hybrid sets of features I suggest do some feasibility study and also Proof of Concept (POC) before you pick one (do not be cheap spend some money to do feasibility study and POC as these products may make your business grow efficiently or they may end up being a maintenance nightmare)


Summary

My attempt in this blog is to help you understand the 10,000 feet view of the four systems; what they provide and how they can improve your business efficiency so you can focus on changing business needs by utilizing these systems. In this blog, I tried to steer as far as possible from technical jargons and also did not provide any detailed listing of features each system provide because quite frankly you can just request a Pamphlet, PowerPoint slide from sales representative of any product company (and I mean it when I say “any”) to really understand what these systems provide at a 10,000 feet level.
All the COTS products in this space say the same buzz words; the proof of the pudding is in the eating; I suggest look at Gartner’s report for vendors in this space and then pick the top 5; that’s what I do when I go to BestBuy to buy any new fancy gadgets; instead of Gartner I just look at the Consumer reports or CNET for my research.

3 comments:

  1. Thank you for your article it's looks good and providing some valuable information by lombardi bpm

    ReplyDelete
  2. Thanks for sharing your info. I really appreciate your efforts and I will be waiting for your further write.Devops Training
    Build Release Training
    Hybris Training
    Websphere Commerce Server Training

    ReplyDelete
  3. Thanks for sharing your info. I really appreciate your efforts and I will be waiting for your further write TSM Training

    ReplyDelete