CN100345110C - Method for avoiding grid computing application to depend on bottom development tool box - Google Patents

Method for avoiding grid computing application to depend on bottom development tool box Download PDF

Info

Publication number
CN100345110C
CN100345110C CNB2005100940342A CN200510094034A CN100345110C CN 100345110 C CN100345110 C CN 100345110C CN B2005100940342 A CNB2005100940342 A CN B2005100940342A CN 200510094034 A CN200510094034 A CN 200510094034A CN 100345110 C CN100345110 C CN 100345110C
Authority
CN
China
Prior art keywords
service
grid
class
process controller
mesh services
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2005100940342A
Other languages
Chinese (zh)
Other versions
CN1744037A (en
Inventor
王汝传
杨清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Post and Telecommunication University
Original Assignee
Nanjing Post and Telecommunication University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Post and Telecommunication University filed Critical Nanjing Post and Telecommunication University
Priority to CNB2005100940342A priority Critical patent/CN100345110C/en
Publication of CN1744037A publication Critical patent/CN1744037A/en
Application granted granted Critical
Publication of CN100345110C publication Critical patent/CN100345110C/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The present invention relates to a method preventing grid calculating application from depending on a bottom layer developing tool box, which is used in an opening grid environment. The dependence of grid upper layer application to the lower layer grid tool box is decoupled by the technology of backward rotating control, etc., and thus, the upper layer application can be realized by dispatching low layer services based on the API of unified standard. A provider's technical scheme can be realized without understanding concrete services. The proposal gets rid of the coupling connection of grid service realizing and deploying description and service dispatch, and the grid tool box. Thus, the opening compiling and packaging steps of the grid application can be carried out by being completely independent from the grid tool box. The grid deploying and dispatching steps realize the content relevant to a platform and automatic injection as required. The grid tool box is completely transparent to a grid application developer by the proposal. The grid applying development processes are easy to simplify and are used with the combination of the code generating technology, the graphic interface technology, etc. Great convenience is provided for the development of the grid application.

Description

Avoid the method for grid computing application to depend on bottom development tool box
Technical field
The present invention is a kind of open grid environment that is used for, adopt the dependence to low layer mesh tool case such as the technology decoupling zero grid upper layer application of controlling counter-rotating, thereby upper layer application can be realized based on the API Calls lower-level services of unified standard, and need not understand the technical scheme that concrete service realizes the supplier.Present technique belongs to grid computing middleware Technology field.
Background technology
Grid is considered to WWW of future generation, and it is a kind of emerging technology that occurs along with the development of Web technology, and it has adapted to the characteristics of Internet preferably, can fully realize resource share and task between cooperation finish.Along with the continuous intensification of domestic and international grid research, the system standard of relevant grid application is progressively formulated perfect.The 4th (the Global Grid Forum of boundary Global Grid forum in 2002, GGF) in the meeting, IBM and Globus cooperation is public have been proposed OGSA (Open Grid Services Architecture, OGSA) this is based on the universal standard architecture of the application of grid.Subsequently OGSI (the Open GridServices Infrastructure) working group of GGF tissue to have formulated the OGSI standard that realizes each conception of species among the OGSA be the mutual interface that defines standard, behavior between establishment, management and the mesh services.Correspondingly, grid computing is used the base layer support platform and is also constantly weeded out the old and bring forth the new, and Globus Toolkit 3.0 (GT3) is first kit that is used to develop grid application of realizing based on the OGSI1.0 standard.
Although at present increasing organisations and institutions put in the exploitation of gridding technique, various grid application exploitation support platforms have appearred, the grid application exploitation that is based on these tool boxes exist process loaded down with trivial details, to weak points such as the tool box comparatively rely on.Before these platforms of use are write gridding application program, order and steps such as the using method in necessary these tool boxes of first detail knowledge of grid computing application developer and familiar compiling, deployment, issue corresponding to different tool boxes.And these tool boxes still are among the continuous update, in case conversion different development platforms, developer's spended time and energy again grasps its using method, order and step.Simplifying the grid application exploitation and reducing its dependence to the tool box becomes and influences the widely used key factor of gridding technique.Therefore it is significant to study a kind of software of grid computing application to depend on bottom development tool box of avoiding.
Summary of the invention
Technical matters: the purpose of this invention is to provide a kind of decoupling zero grid upper layer application to avoiding the method for grid computing application to depend on bottom development tool box, make upper strata grid computing application not rely on concrete which or which tool box, and the service that can call the low layer tool box with uniform way by the interface of standard realizes, replace original tool box with new tool box smoothly, thus reach the purpose of simplifying the grid application exploitation and solve grid application develop in the problem of different tool boxes conversion.
Technical scheme: control inversion device of the present invention is a kind of method of the property improved, by adding one in the grid upper layer application with provide the middleware between the low layer tool box of grid support platform to propose.This middleware uses technology such as controlling counter-rotating that the low layer tool box is encapsulated, and the service in the low layer tool box of dynamically searching coupling realizes when upper strata grid application call is served, and finishes the level and smooth conversion between the different tool boxes.
In existing grid upper layer application, because invoked service realizes that title has write in service call person's the code, this makes service call person and ISP produce and is closely connected, and represents with relying on Dependency in UML.For fear of the dependence of grid application, must cut apart this dependence, so we have introduced control counter-rotating Ioc (Inversion of Control) pattern to the tool box.
The control counter-rotating is a kind of cooperation and organizational form of assembly, and the contact of its decoupling zero caller and callee has separated interface and specific implementation.Use this pattern, can be described and Technical Architecture at an abstraction hierarchy fully, therefore regardless of the specific implementation in future, the Ioc pattern can realize concrete realization means are provided for the software of container, framework and so on, belongs to a kind of important pattern application in the framework technology.The Ioc pattern is divided into polytypes such as structure injection, the value of establishing injection, interface injection, they are used to realize caller and callee decoupling zero respectively in frameworks such as EJB/J2EE, Avalon, SpringFramework, WebWork/Xwork, PicoContainer, HiveMind, reach the purpose of separation interface and specific implementation.For the decoupling zero of mesh services caller and ISP in the open grid environment, the Ioc pattern provides the means that realize preferably.
One, architecture
We are divided into the open grid service system from top to bottom application layer, use encapsulated layer, lower-level services layer and resource layer, and Ioc encapsulation middleware is positioned at the application encapsulated layer.It by the encapsulation to the lower-level services layer, provides unification, the standard interface of visiting the low layer mesh services to the upper strata between application layer and lower-level services layer, realize the dynamic adaptation that mesh services is called, and carries out interface coordination and management.
Lower-level services is traditional grid services layer, and lower-level services is mainly provided by the grid computing tool box that Globus, CSF and SRB etc. increase income, and is different with the middleware of using encapsulated layer, and they are general system-oriented middlewares.The lower-level services layer provides the grid computing service ability of core.Along with the continual renovation of mesh services system standard is perfect, various mesh services suppliers certainly will appear.And user's care is how better to use mesh services to solve problem, therefore by using of the dependence of encapsulated layer decoupling zero upper strata to these bottom architecture, avoided the user directly the low layer tool box to be operated dexterously, reached us and simplified the purpose of grid application exploitation.
Two, method flow
1. general grid service call flow process
Mesh services based on Web service is client/service end pattern at present, mesh services call flow shown in Figure 2 is by UDDI (Universal Description in client, Discovery andIntegration) Register obtains mesh services end address and obtains after GWSDL (Grid WSDL) mesh services describes from service end, and it comprises a series of mutual between grid clients and the service end:
Step1: user application calls client stub, by it the suitable SOAP request that converts to is called in this locality;
The step2:SOAP request uses http protocol to send to service end by network, and grid service container is given server stub with it after receiving the SOAP request, and server stub is converted to the form that server realizes that program can be understood to the SOAP request;
Step3: server is carried out the work of being asked after realizing that part is received the request that transfers from server stub;
Step4: the result who carries out request is the SOAP response by server stub treatment conversion;
The step5:SOAP response uses http protocol to send it back client by network.Client stub receives the SOAP response and is converted into the understandable form of client application;
Step6: the End-Customer end is used and is received the result who calls mesh services and use this result.
2. conventional mesh application and development flow process
Traditional grid application exploitation is directly based on existing grid base layer support platform, and we are that example illustrates traditional grid application development process with the current the most ripe Globus Toolkit mesh tool case of grid here.The official release of Globus Toolkit is GT3 (Glbus Toolkit 3) at present, and it has abideed by OGSA grid system framework and core OGSI standard realizes.That uses that GT3 exploitation grid application comprises that the mesh services of service end describes that GWSDL, service realization program, mesh services dispose the user application of describing WSDD (Web Service DeploymentDescriptor) file and client writes the generation of server stub and client stub.By using GT3 to write mesh services, with its basic execution flow process that is deployed to GT3 mesh services end and finishes service call by client.
Be the key step that example is set forth the grid application development process with the MathService mesh services that realizes mathematical operation on the grid platform below:
(1) grid service server end development process
Step1: write the mesh services interface routine with Java, convert thereof into the service interface description document of WSDL form, through the DecorateWSDL instrument it is modified into final WSDL service interface description document again by the Java2WSDL instrument;
Step2:, be compiled into the Stub file of class form again by JAVAC, and be packaged into Math-stub.jar by the Stub file of instrument GSDL2Java by WSDL service interface description document generation Java form.This bag will be used in the application program compiling of client;
Step3: write mesh services with Java and realize program, the service that is compiled into the class form by JAVAC realizes program, needs in the compilation process Stub file of the class form among the step2 is added as classpath.Service realization program with the class form is packaged into Math.jar then;
Step4: write the WSDD deployment descriptor file, and with its Math.jar that generates together with the Math-stub.jar and the step3 of step2 generation, and the WSDL service interface description document that step1 obtains is packaged into Math.gar grid files together.This document will be used for the MathService service is published to grid platform;
Step5: the instruction that operation GT3 provides is published to grid platform with Math.gar grid files;
Step6: after starting the GT3 grid service container, allow this MathService service of client call.
(2) grid clients development process
Step1: write the client-side program that calls mesh services with Java, the client-side program by JAVAC is compiled into the class form needs to use the above Math-stub.jar of step2 generation in the compilation process;
Step2: if the mesh services of being called is the Service Instance that need be created by factory, example is created by the factory that then need call the instruction request service end that GT3 provides;
Step3: carry out the client program calls mesh services that step1 obtains, the mesh services of calling
Step4:GSH (Grid Service Handler) provides the position at mesh services end address and service place as parameter;
Step5: if server end has corresponding mesh services to provide, then carry out user's request, and the result is returned to client, if not this service or call and make mistakes then provides an error messages.
Step6: if the Service Instance that does not need step2 and created, the instruction request that can carry out GT3 provides is destroyed this example.
3. service call and Platform Implementation Coupling point
The various piece of conventional mesh application and development flow process is called and Coupling point between realizing of the service of GT3 platform and as follows with the relation of OGSA/OGSI standard mesh services:
● mesh services interface routine: do not have coupling with the GT3 platform, inherited the GridService interface of OGSI standard.
● mesh services realizes program: be coupled with the GT3 platform, inherited the GridServiceImpl class of GT3, such has realized GridServiceBase and ServiceDataValueCallback interface, wherein the GridServiceBase interface inheritance GridService interface of OGSI standard and other two interfaces that GT3 provided.
● the WSDD deployment descriptor file: with the coupling of GT3 platform, baseClassName, handlerClass, factoryCallback, common parameters such as operationProviders are set at the realization class that GT3 provides.
● call the client-side program of mesh services:, depend on the ServiceGridLocator among the stub, and such has been inherited the ServiceLocator class that GT3 provided and has realized the GridLocator interface that GT3 provided with the coupling of GT3 platform.
● the establishment of factory's example instruction: called the CreateService class that GT3 provided, such depends on classes such as ServiceProperties, GridServiceFactory that GT3 provides, OGSIServiceGridLocator.Simultaneously such and GridServiceFactory class have all been used the interfaces such as Factory of OGSI standard.
4. the coupling of service call and Platform Implementation is peeled off
Avoid the mesh services application and development to depend on fixing grid base layer support platform for reaching, pragmatic these Coupling points now of service call kimonos must be peeled off, this work will encapsulate middleware by Ioc and finish.At different situations, middleware will take different modes to handle getting in touch between application and the low layer tool box.On the whole, for the interface relevant with the OGSI standard, because the user can call service according to the standard interface of existing standard definition, so we use each quasi-mode of Ioc getting in touch of caller and callee peeled off, and its interface that is packaged into compliant is offered upper layer application; And for the standard coupling of undefined interactive interface still, it is adaptive to reach the purpose of avoiding relying on the low layer tool box that we take effective and efficient manner to encapsulate as required.
Main methods to various couplings is as follows:
● realize the coupling of the GridServiceImpl class of program and GT3 for mesh services, adopt the value of the establishing method for implanting of Ioc to come decoupling zero: service realization program class changes a unified encapsulation class of inheriting in the middleware into, and should the encapsulation class externally announce a method setProvider, when being called, mesh services realization program passes to it by the container handle service realization base class relevant with platform.Because the user has stated the interface that it is realized in mesh services realizes class, container need extract the content relevant with standard from this interface, and according to standard for to the defined standard of interface, the realization class of searching and matches criteria in the service realization of platform.When the interface conformance with standard that platform service realizes, only need just simply mate and to obtain a result at the definition of each interface.The interface of realizing when platform service will be used the algorithm that hereinafter will state during not in full conformity with standard.
● baseClassName in the WSDD deployment descriptor file, handlerClass, factoryCallback, the coupling of common parameter values such as operationProviders and GT3, adopt the structure method for implanting of Ioc to come decoupling zero: the correspondence encapsulation class that these common parameter value unifications is set at middleware, when these classes are created, determine the corresponding class relevant with platform, and for the example of these classes is passed to the encapsulation class.
● call the ServiceGridLocator coupling of the client-side program and the GT3 of mesh services, employing comes decoupling zero towards the AOP method that tangent plane inweaves programming: client-side program adopts uniform way to call mesh services, promptly calls the client call class of middleware.Such is then handled the request of client according to different grid platforms and it is sent out according to the form that meets platform.The point of contact of the extraction here is the mesh services call method of each platform.Identical therewith mode decoupling zero is also taked in the instructions such as establishment of factory's example.
5. standard extracts and matching algorithm
OGSI defined the most basic mesh services the GridService portType that must realize, and other optional portType and specific to using or the portType combination in field.OGSI adopts WSDL as the mechanism of describing public grid service interface based on Web service, follows the grammer of XML Schema, is rendered as an ogsi.gwsdl document.The service that is provided when grid base layer support platform realizes that interface does not meet this standard, and we need know that these services realize and the matching degree and the corresponding relation of standard.With reference to the syntactic structure of XML Schema, according to ogsi.gwsdl each standard portType is resolved to ordering rooted tree (orderedrooted tree), be that sample mates each node with these trees then.
Provide concrete matching algorithm below:
Procedure postorder (T: the ordering rooted tree)
The root of r:=T
For from left to right travels through each child node r of r i
begin
T (r i) :=with r iSubtree for root
poswrder(T(r i))
end
If r iBe idol level node then
m:=match(r i)
If r iBe leaf then
If r iBe the most left child node then of r
C r:=0
C r : = C r + m * μ r s . . . . r , r i
If r iBe the rightest child node then of r
C r : = C r * μ r s . . . . r p , r
else C ri : = C ri + m * μ r s . . . . r , r i Else if r iBe the most left child node then of r
C r:=0
C r:=C r+C ri
Tree root is designated 0, its son by from left to right sequence identification be 1,2,3 ..., the descendants's node under it with from tree root to this node the node of process identify, the most left son as 2 is designated 2.1.μ in the algorithm R1.r2....rh, iBe r 1.r 2... .r hThe usefulness coefficient (effect coefficient) of i child node, represent this node that the influence of whole tree coupling is renderd a service.The C that obtains at last 0It is exactly the matching rate of whole portType tree.Resulting intermediate result C in the computation process rMatrix can obtain the service interface that this platform provides and the mapping relations of each key element of standard portType by setting a suitable threshold value.When calling service, the service that can directly call coupling with reference to the mapping of gained.
6.Ioc the grid application development process after the encapsulation
Still be divided into compiling, pack, issue and call four-stage through the grid application development process after the Ioc encapsulation.But encapsulation through middleware, the service interface program that the user need submit to, service realization program, deployment description document and service call program have all broken away from concrete grid computing underlying platform, originally and the coupling between the platform substitute by unified API that middleware provided, realized that getting in touch of caller and callee peel off.Thereby preceding two stages of development process: the compiling of the compiling of service end and packing and client can not rely on the mesh tool case fully.In latter two stage of development process, the dependence of being stripped from will be finished as required and refill:
● launch phase:, relate to different platform service interface is described the path setting in document, service implementing type storehouse and the configuration modification of service end because the issue of service is relevant with concrete grid underlying platform.Therefore this stage will be finished deployment and be described refilling of document and platform related content, and other parts still keep as the service realization and the irrelevance of platform.
● call the stage: the service of developing in this stage is used to be called and to carry out and is obtained the result, refills so this stage will be finished all dependences.According to the service of calling, different injection orders can be arranged: as if what call is the service that needs by factory's establishment, and what finish injection successively is client factory Service Instance request to create, and service realizes that client service is called, and Service Instance is cancelled request; If what call is temporary service, what finish injection successively is that client service is called, and service realizes.
The present invention avoids the concrete grammar of the method for grid computing application to depend on bottom development tool box to be: it separates grid application exploitation and concrete mesh tool case, avoids grid application to depend on specific development platform; The control inversion device of this method is made up of process controller, decoupler, operation tuner, encapsulation maintenance device: process controller is responsible for grid application exploitation main flow, controls the processing of other three assemblies to customer referral program; Encapsulation maintenance device encapsulation grid underlying platform provides unified calling interface to process controller; Process controller obtains the required decoupling zero class of the service of calling with the input as decoupler of the interface of required service by decoupling zero; The operation tuner is started by process controller when starting service call, and the variation that underlying platform occurred in the service invocation procedure is handled in real time, and the method for using these assembly exploitation grid computings to use is specific as follows:
1) start-up control inversion device, encapsulation maintenance device and decoupler are resolved available grid computing underlying platform, carry out initial pre-packaged and decoupling zero and handle;
2) the service realization that can be moved on unit by the grid computing application developer, service interface and service calling program are submitted to the control inversion device, and process controller starts the mesh services development process;
3) process controller starts mesh services service end deployment sub-process, comprises the steps:
A. the sub-process controller obtains the virtual interface that mesh services realizes from decoupler, rewrites service realization program;
B. the sub-process controller compiles the service interface program that revised service realizes that program and developer are submitted to, when obtaining mesh services and realizing class and service call with the stub class of using;
C. sub-process controller request decoupler is disposed decoupling zero, obtains the common encapsulation class of deployment descriptor common parameter, and the service that provides according to the grid computing application developer realizes program generating mesh service arrangement description document;
D. the sub-process controller is realized the service interface program packing that program and developer are submitted to deployment descriptor file, revised service;
E. the sub-process controller starts the encapsulation maintenance device, resolves the common encapsulation class in the deployment descriptor file, obtains the corresponding class relevant with the grid computing underlying platform;
F. sub-process controller request decoupler is realized decoupling zero, according to the deployment descriptor file after resolving decoupling zero class and the mesh services that generates is realized that class is published to concrete grid computing underlying platform;
G. sub-process controller notification streams range controller service end deployment success;
4) process controller starts mesh services client deployment sub-process, comprises the steps:
A. the stub class that a sub-process generates in the utilization of sub-process controller compiles the mesh services calling program that the developer submits to, obtains mesh services and calls class;
B. the sub-process controller adds the pre start-up operation that mesh services is called from encapsulating the service public operation class after maintenance device obtains encapsulation;
C. sub-process controller request decoupler calls decoupling zero to the mesh services of being developed, and with the decoupling zero class that generates with mesh services call class, pre start-up operation is submitted to the mesh services called side;
D. sub-process controller notification streams range controller client deployment success;
5) process controller notice grid computing application developer mesh services is disposed and is succeeded in developing;
6) the mesh services user who is developed requires to call mesh services at client operation mesh services call instruction, the pre start-up operation called of operation service at first during execution command, class is called in operation service then, and the service call class after obtaining reversing by the decoupling zero class is carried out mesh services and called;
7) grid computing platform of service end finds corresponding mesh services and realizes class, and move this service implementing type after receiving the service invocation request of client.Service implementing type after service implementing type obtains reversing by the decoupling zero class, the support class that requires platform validation to provide before calling does not become;
8) if grid computing platform confirms to support class not to be become, service implementing type will directly be moved and obtain calling the result and return to client; If grid computing platform finds to support class change having taken place, the operation tuner of start-up control inversion device has been sought available support class in real time, and has heavily encapsulated to the request of encapsulation maintenance device.
Beneficial effect:
The inventive method has proposed a kind of new method of avoiding the grid computing application and development to rely on grid computing low level development tool box, is mainly used in solution grid computing application and can't breaks away from the problem that platform carries out, and facilitates for simplifying grid computing application and development flow process.The method grid computing application and development that the application of the invention proposes can be used unified API, has avoided the developer to be familiar with the duplication of labour and the complicacy that relies on platform development mesh services such as GT3 of different grid base layer support platforms.And the present invention makes each stage of grid computing application and development separate as much as possible, helps the simplification based on instruments such as ant of each phase process process, can improve the simplicity and the dirigibility of method for designing.Avoid the grid computing application and development to rely on the grid computing tool box and have following advantage:
1. the exploitation programming is simple and easy
The present invention is intended to simplify the grid computing application and development, has avoided its dependence to the bottom tool box, has made things convenient for the service of application developer to realize program and dispose writing of documents such as description largely.Middleware upwards provides unified API to call and the deployment parameters setting for user program, the developer needn't spended time energy removes to understand the interface and the programming mode in bottom tool box, more saved and changed bottom tool box repeated labor afterwards, the exploitation that grid computing is used is simple.
2. code reusability
Middleware groundwork of the present invention is to finish the encapsulation in bottom tool box and adaptive, for different grid underlying platforms, only need carry out once just can using, adopt the common application pattern of existing mesh tool case, can be used for multiple mesh tool case the pre-packaged of tool box.Based on API provided by the present invention, the grid computing application code need not be revised just can be submitted on the different grid underlying platforms and use, and good reusability is arranged equally.
3. the changeability of standard
XML has become the information representation form of Web technology main flow, though each class standard of grid is constantly weeded out the old and bring forth the new, its presentation format will keep the XML form in the long time.But the algorithm that the present invention proposes is the OGSI standard of parsing XML format not only, can resolve the new standard that substitutes OGSI in the future equally, as long as these standards employings is the XML form.The present invention fully takes into account Development of Grid Technology trend, makes the method that is proposed that the adaptability and the dirigibility of height can be arranged.
4. good extendability
With reference to Open Grid Service architectural model and five layers of hourglass architecture, the present invention presents with the form of grid application middleware, other middle unit developments person can further develop grid computing based on the encapsulation of this middleware, has embodied good extensibility.
5. further simplify for the grid exploitation and provide support
Can see that based in the common application framework of the present invention flow process is divided into four stages independently: compile, pack, issue and call.Preceding two flow processs of grid application exploitation all are totally independent of the grid underlying platform, and latter two flow process also is to finish step by step to rely on to inject.The user only need submit service interface, service realization, service call to and dispose and describe, and the process of back can be by finishing by batch processing instruments such as ant.In conjunction with parsing and code Generation that grid computing is used, application developer can only be submitted the service code the same with common applications to, obtain satisfactory service interface, service realization, service call and dispose description specifically by processing, finish compiling, pack, dispose and call by graphical interfaces then.Therefore the present invention provides support preferably for the further simplification of grid application exploitation.
Description of drawings
Fig. 1 is the level synoptic diagram of Ioc control inversion device in the open grid service system.Be divided into application layer among the figure from top to bottom, use encapsulated layer, lower-level services layer and resource layer, Ioc encapsulation middleware is positioned at the application encapsulated layer.
Fig. 2 is the assembly assumption diagram of control inversion device.It comprises decoupler, process controller, operation tuner, four functional modules of encapsulation maintenance device.Wherein decoupler comprises realization decoupling zero, subordinate's decoupling zero, calls decoupling zero.
Fig. 3 is general grid service call process flow diagram.Comprise a series of mutual of mesh services end and client among the figure.
Fig. 4 is based on the grid application development process figure of GT3 grid platform.Each class method and file and the performance history that to write, handle, compile, pack, dispose have been shown among the figure.
Fig. 5 is the grid application development process figure after the Ioc encapsulation.Expression is based on a common application framework of the present invention.
Embodiment
For convenience of description, our supposition has following application example:
Grid application developer will develop a MathService mesh services.This service provides factory's service at the mesh services end, but the customer in response end is created the request of Service Instance.Two parameters that the Service Instance of creating is submitted to client add, subtract, multiplication and division mathematical computations and return result of calculation.Now adopt the service end and the client of GT3.0.2 grid underlying platform.
Then its embodiment is:
(1) application developer is write service interface program Math.java
Mathematical operation operation and parameter and rreturn value types such as statement MathService mesh services will realize adds, subtract, multiplication and division;
(2) application developer is write service realization program MathImpl.java
State that its base class is the general mesh services realization encapsulation class that middleware provided, and realize MathPortType interface (this interface will be generated by service interface program Math.java);
Realize that with writing generic interface program is the same, the developer writes the specific implementation code of all operations of stating in the previous step interface routine in program body;
(3) application developer is write to dispose and is described document Math.wsdd
Set the parameter of the title of describing the MathService mesh services, the title of Service Instance, the path of WSDL, the base class of Service Instance etc.;
BaseClassName in the common parameter, handlerClass, factoryCallback, operationProviders are set at the correspondence encapsulation class that middleware provides respectively;
(4) finish the compiling packing by ant
The required service interface compiling of carrying out is generated, serves work such as realizing compiling, document copying to be submitted to the form of build.xml, ant will be according to all programs and the document that given sequential processes user submitted to, and provide the feedback of every phase process information, will show the build success as inerrancy, directly obtain to be published to the Math.gar grid files on the platform service end.
(5) be published to the grid computing platform service end
Call the deployment analysis program that this middleware provides, this program will be handled to dispose according to the grid platform of being discerned automatically and describe document, and at the GT3.0.2 platform, it will be handled:
● will dispose and describe the corresponding realization class that correlation parameter in the document is revised as GT3.0.2;
● call ant and comprise the deploy document that the GT3.0.2 platform releases news and serve issue;
(6) client-requested is created factory's Service Instance
Call user's request that this middleware provides and install program additional, this program will discern grid platform and the request of the establishment factory Service Instance that proposes according to the user, according to concrete platform to the satisfactory example request to create of service end proposition form;
(7) service end is created factory's Service Instance
The request of service end container customer in response end, the work that establishment factory Service Instance is carried out is as follows:
● container is searched the lower-level services supplier of coupling according to service interface, obtains the service implementing type in GT3.0.2 tool box;
● container according to request with parameter (grid service handle GSH) find the MathService service factory class that is distributed on the platform service end, be its service implementing type of injecting the GT3.0.2 tool box;
● container is created the example of MathService, and it is added the container instance storehouse, and the notice client is created success and informed the GSH of the example of creating;
(8) the client call service example performs mathematical calculations
Program is installed in user's request that calling this middleware provides additional, this program with process user call and correlation parameter proposes the satisfactory service invocation request of form according to concrete platform to service end, and the form that consults return results according to user's setting and service end;
(9) service end is carried out the operation to Service Instance
The service end container receives the request of client, finds the example of corresponding GSH in case library, calls institute's requested operation, and result's form is by appointment returned to client;
(10) client obtain the result of the mathematical operation of asking operation, overall process finishes.

Claims (1)

1. method of avoiding grid computing application to depend on bottom development tool box is characterized in that it separates grid application exploitation and concrete mesh tool case, avoids grid application to depend on specific development platform; The control inversion device of this method is made up of process controller, decoupler, operation tuner, encapsulation maintenance device: process controller is responsible for grid application exploitation main flow, controls the processing of other three assemblies to customer referral program; Encapsulation maintenance device encapsulation grid underlying platform provides unified calling interface to process controller; Process controller obtains the required decoupling zero class of the service of calling with the input as decoupler of the interface of required service by decoupling zero; The operation tuner is started by process controller when starting service call, and the variation that underlying platform occurred in the service invocation procedure is handled in real time, and the method for using these assembly exploitation grid computings to use is specific as follows:
1) start-up control inversion device, encapsulation maintenance device and decoupler are resolved available grid computing underlying platform, carry out initial pre-packaged and decoupling zero and handle;
2) the service realization that can be moved on unit by the grid computing application developer, service interface and service calling program are submitted to the control inversion device, and process controller starts the mesh services development process;
3) process controller starts mesh services service end deployment sub-process, comprises the steps:
A. the sub-process controller obtains the virtual interface that mesh services realizes from decoupler, rewrites service realization program;
B. the sub-process controller compiles the service interface program that revised service realizes that program and developer are submitted to, when obtaining mesh services and realizing class and service call with the stub class of using;
C. sub-process controller request decoupler is disposed decoupling zero, obtains the common encapsulation class of deployment descriptor common parameter, and the service that provides according to the grid computing application developer realizes program generating mesh service arrangement description document;
D. the sub-process controller is realized the service interface program packing that program and developer are submitted to deployment descriptor file, revised service;
E. the sub-process controller starts the encapsulation maintenance device, resolves the common encapsulation class in the deployment descriptor file, obtains the corresponding class relevant with the grid computing underlying platform;
F. sub-process controller request decoupler is realized decoupling zero, according to the deployment descriptor file after resolving decoupling zero class and the mesh services that generates is realized that class is published to concrete grid computing underlying platform;
G. sub-process controller notification streams range controller service end deployment success;
4) process controller starts mesh services client deployment sub-process, comprises the steps:
A. the stub class that a sub-process generates in the utilization of sub-process controller compiles the mesh services calling program that the developer submits to, obtains mesh services and calls class;
B. the sub-process controller adds the pre start-up operation that mesh services is called from encapsulating the service public operation class after maintenance device obtains encapsulation;
C. sub-process controller request decoupler calls decoupling zero to the mesh services of being developed, and with the decoupling zero class that generates with mesh services call class, pre start-up operation is submitted to the mesh services called side;
D. sub-process controller notification streams range controller client deployment success;
5) process controller notice grid computing application developer mesh services is disposed and is succeeded in developing;
6) the mesh services user who is developed requires to call mesh services at client operation mesh services call instruction, the pre start-up operation called of operation service at first during execution command, class is called in operation service then, and the service call class after obtaining reversing by the decoupling zero class is carried out mesh services and called;
7) grid computing platform of service end finds corresponding mesh services and realizes class, and move this service implementing type after receiving the service invocation request of client.Service implementing type after service implementing type obtains reversing by the decoupling zero class, the support class that requires platform validation to provide before calling does not become;
8) if grid computing platform confirms to support class not to be become, service implementing type will directly be moved and obtain calling the result and return to client; If grid computing platform finds to support class change having taken place, the operation tuner of start-up control inversion device has been sought available support class in real time, and has heavily encapsulated to the request of encapsulation maintenance device.
CNB2005100940342A 2005-08-26 2005-08-26 Method for avoiding grid computing application to depend on bottom development tool box Expired - Fee Related CN100345110C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100940342A CN100345110C (en) 2005-08-26 2005-08-26 Method for avoiding grid computing application to depend on bottom development tool box

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100940342A CN100345110C (en) 2005-08-26 2005-08-26 Method for avoiding grid computing application to depend on bottom development tool box

Publications (2)

Publication Number Publication Date
CN1744037A CN1744037A (en) 2006-03-08
CN100345110C true CN100345110C (en) 2007-10-24

Family

ID=36139427

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100940342A Expired - Fee Related CN100345110C (en) 2005-08-26 2005-08-26 Method for avoiding grid computing application to depend on bottom development tool box

Country Status (1)

Country Link
CN (1) CN100345110C (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101901162A (en) * 2010-07-09 2010-12-01 上海动量软件技术有限公司 System and method for dynamic data integration and scheduling by cloud computing in computer software system
CN102685166B (en) * 2011-03-17 2017-04-12 新奥特(北京)视频技术有限公司 Task distribution scheduling method and system based on SpringIOC
CN102393817A (en) * 2011-06-28 2012-03-28 浪潮集团山东通用软件有限公司 Method for dynamically creating object example by configuration in run time
CN103164270B (en) * 2011-12-12 2017-08-04 阿里巴巴集团控股有限公司 Java system application program interface call method and system
CN103152433B (en) * 2013-01-14 2017-12-05 广东电子工业研究院有限公司 A kind of use, interaction and the request processing method at Distributed Services end
CN106648563B (en) * 2015-10-30 2021-03-23 阿里巴巴集团控股有限公司 Dependency decoupling processing method and device for shared module in application program
CN109376072B (en) * 2018-09-10 2022-05-17 百度在线网络技术(北京)有限公司 Application program development method and device based on third-party component library
CN109445845B (en) * 2018-09-10 2022-09-30 深圳市智美达科技股份有限公司 Interface calling method and device, computer equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027865A1 (en) * 2003-07-28 2005-02-03 Erol Bozak Grid organization
WO2005015394A2 (en) * 2003-07-28 2005-02-17 Sap Aktiengesellschaft Grid landscape component
US20050066309A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation Validating software in a grid environment using ghost agents
US20050165912A1 (en) * 2004-01-23 2005-07-28 Colbeck Scott J. GUI-based grid computing data management apparatus method and system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050027865A1 (en) * 2003-07-28 2005-02-03 Erol Bozak Grid organization
WO2005015394A2 (en) * 2003-07-28 2005-02-17 Sap Aktiengesellschaft Grid landscape component
US20050066309A1 (en) * 2003-09-19 2005-03-24 International Business Machines Corporation Validating software in a grid environment using ghost agents
US20050165912A1 (en) * 2004-01-23 2005-07-28 Colbeck Scott J. GUI-based grid computing data management apparatus method and system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
基于OGSA/OGSI和Eclipse的网格计算平台设计 季一木,王汝传,电子工程师,第31卷第1期 2005 *
基于Web service 的grid service 的应用研究 季一木,王汝传,江苏通信技术,第21卷第1期 2005 *
网格计算中基于OGSI的GT3动态适配模型研究 杨清,王汝传,江苏通信技术,第21卷第2期 2005 *
网格计算开发平台GBuilder 的研究与实现 穆鸿,王汝传,微机发展,第15卷第6期 2005 *

Also Published As

Publication number Publication date
CN1744037A (en) 2006-03-08

Similar Documents

Publication Publication Date Title
CN100345110C (en) Method for avoiding grid computing application to depend on bottom development tool box
CN1291313C (en) System and method for the automatic installation and configuration of an operating system
CN1313920C (en) Member assembling method based on united member package structure
CN1811702A (en) System and method for developing portal applications and automatically deploying them into a portal server application
CN1196995C (en) Application software development system andm ehtod, application software devlopment program and application software generating method
CN1252592C (en) Communications services provisioning method and apparatus and object programming language for developing provisioning models
CN1577322A (en) Method and system for application installation and management using an application-based naming system including aliases
CN100337235C (en) Method and apparatus for accessing database
CN1916842A (en) Method of packaging component for implementing reflection mechanism in structurized software system
CN1764183A (en) QoS driven computer system for providing combined Web service based on computer network
CN1967485A (en) Method and system for realizing J2EE application
CN1609796A (en) Design of application programming interfaces (APIs)
CN1832476A (en) Dynamic service surrogates
CN1592227A (en) Method and system for providing life-cycle management of grid services
JPH10240509A (en) Method and device for generating software application, program module and data processor
CN1908894A (en) Brew-based dynamic user interface system structure and method for realization
CN1658609A (en) System and method for customized provisioning of application content
CN101042649A (en) Configuring information processing method and arrangement, and platform system
CN101078995A (en) Method for accessing information service in component operation support platform
CN101645009A (en) Web service integrated development system and method
WO2009061146A2 (en) A method for software development and operation based on component reuse and dependency injection
CN1805431A (en) Web service processing system for remote portal components
CN1819588A (en) Network service providing method based on middleware platform
CN100345111C (en) A method of model driving for grid computation
CN1591339A (en) System and method for providing shared web modules

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Wang Ruchuan

Inventor after: Li Jie

Inventor after: Yang Qing

Inventor before: Wang Ruchuan

Inventor before: Yang Qing

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: WANG RUZHUAN YANG QING TO: WANG RUZHUAN LI JIE YANG QING

EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20060308

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: Nanjing Post & Telecommunication Univ.

Contract record no.: 2016320000220

Denomination of invention: Method for avoiding grid computing application to depend on bottom development tool box

Granted publication date: 20071024

License type: Common License

Record date: 20161121

LICC Enforcement, change and cancellation of record of contracts on the licence for exploitation of a patent or utility model
EC01 Cancellation of recordation of patent licensing contract

Assignee: Jiangsu Nanyou IOT Technology Park Ltd.

Assignor: Nanjing Post & Telecommunication Univ.

Contract record no.: 2016320000220

Date of cancellation: 20180116

EC01 Cancellation of recordation of patent licensing contract
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20071024

Termination date: 20170826

CF01 Termination of patent right due to non-payment of annual fee