Q.What is Service Oriented Architecture (SOA)?
A.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?
A.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?
A.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:
Stronger connections with customers and suppliers. By making available dynamic applications and business services to external customers and suppliers, not only is richer collaboration possible, but customer and partner satisfaction is increased. SOA unlocks critical supply and demand chain processes—such as outsourcing of specific business tasks—from the constraints of underlying IT architectures, thereby enabling better alignment of processes with organizational strategy.
Enhanced business decision making. By aggregating access to business services and information into a set of dynamic, composite business applications, decision makers gain more accurate and more comprehensive information, and gain the flexibility to access that information in the form and presentation factor (Web, rich client, mobile device) that meets their needs.
Greater employee productivity. By providing streamlined access to systems and information and enabling business process improvement, businesses can drive greater employee productivity. Employees can focus their energies on addressing the important, value-added processes and on collaborative, semi-structured activities, rather than having to conform to the limitations and restrictions of the underlying IT systems.
Q.Will SOA enable alignment of business and IT?
A.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.
Q.Is SOA a product?
A.No. SOA is not a product, but an architecture approach and set of patterns for implementing agile, loosely coupled dynamic applications. 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.Will implementing an SOA solution require a complete overhaul of existing technologies and business processes?
A.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?
A.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?
A.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 world wide.
Q.What is the Microsoft SOA solution approach?
A.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.How do I get started with an SOA solution?
A.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?
A.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.