Abstract:
The present invention relates to an application integration tool for integrating applications into a data processing platform which includes structure for hosting applications, making it possible for applications editors and customers having at least one application to integrate, to configure the services of the platform so that the application will be supported by the platform as soon as it is installed. The integration tool allows any application to be integrated to benefit automatically from the services offered by the platform as soon as it is installed, and facilitates the launching of applications at a plurality of sites.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     Application No. 95 01236 corresponds to U.S. application Ser. No. 08/595,002, filed Jan. 31, 1991, in the name of Gerard Sitbon et al. Application No. 95 08851 corresponds to U.S. application Ser. No. 08/683,413, filed Jul. 19, 1996. Application No. 95 08851 corresponds to U.S. application Ser. No. 08/886,477, filed Jul. 1, 1997. Each of said applications are assigned to the assignee of the present invention and the subject matter of each of application, Ser. Nos. 08/595,002, 08/683,413 and 08/886,477, is hereby incorporated herein by reference. 
    
    
     BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a tool for integrating applications for a data processing platform constituted by a network of machines running a plurality of heterogeneous applications. 
     2. Description of Related Art 
     In current practice, these platforms are systems which are most often &#34;production oriented systems.&#34; In this respect, they have the same function as the traditional &#34;mainframes&#34; from high-end computer manufacturers. This means that they must exert a high level of control over requests for services from the client-user (&#34;customer service requests&#34;). 
     Generally, a platform of this type is delivered to the customer that ordered it, equipped with software integrated at the manufacturer&#39;s assembly plant. Part of this software is constituted by service applications whose purpose is to improve the administration, security, availability, automation and productivity of the platform. 
     For simplicity of language, in the text below a &#34;service application&#34; will be designated by the term &#34;service.&#34; 
     However, at any time, the client may need to integrate a new application in such a way that it is supported by these services, in as short a time as possible. 
     The integration of the application takes place after its development phase. It must be carried out without tampering with the source code of any of the compiled programs of the platform. 
     It will be recalled that an application is a set of objects, which may be: 
     programs, transactions, libraries, 
     scripts (command scripts to one skilled in the art), 
     description files and data, 
     configuration files, 
     print report group, 
     log files, etc. 
     In order to support the application to be integrated, each service offered by the platform must provide an interface with the objects of this application without modifying them. For example, if the application supplies log files, it can be managed by monitoring these files. 
     Generally, a platform comprises dozens of services. Each of these has its own mechanism for integrating any application to be installed. In general, it has a graphical interface of its own which allows it to integrate the application installed. Graphical interfaces of this type are described, for example, in the French patent applications Nos. 95 01236, 95 08851 and 96 08161 filed by the assignee of said applications with the respective titles &#34;Tool for generating and executing graphical interface commands&#34;, &#34;Application integration architecture for a data processing platform&#34;, AND &#34;Protected application launcher with graphical interface&#34;. Including the time required to train human operators to perform it, the integration requires at least half a day (sometimes several days) per service, that is, at least one week for ten services. It must also be noted that once the application has been integrated into a service, it is then necessary to learn how to use it: integration and utilization are two separate and independent processes. Therefore, the integration of a new application is an expensive operation. 
     Moreover, with the current technology, the risk of error during an integration is high, since it is most often performed by customers too rapidly. Furthermore, with this method, the launching of each application to be integrated is long and difficult, since it is necessary to repeat the same operations at each site (the geographical location where a machine belonging to the platform is located). 
     SUMMARY OF THE INVENTION 
     The present invention makes it possible to eliminate the above-mentioned drawbacks by creating, at the platform level, a structure for hosting applications, making it possible for applications editors and customers having at least one application to integrate, to configure the services of the platform so that this application will be supported by the latter as soon as it is installed. In other words, the tool according to the invention allows any application to be integrated to benefit automatically from the services offered by the platform as soon as it is installed, and facilitates the launching of applications at a plurality of sites. 
     According to the invention, the tool for integrating applications for a data processing platform constituted by a network of machines running a plurality of specific services of the platform is characterized in that it comprises: 
     means for entering information for integrating the new application so as to allow it to be supported by all or some of the services, 
     means for converting the integration information into a set of commands for integrating the application into the services. 
     In a preferred embodiment of the invention, the entry means are constituted by the combination of means for acquiring information on the properties of the application to be integrated and a graphical interface for collecting this information and transmitting it to the conversion means. 
     Preferably, the conversion means are constituted by software which produces, from the properties information, scripts specific to each service which allow the application to be automatically integrated into the services. 
     Other characteristics and advantages of the present invention will become apparent in the following description given as a non limiting example in reference to the appended drawings. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 schematically illustrates the problem that the invention must solve. 
     FIG. 2 schematically shows how a customer&#39;s application is integrated into the various integral domains. 
     FIG. 3, composed of FIGS. 3a and 3b, shows the characteristic elements of the integration tool according to the invention and how they work. 
     FIG. 4, composed of FIGS. 4a and 4b, illustrates the control panel of the graphical interface (the screen display of this interface) belonging to the means for entering information for integrating the application belonging to the integration tool according to the invention, for a specific set of services. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     1) THE ESSENTIAL CHARACTERISTIC ELEMENTS: 
     Refer to FIGS. 1 and 2. 
     FIG. 1 represents a platform PL sold by its manufacturer to a customer C. The platform is delivered to the later equipped with a certain number of integrated services SERV. The latter are divided into a plurality of activity domains D1 through Dn, for example six of them numbered D1 through D6, a detailed description of which may be found in the above-mentioned patent application No. 96 08161. 
     It is assumed that the customer C has designed an application APC and completed its development phase. He wishes to integrate it into PL. 
     In order to do this, he uses the application integration tool INTO according to the invention, which makes it possible, as seen in FIG. 1, to configure the services SERV so that they support APC. For this purpose, INTO supplies it with values added to any of the integration domains D1, D2, D3, . . . , D6 of the platform. 
     Each of these six domains comprises, for example, a certain number of properties, which are listed in the table below: 
     
         ______________________________________Domain      Properties______________________________________Platform    Distribution of the application to the       machines of PL       Management of the versions       Management of the size of the log files       associated with the applicationGraphical   Integration into the control panel       Incorporation of the commands into lines of       the applicationOperations  Scheduler of the program launching device       and administration of the automation       Management of print operations       Management of backupsAdministration       Integration of event management       Integration of the analysis of log files for       sending events or executing commands       Integration of applications management       Transaction management       Data base management       Performance management       Accounting management and cost breakdownHigh        Management of the takeover of resourcesAvailability       with high-availability techniques       File restoration managementSecurity    Access control management       Integration with firewalls (known security       devices)______________________________________ 
    
     In order to integrate APC into PL, the tool INTO executes a certain number of integration operations INTOPE. 
     In FIG. 2, this integration is symbolized by showing APC, represented by an elliptical geometric shape, surrounded by the six domains D1 through D6 listed above. 
     Once integrated, it includes added values belonging to all or some of the six domains, it being understood that it is not necessary to integrate it into all of them. 
     Refer to FIG. 3a. 
     The integration tool INTO comprises: 
     means MSIG for entering information for integrating APC which allows it to be supported by all or some of the services SERV, 
     means MCONV for converting the integration information into a set of commands SCRi for integrating the application into the services SERV. 
     The means MSIG comprise: 
     means MACQ for acquiring information on the properties of the application to be integrated, 
     a graphical interface IGC for gathering this information and transmitting it to the conversion means. 
     The conversion means MCONV comprise: 
     software PROG which produces, from the properties information provided by the graphical interface, scripts SCR1, SCR2, SCR3, SCRi, SCRp specific to each service, which make it possible to integrate APC into the services SERV automatically. 
     In order to better understand how the integration tool INTO is structured and how it operates, it is useful to recall the information indicated in the following paragraph. 
     In order for a service application belonging to the set SERV to be configured with a command language, this application must be able to understand this language. This is even true in the case where most of the new applications have only one public interface that is graphical. These applications generally have either files (non public) which are configured through the graphical interface, or an internal command language known only to the developer, which is located downstream from the graphical interface. 
     On the other hand, the tool according to the invention INTO requires that the configuration files and the command languages of the service applications be public. The description of these files and/or command languages is contained in a guide PG (abbreviation for Programming Guide) to be sent to the applications integrators in order to guarantee the stability of the operation of the application once it is integrated. 
     In keeping with what has been summarized in the last two paragraphs, the information acquisition means MACQ are constituted by a set of forms, each of which corresponds to a predetermined service and is supplied to the software editor or to the human operator wishing to integrate the application APC. 
     These forms can be, for example, placed on the INTERNET network or recorded on a data recording medium such as a magnetic disk, diskette, magnetic tape, CD-ROM, etc. Each form includes questions, to be filled in by the editor, concerning the properties of APC. Once the form has been filled in, it is introduced by means of the graphical interface IGC into the software PROG, which then generates a &#34;script&#34; SCRi. 
     The execution of this script SCRi makes it possible to integrate this application APC into the service of SERV which is associated with the filled-in form. It can only take place after the installation of APC by the customer into the platform PL. 
     It must be noted that the forms can be supplied by the manufacturer to its customers through an HTTP (Hyper Text Transfer Protocol) server belonging to the INTERNET network, by means of specific forms called &#34;FORM&#34; in the standardized language HTML (Hyper Text Mark-up Language) widely used in this network, and that the program PROG which generates the scripts can be a standardized CGI (Common Gateway Interface) program. 
     Consequently, for each application APC to be integrated into PL, the software PROG generates a set of scripts SCRi (one script per service). These scripts are executed at the end of the installation procedure specific to PL, and they allow the installed application APC to be recognized by the services SERV (control panel, archives, event administration, security, etc.). 
     Thus, the invention allows the customer to reduce the time required to integrate APC from several days to several minutes. The exact integration times, of course, depend on the level of integration, that is, the number and the complexity of the services into which it needs to be integrated. 
     It must be noted that it is not always possible for the software PROG to generate an integration script SCRi for each service application. In this case, it is necessary to provide the editors with documentation which will allow them to develop the scripts themselves. 
     II) DESCRIPTION OF A PARTICULAR EXEMPLARY EMBODIMENT 
     For a better understanding of the invention, it is appropriate to illustrate it more precisely, choosing as the application APC an application based on the standard transaction monitoring program known by the name &#34;TUXEDO&#34;, and choosing as the service &#34;TROUBLESHOOTING&#34;, which is a service of PL that allows the administrators of &#34;TUXEDO&#34; applications to monitor them in real time, via a graphical interface and a control panel. &#34;TUXEDO TROUBLESHOOTING&#34;, which is customarily designated by its abbreviated name TTH, makes it possible to supervise a plurality of TUXEDO applications from a central point, no matter what their physical locations in the network. It makes it possible, with a simple look at the control panel associated with the graphical interface, to view the operation of several TUXEDO applications, by displaying the status of the resources of each application (on or off). This service also detects serious events, analyzes the context of these events and proposes corrective action. 
     It is assumed that in this particular exemplary embodiment, the application APC to be integrated into TTH is given the name &#34;APPLI3&#34; and that its integration must result in its automatically appearing in the control panel of TTH after its installation into PL. 
     FIG. 4 illustrates the control panel of TTH before and after the integration of &#34;APPLI3&#34;, with FIG. 4a showing the state of this control panel before the integration and FIG. 4b showing its state after the integration. 
     As seen in FIG. 4a, before integration, TTH comprises two applications named &#34;APPLI1&#34; and APPLI2&#34;, and the control panel displays the status of their resources (ON or OFF) in boxes, of which there are 5 for the first application and 3 for the second. 
     Thus it is possible to see that, for the first application, all of the resources, called Tuxedo, Machine, Servers, etc., are in operation (ON), whereas for the second one, the resources Machine and Network are in operation (ON) while the resource Tuxedo is out of operation (OFF). 
     Likewise, it may be seen in FIG. 4b that after integration, TTH now includes &#34;APPLI3&#34; in addition to the two preceding applications &#34;APPLI1&#34; and &#34;APPLI2&#34;, and that it displays the status of 5 resources, namely Tuxedo, Machine, Servers, Network and Queue, the first four of which are on while the last one is off. 
     Appendix 1 shows the complete embodiment of the acquisition means MACQ (form) specific to TTH made available to the &#34;TUXEDO&#34; editor in order to be completed so as to start the operations INTOPE for integrating &#34;APPLI3&#34;. 
     This form includes 10 lines L1 through L10, each of which indicates the nature of the information to be provided (left column), the coded name of the latter (center column) which will be supplied to the software PROG and comments related to each of these pieces of information (right column). 
     From the data on the form, which will be supplied by means of the graphical interface IGC of the tool INTO, the software PROG generates the script shown in Appendix 2. 
     This script also includes 10 lines L1 through L10, which strictly correspond to the 10 lines of Appendix 1. 
     In the case of a TUXEDO application, the script SCRi generated after the form is filled in will request the name of the connection to the platform PL of the administrator of the application APPLI3 as well as that of its master machine in the TUXEDO environment (within the framework of this standard, each application has a master machine). SCRi then creates a file called APPLI3 (see Appendix 2), which it will then place in a specific directory called &#34;/var/madison/tuxedo/tga&#34; known to the service TTH. TTH will then automatically use the file APPLI3.tux to support the new application APPLI3. 
     
                                           Appendix 1__________________________________________________________________________L1:       APPLI3        The name of application toName                    be managedL2: Administrator       Connection name of the                   administrator of the                   application; If this field                   cannot be filled in, the                   question will be asked by the                   integration script.L3: Master              Name of the Master machine                   obtained by the command                   &#34;uname-n&#34;. If this field                   cannot be filled in, the                   question will be asked by the                   integration script.L4: Directory of     /usr/tuxedo   usually &#34;/usr/tuxedo&#34;the Tuxedo softwareL5: Directory of     /flowbus/home/demofb1/bin                   In this directory are: thethe Application         executable files of the                   application servers; the ASCI                   configuration file (the file                   UBBCONFIG or UBB) and the                   binary configuration file                   (TUXCONFIG).L6: Absolute access     /flowbus/home/demofb1/data                   for example:path of the binary      &lt;directory.sub.-- of.sub.-- application&gt;/configuration file      tuxconfigL7: Configuration     /flowbus/home/demofb1/ubbc                   If the access path is notfile of the             specified, this file isApplication,            entered into the directory ofin ASCII                the application (APPDIR).L8; Local language     C             If the messages from the                   Tuxedo catalog have not been                   translated and adapted                   (Localized), set this field at                   &#34;C&#34; (capital C).L9: Access path to     /flowbus/install/lib:/usr/                   usually /usr/tuxedo/lib.the library             You can indicate several                   separate access paths using                   (colon).L10: Environment     /flowbus/home/demofb1/envf                   The access path of the filefile                    which contains the variables                   to be added to the environment                   for all the servers of the                   machine (for example,                   information on data                   compression, load distribution                   in the network, etc.).Script Generation__________________________________________________________________________ 
    
     
                                           Appendix 2__________________________________________________________________________File: APPLI3.tuxAPPNAME = &#34;APPLI3&#34;; export APPNAMEADMIN = &#34;demofb1&#34;; export ADMIN # on site inputMASTER = &#34;orage&#34;; export MASTER # on site inputTUXDIR = &#34;/usr/tuxedo&#34;; export TUXDIRAPPDIR = &#34;/flowbus/home/demofb1/bin&#34;; export APPDIRTUXCONFIG = &#34;/flowbus/home/demofb1/data/TUXCONFIG&#34;; export TUXCONFIGUBBFILE = &#34;/flowbus/home/demofb1/ubbconfig&#34;; export UBBFILELANG = &#34;C&#34;; export LANGLIBPATH = &#34;/flowbus/install/lib:/isr/tuxedo/lib:/usr/lib&#34;; exportLIBPATHENVFILE = &#34;flowbus/home/demofb1/envfile&#34;; export ENVFILE__________________________________________________________________________ 
    
     While the preferred forms and embodiments of the invention have been illustrated and described, it will be apparent to those of ordinary skill in the art that various changes and modifications may be without deviating from the inventive concept and spirit of the invention as set forth above, and it is intended by the appended claims to define all such concepts which come within the full scope and true spirit of the invention.