A key differentiator between IBM and its competitors is IBM's commitment to open computing, rather than proprietary business systems. Open computing includes open standards, open source, and open architecture (see Figure 1), which collectively accelerate technology innovation.
Figure 1: Open computing
Open standards, architectures, and open source software provide greater degrees of flexibility and resilience, avoiding vendor lock-in and maximizing freedom of action. Let's dive a little deeper into each of these aspects of open computing.
Open standards exist to solve the problem of interoperability between products. The benefits of open standards include collaborative innovation, flexibility, interoperability, cost effectiveness, and freedom of action.
Open standards is the technical term to describe interface, protocol, format, and language specifications. These standards mature at different rates and to different levels of openness within a framework of necessary characteristics.
To be "open," standards must be:
Published without restriction
Made freely available for adoption by the industry
Controlled by an open industry organization with a well-defined inclusive process for evolution of the standard
Implemented by offerings available in the market
At its foundation, the IBM product stack supports the open Java™ EE programming model, which is the industry standard for implementing enterprise class service-oriented architecture (SOA) and Web 2.0 applications. It provides APIs for Web services, component models, management, and communications.
Open standards for software interoperability are typically built by software engineers from technology companies who collaborate under the auspices of organizations such as W3C, IETF, and OASIS. IBM actively participates with these and other organizations.
Whereas open standards provide the technical specifications for implementing features and functions, open source refers to software code that is publicly available in human-readable (source code) form, enabling anyone to copy, modify, and redistribute it without paying royalties or fees.
IBM contributes to over 100 open source projects, and has developed flexible licensing to help developers pick the level of support needed for their projects. Some key IBM open source projects include:
Linux
®, including the Integrated Stack for SUSE Linux Enterprise.
Eclipse Integrated Development Environment, which is the base product for the Rational application development, testing, and team products.
Eclipse Rich Client platform, which is the base for the IBM Workplace Client Technology and delivering cross-client GUI applications.
Cloudscape database, which IBM donated to open source as the Apache DB project and is used as an embedded data repository in a number of IBM products. .
Also, be sure to check out the white paper, "Integrating Open Source into your business," for more information about open source and open computing, the benefits and challenges of open source, and how to integrate open source into your IT strategy.
IBM has developed a comprehensive architecture for implementing open solutions, called Service Oriented Architecture, or SOA. Service-orientation decomposes applications into reusable services, and then provides a framework to allow these services to communicate and interact. Therefore IBM's reference architecture is the SOA reference architecture, as we'll explore on the next page. SOA lets you snap together components that deliver services into a business process just like snapping together building blocks into a structure.
Because SOA touches so many parts of your business, you need to consider the life cycle of the project from its inception. Figure 2 shows the SOA life cycle. IBM has product offering to support all stages of this life cycle.
There's a wealth of material about SOA available from IBM. Start with the developerworks New to SOA and Web Services, and then explore the IBM SOA site.