"The emergence of Web services and services-oriented architectures, and the growing importance of software plus services, makes interoperability a very important capability. The ability to move data and information seamlessly between applications and systems - regardless of platform or vendor - is a key requirement for our customers. Microsoft's interoperability principles will give developers the technical foundation and information they need to build systems that support more seamless data exchange and portability across products and platforms."
Bob Muglia, Senior Vice President, Microsoft Server and Tools Business
Today's difficult economic environment provides a time of change where information technology (IT) matters more than ever. As business and service delivery leaders look to become even more effective and efficient in meeting their client's expectations, they are increasingly looking to electronic channels as an integral element of their business strategies. Regrettably, the ever increasing pace of technological change often disconnects the technology from the business requirements. This disconnection hides technology innovations from the business and has a broader impact of preventing business innovation.
This article discusses the role service oriented architecture (SOA) and interoperability can play in keeping an organization innovative and competitive. We also discuss Microsoft's interoperability principles, its commitment to its open source community, and the benefits of embracing openness as part of an organization's business strategy.
Separating Need from Method
Maintaining a close relationship between business and technology remains the key to innovative services delivery. This connection is often best achieved through SOA which allows different applications to exchange data with one another as they participate in business processes. By defining the business requirements and services capabilities needed to meet the organization's service delivery objectives, a direct link can be made between the business imperatives and the information technologies that support them. A short few years ago, there were significant challenges in allocating business requirements to technology solutions using SOA, especially in organizations that had deployed a variety of technologies. With an increased emphasis on interoperability in the IT industry, many of these difficulties have been resolved. Coupled with the dramatic transformation that the technology community is undergoing today, services delivery and business leaders have more flexibility and choice than ever before in delivering innovation to their clients.
Business leaders are seeking opportunities to drive savings throughout their organization. This emphasis is providing an opportunity for IT to change its perception from a cost centre to a saving centre. IT is becoming a key business enabler since IT fueled business transformation ultimately results in a more efficient and productive organization. More often than not, these transformations address a number of business or policy imperatives at the same time. While cost effectiveness may be the principle driver behind many of today's initiatives, the business capabilities put in place also have positive impacts on productivity, service efficiencies, knowledge transfer and environmental sustainability. The direct linkage between the IT enabled business capability to corporate (or government) priorities not only helps sustain the IT program but also helps drive innovative solutions for today's toughest business challenges.
Many organizations have taken an enterprise architected approach to their service delivery to more closely align their business and technology capabilities. By emphasizing the business requirements, organizations gain a more comprehensive understanding of their business. An important insight occurs when a business realizes they can satisfy their requirements with a collection of "technology independent" business capabilities. Abstraction to the granularity of business capabilities allows an organization to be agile in the face of technology changes because it permits the implementation of any technology so long as it meets the expected service levels. The separation of the "need" from the "method" of delivery provides the business with considerable flexibility to select from a variety of approaches to satisfy their business need.
As an example, consider a well-understood business capability such as employee pay. Organizations need to pay their employees and have a good understanding of the service levels needed for an effective pay solution. By using a capability based approach, an organization can then assess whether an internally provided service or a particular outsourced provider would be best for the organization. If service level expectations aren't met by one provider, there are a number of others that are willing to step in to provide the service. This approach opens any number of opportunities for suppliers to provide innovative solutions to meet business needs and lifts many of the restrictions that had been placed on software developers. To truly unleash the creativity of developers, there is a strong need for the business capabilities specified by SOA to just work together both in new systems and in the existing environment.
Heterogeneous environments are the reality in IT today, and interoperability is more important than ever to meet the expectations of the business community. The term interoperability is poorly understood and individuals often assign their own interpretation to it. Interoperability should be understood as connecting people, data and diverse systems so that data is more available to those who need it, and processes flow more smoothly, with less burden on IT. This connection is achieved through a variety of ways including the application of standards, translating between two different communities or through bilateral agreement between different organizations. Microsoft understands this, and is changing to be more open - more open in engineering, collaboration, and sharing of intellectual property. This commitment to greater openness is increasing choice and driving advances in real-world interoperability across Microsoft, open source, and various other IT environments. As a result, customer and developers can more easily build and leverage the diverse yet interoperable solutions they need.
In February 2008, Microsoft reinforced its focus on interoperability with the publication of the Interoperability Principles. As part of Microsoft's trustworthy computing initiative, these principles apply to Microsoft's high volume products such as Windows Vista, Windows Server and Microsoft Office. These principles can be summarized as follows:
Open connections: provide access to the protocols and application programming interfaces of Microsoft's high-volume products. Developers have access to the details they require to connect with Microsoft products.
Support for standards: Microsoft is committed to supporting standards development in Canada and abroad and working with our customers to prioritize which standards to support in our products. In addition to participation in the development work in the standards community, Microsoft will work with other major suppliers to ensure consistent implementations of standards across different products to ensure that they work together in real world scenarios.
Data portability: provides the ability to use data in a variety of software products. Customers who create data in one application should be able to access that data in another application. Data portability is accomplished by incorporating customer advice on key standards, implementing import/export capabilities and supporting standards work for data formats.
Open Engagement: provides open communications and collaboration with customers, IT and open source communities to address their interoperability challenges. A key community for this engagement is the Interoperability Executive Council where over 40 government and industry leaders around the world meet twice annually to help identify interoperability challenges and work with Microsoft to resolve them. The Microsoft Interoperability Forum extends the dialogue and engagement out into the web community. The Open Engagement principle also includes Microsoft's Open Source Interoperability Initiative, which encompasses a variety of activities including plug fests, labs, events, and opportunities for participation in collaborative development.
These principles support the diverse range of interactions that Microsoft has with the community at large and includes a number of elements designed to facilitate the interaction with the open source community.
Microsoft's adherence to the interoperability principles has provided several benefits. Customers realize the benefits of being able to deploy a variety of products from different suppliers with the confidence that these products will work together. In the event that their products don't work together, customers have louder voices through the interoperability initiative to detail how they need the products to work together. By providing open connections to Microsoft products, developers also benefit from the interoperability principles. This openness helps developers be more efficient since they have the detailed descriptions required to gainfully work with Microsoft products and don't need to resort to guesswork to figure out how products function. For Microsoft, the interoperability principles help improve the utility of Microsoft solutions in heterogeneous environments and include functionality that customers demand thereby increasing the potential marketplace for Microsoft Solutions.
Open Source Community at Microsoft
This commitment to interoperability and collaboration with the open source community can be seen first-hand in the work of Port 25, the Open Source Community at Microsoft. Port 25 provides a venue for ongoing open communications and collaboration between developer communities. Port 25 continues to test and explore real world interoperability challenges between a variety of software applications. The team that supports the open source community embraces its raison d’être "about having a healthy conversation with customers and the industry wherein people can talk openly about their interoperability challenges, whether on UNIX, Linux, Windows, or among other open source packages". Since its launch over two years ago, 18 million visitors to the site have learned about the innovative work that is being done in the lab.
At this year's professional developers' conference, Microsoft launched a number of tools to unleash the capabilities of cloud computing, including the Oslo Services Oriented Architecture Modeling Platform and the Azure Cloud Services Platform.
Oslo provides a model driven development platform which allows application development at a higher level of abstraction so as to engage a broader development community. Its declarative modeling language, codenamed "M", is being built to ensure interoperability with prominent industry standards. The "M" language specification is being released under Microsoft's Open Specification Promise so that third parties, including open source projects, can build implementations of "M" for other runtimes, applications and operating systems.
Built with interoperability as a principle design criteria, the Azure Services Platform is a set of cloud-based technologies that extend software development for both enterprise server and multiple client device applications with services on the Web. Developers can use Java, .Net and Ruby development environments to build new or enhanced applications that leverage cloud services through the use of common standards-based protocols including HTTP, SOAP and XML. Additional developer kits are planned for Python and PHP. This community development approach is not new to Microsoft. Codeplex, Microsoft's Open Source Project Community hosts over 4,000 open source projects and supports over 31,000 users. In addition, there are a number of Microsoft sponsored open source projects on Sourceforge, including the OpenXML to ODF and the OpenXML to UOF translators.
Businesses are seeking every opportunity to improve their services delivery though innovation. Interoperability and openness are fundamental catalysts driving innovation not only in the technology space, but also at the business level. Microsoft's commitment to its interoperability principles provides customers, developers, partners and independent software providers with the insight, access and community to provide innovative solutions that address the challenges faced by business today.