CN104423983A - Method and device for developing, testing and deploying application - Google Patents

Method and device for developing, testing and deploying application Download PDF

Info

Publication number
CN104423983A
CN104423983A CN201310384507.7A CN201310384507A CN104423983A CN 104423983 A CN104423983 A CN 104423983A CN 201310384507 A CN201310384507 A CN 201310384507A CN 104423983 A CN104423983 A CN 104423983A
Authority
CN
China
Prior art keywords
application
service
profile
parameter
environment
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.)
Granted
Application number
CN201310384507.7A
Other languages
Chinese (zh)
Other versions
CN104423983B (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201310384507.7A priority Critical patent/CN104423983B/en
Priority to US14/469,088 priority patent/US9785431B2/en
Publication of CN104423983A publication Critical patent/CN104423983A/en
Application granted granted Critical
Publication of CN104423983B publication Critical patent/CN104423983B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Abstract

The invention relates to a method and a device for developing, testing and deploying an application. According to the method and the device for developing, testing and deploying the application, the binding between the application and the service can be created automatically. Particularly, one or more parameters indicated by a profile for services are to be instantiated. Accordingly, when the application runs in a special environment, the parameters are instantiated dynamically and the application is reconfigured. With adoption of this manner, the efficiency and accuracy of the stages of developing, testing and deploying the application can be improved effectively and the flexibility can be improved remarkably. The invention discloses the method and the device for developing and deploying the application.

Description

For developing, testing and the method and apparatus of application deployment
Technical field
Embodiments of the invention relate generally to computer realm, more specifically, relate to for developing, testing and the method and apparatus of application deployment.
Background technology
Along with computing technique is in the universal rapidly of every field and application, increasing business has been come by means of computer program or application (application).In traditional application and development pattern, developer such as writes the service logic part of application by means of Integrated Development Environment (Integrated DevelopmentEnvironment, IDE).In order to test developed application, tester needs to develop corresponding test case (test case) and sets up and arrange corresponding test environment.Then, at the deployment phase of application, operation personnel must come various parameter and the information of configuration service according to concrete targeted environment.
But along with the development of the novel computing techniques such as cloud computing (cloud computing), the above-mentioned traditional mode of application and development and deployment receives challenge.Such as, in above-mentioned pattern, being responsible for exploitation, test and the personnel that dispose must binding (binding) relation between manual creation application with the service required for this application, thus make to apply can the various resources that provide of access services.Due to the increase of system complexity, this manual configuration has had a strong impact on the develop and field cycle of application, and improves cost.In addition, application often needs to be moved and configure between the various different environment such as exploitation, test, deployment, and this migration has been come by different team often.Configure application by different personnel repeatedly for each different environment and need the suitable human and material resources of cost and time, and lack dirigibility.
Especially, the service be associated with an application may have a lot of parameter, such as data source, Hostname, path, port numbers, etc.In the development phase, owing to cannot determine these parameters in actual motion environment, therefore traditional way is that developer configures these parameters according to home environment.At follow-up test and/or deployment phase, corresponding personnel need the manual configuration changing service according to different environment equally.Be appreciated that said process is normally not reproducible and reproduction, and fallibility, poor efficiency.And because development teams and operation team are subordinate to and different departments, there is information inconsistency between the two, this inconsistency causes system business to there is larger operations risks, even brings larger traffic lost.Some known scheme adopts hard coded (hard-coded) or the mode of configuration file of writing in advance to solidify the configuration of service.But this mode lacks dirigibility, result in the inconvenience of the subsequent actions such as the maintenance of application, migration, upgrading.
In view of the above problems, needing a kind of in this area is the effective technical scheme applied for develop and field more.
Summary of the invention
In order to solve above-mentioned and other potential problems, the present invention proposes a kind of for developing, testing and the method and apparatus of application deployment.
In a first aspect of the present invention, provide a kind of computer implemented method for Application and Development.Described method comprises: select at least one being associated with described application to serve; And create described application and described at least one serve between binding, described establishment at least comprises and generates at least one profile of serving described explicitly with described application, described profile at least comprises at least one parameter relevant with described service, and at least one parameter described is by the environment that runs based on described application and by automatically instantiation.
In another aspect of this invention, a kind of computer implemented method for configuring application is provided.Described method comprises: determine described application and at least one serve between binding, describedly determine at least to comprise the profile extracted at least one service described, described profile at least comprise relevant with described service, will at least one parameter of instantiation; The environment run based on described application and at least one parameter described in automatically in profile described in instantiation; And at least one parameter described of Case-based Reasoning configures described application.
According to another aspect of the invention, a kind of computer implemented device for Application and Development is provided.Described device comprises: service selecting unit, is configured to select at least one being associated with described application to serve; And binding creating unit, be configured to create described application and described at least one serve between binding, described binding creating unit is at least configured to generate explicitly with described application at least one profile of serving described, described profile at least comprises at least one parameter relevant with described service, and at least one parameter described is by the environment that runs based on described application and by automatically instantiation.
In accordance with a further aspect of the present invention, a kind of computer implemented device for configuring application is provided.Described device comprises: binding determining unit, be configured to determine described application and at least one serve between binding, describedly determine at least to comprise the profile extracted at least one service described, described profile at least comprise relevant with described service, will at least one parameter of instantiation; Instantiating unit, is configured to the environment that runs based on described application and at least one parameter described in automatically in profile described in instantiation; And deployment configuration unit, be configured at least one parameter described of Case-based Reasoning to configure described application.
Will be understood that, according to embodiments of the invention, without the need to being solidified configuration and the parameter of service by the mode of such as hard coded or configuration file by hereafter describing.On the contrary, the profile of service can be used indicate the parameter needing the instantiation according to varying environment.After this, when apply be migrated to one new environmentally time, can dynamically collect information with the parameter of instantiating services from environment, the running example of configuration application is simultaneously to complete application deployment.Under extensive environment, (such as, there is a large amount of server, such as more than 100 station servers), the present invention can realize disposing robotization preferably.In this way, the manual operations in application and development, test and/or deployment can be avoided, reduce risk of errors and raise the efficiency, and improve the dirigibility of application and development and deployment.
Accompanying drawing explanation
Be described in more detail exemplary embodiment of the invention in conjunction with the drawings, above-mentioned and other object of the present invention, Characteristics and advantages will become more obviously wherein:
Fig. 1 shows the schematic block diagram of the exemplary computer system/server be suitable for for realizing the embodiment of the present invention;
Fig. 2 shows the indicative flowchart of the method for Application and Development according to the embodiment of the present invention;
Fig. 3 shows the indicative flowchart of the method for configuring application according to the embodiment of the present invention;
Fig. 4 shows the schematic block diagram of the device for Application and Development according to the embodiment of the present invention; And
Fig. 5 shows the schematic block diagram of the device for configuring application according to the embodiment of the present invention.
Run through institute's drawings attached, same or analogous label is used to represent same or analogous element.
Embodiment
In more detail the preferred embodiment of the present invention is described below with reference to accompanying drawings.Although show the preferred embodiment of the present invention in accompanying drawing, but should be appreciated that, the present invention can be realized in a variety of manners and not should limit by the embodiment of setting forth here.On the contrary, provide these embodiments to be to make the present invention more thorough and complete, and scope of the present invention intactly can be conveyed to those skilled in the art.
Person of ordinary skill in the field knows, the present invention can be implemented as device, method or computer program.Therefore, the present invention can be implemented as following form, that is: can be completely hardware, also can be software (comprising firmware, resident software, microcode etc.) completely, can also be the form that hardware and software combines, be commonly referred to as " circuit ", " module " or " system " herein.In addition, in certain embodiments, the present invention can also be embodied as the form of the computer program in one or more computer-readable medium, comprises computer-readable program code in this computer-readable medium.
The combination in any of one or more computer-readable medium can be adopted.Computer-readable medium can be computer-readable signal media or computer-readable recording medium.Computer-readable recording medium can be such as-but be not limited to the system of-electricity, magnetic, optical, electrical magnetic, infrared ray or semiconductor, device or device, or combination above arbitrarily.The example more specifically (non exhaustive list) of computer-readable recording medium comprises: the combination with the electrical connection of one or more wire, portable computer diskette, hard disk, random access memory (RAM), ROM (read-only memory) (ROM), erasable type programmable read only memory (EPROM or flash memory), optical fiber, Portable, compact disk ROM (read-only memory) (CD-ROM), light storage device, magnetic memory device or above-mentioned any appropriate.In this document, computer-readable recording medium can be any comprising or stored program tangible medium, and this program can be used by instruction execution system, device or device or be combined with it.
The data-signal that computer-readable signal media can comprise in a base band or propagate as a carrier wave part, wherein carries computer-readable program code.The data-signal of this propagation can adopt various ways, comprise-but be not limited to the combination of-electromagnetic signal, light signal or above-mentioned any appropriate.Computer-readable signal media can also be any computer-readable medium beyond computer-readable recording medium, and this computer-readable medium can send, propagates or transmit the program for being used by instruction execution system, device or device or be combined with it.
The program code that computer-readable medium comprises can to comprise with any suitable medium transmission-but be not limited to-wireless, electric wire, optical cable, RF etc., or the combination of above-mentioned any appropriate.
The computer program code operated for performing the present invention can be write with one or more programming languages or its combination, described programming language comprises object oriented program language one such as Java, Smalltalk, C++, also comprises conventional process type programming language-such as " C " language or similar programming language.Program code can fully perform on the user computer, partly perform on the user computer, as one, independently software package performs, partly part performs on the remote computer or performs on remote computer or server completely on the user computer.In the situation relating to remote computer, remote computer can by the network of any kind-comprise LAN (Local Area Network) (LAN) or wide area network (WAN)-be connected to subscriber computer, or, outer computer (such as utilizing ISP to pass through Internet connection) can be connected to.
Below with reference to the process flow diagram of the method for the embodiment of the present invention, device (system) and computer program and/or block diagram, the present invention is described.Should be appreciated that the combination of each square frame in each square frame of process flow diagram and/or block diagram and process flow diagram and/or block diagram, can be realized by computer program instructions.These computer program instructions can be supplied to the processor of multi-purpose computer, special purpose computer or other programmable data treating apparatus, thus produce a kind of machine, these computer program instructions are performed by computing machine or other programmable data treating apparatus, create the device of the function/operation specified in the square frame in realization flow figure and/or block diagram.
Also can these computer program instructions be stored in the computer-readable medium that computing machine or other programmable data treating apparatus can be made to work in a specific way, like this, the instruction be stored in computer-readable medium just produces the manufacture (manufacture) of the command device (instruction means) of the function/operation specified in a square frame comprising in realization flow figure and/or block diagram.
Also can computer program instructions be loaded on computing machine, other programmable data treating apparatus or miscellaneous equipment, make to perform sequence of operations step on computing machine, other programmable data treating apparatus or miscellaneous equipment, to produce computer implemented process, thus make the instruction performed on computing machine or other programmable device can provide the process of the function/operation specified in the square frame in realization flow figure and/or block diagram.
Below with reference to the accompanying drawings describe in detail according to exemplary embodiment of the present invention.Fig. 1 shows the block diagram of the exemplary computer system/server 12 be suitable for for realizing embodiment of the present invention.The computer system/server 12 of Fig. 1 display is only an example, should not bring any restriction to the function of the embodiment of the present invention and usable range.
As shown in Figure 1, computer system/server 12 shows with the form of universal computing device.The assembly of computer system/server 12 can include but not limited to: one or more processor or processing unit 16, system storage 28, connects the bus 18 of different system assembly (comprising system storage 28 and processing unit 16).
Bus 18 represent in a few class bus structure one or more, comprise memory bus or Memory Controller, peripheral bus, AGP, processor or use any bus-structured local bus in multiple bus structure.For example, these architectures include but not limited to industry standard architecture (ISA) bus, MCA (MAC) bus, enhancement mode isa bus, VESA's (VESA) local bus and periphery component interconnection (PCI) bus.
Computer system/server 12 typically comprises various computing systems computer-readable recording medium.These media can be any usable mediums can accessed by computer system/server 12, comprise volatibility and non-volatile media, moveable and immovable medium.
System storage 28 can comprise the computer system-readable medium of volatile memory form, such as random access memory (RAM) 30 and/or cache memory 32.Computer system/server 12 may further include that other is removable/immovable, volatile/non-volatile computer system storage medium.Only as an example, storage system 34 may be used for reading and writing immovable, non-volatile magnetic media (Fig. 1 does not show, and is commonly referred to " hard disk drive ").Although not shown in Fig. 1, the disc driver that removable non-volatile magnetic disk (such as " floppy disk ") is read and write can be provided for, and to the CD drive that removable anonvolatile optical disk (such as CD-ROM, DVD-ROM or other light medium) is read and write.In these cases, each driver can be connected with bus 18 by one or more data media interfaces.Storer 28 can comprise at least one program product, and this program product has one group of (such as at least one) program module, and these program modules are configured to the function performing various embodiments of the present invention.
There is the program/utility 40 of one group of (at least one) program module 42, can be stored in such as storer 28, such program module 42 comprises-but be not limited to-operating system, one or more application program, other program module and routine data, the realization of network environment may be comprised in each or certain combination in these examples.Function in program module 42 embodiment that execution is described in the invention usually and/or method.
Computer system/server 12 also can communicate with one or more external unit 14 (such as keyboard, sensing equipment, display 24 etc.), also can make with one or more devices communicating that user can be mutual with this computer system/server 12, and/or communicate with any equipment (such as network interface card, modulator-demodular unit etc.) making this computer system/server 12 can carry out communicating with other computing equipment one or more.This communication can be passed through I/O (I/O) interface 22 and carry out.Further, computer system/server 12 can also such as, be communicated by network adapter 20 and one or more network (such as LAN (Local Area Network) (LAN), wide area network (WAN) and/or public network, the Internet).As shown in the figure, network adapter 20 is by bus 18 other module communication with computer system/server 12.Be understood that, although do not illustrate in the drawings, other hardware and/or software module can be used in conjunction with computer system/server 12, include but not limited to: microcode, device driver, redundant processing unit, external disk drive array, RAID system, tape drive and data backup storage system etc.
Process flow diagram in accompanying drawing and block diagram show system according to multiple embodiment of the present invention, the architectural framework in the cards of method and computer program product, function and operation.In this, each square frame in process flow diagram or block diagram can represent a part for module, program segment or a code, and a part for described module, program segment or code comprises one or more executable instruction for realizing the logic function specified.Shall also be noted that at some as in the realization of replacing, the function marked in square frame also can be different from occurring in sequence of marking in accompanying drawing.Such as, in fact two continuous print square frames can perform substantially concurrently, and they also can perform by contrary order sometimes, and this determines according to involved function.Also it should be noted that, the combination of the square frame in each square frame in block diagram and/or process flow diagram and block diagram and/or process flow diagram, can realize by the special hardware based system of the function put rules into practice or operation, or can realize with the combination of specialized hardware and computer instruction.
With reference now to Fig. 2, it illustrates the process flow diagram of the computer implemented method 200 for Application and Development according to the embodiment of the present invention.According to embodiments of the invention, method 200 can be performed in the developer side of an application.Note, term " application " comprises and can operate in computer system (such as, above with reference to the computer system 12 of figure 1 description) and go up and complete the computer program of particular task as used herein.Especially, application can be local application, also can be cloud application.
After method 200 starts, in step S201, at least one being associated with application leaved for development is selected to serve.Be appreciated that application operational process in may need to call or access various service, such as Apache Derby database, relational database, JSON store, network service, etc.According to embodiments of the invention, the user interface selecting service can be provided for, such as graphic user interface (GUI) in for the IDE of application and development.By this user interface, one or more services that may be able to associate to user's display with the application of current exploitation.Alternatively, the metadata for each service can also be shown.Term " metadata " represents all information relevant with service as used herein.User such as can select service by the control (such as, button, check box, drop-down list) on user interface or directly by drag and drop (Drag-and-Drop).Such as, user can select one to serve and by selected service drag and drop in the engineering window of application, complete the selection to service with this.
Especially, according to embodiments of the invention, one or more service can by registration in advance in predefined service catalogue.For this reason, the metadata of service can be uploaded to special server by the developer of application, the developer of service and/or supplier, these metadata describe the information relevant with service, such as include but not limited to following one or more: title, version, type, mirror image, client library, interface, document, code sample, connection configuration, etc.This type of metadata can be stored in the service catalogue of server, and service catalogue is refreshed.
As described above, traditionally, developer must manual determine and add will with the service of association.Unlike this, by by Servers Organization in the addressable service catalogue of IDE, in application developer side, user can facilitate, intuitively and efficiently selects the service with association from service catalogue by using IDE access services catalogue.And, according to some embodiment, search option can be provided for user, in service catalogue, search for specific service to allow user.These contribute to the development efficiency improving application, can reduce the mistake that may occur in performance history simultaneously.
Next, method 200 proceeds to step S202, the binding between this creates application and selected at least one is served.As described above, this binding needs developer to create to manually traditionally.Such as, developer must input the various parameters relevant with the configuration of this service by hand.In contrast to this, according to embodiments of the invention, this binding between application and service will be created automatically.This automatic binding is useful, because in traditional artificial binding, human user has needed operation loaded down with trivial details in a large number, this process is consuming time with fallibility.Such as, Traditional Man binding may cause the error configurations of some parameter and/or slip to the configuration of some parameter.On the contrary, according to embodiments of the invention, these problems can be overcome by binding establishment automatically, thus while the binding realizing efficiently, rapidly applying and serving, the mistake that may occur during reducing this process.
Specifically, according to embodiments of the invention, create application with service between binding at least comprise with application generate one explicitly for the profile of serving (profile).Such as, can be generated for the profile of serving in the engineering for applying and preserve, thus the incidence relation between instruction application and service.According to embodiments of the invention, profile can comprise the various information of service, such as service name, version, type, etc.
Especially, according to embodiments of the invention, the profile for serving comprises at least one parameter relevant with this service, and wherein the value of these parameters cannot be determined when developing, but may change along with different environment.In other words, for each in these parameters, the varying environment along with application place dynamically changes by their occurrence.According to embodiments of the invention, these parameters by based on applying the specific environment that runs by automatically instantiation.Note, term " instantiation " refers to the value determining parameter according to specific environment as used herein.
According to embodiments of the invention, can adopt and specify parameter to be instantiated in the profile in any suitable manner.Such as, in the embodiment that profile is write with author language JSON (JavaScript ObjectNotation), can the special label (tag) of Design and implementation, make the parameter within this label be interpreted as parameter to be instantiated.As an example, an example profiles is as follows:
In superincumbent example profiles, the parameters comprised in the block defined by label " credentials " is parameter to be instantiated.Such as, the value of parameter " dbname " (database-name) is set to " <name> ", and this shows that database-name needs are instantiated according to applying the specific environment that runs.Similarly, parameter " host " (main frame), " port " (port), " user " (user) and " password " (password) are all parameters to be instantiated.
Alternatively or additionally, other any suitable modes also can be adopted to create service profile and to formulate parameter to be instantiated, and be not limited to JSON file layout.The various extended formattings such as database table, XML file, text such as can be adopted to realize service profile, and adopt the various suitable means matched with file layout to specify parameter to be instantiated.Scope of the present invention is unrestricted in this regard.
Be appreciated that according to embodiments of the invention, with the relevant parameter of service without the need to by developing, testing and/deployment personnel input by hand.On the contrary, by generating and use above-mentioned service profile, the value of these parameters can be given birth to by dynamic real estate according to the specific environment for developing, testing and/or dispose and inject.In this way, can realize applying the binding between service in a kind of mode transparent for user.More specifically, after developer completes the exploitation to an application, the tester in downstream and/or deployer without the need to carrying out manual amendment and adjustment according to the configuration of the specific environment of oneself and platform correspondence as in traditional mode.On the contrary, according to embodiments of the invention, to the adaptive configuration specific to environment of application by the profile based on this application, by realizing efficiently, exactly and automatically the automatic assignment of parameter and injection.In this way, the efficiency of application testing and deployment can be significantly improved, reduce risk of errors, save time and human cost.
Next, according to some embodiment of the present invention, in step S203 place, can automatically import at least one in the file of this application and assistance application.Term " file " comprises any file relevant to application as used herein, such as, include but not limited to following one or more: document, storehouse (library), header file, dynamic link library, etc.Term " assistance application " refers to other application in order to support the operation of application to need as used herein, such as, include but not limited to driver, etc.Such as, if application is a JavaWeb project, then automatically corresponding storehouse can be added in the catalogue relevant with this application, such as class libraries.Be appreciated that and generate similar with above-described service profile, all secondary file relevant with service and/or program can be imported into by the mode of user transparent, thus improve operating efficiency, reduce the operation burden of developer.
Next, method 200 can proceed to step S204, configures application at least in part at this based on the service profile generated.Note that based on profile to application configuration also can have been come by other entities.In fact, this operation even oneself can have been come by application.Therefore, step S204 is optional in method 200.In step S204 place to the configuration of application as the setting of application of establishments, amendment and/or renewal can be comprised, to make application can access services.Such as, if a Java Web applies and a database service binding, then the configuration file (such as, web.xml) can revising this application at this, to arrange a corresponding data source, makes to apply the access approach with database service.Will be understood that, according to embodiments of the invention, the configuration carried out in step S204 is initial configuration, and a lot of parameters of now serving are not yet by instantiation particularly.After this whenever a new environment is transplanted in application, all can configure accordingly this application.Be appreciated that this configuration can be considered to be for the configuration of development phase to reshuffle (reconfiguration) the one of application, this also will be explained below.
Below with reference to Fig. 3, it illustrates the process flow diagram of the method 300 for configuring application according to exemplary embodiment of the present invention.Method 300 can be performed, automatically to configure application according to different environment when test and/or application deployment.
Particularly, method 300 start after, step S301 place determine described application and at least one serve between binding.As mentioned above, according to embodiments of the invention, for the relevant each service of service, be generated explicitly for the profile of this service and this application.Such as, in the file bag of the involved application of this profile.Thus, this type of profile can be extracted from the file bag of application to be disposed, and determine to apply the binding relationship between service according to profile.Especially, as mentioned above, according to embodiments of the invention, service profile comprises at least one parameter relevant, to be instantiated with service.
After this, method 300 carries out step S302, at the environment that this runs based on application, and at least one parameter in the above-mentioned profile of automatically instantiation.Noting, according to embodiments of the invention, can be the environment for Test Application at this said " environment ", also can be the targeted environment of disposing.And according to embodiments of the invention, this environment can be home environment, also can be remote environment (position, high in the clouds such as, in cloud computing).
According to embodiments of the invention, can realize according to various mode the D ynamic instantiation of parameter.Such as, in certain embodiments, the information relevant with described service can be collected, the particular location of such as data source, host IP address, port numbers based on the environment running application, etc.Then, during the operation collected information Dynamic injection can applied (runtime), thus the relevant parameters in instantiation profile.Alternatively, may not be dynamic collection with service relevant information, but by targeted environment periodic collection and storage.In other embodiment, according to the agreement between exploitation side and deployment side, need the value of the parameter of instantiation can be obtained in advance and store.Scope of the present invention is unrestricted in this regard.
In addition, according to embodiments of the invention, can realize by means of various technological means the instantiation of the parameter indicated in profile.In other words, the parameter value of being derived by analysis environments information can be delivered to application by various mode.Such as, in certain embodiments, when the value of the parameter derived can be written to the operation of application in addressable configuration file, thus be injected in when application runs.Alternatively or additionally, also can realize the transmission of parameter value to application by means of the various mode of environmental variance, registration table, interprocess communication etc., realize the instantiation to parameter thus.
Next, method 300 proceeds to step S303, configures application in the parameter of this Case-based Reasoning at least in part.Now, because the parameter in profile is instantiated, the value of the parameter of instantiation therefore can be utilized to revise the setting (such as, filling in the configuration file of application) of application, making to be applied in when running in current environment can correctly access services.Be appreciated that for the configuration of development phase, achieve configuring again application at this.In this way, effectively can to eliminate in the exploitation of application, test and deployment because environment isomerism is to manual dependence, reduce risk of errors, improve operating efficiency.
And, in this way, achieve binding in the evening (latebinding) between application and service.Specifically, when the example of service is dynamically injected the operation of application, instead of the mode such as to be typically hard coded in source code is solidified.Thus, can neatly by application deployment to any environment without the need to change application code.This can improve efficiency and the accuracy of application deployment significantly, reduces costs, and improves dirigibility and the adaptability of application and development and deployment.
Should be appreciated that and be not limited to the order shown in figure referring to figs. 2 and 3 the execution sequence of the method described above.On the contrary, the step of method 200 and 300 can perform according to any order suitably.Such as, in method 200, the generation (step S202) of profile can perform according to any order even concurrently with the importing (step S203) of file and/or assistance application.And for example, importing (step S203) and the application based on profile of file and/or assistance application configure that (step S204) is same can be performed even concurrently according to any order, etc.Scope of the present invention is unrestricted in this regard.
Consider a concrete example of implementation method 200 and 300 below.As mentioned above, in certain embodiments, application developer or any other side can registration services in service catalogue.Such as, Apache Derby database service can be registered in a cloud service catalogue.For this reason, the service metadata describing the information such as title, version, classification, mirror image, client library, interface, document, connection configuration and code sample is submitted to server.This metadata is stored in server, and cloud service catalogue is correspondingly refreshed.
Next, such as, when exploitation Java Web applies, developer can search for and select the Derby database service of registering above from service catalogue by IDE, and itself and Java Web are applied and bound by the mode such as passing through drag and drop.Correspondingly, apply for the service profile of Derby database service and Java Web and be generated explicitly.Such as, a corresponding profile files can be generated in the project structure of this application.The following shows the diagram of the partial content of a service profile.
Next, alternatively, file or assistance application, such as storehouse, the driver of all required client-sides can be imported based on demand for services, etc.Then, for the development environment for applying, application can be configured based on the profile generated at least in part.Such as, in this example, web.xml file that this JaVa Web applies can be revised to create a new data source (Data Source), thus the parameter in instantiation profile.Like this, application can use this file to visit database.
Correspondingly, " binding in evening " (latebinding) when test or application deployment, can be used when running to JaVa Web, to inject the example of service.Specifically, will by application deployment in a home environment or long-range cloud environment time, can determine based on the binding between application with service the deployment architecture applied.If necessary, example and/or the resource of service can also be created.Then, can Collection and Service is relevant in targeted environment information, and come to define in instantiating services profile based on collected variable have parameter to be instantiated.The following shows the schematic diagram of the partial content of the service profile after parameter instantiation.
Next, the parameter of Case-based Reasoning reconfigures application.Such as, in this instance, the server.xml file of Java Web Application Server can be revised, so that the configuration of more new opplication.The following shows the example of the configuration file after renewal.Can see, the parameter be instantiated in profile at time the configuration file of application server that is received in.In this way, application operationally can correctly be called and access services.By above-mentioned action, on when application can be run by the Java Web being deployed in targeted environment efficiently, and whole deployment is without the need to manually-operated intervention.
Below with reference to Fig. 4, it illustrates the block diagram of the device 400 for Application and Development according to the embodiment of the present invention.As shown in the figure, device 400 comprises: service selecting unit 401, is configured to select at least one being associated with described application to serve; And binding creating unit 402, be configured to create described application and described at least one serve between binding.Especially, binding creating unit 402 is at least configured to generate explicitly with described application at least one profile of serving described, described profile at least comprises at least one parameter relevant with described service, and at least one parameter described is by the environment that runs based on described application and by automatically instantiation.
According to some embodiment of the present invention, device 400 can also comprise importing unit, is configured to automatically to import at least one item in the file of described application and assistance application.Alternatively or additionally, according to some embodiment of the present invention, device 400 can also comprise: application dispensing unit, is configured to configure described application based on described profile at least in part.In addition, according to some embodiment of the present invention, at least one service described is registered in predefined service catalogue.In such embodiments, device 400 can also comprise: service browse unit, is configured to show the metadata at least partially at least one service described, described metadata describe with described at least one serve relevant information.
With reference to figure 5, it illustrates the block diagram of the device 500 for configuring application according to the embodiment of the present invention.As shown in the figure, according to embodiments of the invention, device 500 comprises: binding determining unit 501, be configured to determine described application and at least one serve between binding, describedly determine at least to comprise the profile extracted at least one service described, described profile at least comprise relevant with described service, will at least one parameter of instantiation; Instantiating unit 502, is configured to the environment that runs based on described application and at least one parameter described in automatically in profile described in instantiation; And deployment configuration unit 503, be configured at least one parameter described of Case-based Reasoning to configure described application.
According to some embodiment of the present invention, described instantiating unit 502 can comprise: information collection unit, is configured to collect information relevant with described service in described environment; And injection unit, when being configured to the described information of collecting to inject the operation of described application, with at least one parameter described in profile described in instantiation.Alternatively or additionally, described instantiating unit 502 can be configured at least one in environment for use variable, configuration file and registration table, transmits at least one parameter described in instantiation to described application.And, as mentioned above, described environment be can be for described application test environment or dispose targeted environment.And described environment can be home environment, it also can be remote environment.
For clarity, the selectable unit that device comprises or subelement are not shown in Fig. 4 and Fig. 5.But should be appreciated that all characteristic sum operations as described above are applicable to device 400 and 500 respectively, therefore do not repeat them here.And the unit in each device or the division of subelement are not restrictive but exemplary, are intended to logically describe its major function or operation.The function of a unit can be realized by multiple unit; Otherwise multiple unit also can be realized by a unit.Scope of the present invention is unrestricted in this regard.And the unit comprised in above-described device 400 and 500 can profit realize in various manners, comprises software, hardware, firmware or its combination in any.
Be hereinbefore described various embodiments of the present invention, above-mentioned explanation is exemplary, and non-exclusive, and be also not limited to the disclosed embodiment.When not departing from the scope and spirit of illustrated each embodiment, many modifications and changes are all apparent for those skilled in the art.The selection of term used herein, is intended to explain best the principle of each embodiment, practical application or the technological improvement to technology in market, or makes other those of ordinary skill of the art can understand each embodiment disclosed herein.

Claims (16)

1. the computer implemented method for using in Application and Development, described method comprises:
At least one being associated with described application is selected to serve; And
Create described application and described at least one serve between binding, described establishment at least comprises and generates at least one profile of serving described explicitly with described application, described profile at least comprises at least one parameter relevant with described service, and at least one parameter described is by the environment that runs based on described application and by automatically instantiation.
2. method according to claim 1, also comprises:
Automatically import at least one item in the file being used for described application and assistance application.
3. method according to claim 1, also comprises:
Described application is configured at least in part based on described profile.
4. method according to claim 1, at least one service wherein said is registered in predefined service catalogue, and described method also comprises:
Display is used for metadata at least partially of at least one service described, described metadata describe with described at least one serve relevant information.
5. the computer implemented method for using in configuration application, described method comprises:
Determine described application and at least one serve between binding, describedly determine at least to comprise the profile extracted at least one service described, described profile at least comprise relevant with described service, will at least one parameter of instantiation;
The environment run based on described application and at least one parameter described in automatically in profile described in instantiation; And
At least one parameter described of Case-based Reasoning configures described application.
6. method according to claim 5, the environment wherein run based on described application and at least one parameter described in automatically in profile described in instantiation comprise:
Collect information relevant with described service in described environment; And
When the described information of collecting is injected the operation of described application, with at least one parameter described in profile described in instantiation.
7. method according to claim 5, the environment wherein run based on described application and at least one parameter described in automatically in profile described in instantiation comprise:
At least one in environment for use variable, configuration file and registration table, transmits at least one parameter described in instantiation to described application.
8. the method according to any one of claim 5 to 7, wherein said environment be for described application test environment or dispose targeted environment.
9. the device for using in Application and Development, described device comprises:
Service selecting unit, is configured to select at least one being associated with described application to serve; And
Binding creating unit, be configured to create described application and described at least one serve between binding, described binding creating unit is at least configured to generate explicitly with described application at least one profile of serving described, described profile at least comprises at least one parameter relevant with described service, and at least one parameter described is by the environment that runs based on described application and by automatically instantiation.
10. device according to claim 9, also comprises:
Import unit, be configured to automatically to import at least one item in the file of described application and assistance application.
11. devices according to claim 9, also comprise:
Application dispensing unit, is configured to configure described application based on described profile at least in part.
12. devices according to claim 9, at least one service wherein said is registered in predefined service catalogue, and described device also comprises:
Service browse unit, is configured to show the metadata at least partially at least one service described, described metadata describe with described at least one serve relevant information.
13. 1 kinds of computer implemented devices for using in configuration application, described device comprises:
Binding determining unit, be configured to determine described application and at least one serve between binding, describedly determine at least to comprise the profile extracted at least one service described, described profile at least comprise relevant with described service, will at least one parameter of instantiation;
Instantiating unit, is configured to the environment that runs based on described application and at least one parameter described in automatically in profile described in instantiation; And
Deployment configuration unit, is configured at least one parameter described of Case-based Reasoning to configure described application.
14. devices according to claim 13, wherein said instantiating unit comprises:
Information collection unit, is configured to collect information relevant with described service in described environment; And
Injection unit, when being configured to the described information of collecting to inject the operation of described application, with at least one parameter described in profile described in instantiation.
15. devices according to claim 13, wherein said instantiating unit is configured at least one in environment for use variable, configuration file and registration table, transmits at least one parameter described in instantiation to described application.
16. devices according to any one of claim 13 to 15, wherein said environment be for described application test environment or dispose targeted environment.
CN201310384507.7A 2013-08-29 2013-08-29 For developing, testing and the method and apparatus of application deployment Active CN104423983B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201310384507.7A CN104423983B (en) 2013-08-29 2013-08-29 For developing, testing and the method and apparatus of application deployment
US14/469,088 US9785431B2 (en) 2013-08-29 2014-08-26 Development, test and deployment of applications

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310384507.7A CN104423983B (en) 2013-08-29 2013-08-29 For developing, testing and the method and apparatus of application deployment

Publications (2)

Publication Number Publication Date
CN104423983A true CN104423983A (en) 2015-03-18
CN104423983B CN104423983B (en) 2018-06-08

Family

ID=52585142

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310384507.7A Active CN104423983B (en) 2013-08-29 2013-08-29 For developing, testing and the method and apparatus of application deployment

Country Status (2)

Country Link
US (1) US9785431B2 (en)
CN (1) CN104423983B (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528057A (en) * 2015-09-09 2017-03-22 腾讯科技(深圳)有限公司 Method and apparatus for realizing running environment adaptation
CN106610853A (en) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 Application deployment method and device
CN106844202A (en) * 2016-12-30 2017-06-13 和创(北京)科技股份有限公司 Generate the method and terminal device of test case
CN106874188A (en) * 2016-12-30 2017-06-20 北京五八信息技术有限公司 Software interface test approach and device
CN109471797A (en) * 2018-10-23 2019-03-15 深圳市佰仟金融服务有限公司 A kind of environment configurations management method, system and terminal device
CN110609732A (en) * 2019-08-13 2019-12-24 平安普惠企业管理有限公司 Application program deployment method and device, computer equipment and storage medium
CN111443923A (en) * 2020-03-26 2020-07-24 北京房天下嘉居网络技术有限公司 Service publishing method and device
CN112015661A (en) * 2020-09-08 2020-12-01 江苏云柜网络技术有限公司 Software testing method and device
CN112114904A (en) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 Method and device for processing system configuration information
WO2021035553A1 (en) * 2019-08-27 2021-03-04 西门子股份公司 Application program development and deployment method and apparatus, and computer readable medium
CN114706619A (en) * 2020-12-16 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 Configuration information processing method and device, electronic equipment and storage medium

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055340B2 (en) * 2015-06-10 2018-08-21 International Business Machines Corporation Dynamic test topology visualization
US10270662B2 (en) 2016-03-14 2019-04-23 International Business Machines Corporation Local consumption of remote services
US10411973B2 (en) 2017-03-20 2019-09-10 Red Hat, Inc. Automatic microservice problem detection in enterprise applications
CN107203471B (en) * 2017-05-24 2023-03-24 腾讯科技(深圳)有限公司 Joint debugging method, service platform and computer storage medium
US11016784B2 (en) 2019-03-08 2021-05-25 Palantir Technologies Inc. Systems and methods for automated deployment and adaptation of configuration files at computing devices
US11461093B1 (en) 2020-03-13 2022-10-04 Liberty Mutual Insurance Company Automated generation of release note data objects based at least in part on release-time configuration settings
US11474814B1 (en) * 2020-03-13 2022-10-18 Liberty Mutual Insurance Company Modular software application configuration management
US11709770B2 (en) * 2020-04-14 2023-07-25 Jpmorgan Chase Bank, N.A. System and method for implementing a one to many configuration management tool
US11520566B2 (en) * 2020-08-24 2022-12-06 Bank Of America Corporation System for generation and maintenance of source capability objects for application components
US11561976B1 (en) * 2021-09-22 2023-01-24 Sap Se System and method for facilitating metadata identification and import

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US20040117759A1 (en) * 2001-02-22 2004-06-17 Rippert Donald J Distributed development environment for building internet applications by developers at remote locations
US20080065993A1 (en) * 2006-08-14 2008-03-13 Yih-Jen Huang Systems and methods for infrastructure and middleware provisioning

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060005162A1 (en) * 2002-05-16 2006-01-05 Agency For Science, Technology And Research Computing system deployment planning method
US20050010896A1 (en) * 2003-07-07 2005-01-13 International Business Machines Corporation Universal format transformation between relational database management systems and extensible markup language using XML relational transformation
US9038023B2 (en) * 2005-12-30 2015-05-19 Sap Se Template-based configuration architecture
US8392880B2 (en) 2007-04-27 2013-03-05 International Business Machines Corporation Rapid application development for database-aware applications
US8375351B2 (en) 2007-06-23 2013-02-12 International Business Machines Corporation Extensible rapid application development for disparate data sources
EP2201455B1 (en) * 2007-10-10 2019-05-01 Oracle America, Inc. Method and system for changing execution environments during application execution
US8291079B1 (en) 2008-06-04 2012-10-16 Appcelerator, Inc. System and method for developing, deploying, managing and monitoring a web application in a single environment
US8635534B2 (en) 2009-08-12 2014-01-21 Ebay Inc. Reservation of resources and deployment of applications using an integrated development environment
US9448790B2 (en) 2010-04-26 2016-09-20 Pivotal Software, Inc. Rapid updating of cloud applications
US20120036457A1 (en) 2010-08-09 2012-02-09 REAL Software, Inc. Integrated development environment for rapid application development
US20120047483A1 (en) * 2010-08-20 2012-02-23 Sap Ag Smart Web Service Discovery
US8904353B1 (en) * 2010-11-08 2014-12-02 Amazon Technologies, Inc. Highly reusable test frameworks and tests for web services
US20120291006A1 (en) 2011-05-12 2012-11-15 Google Inc. Development Architecture for Cloud-Based Applications
US8856724B2 (en) 2011-06-20 2014-10-07 Ebay Inc. Systems and methods for incremental software development
US9542566B2 (en) 2011-06-24 2017-01-10 Alibaba.Com Limited Develop and deploy software in multiple environments
US20130091557A1 (en) * 2011-10-11 2013-04-11 Wheel Innovationz, Inc. System and method for providing cloud-based cross-platform application stores for mobile computing devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US20040117759A1 (en) * 2001-02-22 2004-06-17 Rippert Donald J Distributed development environment for building internet applications by developers at remote locations
US20080065993A1 (en) * 2006-08-14 2008-03-13 Yih-Jen Huang Systems and methods for infrastructure and middleware provisioning

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528057A (en) * 2015-09-09 2017-03-22 腾讯科技(深圳)有限公司 Method and apparatus for realizing running environment adaptation
CN106528057B (en) * 2015-09-09 2020-07-10 腾讯科技(深圳)有限公司 Method and device for realizing running environment adaptation
CN106610853A (en) * 2015-10-26 2017-05-03 阿里巴巴集团控股有限公司 Application deployment method and device
WO2017071494A1 (en) * 2015-10-26 2017-05-04 阿里巴巴集团控股有限公司 Application deployment method and apparatus
CN106874188A (en) * 2016-12-30 2017-06-20 北京五八信息技术有限公司 Software interface test approach and device
CN106874188B (en) * 2016-12-30 2020-05-12 北京五八信息技术有限公司 Software interface testing method and device
CN106844202A (en) * 2016-12-30 2017-06-13 和创(北京)科技股份有限公司 Generate the method and terminal device of test case
CN109471797A (en) * 2018-10-23 2019-03-15 深圳市佰仟金融服务有限公司 A kind of environment configurations management method, system and terminal device
CN110609732A (en) * 2019-08-13 2019-12-24 平安普惠企业管理有限公司 Application program deployment method and device, computer equipment and storage medium
CN110609732B (en) * 2019-08-13 2023-02-07 平安普惠企业管理有限公司 Application program deployment method and device, computer equipment and storage medium
WO2021035553A1 (en) * 2019-08-27 2021-03-04 西门子股份公司 Application program development and deployment method and apparatus, and computer readable medium
US11797283B2 (en) 2019-08-27 2023-10-24 Siemens Aktiengesellschaft Application program development and deployment method and apparatus, and computer-readable medium
CN111443923A (en) * 2020-03-26 2020-07-24 北京房天下嘉居网络技术有限公司 Service publishing method and device
CN112015661A (en) * 2020-09-08 2020-12-01 江苏云柜网络技术有限公司 Software testing method and device
CN112015661B (en) * 2020-09-08 2023-10-03 南京云柜网络科技有限公司 Software testing method and device
CN112114904A (en) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 Method and device for processing system configuration information
CN114706619A (en) * 2020-12-16 2022-07-05 武汉斗鱼鱼乐网络科技有限公司 Configuration information processing method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
US20150067642A1 (en) 2015-03-05
CN104423983B (en) 2018-06-08
US9785431B2 (en) 2017-10-10

Similar Documents

Publication Publication Date Title
CN104423983A (en) Method and device for developing, testing and deploying application
US8661132B2 (en) Enabling service virtualization in a cloud
US10592216B1 (en) Development environment for programming quantum computing resources
US11775855B2 (en) Service for managing quantum computing resources
US10713097B2 (en) Automatic generation of blueprints for orchestration engines from discovered workload representations
US8914789B2 (en) Systematic migration of workload based on classification
US9378255B2 (en) Cloud logistics
CN111580861A (en) Pattern-based artificial intelligence planner for computer environment migration
US10353716B2 (en) Automated deployment and performance evaluation of a virtualized-computing environment
US20180091625A1 (en) Risk-Aware Service Management Stack Transformation during Workload Migration
US10157071B2 (en) Method for migrating a virtual machine between a local virtualization infrastructure and a cloud-based virtualization infrastructure
US9898258B2 (en) Versioning of build environment information
US20170060968A1 (en) Compiling extract, transform, and load job test data cases
US20200409724A1 (en) User interface widget recommendation
US10067861B2 (en) Efficient software testing
US10990507B2 (en) System and method for provisioning a virtual machine test environment
CN115668128A (en) Automating adoption of cloud services
US20210064507A1 (en) Detecting and predicting application performance
US20210294653A1 (en) Apparatus and method of securely and efficiently interfacing with a cloud computing service
US10684939B2 (en) Using workload profiling and analytics to understand and score complexity of test environments and workloads
US20210208872A1 (en) Automated test authorization management
US10878804B2 (en) Voice controlled keyword generation for automated test framework
US20150227305A1 (en) Deploying multi-channel or device agnostic applications
US11847443B2 (en) Constraints-based refactoring of monolith applications through attributed graph embeddings
US20140201686A1 (en) Graphical user interface streamlining implementing a content space

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant