Monday, December 3, 2007

SOA MAKES BPM AGILE

SOA MAKES BPM AGILE


BPM traditionally has been separate from composite applications and the concept of service orchestration because it has traditionally been a modeling or design-time application. But runtime process modeling and management necessarily means management of composite services, which means that process-driven SOA tools will necessarily support composite applications that are either an orchestration or choreography of services.

The integration technology must loosely couple the applications and resources that make up the process, otherwise the logic of a process will get hard-coded into a particular technology platform, which may be expensive to change and therefore defeat the entire purpose of BPM. This is where standards-based service oriented architecture (SOA) comes in. An SOA provides the technical ability to create that process independence. SOA standards, such as Web Services, make information resources and task automation applications available yet loosely integrated for process designers to use and reuse at will. Thus processes modeled with BPM tools can be rapidly implemented in production via SOA infrastructure.

Together BPM and SOA facilitate the next phase of business process evolution from merely “automated” to “managed flexibility.” Thus business automation will no longer be about hard-coding a function to be repeated infinitely. Automation will be about creating services reusable in many different ways in multiple processes that can be continuously improved. This helps allow enterprises to achieve dramatic improvements in market capture, cost effectiveness and profitability.

Saturday, December 1, 2007

Performance Parameters for BPM Tools

Organizations are using BPM tools as a comprehensive solution to model, monitor, simulate and redesign processes for competitive improvement. The BPM tools in order to be truly effective should have adequate scalability as well as reliability to match the organization needs.
Importance of Performance Parameters
Any organization selecting any BPM tools will have their own set of requirements in terms of
· Capacity of the system to handle the number of users
· The response time required from the system
· Scalability of system

Reliability of system
The success of any BPM tools depends on satisfying the above set of requirements no matter how good the tool is? The reason behind this is in real life scenario any implemented software solution is benefitting any organization if it is able to handle the expected user load , the response time is good ,able to handle future volumes of load and is reliable. In a typical case if any software fails under any of the above criteria it will lead to more organization hassles rather than solving problems.

Performance Testing
Performance tests are usually described as belonging to one of the following three categories:
Performance testing. This type of testing determines or validates the speed, scalability, and/or stability characteristics of the system or application under test. Performance is concerned with achieving response times, throughput, and resource-utilization levels that meet the performance objectives for the project or product. In this guide, performance testing represents the superset of all of the other subcategories of performance-related testing.

Load testing
This subcategory of performance testing is focused on determining or validating performance characteristics of the system or application under test when subjected to workloads and load volumes anticipated during production operations.

Stress testing
This subcategory of performance testing is focused on determining or validating performance characteristics of the system or application under test when subjected to conditions beyond those anticipated during production operations. Stress tests may also include tests focused on determining or validating performance characteristics of the system or application under test when subjected to other stressful conditions, such as limited memory, insufficient disk space, or server failure. These tests are designed to determine under what conditions an application will fail, how it will fail, and what indicators can be monitored to warn of an impending failure.

BPM Enabling Six Sigma Methodology

BPM Enabling Six Sigma Methodology

The market scenarios are changing rapidly and organizations have to be agile enough to adjust to the changing marketing trends. The two key areas which are the pillars of organization are the processes and the quality of products coming out of processes.BPM drives the process whereas Six Sigma helps in analyzing the process quality.
Six Sigma is a road of continuous quality improvement which involves following steps
· Define: The problem is defined in this stage .This involves modeling of process and knowledge management
· Measure: The data related to process is collected at this stage
· Analyze : The various report from the data are generated and the bottlenecks are identified
· Improve: The processes improvement plan is laid down and the processes are reengineered for better results.
· Control: The processes are continuously monitored for better results
On taking a close look we will realize that Six Sigma is guiding principle only and the implementation needs an active collaboration between IT and Management to implement all these stages. The data collection ,management, analysis and monitoring projects a need to have a methodology encompassing all these as well as integrating the management and IT to achieve this.
BPM is the answer to the problems of Six Sigma requirements offering perfect synergy between Management and IT for entire Six Sigma Guiding principles.BPM involves define the process and business rules ,modeling the process, stimulating the process ,monitoring the process and analyzing the report. Taking a closer look we find

Windows Workflow Foundation and Work flow

Windows Workflow Foundation and Work Flow


Windows workflow foundation provides a set of .NET classes and services for highly skilled developers enabling elementary workflow capability. It was targeted for developers and does not cater to needs of business analyst. WF is intended to be used for any kind of workflow-based application. It provides a workflow engine, a standard set of activities for defining workflows, and a graphical designer to help developers create workflows and their own custom activities. Windows Workflow Foundation comes with a set of general purpose activities for defining workflows. This base activity library provides the ability to define control flows using familiar constructs such as IF/ELSE and WHILE loops. It also includes a rules engine, support for communicating with other software using web services, and more. Windows Workflow Foundation also provides functionality to create the custom activities focused on a particular problem space. The workflows in the custom activities can be combined with those in the base activity library to create workflows. The creators of custom activities are also free to completely ignore Windows Workflow Foundation's base activity library—there's no requirement to build on top of them. Windows Workflow Foundation workflows can be written directly in code. Workflows can also be defined graphically, with code added where required. To make this possible, Windows Workflow Foundation provides the Workflow Designer, a tool that allows developers to create and modify workflows. The Workflow Designer can also be hosted in, and customized for, other environments. An ISV that wishes to include workflow within its own offering might host this tool directly inside that product, giving it whatever look and feel is appropriate. Similarly, an organization that wished to provide a way for information workers to create and modify workflows could host the Workflow Designer within a more business-friendly environment than Visual Studio. ISVs are also free to create other graphical design tools for working with Windows Workflow Foundation workflows—using the Workflow Designer isn't required

What Windows Workflow Foundation does not provides?

Just as important is what WF does not provide: direct support for human workflow, such as task lists or forms creation, or direct support for system workflow, such as adapters and data transformation. WF is solely focused on defining and executing the workflow logic itself, and it’s meant to be useful for both human and system workflow. It’s also important to note that WF provides no host process for workflows, leaving this up to the application developer. WF offers no built-in support for fault tolerance, management, deployment, or other useful aspects of an enterprise application. As its name suggests, this technology is focused on just one thing: workflow