Find answers to frequently asked questions about Microsoft vision and technologies for Service Oriented Architecture (SOA) and Business Process Management (BPM).
Q: What is Service Orientation?
Service orientation is a means for integrating across diverse systems. Each IT resource, whether an application, system or trading partner, can be described and accessed as a service. These capabilities are available through service interfaces.
Service orientation uses standards based protocols and conventional interfaces—usually Web services—to facilitate access to business logic and information among diverse services. Specifically, SOA allows the underlying service capabilities and interfaces to be composed into processes. Each process is itself a service, one that now offers up a new, aggregated capability. Because each new process is exposed through a standardized interface, the underlying implementation of the individual service providers is free to change without impacting how the service is consumed.
Q: What is Service Oriented Architecture (SOA)?
SOA is a standards-based design approach to creating an integrated IT infrastructure capable of rapidly responding to changing business needs. SOA provides the principles and guidance to transform a company's existing array of heterogeneous, distributed, complex and inflexible IT resources into integrated, simplified and highly flexible resources that can be changed and composed to more directly support business goals.
Q: What business value does SOA provide?
SOA enables businesses to realize greater agility in their business practices, delivering value across both application and IT infrastructure layers. From an application perspective, SOA enables the development of a new generation of dynamic or composite applications. These applications enable end-users to access information and processes across functional boundaries, and to consume them in a number of convenient ways, including through Web, rich client and mobile presentation layers. From an infrastructure perspective, SOA enables IT to simplify application and system integration, to recombine and reuse application functionality and to organize development work into a unified and consistent design framework. The combined business value of the SOA approach helps to lower IT costs; provides better, more rapidly accessible business information, and enables the organization to identify and respond to workflow problems more efficiently.
Q: What business problems does SOA solve?
SOA enables businesses to develop a new generation of dynamic applications that address a number of top-level business concerns that are central to growth and competitiveness. SOA solutions promote:
Q: Will SOA enable alignment of business and IT?
SOA by itself is not sufficient to guarantee alignment of business and IT. In fact, many organizations that have attempted to roll out SOA infrastructure through a top-down approach have found that that by the time the infrastructure was delivered, it was out of sync with the needs of the business. In contrast, those customers that have driven successful alignment have started with a clear understanding of their business vision, have well-defined business initiatives and outcomes, and have chosen to incrementally deliver those "slices" of their SOA infrastructure that deliver upon these objectives. Microsoft has long advocated this approach—what we call our "real world" approach to leveraging service oriented architectures. This real world approach is focused on rapid time-to-value, and on delivering business results through iterative, incremental steps that are more closely aligned with changing business conditions. This helps enable a much tighter degree of alignment between business and IT.
No. SOA is not a product, but an architecture approach and set of patterns for implementing agile, loosely coupled dynamic applications.
There are numerous misconceptions about what SOA is—that it is a product that can be purchased (it is not; it is a design philosophy that informs how the solution should be built); that the goal is to build a SOA (it is not; SOA is a means to an end); or that SOA requires a complete technological and business process overhaul (it doesn't; SOA solutions should be incremental and built on current investments).
SOA is also often equated with Web services, and the terms used interchangeably. While it is true that SOA is made easier and more pervasive through the broad adoption of Web services–based standards and protocols, the two are distinct. SOA is an approach to designing systems—in effect, the architectural drawings or blueprint—that directs how IT resources will be integrated and which services will be exposed for use. In contrast, Web services is an implementation methodology that uses specific standards and language protocols to execute on a SOA solution.
Complex, distributed IT resources are a concern for businesses. Too frequently, the existing IT portfolio does not adequately meet specific business needs, is costly to manage and maintain and is inflexible in the face of business growth and change. The problem for IT departments is typically not insufficient functionality; rather, it is that critical business systems such as customer relationship management (CRM) and enterprise resource planning (ERP) operate in isolation from other critical business systems—despite the fact that business processes often span multiple applications.
To obtain an end-to-end view of a complex business process necessitates integration of information and process silos. In the past, this has been accomplished either though time-consuming manual interventions, or through hard-coded solutions that are difficult to maintain. The solution, however, is not to rip and replace systems or applications, nor to completely renovate them, but rather to find a way to leverage existing IT investments so that overall organizational goals are effectively supported.
Service orientation helps to accomplish these goals by making systems more responsive to business needs, simpler to develop, and easier to maintain and manage. Service orientation modularizes IT resources, creating loosely coupled business processes that integrate information across business systems. Implementing a solution architecture based upon service orientation helps organizations plan ahead for change, rather than responding reactively.
Strictly speaking, SOA is done by developers and solution architects. However, stakeholders in a service-oriented solution span a range of roles, and it is critical that their interests not only be taken into account but that they actively drive the design of the SOA solution.
Ultimately, the developers and solution architects are concerned with creating dynamic collaborative applications that meet the goals of the various stakeholders. The service orientation approach enables them to do so in a way that meets the needs of the organization as a whole.
Q: How long has Microsoft been using Service Orientation? What is the WS-* architecture?
A reflection of its commitment to developing the standards, guidance, tools and technologies needed for developing cross-platform integration solutions, Microsoft has been using service orientation across its products since 1999, when the Web services model was announced and a wave of innovation began that fundamentally changed the application architecture landscape. Beginning with version 1.0 of the .NET Framework, the Microsoft investments in tools, together with platform support for Web services, have helped make Service Orientation mainstream and practical.
Working with other vendors such as IBM and BEA, we invested in authoring a set of specifications referred to collectively as the WS-* architecture. Shortly thereafter, in order to promote interoperability across platforms, operating systems and programming languages, Microsoft worked with IBM to develop the Web Services Interoperability Organization (WS-I). Since it was created, WS-I has grown to roughly 150 member companies and has created Web services that address areas such as interoperability, security and the reliability of messaging.
Q: What is the Microsoft SOA solution approach?
Microsoft SOA solutions help organizations access existing IT resources, assemble them into larger business processes, and make the outputs available to users in order to run their organization more effectively. This "real world" approach lets organizations begin with a focused understanding of the business problem and realize rapid success.
From a more technical standpoint, the Microsoft approach can be summarized as a three-step approach: expose, compose and consume.
1. In the expose phase, existing IT resources (such as legacy systems and line of business applications) are made available as services which can be communicated with through standardized messaging formats. The most common suite of implementation technologies is the standards-based Web services. For existing technology assets that cannot natively speak Web service protocols, interoperability is attained through the use of adapters. As the developer moves forward in deliberations about which services to expose, such decisions must be driven by clearly defined and prioritized business needs.
2. Once individual services are exposed, they must be pulled together or composed into larger business processes or workflows. The goal of the compose phase is to enable greater business flexibility and agility by allowing processes to be added or changed without being constrained by the underlying IT systems and applications.
3. In the final step of constructing an SOA solution, the dynamic (or composite) applications that consume the underlying services and processes are developed. These applications—based on Web technologies (such as portals or AJAX), rich clients, Office business applications, or mobile devices—are what drive the productivity of the end-user.
It is important to recognize that all three steps are essential parts of every incremental SOA project. Without all three elements—including the delivery of the dynamic application—the business will not realize any return on the investment.
Q: Will an SOA solution require a complete overhaul of technologies and business processes?
No. The most effective approach to SOA is to build on existing investments, including legacy applications, and to take an incremental approach to integrating across diverse systems to provide specific business benefits. And because the underlying applications are accessed through an interface, the IT assets are insulated from direct change.
Q: Isn't implementing an SOA solution a costly and complex proposition?
While some SOA-based solutions require a multiplicity of products to implement, increasing cost and complexity, Microsoft solutions are greatly simplified since core service orientation capabilities are built right into the Windows platform as part of the .NET framework. These core capabilities are complemented with an integrated set of development and management tools, as well as server-based solutions for composing and integrating dynamic, composite applications.
Q: Is SOA technology only for large Fortune 1000 enterprises?
No. The Microsoft "real world" SOA approach has been successfully adopted by organizations with very modest IT resources, since it can readily scale down to fit within their existing IT capabilities. At the same time, the Microsoft approach to SOA scales to the largest of global enterprises, supporting mission-critical processes for hundreds of thousands of employees worldwide.
Q: How do I get started with an SOA solution?
The goal of the SOA approach is to deliver a business solution that enables business agility, not to build a SOA. Reuse of services is often stated as a goal of SOA, and while it is true that reuse can be a good by-product of SOA, it is not the end goal itself. The first step in any SOA implementation, therefore, is to identify key business integration challenges or priorities. Development efforts, implemented along principles of SOA, are chosen such that they: 1) best meet the stated business needs, 2) offer the fastest time to value, and 3) best support long-term growth of the business.
Q: What are common SOA pitfalls?
One of the most common pitfalls is to view SOA as an end, rather than a means to an end. Developers who focus on building an SOA solution rather than solving a specific business problem are more likely to create complex, unmanageable and unnecessary interconnections between IT resources.
Another common pitfall is to try to solve multiple problems at once, rather than solving small pieces of the problem. Taking a top-down approach—starting with major organization-wide infrastructure investments—often fails either to show results in a relevant timeframe or to offer a compelling return on investment.
Q: What is a "business process"?
business process is a set of linked steps or activities that taken together result in a specific business outcome, either internal or external to the organization. Documenting business processes involves describing what is done, why it is done, how it is done, who (or what system) does it, as well as how well it is done. Business processes may be structured or unstructured, depending on the extent to which the underlying steps are fixed and therefore automated or changeable.
Q: What is Business Process Management (BPM)?
Business process management (BPM) is a management discipline that combines a process-centric and cross-functional approach to improving how organizations achieve their business goals. Business processes underlie all organizational efforts, and the effectiveness with which they are carried out contributes directly to critical business goals such as customer retention, length of time it takes to fulfill a product order or service, or regulatory compliance. A BPM solution provides the tools that help make these processes explicit, as well as the functionality to help business managers control and change both manual and automated workflows.
Q: What are the origins of BPM?
Business process management has its origins in total quality management and business process reengineering. While it adds to these a technological framework, it is more than just the combination of these disciplines. BPM is an IT enabled management discipline that promotes organizational agility and supports the efforts of people to drive process change and rapid innovation. As such, BPM supports the alignment of IT and business activities both within the organization and with business partners and suppliers.
Business process management is inherently a cross-disciplinary exercise involving personnel from all areas of the organization—from the process owners who are responsible for getting the day to day operational work done, to the department heads who are responsible for managing divisional areas, to the CXOs of the organization providing oversight and direction. That said, most organizations appoint or hire a point person to oversee the BPM process. That person, often referred to as a business analyst or process architect, generally comes from the business side of the organization, but has a strong enough understanding of IT to serve as an effective liaison with the IT department.
The BPM lifecycle is an interative process with several stages: planning, model and design, develop and deploy, manage and interact, analyze and optimize.
Q: Which business processes are good candidates for an initial BPM project?
Look for two things. Those processes that have considerable impact on your organization's ability to achieve its goals either in the short or long term. And those processes, which if improved, will enable your organization to realize a high return on investment. Look at areas where there are known complaints, whether from customers, trading partners or internal staff. At the root of these complaints are processes that are ineffective and require reworking, streamlining, or better management.
Because organizational buy-in is so critical to the success of business process management, the project that has the greatest support for the BPM process may be the most effective place to start. A successful BPM experience in one area of the organization will help create enthusiasm for subsequent projects in other areas.
Q: What are the benefits of BPM?
The reasons for embarking on a business process management effort are as varied as the organizations that undergo the endeavor, but most organizations are driven by the following benefits:
Q: What are the challenges associated with BPM?
Successful business process management initiatives require both near and long term planning and goal setting, and the goals and means by which to achieve them must be supported by executives across the organization. Without clear alignment on the goals and commitment to the BPM process, organizational resistance will defeat the initiative.
BPM also requires strong communication both within and across departmental boundaries. A strong business analyst or process architect is key to ensuring that the BPM process remains on track as well as ensuring effective communication throughout the initiative. The individual in this role ensures continuous alignment between business and IT since failure to keep business personnel engaged in the process can too readily result in IT solutions that fail to meet business goals.
Q: How do I get started with BPM?
It is critical that to have a BPM process architect who understands both business requirements and technical solutions. In addition to garnering organizational buy-in and choosing an initial project that targets a weak process directly impacting the customer, as well as one that offers a high return on investment, it is imperative to choose the right business process management solution to support the BPM process.
Q: How do I choose a BPM Solution?
BPM enabling technologies span a broad spectrum of activities, but can be generalized as supporting either activities that are unstructured (such as ad-hoc or collaborative tasks) or activities that are highly structured and often transactional in nature. Unstructured or human-workflow activities are supported by tools that center on the information worker; structured (or straight through processing) activities are supported by traditional IT business applications and integration middleware.
It's important to look for comprehensive BPM solutions that:
Q: What are the key differentiators of the Microsoft BPM solution?
The Microsoft business process management solution—a BPM system—is built upon the Microsoft application platform technology stack and spans both structured and unstructured processes. The BPM system provides a comprehensive set of tools, servers, patterns and practices for creating reliable, enterprise-grade BPM solutions.