Martin C. Brown (Reprinted from IBM DW) February 5, 2004
At present, the two most popular technologies are grid computing and web services, but are both compatible? In this article, Martin C. Brown tells us that these two systems are actually compatible and describe the benefits of using web services in grid applications. To determine if grid computing and Web services are compatible with each other, we need to study grid computing mode to see if we really can break a typical grid system into several relatively dispersed units. The architecture of grid calculations depends on considerable basic principles, that is, transmit simple requests between multiple clients and multiple servers. The Web service depends on processing from a client to a server. If you have not seen this how to adapt to existing grid structures, this article will explore two most common mesh systems: request architecture and distribution architecture. The request system relies on the client request job, and the distribution system relies on the agent to provide the client directly. These two systems face different problems when combined with Web services, and this will also be discussed. Grid Communications In grid calculation, there are basically two main component types - servers and clients. The server is used to distribute work requests and saves information about independent work units that make up the entire work. The client (typically there are multiple) responsible for handling independent work units. There are a variety of communication methods between the two, but the core of the system is the distribution of work. It is pointed out that the system uses one of two ways of work, or the client manages its own workflow and requests a new work unit to the server, or the server will distribute the work unit to the client. The communication process is not here to stop; usually require additional servers and services to support the infrastructure of the grid server, which need to perform dialogue and exchange information. The key issue is that the generally dispersed information piece is exchanged in the general case. Switched between the client and the server is the original work unit and the response after processing. Even under the case of data load, as in the case of data processing or video rendering, we are still exchanged, rather than establishing complete, two-way, permanent communication between clients and server elements. The new version of the Grid idea in the WebSphere extension is more radical, and even allows the WebSphere application's web request to distribute through the WebSphere server. This example also demonstrates grid management and actual work distribution to be completed with fairly simple data exchange. Of course there is always exceptions in the rules. Not all grid systems rely on such a direct simple package exchange. For example, resource grids typically depend on the weighted mutual communication between the grid provider (client), so that the real-time storage request can be implemented on the grid. However, in these cases, even when communication is performed directly between the client, it is still a basic information exchange. Therefore, if we only exchange information, it is of course used to communicate between servers and clients with a standard approach. This is also the land of Web services. Web Service Overview We understand how Web services provide pillars for our grid solutions, we need to understand the WEB service. The easiest way is to imagine it into a remote procedure call (RPC). In this way we can call a certain function from a computer (client), and the code and the actual function are in another computer ( The server is executed. There is no new thing in a variety of RPCs. Different implementations have different platforms for a while. Perhaps the most famous RPC implementation is on the UNIX machine.
This implementation uses a set of complex functions to exchange information between the client and the server, which converts a basic C structure into a standardized format that can broadcast on the network, ie external data representation (External Data) REPRESETATION, XDR) format. This method is sequentially and standardized for data, and the converted data format can be decoded by any client or server under the RPC architecture. Recently, the explosive development of Web means that whenever we visit a Web site, we are naturally called in the remote process. Our client is a browser, it requests a file to a server (such as Apache, IIS, etc.), then processes and displays the information. This is a simple data exchange process. With the dynamic technology of the common gateway interface (CGI), JSP, ASP, we are truly calling the remote process. The switching process is conducted in the form of an HTTP request and HTML response, but the effect is the same: we call the procedure on the remote machine and get a response. We get a web service by standardizing the exchange of information in some way. Requests and responses are encoded in XML. Delicate two variants from the substantially the same technique: XML-RPC design goals with its abbreviated names implied, send and receive XML formatted remote processes; Simple Object Access Protocol, SOAP is more advanced. The core of SOAP is still an RPC technology, but this technique is enhanced, which can realize remote manipulation of an object. Such SOAP is not a simple RPC call, but can create objects, manipulating objects, and use this object to make more exactly and formatted information between servers and clients. Web services can be provided by any web server that can be written in almost all languages on almost all support platforms, including Perl, Python, C / C , Java language, and Visual Basic. The core of the web service is basically a dynamic component on the web server, which correctly handles web service requests and responses. This means that in many cases, you can easily create a web service interface in your existing system. You need to do just write a wrapper in the usual regular system call. The boundaries between grids and web services have gradually blurred so far, we have explored grid technology implemented by exchange information, such exchanges can be done between servers and clients, or directly in the client The process and distribution of information are performed. However, this switching system needs to be exchanged with a real information exchange. Over the years, there have been many systems, including FTP protocols and custom protocol systems. At present, in the Web service camp, we already have a common tool that can be used to exchange information between two machines, such as requesting a specific feature (such as getNewWorkUnit (), or simple Exchange information between the two. Because the web service is based on other standards such as XML, it is easy to develop and extend into a variety of different environments and is also easy to deploy. We get rid of all the problems of data exchange between different systems, and do not need to worry about the order in the processor byte, and do not need to convert our information to a neutral format, because the standard of Web services has already I did these things for us.
Because we need to handle requests, distribution work, and collection results with some type of listening program / distribution service, Web services is the ideal choice. The main benefit of the Web service system is because it relies on the HTTP protocol, so it is easy to integrate Web services to existing HTTP platforms, routers, firewalls, and other systems. Most organizations have already run HTTP services, so you can support your grid system with existing technology and security systems, do not need to be transformed to the network, nor will it limit the equipment in the grid system. In this way, it has some unparalleled advantages with a Web service development mesh system, including: • Enhanced compatibility. · Enhanced flexibility. · By eliminating the complexity of data exchange, it is possible to develop cross-platform development. · It is easy to deploy on existing web servers. · It is easy to provide security through the support of the existing HTTP security mechanism and firewall. • The difficulty of accessing the grid components via the intranet or Internet is reduced, so that communication is easy, accessibility enhancement. For all these reasons, as well as more reasons, Web services have gradually become new Grid Service Standards - Open Grid Services Architecture, OGSA and the open grid service infrastructure with it with (Open Grid Services Infrastructure, OGSI) - An component. Globus Toolkit 3.0 is the first grid platform that fully supports the OGSA / OGSI standard, which supports platforms that use Web services as data exchange. IBM serves as a key participants in OGSA standards and Globus systems, providing Web services, now recommends that people are widely used in business development platforms. Globus supports the SOAP Web Service Agreement. The Web service method also brings some other benefits. Web services can be published in a variety of different web services directories and systems, including systems like unified description, discovery, universal description, network service description language (Web Services Description Language, WSDL). . In order to make grid computing easier to deploy, we need to publish services through such directories and systems. Whether you choose Globus Toolkit, you need to consider how to apply Web services in your grid system. There are two web services for use, they adapt to two typical grid service structures: request architecture, under this architecture, the client is connected to one or more central servers; distribution architecture, server directly with the client contact. For each architecture, you must consider some issues before using a web service in a grid application. The following sections will be discussed in detail. The main application position of the support request architecture web service is one end of the distribution and proxy, that is, the point unit is distributed into a client (provider) in the grid, which is an example of a request architecture, wherein the client Request from the grid agent. The request architecture is actually the easiest system that supports web services, as such systems can work as before: The client sends a completed work unit to an available server and requests new work. What you need to do is just to install the web service and web server, you can install it separately, you can also install them directly on the proxy server, then add your code to connect your web service to the agent.