I have been working with our Research and BPM Incubation teams on getting some of our BPM functions hosted on the Web. One reason for doing this is to make it simpler for customers to get into BPM without a huge investment. A key enabling technology that makes this possible is RESTful SOA. Jerry Cuomo talked about this extensively in his blog and interview with InfoQ and provided a very good direction on where we are going.
Today you can get pretty useful content from services outside the Enterprise such as getting the RSS feeds for stock or commodity price, traffic or weather. You can assemble them into interesting applications using Mashup tools. Serena calls these applications Consumer mashups and Data mashups. Now think about how you can also unleash some of your Enterprise SOA assets to the Web and allow the business users to compose their business applications. New interesting applications can then emerge from services that are available from both inside and outside the Enterprise.
To help you unleash some of your Enterprise SOA assets, Mihnea Galeteanu and Eugene Kharlamov wrote an article to show how to enable your SCA components to export HTTP bindings so that they can be callable via REST. Through the use of HTTP Data Bindings, you can now serialize and deserialize a business object to and from the HTTP body. This is a very neat capability because it can enable your AJAX client to pass JSON to a business object that is used by any SCA component such as BPEL and Business Rules.
If you are using WebSphere Business Monitor for your BAM solution, you can also use REST to get to your BAM data. WebSphere Business Monitor exposes its metadata such as the list of deployed monitor models, their KPIs, and the monitored metrics via a set of REST Services. Through these URIs, you can use other clients such as an Excel spreadsheet or a Google widget to get access to your BAM data and use them in the context of your business applications.
Last but not least, the WebSphere MQ team has also created the WebSphere MQ Bridge for HTTP that allows a client application to exchange messages with WebSphere MQ from any platform or language without the need for a WebSphere MQ client. This enables business users to access WebSphere MQ with no MQ skills. They can simply use a Web application or write a script to post a message to MQ to trigger an enterprise level application or event.
As we go forward in 2008, you will be able to access more and more of our BPM platform via REST. The WebSphere Process Server, WebSphere Business Services Fabric, FileNet, and Project Zero teams are all working on exposing RESTful interfaces. Make a wishlist for the business applications that you want your LOB to assemble themselves without IT involvement, share it with us. If we understand your popular scenarios, they may actually come true...[Read More]
There is a new course on BPM 6.1 using WebSphere Business Modeler, WebSphere Integration Developer, WebSphere Process Server and WebSphere Business Monitor. The instructors for this course are the IBM Redbook Authors and subject matter experts. These workshops are targeted to IT Architects, Specialists, Developers, and Operations Professionals.
Interestingly enough, they are offering this first in Toronto. Could it be because spring is really beautiful here?
I was chatting with a few customers that have both WebSphere Process Server and FileNet P8. A very interesting discussion emerged with the enterprise architects - they all want to know how to decide which product to use for which BPM initiative. I said it depends very much on your scenarios. Each product has strengths in addressing certain scenarios:WPS Scenarios
If the project you are planning has some of these characteristics, WPS will be a good starting point:
- Transactional processes that interconnect with the enterprise applications, are short lived, and may not require human interaction. Sometimes this is referred to as straight through processing. This is a simple usage pattern of WPS where a process invokes multiple services and coordinates the actions under the same transaction.
- System to system integration that needs connection to many backend services (e.g. Siebel, SAP and PeopleSoft) through built-in invocation capabilities such as WebSphere Adapters. You need to connect to these major systems and applications through a variety of interfaces that can be Web services based, Java based, using JCA, or use messaging as the transport mechanism.
- Your application needs to ensure a high degree of interoperability with other systems using Web services standards, for example a B2B application. You might require the use of some ESB to do mediations (e.g. accessing SOAP headers or doing transformations). These application patterns are especially common if you are using Industry Schemas such as Accord, OAGI, SWIFT, HL7 etc.
- You need a high-performance business-process engine that can run critical business processes securely, with transactional integrity. You require built-in support for two-phase commit, recovery, error handling.
- Your BPM application needs to transform many existing IT assets into flexible and reusable "services" - functions that can be easily mixed and matched to quickly address evolving business process requirements. For example, you might want to assemble from CICS platform and integrate them seamlessly with Web services that allow you to show quick time to value when you deploy your new BPM application.
If the project you are planning has some of these characteristics, IBM FileNet will be a good starting point:
- Content centric processes that are highly collaborative and require users to make decisions based on documents, images, or other type of content during the processes. Typically, content is unstructured information ranging from simple e-mails, pictures, documents, instant messages to complex forms, contracts, and reports. Content can include any file format such as scanned images, electronic documents and rich media.
- You application needs to use a lot of active content to trigger or affect business processes. For example, content received via fax, e-mail, or Web can trigger a process. Additions and changes to content, such as new document creation, can trigger a new process to act on the content. Active content includes the delivery of information in a way that is more unified, accurate, and contextual to the business processes.
- You need to manage records for compliance with no user involvement. You want to reduce the risk of litigation and provide business continuity by enforcing corporate compliance procedures, storing only records that are required, only for as long as they are required, and ensuring that expired records are destroyed in a legally acceptable manner.
- You want to manage the lifecycle of the content as states of a process. For example, a security procedure document on a highly secure installation may require updates, reviews, and approvals every five years. In this case, the document has several states, active, in review, in approval, etc. The document itself is considered the process, and it may launch processes at each state transition.
For enterprise end-to-end long running business processes, I think many will need to involve both active content support provided by FileNet, and composite services support provided by WPS. In a recent proof of concept, an immigration office is adopting BPM to build their next generation immigration business processes. An instance of an immigration process is very much long running. An applicant files (e.g. tax forms, employment information, medical records) are typically submitted when the applicant applies for immigration, and the documents need to be securely stored. Different documents will need to be activated in context as the application goes through different steps in the immigration process. Different services will also need to be invoked to process the application, for example, credit and education background checks. Humans will need to be involved at various stages - to interview the applicant and to deal with any exceptions. Real-time visibility to such end-to-end process is also very important. For example, if an applicant calls in to ask for the status of their application, the immigration office can provide them with information as to what step they are at in their application process. If an application gets stuck in a certain step pending for more information, the immigration officer can get alerts and be able to take actions immediately to prevent backlog.
With the BPM 6.1 products, you can now build an end-to-end BPM solution using both WPS and FileNet much more seamlessly. You can use WebSphere Business Modeler 6.1 to model your end to end business processes that can be deployed on both WPS and FileNet. You can also use WebSphere Business Monitor 6.1 to monitor your complete business process. My team and I have developed a developerWork series to illustrate this end to end integration. Let us know what you think.[Read More]
Last year, we talked about the various entry points a customer can take to begin their BPM projects: Modeling & Simulation, Business Activity Monitoring (BAM), Process Execution and Optimization, Rules and Pre-built Frameworks, Content and Collaboration.
At Impact, a number of our customers such as USAA (Session 2344) and NYS (Session 2402) shared with us their experiences on using BAM as their on ramp to BPM. They are really fascinating stories on how BAM helped them understand and manage their workload better, provided more objective evaluation of their employees performance, gave reliable, timely reports to stakeholders, and allowed their business to plan future process improvement projects based on hard data.
So if you are wondering how you can do a little BAM? Here are 5 easy steps to follow:
- Instrument your application to emit Common Base Events and test the events emission. Determine what operations and attributes from your application you want to monitor.
- Create a Monitor Model using the WebSphere Business Monitor Development Toolkit. Add metrics, key performance indicators, and conditions that might trigger business actions. Start with simple and small number of key metrics (e.g. < 10) and increase complexity over time because new BAM users might not know what they need.
- Design your Monitor Dashboards. The dashboards is a good way to get early stakeholders feedback and generate excitement that can help ensure your organization adoption and buy in. Demonstrate them early.
- Integration and Testing. Before the production roll out of your new BAM solution - test, test and more test. You are almost there, but take your time on this final step. Here are some items to consider: Have you tuned your CEI server, your messaging engines and queues? Did you include the network configurations (e.g. proxies, firewalls) in your integration testing? What is your recovery strategy in the case of system failures - do you care about the loss of events? Does your system need to support load fluctuations on a periodic basis etc.
- Launch your project. Celebrate your success. Use some of the insights you derived from your BAM data and start planning your next BPM project.
It really is quite simple![Read More]
It seems like the question on overlaps in our portfolio keep coming up. But is some amount of overlap really such a bad thing? I mean, each technology that we have is really coming from a different angle, optimized for certain business scenarios and applications. For example, take WebSphere Process Server and FileNet P8, they are optimized to handle different kinds of business processes. Depending on your scenarios, you might want to choose WPS or you might want to choose FileNet. Maybe you even need to use both.
If you take a step back, choosing what technology to use perhaps is not so different from choosing your favorite toy - e.g. your car, your house, what entertainment system to buy or even your running shoes. I buy a new tennis racquet every couple years. I am always looking for the next new technology that can give me that extra competitive edge best suited to my ability at the time. Having lots of choices is actually a very good thing. The real question is how do you choose based on your requirements (e.g. more control, more power, bigger sweet spot)? And can you draw on others experience if you are uncertain how to choose (e.g. your friends, your heros or even your competitors)?
I plan to use the next few blogs to discuss different scenarios that will motivate using different starting points for BPM. I will also share some of our engagement experiences on how different companies have adopted BPM and making those right choices for their business needs.[Read More]
Are you one of those early practitioners that have deployed WebSphere Process Server with WebSphere Portal to implement a BPM solution that requires human involvement in a business process? Did you recall how hard it is to configure such a deployment? You need to understand all the parts (e.g. Business Process and Human Task Container, WMM Staff Plugins, LDAP, Portal and Process Server cell setup etc), how they interrelate, obtain each product followed by their requisite fix packs, install the products and then the fixes in the proper sequence. You can easily spend over 100 hours researching and experimenting before you can get your systems setup properly.
Can you imagine that we now have a new SOA Configuration Solution that can create a working Process Portal in under two hours in 5 simple steps:
- Plug hard drive into a laptop or a workstation. The SOA Deployer image contains everything needed to deploy a working Process Portal.
- Mount the hard drive and start the SOA Deployer image.
- Access the Web UI using a browser and answer deployment questionnaire. There are 16 questions and between 29 to 68 parameters requiring input, with many of the entry fields containing meaningful default values.
- Relax while images are deployed.
- Wait for confirmation that the images are activated as specified.
That is all. This new pattern based deployment has emerged from extensive experience gathered from many of our customer implementations. Give it a try. I am sure you find this a huge consumability improvement.[Read More]
At Impact 2008, IBM made a number of cool announcements around BPM. I also attended a number of sessions where customers spoke about their very interesting journeys towards BPM - from valuable lessons learned with unexpected (pleasant) surprises, to ROI quick wins and new insights on how to roll out their next BPM project. Craig Hayman also commented on how BPM is a bit like the early days of the application server where everyone is asking what BPM means.
Bruce Silver, a well-known analyst on BPM started blogging about our BPM story and how we need to tell our story better. He is absolutely right. We have done a lot in the BPM space in the last few years. There are a lot of BPM capabilities across the IBM Software Group portfolio, and our world-wide development teams have worked really hard to integrate many products to produce a truly integrated and compelling platform. The IBM BPM Suite that was announced at Impact is a testament to the establishment of BPM as an integrated suite in our software group portfolio.
I plan to use this blog to delve into a range of BPM-related subjects. We invite you to speak out on BPM through comments in the blog - from where your organization stands on BPM adoption, to your challenges and experiences. By tapping into the Wisdom of Crowds, we can all learn from each other and explore new ways to align your business with IT that can deliver immediate value to your company.