Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
Introducing Open Grid Services
Introducing Open Grid Services

In June 2003, the Global Grid Forum (GGF) adopted the Open Grid Services Infrastructure (OGSI) specification as a GGF standard. OGSI is essential to the Open Grid Computing vision as it is the foundation on top of which the building blocks of future Grid applications will be placed. Those building blocks, the Grid services, are being defined by various GGF working groups, with the Open Grid Services Architecture (OGSA) working group orchestrating the entire process.

This article introduces OGSA, presents the OGSI specification, and discusses the significant role of Web service standards in Grid computing.

Grid Computing
Grid computing has been a hot topic in the news recently. Major vendors like IBM, HP, and Sun have not only been advertising their plans to support Grid computing, but they have also started rolling out their first e-business and e-science solutions.

All the interest in Grid computing led to the formation of the Global Grid Forum (GGF; www.ggf.org), a forum for the discussion of Grid-related ideas and the promotion of enabling technologies. One of its main activities is the creation of a standards-based platform for Grid computing with emphasis on interoperability.

But, what is the Grid? And, what does the term "Grid computing" mean? It could be about virtual organizations, or the integration of distributed resources, or a universal computer, or even about interconnecting supercomputers depending on who you talk to. A definition of the Grid is beyond the scope of this article. Your favorite Web search engine will provide you with many links to definitions and information. There are also a number of books out there from which you can draw information.

OGSA
The blueprint of the Grid architecture is defined by OGSA (www.ggf.org/ogsa-wg) as a set of fundamental services whose interfaces, semantics, and interactions are standardized by the GGF working groups. OGSA plays the coordinating role for the efforts of these groups. It identifies the requirements for e-business and e-science applications in a Grid environment and specifies the core set of services and their functionality that will be necessary for such applications to be built, while the technical details are left to the groups.

While OGSA has adopted a services-oriented approach to defining the Grid architecture, it says nothing about the technologies used to implement the required services and their specific characteristics. That is the task of OGSI.

Figure 1 shows the relationship between OGSA, OGSI, and the Web services standards. Also, a list, which is not exhaustive, of candidate core services is presented. It is expected that in the months to follow, OGSA will standardize this list.

 

OGSI
The OGSI working group decided to build the Grid infrastructure on top of Web services standards, hence leveraging the great effort - in terms of tools and support-that the industry has put into the field. Nevertheless, the group identified some key characteristics missing from Web services standards that they thought would be instrumental in building Grid applications, including the ability to create new services on demand (the Factory pattern); service lifetime management; statefulness; access to state; notification; and service groups.

OGSI is based on the concept of a Grid service instance, which is defined as "a Web service that conforms to a set of conventions (interfaces and behaviors)" [www.ggf.org/ogsi-wg]. All services in the OGSA platform must adhere to the conventions specified by OGSI and, therefore, they are all Grid services. It is crucial to note that the term "Grid service" is used here to refer to all aspects of OGSI.

Grid Service Description
According to the OGSI specification, each Grid service instance is associated with some transient state and has properties that control its lifetime. Additionally, the specification defines the operations that must be supported and the way the state and lifetime-related information can be accessed. As with Web services, a WSDL document - with few non-compliant extensions to the WSDL standard - is used to describe the operations, messages, and portType (renamed to "interface" in WSDL 1.2) of a Grid service instance. In OGSI terms, the WSDL document is called the "Grid service description."

The specification mandates that the portType of a Grid service inherits (or "extends" in WSDL 1.2) the GridService portType defined by OGSI, guaranteeing that the OGSI-specific operations will be available. Although not part of WSDL 1.1, portType inheritance was deemed necessary by the working group so they not only made use of it in the specification but its importance was reflected in its introduction to the current WSDL 1.2 draft.

Service Data
In addition to operations, a portType of a Grid service instance may also include Service Data Declarations (SDDs), constructs describing the structure of the Service Data Elements (SDEs) that make up the instance's exposed state. The concept of SDDs and SDEs combined with a number of operations defined by OGSI provides a common mechanism to describe the structure of a Grid service instance's exposed state, to access or modify that state, and to use the state for notification purposes. For example, access to an SDE is made possible through appropriate get/set operations in the GridService portType. The inclusion of the SDDs and SDEs in the specification brings the idea of JavaBeans properties and C++/Java instance/class data members in Grid services.

The OGSI working group felt that the SDD and SDE concepts were important enough to the Grid's service-oriented architecture to adopt them in their specification, even though they are not part of any other standard. As with portType inheritance, the group is actively lobbying for the introduction of service data in the next version of WSDL.

Grid Service Handles, References, and Locators
Each Grid service instance is identified by a URI, which is called the Grid Service Handle (GSH). However, a GSH cannot be used to communicate with a Grid service instance. Instead, it has to be resolved to a Grid Service Reference (GSR), which contains a binding-specific endpoint that consumers can use. More than one GSR may exist at the same time pointing to the same Grid service instance through different binding-specific endpoints (e.g., SOAP endpoint or CORBA IOR).

Unlike a GSH, a GSR may expire throughout the lifetime of a Grid service instance. If that happens, the consumer of the service will have to get one (or more) new GSR(s). A HandleResolver portType is defined to support resolutions of GSHs to GSRs. There can be a number of reasons a service provider may want the GSRs to its Grid service instances to expire. If, for example, service mobility was to be implemented, consumers would have to refresh their GSRs to point to the new location of the service. For quality of service, access to service instance may only be allowed through a particular network binding only at certain times.

A locator is a container of GSHs and GSRs that point to the same Grid service instance. It may also contain the qNames of the portTypes that are supported by the referred instance. Many of the operations defined in the OGSI portTypes return or accept Locator constructs as arguments.

Creating Grid Service Instances
The Factory pattern enables the dynamic creation of Grid service instances based on a Grid service description. OGSI specifies the operations and semantics of a factory through the Factory portType. However, a Grid service instance does not have to be created through a service that supports the Factory portType. For example, a hosting environment may create Grid service instances when it starts or as a result of an event.

The implementation of the Factory portType by a Grid service instance is not mandated by the specification.

Notification and Service Groups
The OGSI specification includes portTypes to support notification and service groups. The notification pattern allows interested parties to subscribe to service data elements and receive notification events when their value is modified. Service group portTypes allow registries of grid service instances to be formed. Service groups may denote some kind of relationship between the instances they contain, but that is not a requirement. For example, a service group may contain all the instances that were created by a particular user.

The implementation of the notification and service group portTypes by a Grid service instance is not mandated by the specification.

An Example
The discussion of OGSI so far has given us enough ground to explore an example. We are going to write the Grid service description of a very simple workflow execution Grid service and explore the steps for creating and consuming instances of it.

The Grid service description of our workflow execution Grid service is shown in Listing 1. It supports only a simple operation, "executeWorkflow", plus all the operations in the GridService portType that the workflowExecutionPortType inherits. Note that the gwsdl:portType element is used instead of the wsdl:portType one. This is the temporary solution that OGSI adopted until WSDL 1.2 - with the "extends" attribute for the wsdl:portType element - is published.

The Grid service description shown in Listing 1 does not include "binding" or "service" elements. This is because the document is like a template for the construction of new Grid service instances. The WSDL of those instances will, of course, have to contain binding related information. The OGSI specification says nothing about specific bindings.

So, how do we use this service? First, we need to get access to an instance of it. The hosting environment may create one automatically for us and make it available through a registry, or there may be a factory Grid service instance that we may be able to use. The approach will depend on the semantics of our service. We may want to have a Grid service instance representing the workflow execution engine as a resource, in which case all consumers will have to share it. Alternatively, we may require each consumer to create a new instance that will represent that consumer's interaction with the workflow execution engine, in which case the instance's state may represent interaction-specific information.

Let's assume that there is a factory that can create instances of our data access Grid service. Figure 2 illustrates the necessary steps. We need to obtain a GSH to a factory instance (e.g., by looking into an appropriate registry, Steps 1 and 2). Then, we can resolve the GSH to one or more GSRs, giving us access to the operations of that factory (this step can be part of the query to the registry). If the request to create a new instance (Step 3) of the service is successful (Step 4), we will be given a GSH to the new instance (Step 5). Again, we will have to resolve the GSH to a GSR so we can access the instance. This may happen automatically as part of the create operation or we may have to contact an instance that implements the OGSI HandleResolver portType (the former is assumed in Figure 2).

 

Once we have a GSR to the newly created Grid service instance, we can invoke operations on it (Step 6). We can submit a BPEL script for execution or call the operations that are defined by the GridService portType. Of course, a more useful workflow execution Grid service would probably have operations that stopped and paused the execution of the workflow, queried its state, supported notification, and so on.

Now that we have an idea of how instances are created and consumed, we can introduce service data into our example. We could expose the status of the execution of the submitted workflow (see Listing 2).

The sd:serviceData element declares the existence of the "wf:status" SDE as part of an instance's state. The value of the SDE can be retrieved through appropriate operations defined in the Grid-Service portType.

Comments on Grid Services
OGSA is the Grid community's effort to create a services-oriented platform for building large-scale distributed applications. OGSI constructs the foundations of the OGSA platform on top of Web services.

In making some of the characteristics it introduces a mandatory part of the infrastructure, OGSI has moved away from the vision of the Web services infrastructure as a collection of interoperable components that are built on top of widely accepted standards. Instead, OGSI brings a flavor of object orientation a la CORBA and J2EE into Grid services (e.g., service data and Grid service instances) and introduces noncompliant extensions to the WSDL standard (e.g., portType inheritance and service data).

It's my opinion that OGSI encourages the development of fine-grained, component-based architectures while Web services promote a coarse-grained approach. Due to its nonstandard features, like service data, mandatory statefulness, GSR, and factories, the OGSI specification deviates from common Web services practices. Then again, OGSI is an application of the Web services concept to the Grid application domain so experience may prove that the introduced characteristics are indeed required.

The Future
The OGSI working group has completed its work on version 1.0 of the specification. In the future, more effort will be focused on defining higher-level services for OGSA and, of course, building applications.

The Grid community is building its infrastructure on top of Web services technologies, making the Grid a big user of the emerging standards and an excellent evaluation platform for all the specifications and tools.

Acknowledgments
Thanks to Prof. Paul Watson, Dr. Jim Webber, OGSI working group, and OGSI-Primer working group.

About Savas Parastatidis
Dr. Savas Parastatidis is the chief software architect at the North-East Regional e-Science Center (NEReSC), Newcastle, UK. He is NEReSC's expert in Grid Computing technologies and standards. Previously, he co-led an R&D team at HP's middleware division that produced the world's first XML-based transactioning system and represented HP during the early stages of the OASIS BTP standardization effort.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

This article was quite interesting for me.


Your Feedback
RICARDO VIANCHA wrote: This article was quite interesting for me.
SOA World Latest Stories
Enterprises are moving to the cloud faster than most of us in security expected. CIOs are going from 0 to 100 in cloud adoption and leaving security teams in the dust. Once cloud is part of an enterprise stack, it’s unclear who has responsibility for the protection of applications, ser...
21st International Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced b...
Many organizations adopt DevOps to reduce cycle times and deliver software faster; some take on DevOps to drive higher quality and better end-user experience; others look to DevOps for a clearer line-of-sight to customers to drive better business impacts. In truth, these three foundati...
The last two years has seen discussions about cloud computing evolve from the public / private / hybrid split to the reality that most enterprises will be creating a complex, multi-cloud strategy. Companies are wary of committing all of their resources to a single cloud, and instead ar...
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing c...
You know you need the cloud, but you’re hesitant to simply dump everything at Amazon since you know that not all workloads are suitable for cloud. You know that you want the kind of ease of use and scalability that you get with public cloud, but your applications are architected in a w...
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON Featured Whitepapers
ADS BY GOOGLE