Grid services via Open Grid Services Architecture (OGSA)
With XML serving as a catalyst, Web services have allowed many organizations to expose as well as access many resources that in years past might have been considered difficult to share. In hindsight, the actual process of sharing resources in a distributed fashion is something that has piqued the interest of many computer scientists even prior to the emergence of Web services. Conceptually known as a grid, this latter approach has hit a crossroads with the current wave of Web-services-enabling technologies, one which we will explore in the following article.
Grids initially emerged in research and academic projects to confront the limitations of standalone computing power, allowing applications to tap processing cycles on machines located across a network. In recent times, many enterprise software vendors have borrowed from this same concept, offering on-demand access for software applications prone to peak congestion patterns or what is being marketed as a pay-as-you-use mechanism, a process which is strikingly similar to other non-IT grids, such as the electrical grid.
As it turns out, this process of virtually pooling computing resources and making them readily available via a network presents many of the underlying issues resolved by Web services technologies. For example, grids are generally deployed across wide area networks, requiring the lowest level common denominator access technology in order to allow the widest possible set of disparate client consumers. Not to mention many require the elaborate middleware services -- such as security, reliability & scalability -- common to distributed computing. In light of these similarities, a special initiative whose intent is to jointly advance grid and Web services technologies was created, its name: Open Grid Services Architecture (OGSA) .
OGSA is the creation of the Globus Alliance , a community of organizations and individuals dedicated to advancing grid technologies. Since its inception more than a decade ago, the Globus Alliance has been a pioneer in enabling grid applications through its flagship toolkit Globus, an open-source project that is behind many successful grid projects, such as : Open Science Grid , Earth System Grid and Tera Grid , just to name a few.
While Globus still competes directly with other products in the realm of grid software, the latest versions of the Globus Toolkit have the unique advantage of being front-runners in adopting OGSA practices. Like other specifications, what OGSA provides is a blueprint for what Web services should support in order to be considered grid compliant, being at such a high-level, that it is built on top of other specs.
The first underlying specification for OGSA was named Open Grid Services Infrastructure (OGSI), a joint effort developed in 2002 between IBM and the Globus Alliance for grid-enabled services. However, just like other initiatives in the tech sector, the development and support for OGSI was eclipsed by similar specifications that gained greater traction in the overall Web services landscape: WS-* specifications developed by OASIS.
In its current state, OGSA's building blocks are based on the Web Services Resource Framework (WSRF) along with other WS-* specifications like WS-Notification, WS-Security and WS-Addressing. You can read more about WSRF in an earlier column on WSRF . As mentioned previously, the Globus toolkit is among the most mature in terms of OGSA compliance, so it would only be natural to continue our OGSA discussion on this software.
Version 3 of the Globus toolkit is the earlier OGSI based implementation, while Version 4 of the Globus toolkit is based on the more recent WS-* standards, both providing support for Java-, C- and Python-based grid Web services. Since elaborating on the many intricacies of grid design would go beyond the scope of this article, you can refer to the previous links as excellent starting points, but what we will do is finish of discussing the impact WS-* standards and OGSA will have on grid development.
Like any other software application, grids come with their own share of unique requirements which have to be dealt with from the outset. Prior to the emergence of OGSA, such choices required organizations to take the plunge on a particular software suite to achieve results with vendor or platform lock-in being the norm in grid development. On the other hand, WS-* standards have achieved a true consensus among Web services vendors, from ESB producers to platform initiatives like Project Tango for Java or WCF for .NET, many organizations have rallied around the use of such standards.
With OGSA being built on top of such standards, not only will developers gain using widely adopted approaches, but companies can also make a faster transition to enable existing Web services into grid mode. If your organization has already kicked off Web services projects, but has shied away from grid applications due to the inherent complexities and proprietary nature, OGSA may be what you have been looking for virtually pooling your existing assets.