Note: Within nine months of the publication of the mention of the grant of the European patent in the European Patent Bulletin, any person may give notice to the European Patent Office of opposition to that patent, in accordance with the
1
649
648
B1
TEPZZ_649648B_T
(11)EP 1 649 648 B1
(12)
EUROPEAN PATENT SPECIFICATION
(45) Date of publication and mention of the grant of the patent:
15.10.2014 Bulletin 2014/42
(21) Application number: 04756769.8 (22) Date of filing: 09.07.2004
(51) Int Cl.:
G06F 9/445(2006.01)
(86) International application number:
PCT/US2004/021832
(87) International publication number:
WO 2005/008935 (27.01.2005 Gazette 2005/04)
(54) SYSTEM AND METHOD FOR CLUSTER DEPLOYMENT SYSTEM UND VERFAHREN FÜR CLUSTER-EINSATZ SYSTEME ET PROCEDE DE DEPLOIEMENT DE GRAPPES (84) Designated Contracting States:
AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LI LU MC NL PL PT RO SE SI SK TR
(30) Priority: 11.07.2003 US 486693 P (43) Date of publication of application:
26.04.2006 Bulletin 2006/17
(73) Proprietor: CA, Inc.
Islandia, NY 11749 (US) (72) Inventors: • NARAYANASWAMY, Sreedhara Plano, TX 75024 (US) • BOYD, Gerald Trenton, TX 75490 (US)
(74) Representative: Dunlop, Hugh Christopher et al
RGC Jenkins & Co. 26 Caxton Street London SW1H 0RJ (GB)
(56) References cited:
EP-A- 1 050 813 WO-A-02/065283 US-A1- 2003 018 699 US-A1- 2003 097 551 • OSAMU TAKAGIWA ET AL.: "WebSphere Studio
Application Developer Programming Guide SG24-6585-00" [Online] 5 August 2002 (2002-08-05), IBM , SAN JOSE, CA, USA , XP002505111 Retrieved from the Internet: URL: http://www.redbooks.ibm.com/redbooks/p dfs/sg246585.pdf> [retrieved on 2008-11-21] pages iii-xviii; pages 419-440 * the whole document *
• BEA WebLogic (three documents disclosing the same teaching - Deployment Guide pp. 1-5; Assembling and Deploying Enterprise Applications pp. 1-27; Assembling Your Web Application pp. 1-18); all obtained from the BEA.com website; 7/30/2002
5 10 15 20 25 30 35 40 45 50 55 Description
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] The present application is related to U.S. Patent
Application Serial Nos. 10/378,503 and 10/378,504 The present application claims the benefit of U.S. Provisional Application No. 60/486,693, filed July 11, 2003. TECHNICAL FIELD
[0002] The present application relates to enterprise
management systems, and particularly, to a system and method for assembling and deploying program compo-nents to a cluster of servers in a network.
BACKGROUND
[0003] Middle tier applications, also referred to as
ap-plication servers, typically operate on top of a wide range of existing enterprise systems such as database man-agement systems, transaction monitors, and naming and directory services. Many of these application servers are built based on standard specifications such as the Java 2 Platform, Enterprise Edition (J2EE) to provide portabil-ity and scalabilportabil-ity to applications managing and access-ing various enterprise systems.
[0004] J2EE, for example, defines a specification for
developing enterprise applications to follow as a ard. J2EE bases the enterprise applications on stand-ardized, modular components, by providing a set of serv-ices to those components, and by handling many details of application behavior automatically. J2EE includes sup-port for Enterprise JavaBeans (EJB) components, Java Servlets API, JavaServer Pages, and Extended Marked-up Language (XML) technology.
[0005] Accordingly, an application built conforming to
the J2EE standard specification may be deployed to an application server, local or remote, or a cluster of appli-cation servers that supports the J2EE standards, thus allowing the deployed application to manage and access various resources provided by the underlying enterprise systems via the application server.
[0006] Clusters are sets of servers that are managed
together and participate, for example, in workload man-agement. The servers that are members of a cluster can be on different host machines. An example, of an appli-cation server that supports clustering is the Websphere application server. Websphere is a set of Java-based tools from IBM that allows customers to create and man-age business web sites with Java applications or servlets.
[0007] Briefly, deployment is the process of distributing
and configuring various part of application programs such as J2EE applications to appropriate locations in applica-tion servers. In many cases, deployment process is ven-dor specific and requires manual steps. Further, deploy-ing applications to a remote or cluster of application serv-ers can require additional knowledge and steps.
[0008] EP 1050813 describes a technique for
deploy-ing packaged application modules on a target platform using deployment descriptors.
[0009] WO 02/065283 describes a technique for
re-motely installing systems management software on mul-tiple hosts. This technique uses a survey tool that is downloaded from an installation station at the hosts to gather environment information for the hosts. The instal-lation station transfers a payload of the systems man-agement software to the hosts. An installation tool also downloaded from the installation station at the hosts is used to install the payload on the hosts.
SUMMARY
[0010] Aspects of the present invention are set out in
the independent claims.
[0011] A system and method for automatically
deploy-ing program units to a cluster of application servers is provided. The method includes assembling one or more program units for deploying to a cluster of networked servers. The method also includes retrieving information related to the cluster of networked servers, generating deployment descriptors from the information, and de-ploying the one or more program units to the cluster using at least the deployment descriptor.
[0012] In another example, the assembling and
retriev-ing information may be performed interactively utilizretriev-ing a user interface that retrieves information related to the one or more program units and user preferences from the user.
[0013] The system for automatically deploying
pro-gram units to a cluster of networked servers includes data source management module operable to retrieve data source information from an application server to which to deploy one or more program units. The system also includes cluster management module operable to retrieve cluster information related to the application server, and container management module operable to retrieve container information related to the application server.
[0014] The data source information, cluster
informa-tion, and container information are used to automatically deploy the one or more program units to a cluster of net-worked servers.
[0015] Further features as well as the structure and
operation of various embodiments are described in detail below with reference to the accompanying drawings. In the drawings, like reference numbers indicate identical or functionally similar elements.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016]
Fig. 1 is an architectural diagram illustrating the clus-ter deployment flow in one embodiment.
5 10 15 20 25 30 35 40 45 50 55 of the cluster deployment flow in one embodiment. DETAILED DESCRIPTION
[0017] The present disclosure describes a system and
method for assembling and deploying software or pro-gram units, also referred to as propro-gram files or propro-gram modules to a middle tier applications or application serv-ers such as the IBM Websphere cluster. EJBs to be de-ployed need not have been generated by a particular assembly tool provided in the target application server. The system and method in one embodiment uses a clus-ter deployment flow (CDF) architecture to allow users to automatically deploy program units to an application server cluster.
[0018] The system and method, in one embodiment,
may be implemented as a plug-in, for example, to be used in conjunction with a universal deployment tool. A user interface may be provided to guide a user through this single deployment process.
[0019] Assembling EJB components typically includes
packaging classes into JAR (Java archive) and WAR (Web archive) files, creating EAR (EJB archive) file, and generating deployment descriptor files, among other tasks. When operated in conjunction with the deployment tool or a similar tool, the CDF system and method of the present disclosure in one embodiment allows assem-bling of one or more EJBs, generating application server suitable deployment descriptors, and deploying the com-ponents to the application server cluster such as the Websphere cluster.
[0020] In the following description, well-known
func-tions and components are not described in detail. Thus, many known features and definitions related to J2EE standard specification and Java programming methods are not described in detail. Also in the following descrip-tion, a Websphere cluster is used as an example of a target application server cluster, however, it should be understood that the disclosed method and system may be used to deploy to other application servers having similar deployment schemes.
[0021] Fig. 1 is an architectural diagram illustrating the
cluster deployment flow in one embodiment. An applica-tion server cluster 102 may include applicaapplica-tion servers on node 1 104, node 2 106, node 3 108, and node n 110 on supported platforms such as Windows, Linux, Solaris, AIX, OS/400 and/or OS/390. Clusters are sets of servers that are managed together and participate in workload management.
[0022] The cluster deployment flow (CDF) in one
em-bodiment includes application server (such as Web-sphere) administrative management components com-prising data source management 114, cluster manage-ment 116, and container managemanage-ment 118. The data source management 114 retrieves and processes the information about the data sources that are available for each node configured in the cluster. For instance, in the case of the Websphere application server, data source
management 114 retrieves data sources from a network deployment server of the application server 112. The re-trieved data sources are presented to the user. The user may change the data source information or proceed with the existing data source bundled with the EJB.jar file.
[0023] An example of the retrieved data sources
in-clude shipment component data source such as "Ship-
mentCompo-nent(cells/WebSpere2Network/nodes/Webspher e2:re-sources.xml1#DataSource_1)." This information is fil-tered and retrieved from an existing application server’s deployment server such as the Websphere 5.0 Network deployment server 112 using; for example, JACL script. Thus, in one embodiment, the data source management lists the data sources.
[0024] The cluster management 116 retrieves the
clus-ter information and provides the clusclus-ter information to the user to select the appropriate target cluster to deploy the EJB. For instance, the cluster management 116 re-trieves and processes the information of the cluster that are configured for an application server’s deployment server such as the Websphere 5.0 Network deployment server. An example of cluster information is "snscluster1(cells/WebSphere2Network/clusters/sn-scluster 1:cluster.xml#sn"snscluster1(cells/WebSphere2Network/clusters/sn-scluster1)." Sn"snscluster1(cells/WebSphere2Network/clusters/sn-scluster1 is a cluster in network deployment server. The information related to the snsclusterl is retrieved, for example, using a JACL script.
[0025] The container management 118 retrieves and
processes information about the cell, node, and applica-tions that are deployed on the cluster of application serv-ers, virtual hosts for each node in a cluster for all the cluster that are configured for the application server’s deployment server. For example, the container manage-ment 118 retrieves the application names, nodes, server names, and virtual hosts information using a JACL script. Examples of retrieved information include
"WebSphere2(cells/WebSphere2Network/nodes/WebS phere2:nod e.xml1#Node_1)," where WebShpere2 is the
name of a node;
"server1(cells/WebSphere2Network/nodes/WebSphere 2/server s/server1:server.xml#Server_1)," where server1 is a server;
default_host(cells/WebSphere2Network:virtual-hosts.xml#Vi rtualHost_1)," where default_host is a vir-tual host; and "ShipmentTechnologySamples," where shipment and technology samples are the applications already deployed onto the network deployment server.
[0026] Briefly, a cell is a repository of nodes in an
ap-plication server such as the Websphere Apap-plication Serv-er. Cell is arbitrary, logical grouping of one or more nodes in an application server distributed network. A node refers to an application server installed on a machine. A node is within a cell in the application server. A cell can have multiple nodes. In one embodiment, a cell is unique to a machine and a node is a logical grouping of managed servers.
5 10 15 20 25 30 35 40 45 50 55 host machine to resemble multiple host machines. Re-sources associated with one virtual host do not share data with resources associated with another virtual host, even if the virtual hosts share the same physical machine. Virtual hosts allow the administrator to isolate, and inde-pendently manage, multiple sets of resources on the same physical machine.
[0028] Servers that belong to a cluster are members
of that cluster set and all have identical application com-ponents deployed on them. Other than the applications configured to run on them, cluster members need not share any other configuration data. One cluster member may be running on a huge multi-processor enterprise server system while another member of that same cluster may be running on a small laptop. The server configura-tion settings for each of these two cluster members may be very different, except in the area of application com-ponents assigned to them. In that area of configuration, they are identical.
[0029] In one embodiment, the container management
118 indicates the final stage of a deployment process, which creates all the appropriate JNDI bindings and de-ploys the EJB through the JACL script.
[0030] In one aspect, a user is provided with a choice
to deploy new program modules or to redeploy existing program modules. If the user selected to deploy new ap-plication program modules, the program modules such as the Enterprise JavaBeans are deployed to the target application server for that cluster to a set of nodes. In this case, the node in a cluster is cloned and the program modules are deployed to the target node as well as the cloned node for that cluster. For example, referring to Fig. 1, the program modules are deployed to node 1 and cloned node 11 104. Clones may be created, for instance, by users during cluster creation in the Websphere. For example, during the cluster creation in the Websphere, a user can add a node and clone that specific node. Thus, the cluster will have a set of nodes in which the nodes in the set may be cloned by the user while creating the cluster. Creating clusters in the Websphere application servers are known to those skilled in the art, therefore, will not be further described.
[0031] In one aspect, a script, for example, a JACL
script is generated automatically to use the third party application server’s specific utility (such as wsadmin for Websphere) to deploy the program modules.
[0032] If the user selects an existing application from
a cluster, then a script such as the JACL script (scripting language for Java platforms) may be generated to use the third party application server’s specific utility (such as wsadmin for Websphere) to re-deploy the program modules for that cluster to a set of nodes having the ap-plication servers installed.
[0033] Fig. 2 is a functional diagram illustrating an
over-view of the cluster deployment flow in one embodiment. The enterprise archive (EAR) of the Enterprise Java-Beans, which may include an Enterprise JavaBean and Web application are generated and packaged from such
tools as Joe, Gen, Plex, 2E, or other tools. At 204, the EAR are accessed through the Universal Deployment tool (UDT) of Advantage Joe 3.1, for deployment to a deployment server such as the Websphere 5.0 network deployment server. At 206, the UDT dynamically loads the application server plugin such as the Websphere 5.0 Plugin to perform the cluster deployment. At 208, specific application server profile such as the Websphere 5.0 Pro-file is created for the target Websphere Network deploy-ment server.
[0034] At 210, information about the cluster is retrieved
from a deployment server such as the network deploy-ment server for the Websphere applications (211). At 212, information about the nodes, servers, virtual hosts, and applications deployed are retrieved from the deploy-ment server such as the network deploydeploy-ment server for the Websphere applications (211). A cluster may have multiple nodes and clones.
[0035] A user has a choice to do the cluster deployment
or regular deployment using the Single Transparent De-ployment Flow (STDF). At 214, if cluster deDe-ployment is selected, then the cluster information, virtual hosts infor-mation, and applications already deployed onto clusters are listed. At 216, a user may select cluster, virtual hosts, and existing applications for redeployment or new appli-cations for new deployment. At 214, if regular node de-ployment using STDF is selected, regular node deploy-ment is performed at 232.
[0036] A user may be given a choice to expose the
Enterprise Java Beans as web services at 218. For in-stance, a user has a choice to select the enterprise ap-plication and deploy it as web services. The enterprise application, for example, JavaBeans and points are gen-erated for web services. A web service can be published in a directory where a web service browser can locate the information needed to access the web service. Since the enterprise Javabean (EJB) can be accessed as a web service which can appear in a directory, the EJB is considered to be exposed. At 220, if a user selects to expose the Enterprise Java Beans as web services, then at 222, web services customization is done to expose the EJB as web services. The customization may include creating the interface description information, additional classes and files needed to allow the EJB to be accessed as a web service.
[0037] If at 218, no EJBs are to be exposed as web
services, deployment process takes place at 224.
[0038] Deployment process, for example, may include
generating Apache SOAP deployment descriptor for the EJB and executing the Websphere IBM "SoapEarEna-bler.bat" command line utility. This tool may be used to package one or more web services in a Websphere EAR file. After executing this utility, one or more new WAR files will have been added to the EAR file. Deployment process may also include generating a WSDL document for the EJB session bean using the Apache Axis Java2WSDL generation tool. The resulting WSDL doc-ument may then be added to the SOAP WAR file so that
5 10 15 20 25 30 35 40 45 50 55 it is hosted by the web service web application.
[0039] At 226, a user may choose to customize any
one or more of the deployment descriptor files such as ejb-jar.xml, web.xml, and application.xml files. For in-stance, a user may edit the ejb-jar.wml or web.xml or application.xml to include security tags or any websphere specific tags if required. This customization involves a merge after the user edits the ejb-jar.xml or applica-tion.xml or web.xml file. The merge updates the changes made by the user to the appropriate ejb-jar.xml or appli-cation.xml or web.xml files and creates the EJB.jar and EJB.ear files.
[0040] At 228, EJB.ear is processed by creating the
appropriate JNDI bindings, Websphere deployment de-scriptor files and deploys it to the target cluster of the network deployment server. JNDI bindings, for example, are created for each of the EJB.jar in the EJB.ear file. The JNDI bindings have the information about the EJB JNDI name and the datasource information.
[0041] The INF/ibm-ejb-jar-bnd.xmi
META-INF/ibm-ejb-jar-ext.xmi are created in each of the EJB.jar file and packaged into EJB.ear. The processing at 228 is performed, for example, when a user clicks a "finish button" on a user interface or otherwise indicates the user is finished with selecting available options and is ready for deployment.
[0042] At 230, the status of the deployment is reported
back in the UDT. For instance, the deployment status is retrieved from the Websphere network deployment serv-er.
[0043] The deployment status is retrieved from the
de-ployment JACL scripts. Dede-ployment status in one em-bodiment indicates whether the EJB deployed success-fully or failed. The appropriate IBM Websphere exception message may be displayed onto a deployment console.
[0044] The system and method of the present invention
may be implemented and run on a general-purpose com-puter. The embodiments described above are illustrative examples and it should not be construed that the present disclosure is limited to these particular embodiments.
[0045] For example, although the system and method
disclosed herein has been described with respect to J2EE and Java environment, and Websphere application server as an example for ease of explanation, it is not limited only to such programming environment. Accord-ingly, the present invention is not limited except as by the appended claims.
Claims
1. A method of automatically deploying program units
to a cluster (102) of networked servers (112), com-prising:
assembling one or more program units for de-ploying to the cluster (102) of networked servers (112);
retrieving (210) information related to the cluster (102) of networked servers (112);
using (204) a universal deployment tool (138) to dynamically load (206) a plug-in (134); and automatically, and without user input, using the dynamically loaded plug-in (134) to generate a script to use a specific utility of the networked servers (112) for:
generating deployment descriptors for the cluster (102) of networked servers (112) from the retrieved information, and deploying (228) the one or more program units to the cluster (102) of networked servers (112) using at least the deployment descriptors.
2. The method of claim 1, wherein the generating
fur-ther comprises providing naming and directory inter-face binding files.
3. The method of claim 1, wherein the cluster (102) of
networked servers (112) comprises one or more ap-plication servers, and the retrieving (210) comprises automatically retrieving information related to the one or more application servers in the cluster (112).
4. The method of claim 3, further comprising:
dynamically allowing a user to select from the one or more application servers.
5. The method claim 1, wherein the retrieving (210)
comprises:
automatically retrieving information related to one or more virtual hosts in the cluster.
6. The method of claim 5, further comprising:
dynamically allowing a user to select from the one or virtual hosts.
7. The method of claim 1, wherein the retrieving
com-prises determining a type of application server in-stalled on one or more nodes to which to deploy the program units.
8. The method of claim 1, wherein the assembling
fur-ther comprises providing a user interface to gafur-ther information from a user about the one or more pro-gram units being deployed.
9. The method of claim 1, wherein the cluster (102) of
networked servers (112) includes at least an appli-cation server and one or more clones of the applica-tion server.
5 10 15 20 25 30 35 40 45 50 55
10. The method of claim 1, further including allowing
re-deploying of already deployed one or more program units to the cluster.
11. The method of any one of the preceding claims,
wherein the information related to the cluster (102) of networked servers (112) is retrieved from a de-ployment server (211).
12. A computer-readable medium comprising
instruc-tions which, when executed by a computer, result in performance of the method steps of claim 1 or 2.
13. A system for automatically deploying program units
to a cluster (102) of networked servers (112), com-prising:
means for assembling one or more program units for deploying to the cluster (102) of net-worked servers (112);
means for retrieving (120, 130) information re-lated to the cluster (102) of networked servers (112);
a universal deployment tool (138) operable to dynamically load a plug-in (134); and
means for automatically, and without user input, using the dynamically loaded plug-in to generate a script to use a specific utility of the networked servers (112) for:
generating deployment descriptors for the cluster (102) of networked servers (112) from the retrieved information, and deploying (228) the one or more program units to the cluster (102) of networked serv-ers (112)_using at least the deployment de-scriptors.
14. The system of claim 13, wherein:
the cluster (102) of network servers (112) com-prises an application server; and
the means for retrieving (120, 130) information comprises:
data source management module (114) op-erable to retrieve data source information from the application server to which to de-ploy one or more program units;
cluster management module (116) opera-ble to retrieve cluster information related to the application server; and
container management module (118) oper-able to retrieve container information relat-ed to the application server,
wherein the data source information, cluster information, and container information are used to generate the deployment
descrip-tors for automatically deploying (228) the one or more program units to the cluster of networked servers.
15. The system of claim 14, further including:
a user interface module to retrieve information from a user related to one or more user prefer-ences for deploying the one or more program units.
16. The system of claim 15, wherein the user interface
module is further operable to allow the user to change the retrieved data source information.
17. The system of claim 15, wherein the user interface
module is further operable to allow the user to select a target cluster from the retrieved cluster information, to which to automatically deploy the one or more program units.
Patentansprüche
1. Verfahren zum automatischen Einsetzen von
Pro-grammeinheiten in einem Cluster (102) aus vernetz-ten Servern (112), umfassend:
Zusammenstellen von einer oder mehreren Pro-grammeinheiten zum Einsetzen in dem Cluster (102) aus vernetzten Servern (112);
Abrufen (210) von Informationen in Verbindung mit dem Cluster (102) aus vernetzten Servern (112);
Verwenden (204) eines universellen Einsatz-werkzeugs (138) zum dynamischen Laden (206) eines Plug-ins (134); und
automatisch und ohne Benutzereingabe, Ver-wenden des dynamisch geladenen Plug-ins (134) für die Erzeugung eines Scripts zur Ver-wendung eines bestimmten Dienstprogramms der vernetzten Server (112) zum:
Erzeugen von Einsatzdeskriptoren für das Cluster (102) aus vernetzten Servern (112) anhand der abgerufenen Informationen, und
Einsetzen (228) des einen oder der mehreren Programmeinheiten in dem Cluster (102) aus vernetzten Servern (112) mithilfe von mindes-tens den Einsatzdeskriptoren.
2. Verfahren nach Anspruch 1, wobei das Erzeugen
ferner das Angeben von Bindungsdateien für die Na-mens- und Verzeichnisschnittstelle umfasst.
5 10 15 20 25 30 35 40 45 50 55 aus vernetzten Servern (112) eine oder mehrere An-wendungsserver umfasst, und das Abrufen (210) das automatische Abrufen von Information in Ver-bindung mit dem einen oder den mehreren Anwen-dungsservern im Cluster (112) umfasst.
4. Verfahren nach Anspruch 3, des Weiteren
umfas-send:
dynamisches Gestatten für einen Benutzer, ei-nen oder mehrere der Anwendungsserver aus-zuwählen.
5. Verfahren nach Anspruch 1, wobei das Abrufen
(210) umfasst:
automatisches Abrufen von Information in Ver-bindung mit einem oder mehreren virtuellen Hosts im Cluster.
6. Verfahren nach Anspruch 5, des Weiteren
umfas-send:
dynamisches Gestatten für einen Benutzer, ei-nen oder mehrere virtuelle Server auszuwählen.
7. Verfahren nach Anspruch 1, wobei das Abrufen das
Bestimmen einer Art von Anwendungsserver um-fasst, der auf einem oder mehreren Knoten installiert ist, auf dem bzw. denen die Programmeinheiten ein-gesetzt werden sollen.
8. Verfahren nach Anspruch 1, wobei das
Zusammen-stellen ferner das BereitZusammen-stellen einer Benutzer-schnittstelle zum Sammeln von Informationen von einem Benutzer über die eine oder mehreren einge-setzten Programmeinheiten umfasst.
9. Verfahren nach Anspruch 1, wobei das Cluster (102)
aus vernetzten Servern (112) mindestens einen An-wendungsserver und einen oder mehrere Klone des Anwendungsservers umfasst.
10. Verfahren nach Anspruch 1, ferner umfassend das
Gestatten eines erneuten Einsetzens der bereits ei-nen oder mehreren eingesetzten Programmeinhei-ten im Cluster.
11. Verfahren nach einem der vorhergehenden
Ansprü-che, wobei die Informationen in Verbindung mit dem Cluster (102) aus vernetzten Servern (112) von ei-nem Einsatzserver (211) abgerufen werden.
12. Computerlesbares Medium umfassend
Anweisun-gen, die, wenn Sie von einem Computer ausgeführt werden, in der Ausführung der Verfahrensschritte aus Anspruch 1 oder 2 resultieren.
13. System zum automatischen Einsetzen von
Pro-grammeinheiten in einem Cluster (102) aus vernetz-ten Servern (112), umfassend:
Mittel zum Zusammenstellen von einer oder mehreren Programmeinheiten zum Einsetzen in dem Cluster (102) aus vernetzten Servern (112);
Mittel zum Abrufen (120, 130) von Informationen in Verbindung mit dem Cluster (102) aus ver-netzten Servern (112);
ein universelles Einsatzwerkzeug (138), das zum dynamischen Laden (206) eines Plug-ins (134) betreibbar ist; und
Mittel zum automatischen und ohne Benutzer-eingabe erfolgenden Verwenden des dyna-misch geladenen Plug-ins für die Erzeugung ei-nes Scripts zur Verwendung eiei-nes bestimmten Dienstprogramms der vernetzten Server (112) zum:
Erzeugen von Einsatzdeskriptoren für das Cluster (102) aus vernetzten Servern (112) anhand der abgerufenen Informationen, und
Einsetzen (228) des einen oder der mehre-ren Programmeinheiten in dem Cluster (102) aus vernetzten Servern (112) mithilfe von mindestens den Einsatzdeskriptoren.
14. System nach Anspruch 13, wobei:
das Cluster (102) aus vernetzten Servern (112) einen Anwendungsserver umfasst; und die Mittel zum Abrufen (120, 130) von Informa-tionen Folgendes umfassen:
ein Datenquellenverwaltungsmodul (114), das zum Abrufen von Datenquelleninforma-tionen vom Anwendungsserver betreibbar ist, auf dem ein oder mehrere Pro-grammeinheiten eingesetzt werden sollen; ein Cluster-Verwaltungsmodul (116), das zum Abrufen von Cluster-Informationen in Verbindung mit dem Anwendungsserver betreibbar ist; und
ein Container-Verwaltungsmodul (118), das zum Abrufen von Container-Informati-onen in Verbindung mit dem Anwendungs-server betreibbar ist,
wobei die Datenquelleninformationen, Cluster-Informationen und Container-Infor-mation zum Erzeugen der Einsatzdeskrip-toren für den automatischen Einsatz (228) der einen oder der mehreren Programmein-heiten im Cluster aus vernetzten Servern verwendet werden.
5 10 15 20 25 30 35 40 45 50 55
15. System nach Anspruch 14 ferner umfassend:
ein Benutzerschnittstellenmodul zum Abrufen von Information von einem Benutzer in Verbin-dung mit einer oder mehreren Benutzereinstel-lungen für den Einsatz der einen oder mehreren Programmeinheiten.
16. System nach Anspruch 15, wobei das
Benutzer-schnittstellenmodul ferner betreibbar ist, um es dem Benutzer zu gestatten, die abgerufenen Datenquel-leninformationen zu ändern.
17. System nach Anspruch 15, wobei das
Benutzer-schnittstellenmodul ferner betreibbar ist, um es dem Benutzer zu gestatten, ein Ziel-Cluster aus den ab-gerufenen Cluster-Informationen auszuwählen, auf dem automatisch die eine oder mehreren Pro-grammeinheiten eingesetzt werden sollen.
Revendications
1. Procédé pour déployer automatiquement des unités
de programme en une grappe (102) de serveurs en réseau (112), comprenant les étapes qui consistent : à rassembler une ou plusieurs unités de pro-gramme en vue du déploiement en une grappe (102) de serveurs en réseau (112) ;
à extraire (210) des informations concernant la grappe (102) de serveurs en réseau (112) ; à utiliser (204) un outil de déploiement universel (138) pour charger dynamiquement (206) un module d’extension (134) ; et
à utiliser automatiquement, et sans entrée de l’utilisateur, le module d’extension (134) chargé dynamiquement afin de générer un script pour utiliser un utilitaire spécifique des serveurs en réseau (112) pour :
générer des descripteurs de déploiement pour la grappe (102) de serveurs en réseau (112) à partir des informations extraites, et déployer (228) la ou les unités de program-me en une grappe (102) de serveurs en ré-seau (112) en utilisant au moins les descrip-teurs de déploiement.
2. Procédé de la revendication 1, étant précisé que
l’étape de génération comprend également la déno-mination et la liaison d’interface d’annuaire de fi-chiers.
3. Procédé de la revendication 1, étant précisé que la
grappe (102) de serveurs en réseau (112) comprend un ou plusieurs serveurs d’application, et que l’traction (210) comprend l’étape qui consiste à
ex-traire automatiquement des informations concer-nant le ou les serveurs d’application dans la grappe (112).
4. Procédé de la revendication 3, comprenant
égale-ment l’étape qui consiste :
à permettre dynamiquement à un utilisateur de faire une sélection parmi le ou les serveurs d’ap-plication.
5. Procédé de la revendication 1, étant précisé que
l’ex-traction (210) comprend l’étape qui consiste : à extraire automatiquement des informations concernant un ou plusieurs hôtes virtuels dans la grappe.
6. Procédé de la revendication 5, comprenant
égale-ment l’étape qui consiste :
à permettre dynamiquement à un utilisateur de faire une sélection parmi le ou les hôtes virtuels.
7. Procédé de la revendication 1, étant précisé que
l’ex-traction comprend l’étape qui consiste à déterminer un type de serveur d’application installé sur un ou plusieurs noeuds où il s’agit de déployer les unités de programme.
8. Procédé de la revendication 1, étant précisé que le
rassemblement comprend également l’étape qui consiste à fournir une interface utilisateur pour re-cueillir à partir d’un utilisateur des informations sur la ou les unités de programme en cours de déploie-ment.
9. Procédé de la revendication 1, étant précisé que la
grappe (102) de serveurs en réseau (112) contient au moins un serveur d’application et un ou plusieurs clones du serveur d’application.
10. Procédé de la revendication 1, comprenant
égale-ment l’étape qui consiste à redéployer en une grappe une ou plusieurs unités de programme déjà dé-ployées.
11. Procédé de l’une quelconque des revendications
précédentes, étant précisé que les informations con-cernant la grappe (102) de serveurs en réseau (112) sont extraites d’un serveur de déploiement (211).
12. Support lisible par ordinateur, comprenant des
ins-tructions qui, lorsqu’elles sont exécutées par un or-dinateur, se traduisent par la réalisation des étapes de procédé de la revendication 1 ou 2.
5 10 15 20 25 30 35 40 45 50 55 de programme en une grappe (102) de serveurs en réseau (112), comprenant :
des moyens pour rassembler une ou plusieurs unités de programme en vue du déploiement en une grappe (102) de serveurs en réseau (112) ; des moyens pour extraire (120, 130) des infor-mations concernant la grappe (102) de serveurs en réseau (112) ;
un outil de déploiement universel (138) apte à charger dynamiquement un module d’extension (134) ; et
des moyens pour utiliser automatiquement, et sans entrée de l’utilisateur, le module d’exten-sion chargé dynamiquement afin de générer un script pour utiliser un utilitaire spécifique des ser-veurs en réseau (112) pour :
générer des descripteurs de déploiement pour la grappe (102) de serveurs en réseau (112) à partir des informations extraites, et déployer (228) la ou les unités de program-me en une grappe (102) de serveurs en ré-seau (112) en utilisant au moins les descrip-teurs de déploiement.
14. Système de la revendication 13, étant précisé :
que la grappe (102) de serveurs en réseau (112) comprend un serveur d’application ; et que les moyens pour extraire (120, 130) des in-formations comprennent :
un module de gestion de source de données (114) apte à extraire des informations de source de données à partir du serveur d’ap-plication où il s’agit de déployer une ou plu-sieurs unités de programme ;
un module de gestion de grappe (116) apte à extraire des informations de grappe con-cernant le serveur d’application ; et un module de gestion de conteneur (118) apte à extraire des informations de conte-neur concernant le serveur d’application, étant précisé que les informations de sour-ce de données, les informations de grappe et les informations de conteneur sont utili-sées pour générer les descripteurs de dé-ploiement pour déployer automatiquement (228) la ou les unités de programme en une grappe de serveurs en réseau.
15. Système de la revendication 14, comprenant
également :
un module d’interface d’utilisateur pour extraire des informations à partir d’un utilisateur, concer-nant une ou plusieurs préférences d’utilisateur,
pour déployer la ou les unités de programme.
16. Système de la revendication 15, étant précisé que
le module d’interface d’utilisateur est également apte à permettre à l’utilisateur de modifier les informations de source de données extraites.
17. Système de la revendication 15, étant précisé que
le module d’interface d’utilisateur est également apte à permettre à l’utilisateur de sélectionner à partir des informations de grappe extraites une grappe cible où il convient de déployer automatiquement la ou les unités de programme.
REFERENCES CITED IN THE DESCRIPTION
This list of references cited by the applicant is for the reader’s convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.
Patent documents cited in the description • US 378503 A [0001]
• US 10378504 A [0001]
• US 48669303 P [0001]
• EP 1050813 A [0008]