DMReview.com welcomes Jeremy Westerman, director of Product Management for BEA WebLogic Integration, as our latest addition to the online columnist roster. His column will focus on service-oriented architecture as the basis for the development of futures IT architectures.
Welcome to this new monthly column where we will explore and discuss service-oriented architecture (SOA). Over the course of the next few months we will look at "all things" SOA: what it is, what is the business value, what technology is required, how to organize one’s business for SOA and why it is a potentially powerful solution if implemented correctly. Additionally, we will review several successful SOA implementations and help outline a path to reaping the benefits of building and deploying an SOA solution.
Based on vendor marketing, it’s easy to believe that SOA is the next new wave or fad, depending on your perspective in technology, following hard on the heels of XML and Web services. However, to dismiss SOA as a fad or simply a new buzzword would be a serious mistake. SOA represents an important shift in enterprise computing and will become the basis for the development of all future IT architectures.
What is SOA?
Lets start by clearing up some of the misconceptions around SOA. The facts are that:
- SOA is not new: IT organizations have been successfully building and deploying SOA applications for many years long before XML and Web services existed.
- SOA is not a technology. Rather it is a way of architecting and organizing IT infrastructure and business functionality.
- Buying the latest XML and Web services products does not mean that you are building SOA applications.
SOA is a paradigm for designing, developing, deploying and managing discrete units of logic (services) within a computing environment. This definition illustrates the breadth of SOA.
SOA requires developers to design applications as a collection of services, even if the benefits of this are not immediately apparent. SOA requires developers to think beyond the boundaries of their application and consider reusing existing services or examine how their services can be reused by their colleagues.
SOA encourages the use of alternative technologies and approaches, such as messaging, to build applications by linking services together rather than writing new code. Appropriately architected, this use of messaging allows companies to react in business time to changing market conditions by "tuning" the messaging rather than having to develop new application code.
SOA is not merely a development methodology it has administrative aspects as well. For instance, rather than managing a monolithic application, the administrator can now directly manage the same services the developer built. By analyzing the interaction between services, SOA can enable companies to understand when and why business logic is actually being executed, thus allowing administrators or analysts to optimize their business processes.
How Can SOA Work for My IT Organization?
To successfully leverage SOA, it is important to understand this new paradigm and be prepared to change the way applications are architected. This change has organizational implications for IT departments. Architecting and organizing for SOA are equally as important as the technologies and products employed in these groups. We will discuss both topics in greater detail in future columns.
Numerous IT organizations have been successfully building and running SOA environments for many years. Likewise, there are many products available that supported SOA long before the advent of XML and Web services in particular transaction processing monitors such CICS from IBM and TUXEDO from BEA Systems. With these environments, IT organizations could build their applications as discrete services that leverage other services, deploy their applications by deploying these services and manage their applications by managing services.
XML and Web services add important new capabilities that take SOA to the next level and greatly increase the value it will deliver. Whereas previous SOA products were proprietary and required IT to develop all of the applications in their environment, the standards-based openness of both XML and Web services enables SOA to be applied across all technologies and applications deployed in an enterprise. This has very powerful implications.
Web services enables the functionality of applications to be exposed using a standards-based interface (WSDL) and to be invoked using a standards-based protocol (SOAP) over standards-based transports (HTTP and JMS). For example, a developer can easily build a new portal application using the tools best suited for portal development and reuse existing services from an ERP suite and a custom J2EE application without needing to understand the internal workings of those applications. By using XML, the portal developer can easily exchange data with these applications without needing to understand specific data representation formats. Thus the portal developer can focus on doing what the portal developer does best develop portal applications. By using SOA, the portal is now fully integrated with the back-end applications quickly and easily. The benefits of this approach are compounded over time as the number of services available increases.
Can SOA Help with Business Integration?
SOA also changes how IT organizations implement EAI and B2B integration solutions. These integration products pass messages between applications and trading partners to execute an end-to-end business process. With SOA, integration morphs into application and trading partner services and the encompassing end-to-end processes. This is comparable to how application development under SOA moves to a model of services and the end-to-end processes that span those services. Thus SOA accelerates the convergence of development and integration, enabling IT organizations to leverage a single environment for building, deploying and executing both integration and application logic. Very significant potential cost and time savings are offered for IT organizations that adopt the SOA approach.
Why Should I Consider SOA for My Business?
Why should enterprises adopt SOA? What is the business value that can be derived from using SOA? As you have probably already noted from our earlier discussion, SOA will require IT organizations to change many aspects of their business: how they are organized, how they build and manage applications, the technologies they use and the products they purchase. All of these changes have costs associated with them that need to be justifiable to the business, especially given these difficult economic times.
SOA can deliver business value on many fronts. By "wrapping" existing applications as services, their functionality can be reused thus increasing the ROI of legacy applications by extending their lifetimes and reducing the cost of developing new functionality. By leveraging existing services, new applications can be deployed more quickly enabling faster time to value. This agility enables companies to be more competitive bringing new products and services to market faster than their competitors or by quickly reacting to adverse competitive conditions. We’ll discuss this topic in greater detail in a future column.
Stay tuned next month when we’ll explore a modern SOA-based environment.
Register or login for access to this item and much more
All Information Management content is archived after seven days.
Community members receive:
- All recent and archived articles
- Conference offers and updates
- A full menu of enewsletter options
- Web seminars, white papers, ebooks
Already have an account? Log In
Don't have an account? Register for Free Unlimited Access