CN105335174A - Method and device for invocating OSGi service through non-OSGi Java application program - Google Patents

Method and device for invocating OSGi service through non-OSGi Java application program Download PDF

Info

Publication number
CN105335174A
CN105335174A CN201410337310.2A CN201410337310A CN105335174A CN 105335174 A CN105335174 A CN 105335174A CN 201410337310 A CN201410337310 A CN 201410337310A CN 105335174 A CN105335174 A CN 105335174A
Authority
CN
China
Prior art keywords
osgi
bag
interface
service
name
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
CN201410337310.2A
Other languages
Chinese (zh)
Other versions
CN105335174B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410337310.2A priority Critical patent/CN105335174B/en
Publication of CN105335174A publication Critical patent/CN105335174A/en
Application granted granted Critical
Publication of CN105335174B publication Critical patent/CN105335174B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a method and device for invocating an OSGi service through a non-OSGi Java application program. The method comprises the following steps: obtaining a package name of an interface package of the OSGi service and a package name of a second party library on which the interface package of the OSGi service depends; setting configuration parameters of an OSGi frame according to the package name of the interface package of the package name of the second party library on which the interface package of the OSGi service depends, and setting the interface package of the OSGi service and the package of the second party library on which the interface package of the OSGi service depends as OSGi frame-level packages; starting an OSGi container; and invocating the OSGi service. By adopting the method of the invention, the class dependence of the non-OSGi Java application program on the OSGi party is cancelled, so that the class loading model of the non-OSGi Java application program does not need to be modified, and then the effect of not invading the non-OSGi Java application program is achieved.

Description

The java application of a kind of non-OSGi calls method and the device of OSGi service
Technical field
The application relates to network and field of computer technology, and the java application being specifically related to a kind of non-OSGi calls method and the device of OSGi service.
Background technology
OSGi (OpenServiceGatewayinitiative) technology is the dynamic modeling system towards Java.OSGi service platform provides service to Java, and these services make Java become the first-selection of Integrated Simulation and software development.Java is provided in the portability that product supported by multiple platform.OSGi technology provides and allows application program to use refining, the reusable and standardization primitive of component construction that can cooperate, and these assemblies can be assembled into an application and in disposing.
OSGi service refers to the service provided by OSGi model, and OSGi service has to operate in OSGi environment, and communicates with the service being all OSGi type, and namely it relies on OSGi model too with outside communication mode.The distinguishing feature that OSGi serves is that the service in OSGi is present in Bundle, Bundle is the physical location of OSGi, by some service aggregatings in a Bundle, is mutual isolation in OSGi environment between Bundle, be independent of each other, by means of only interface communication between Bundle.The Classloader mechanism of OSGi model is that each Bundle respectively has a Classloader, when so communicating between two inhomogeneity loaders, is that the interface strictly relying on OSGi model carries out, namely between Bundle by means of only interface communication.But, if when OSGi service being supplied to the application program under non-OSGi environment, because application program does not realize OSGi model, will cause application program serve with OSGi both between cannot communicate, thus cause the application program under non-OSGi environment that OSGi cannot be used to serve.
At present, for the web application under non-OSGi environment, OSGi service is used usually to adopt following two kinds of modes:
1) web application entirety is forged into an OSGi application, namely OSGi model is used to realize whole application program, make web application self together with all services of association all based on OSGi model, such whole system follows OSGi completely, mutually isolated between each service, cooperation is normal;
2) by web application part OSGiization, adopt and application program can be made in this way to be convenient to use OSGi service, application program self does not need again to observe OSGi regulation simultaneously.Be considered as a Bundle by whole application program, allow application program reach the mutual of OSGi mode with outside OSGi service, application program and OSGi serves that self is mutually isolated, also can realize OSGi and serves the stable of self, while with apply alternately.
Two kinds of above modes are all the effective schemes used in the application program of OSGi service under non-OSGi environment, but but all unavoidably run into obstacle.
The first scheme, for web application, the development mode of lightweight is rooted in the hearts of the people, and the Development Framework based on OSGi pattern unripe in industry, if whole application program will be forged into pure OSGi, just need to drop into the overall frame supported of a large amount of developments of manpower one, the module simultaneously requiring the later stage all will follow OSGi, virtually all greatly improve development and maintenance cost, such implementation cost is very huge, and change the original Design Mode of this application and operation up hill and dale, and be not suitable for the popularization of serviceization.
First scheme, although got around the OSGiization of web application, has made application can continue to use existing ripe framework, and when accessing OSGi service, also by means of only interactive interfacing, mutual coupling reduces a lot.But in order to realize the mutual of Web container and OSGi interface, model is appointed with regard to needing the parents destroying Web container, namely Web container is allowed can be loaded into class in OSGi, the mutual of WEB container and OSGi is realized with this, that is: application program has just been modified parentClassLoader when starting, thus with the addition of a class loading agency in whole application layer, the class under non-OSGi environment loads and is all controlled by this agency, thus realizes the access of OSGi service.This mode is really effective, but revises the class stress model of whole application program to use OSGi service to need, therefore too large to the invasive of non-OSGi application program, thus inevitably will introduce other more problem.
Therefore, when the application program access OSGi service of non-OSGi, there is the problem needing the class stress model of the application program revising non-OSGi.
Application content
The method that the application provides the java application of a kind of non-OSGi to call OSGi service and device, to solve in prior art the problem of the class stress model needing the application program revising non-OSGi.
The application provides the java application of a kind of non-OSGi to call the method for OSGi service, comprising:
Obtain the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
The bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level;
According to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves;
The described OSGi service that the Classloader calling described application program loads.。
Optionally, the interface bag of described OSGi service provides the described OSGi interface class of serving, and described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
Optionally, the bag name in two side storehouses of the bag name of the interface bag of described acquisition described OSGi service and the interface bag dependence of described OSGi service comprises:
Travel through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service;
In the Java archive file of described OSGi type, extract inventory file;
Resolve described inventory file, obtain the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
Optionally, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
Optionally, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
Optionally, described inventory file adopts following steps to generate:
When compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
According to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
Optionally, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, and the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on.
Optionally, the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
Optionally, described according to described configuration parameter, start OSGi container and refer to, described in described OSGi container application, the configuration parameter of OSGi framework carries out inner classes loading, comprising:
Read the configuration parameter of described OSGi framework, obtain the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
The bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
Optionally, described in call described application program the described OSGi service that loads of Classloader refer to, call the common class of the interface bag dependence that the interface class of the described OSGi service that described application program provides and described OSGi serve.
The application also provides the java application of a kind of non-OSGi to call the device of OSGi service, comprising:
Acquiring unit, the bag name in the two side storehouses that the interface bag that bag name and described OSGi for obtaining the interface bag that described OSGi serves are served relies on;
Dispensing unit, the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level;
Start unit, for
According to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves;
Call unit, the described OSGi service that the Classloader for calling described application program loads.
Optionally, the interface bag of described OSGi service provides the described OSGi interface class of serving, and described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
Optionally, described acquiring unit comprises:
Traversal Unit, for traveling through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service;
Extraction unit, in the Java archive file of described OSGi type, extracts inventory file;
Resolution unit, for resolving described inventory file, obtains the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
Optionally, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
Optionally, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
Optionally, described inventory file adopts following steps to generate:
When compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
According to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
Optionally, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, and the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on.
Optionally, the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
Optionally, described start unit comprises:
Reading unit, for reading the configuration parameter of described OSGi framework, obtains the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
Loading unit, the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
Optionally, described in call described application program the described OSGi service that loads of Classloader refer to, call the common class of the interface bag dependence that the interface class of the described OSGi service that described application program provides and described OSGi serve.
Compared with prior art, the application has the following advantages:
The java application of the non-OSGi that the application provides calls method and the device of OSGi service, the bag in the two side storehouses that the interface bag of being served by the interface bag of being served by described OSGi and described OSGi is relied on is set to the bag of the framework level of OSGi, the Classloader of the java application of non-OSGi is made directly to load the Er Fangku of the interface class of OSGi service and the interface class dependence of OSGi service, the interface class avoiding the java application of non-OSGi to serve to OSGi container request OSGi and two side storehouses, thus when making the java application as non-OSGi call OSGi service, without the need to revising the class stress model of the java application of non-OSGi, avoid transforming the java application of non-OSGi, the java application of non-OSGi can call OSGi service by the interface class directly using OSGi service to provide, and the interface class that the realization bag of OSGi service is served to the java application request OSGi of non-OSGi, thus the java application reaching non-OSGi calls when OSGi serves the effect of the java application of non-OSGi without any intrusion, still ensure complete on version and isolation of each interface class of OSGi service simultaneously.
Accompanying drawing explanation
Fig. 1 is the process flow diagram that the java application of the non-OSGi of the application calls the embodiment 1 of the method for OSGi service;
Fig. 2 is the process flow diagram that the java application of the non-OSGi of the application calls the embodiment 2 step S101 of the method for OSGi service;
Fig. 3 is the adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the embodiment 1 of the method for OSGi service;
Fig. 4 is the adduction relationship figure that the java application of the non-OSGi of the application calls the Bundle of the OSGi model of the embodiment 1 of the method for OSGi service;
Fig. 5 is the adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the OSGi model of the embodiment 1 of the method for OSGi service;
Fig. 6 is the concrete adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the embodiment 1 of the method for OSGi service;
Fig. 7 is the start-up course schematic diagram for making extra state the unified startup API come into force in application program launching process that the java application of the non-OSGi of the application calls the embodiment 3 of the method for OSGi service;
Fig. 8 is the schematic diagram that the java application of the non-OSGi of the application calls the embodiment 1 of the device of OSGi service;
Fig. 9 is the schematic diagram that the java application of the non-OSGi of the application calls embodiment 2 acquiring unit of the device of OSGi service.
Embodiment
Set forth a lot of detail in the following description so that fully understand the application.But the application can be much different from alternate manner described here to implement, those skilled in the art can when doing similar popularization without prejudice to when the application's intension, and therefore the application is by the restriction of following public concrete enforcement.
Please refer to Fig. 1, it is the process flow diagram that the java application of the non-OSGi of the application calls the embodiment 1 of the method for OSGi service.Described method comprises the steps:
Step S101: the bag name obtaining two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
OSGi service of calling described in the application refers to the interface bag calling OSGi service, the realization bag of OSGi service realizes the interface bag of OSGi service, namely OSGi service itself is that the realization bag of being served by OSGi has realized, the interface bag that OSGi serves is separated with the realization bag that OSGi serves, when application call OSGi is served, the realization of serving with OSGi has nothing to do, the entrance that the interface bag that OSGi serves provides OSGi to serve.In the present embodiment, the interface bag of described OSGi service provides the described OSGi interface class of serving, and described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
Please refer to Fig. 2, it is the process flow diagram that the java application of the non-OSGi of the application calls the embodiment 2 step S101 of the method for OSGi service.In the present embodiment, the bag name in two side storehouses of the bag name of the interface bag of described acquisition described OSGi service and the interface bag dependence of described OSGi service comprises:
Step S201: travel through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service.
Java archive file described in the application is a kind of document format of Java, refer to executable Jar file bag, operate in Java platform, generate when compiling the application program based on Java language exploitation, the Jar file created for J2EE application program is Ear file (enterprise Jar file), the Jar file created for web application is War file, and Jar file bag also comprises the Java archive file of the OSGi type for the establishment of OSGi service interface bag.
In the present embodiment, the java application of non-OSGi can rely on various types of Java archive file, according to the type of each Java archive file, therefrom search the Java archive file of the OSGi type that application program relies on, comprise two side's library informations of the interface package informatin of the OSGi service of the OSGi service of application call and the interface bag dependence of described OSGi service at the Java archive file of OSGi type.
Step S202: in the Java archive file of described OSGi type, extracts inventory file.
The configuration information of Java archive file is stored in the inventory file of Jar file bag, and inventory file is MANIFEST.MF file, such as: the MANIFEST information of the Java archive file of OSGi type is:
Import-Package:
com.alibaba.url.a;version=1.3,com.alibaba.url.b;version=1.3,com.alibaba.url.c;version=1.3,com.alibaba.template.a;version=2.6,com.alibaba.template.b;version=2.6,com.alibaba.template.c;version=2.6,com.alibaba.tool.a;version=5.2,com.alibaba.tool.b;version=5.2,com.alibaba.tool.c;version=5.2,com.alibaba.net.a;version=1.7.1,com.alibaba.net.b;version=1.7.1,com.alibaba.net.c;version=1.7.1,com.alibaba.view.a;version=3.1,com.alibaba.view.b;version=3.1,com.alibaba.view.c;version=3.1
Export-Package:
com.alibaba.service.a;version=1.0,com.alibaba.service.b;version=1.0,com.alibaba.service.c;version=1.0
The Er Fangku relied on by the interface bag of OSGi service is defined as the package of its import, and OSGi is served the package self being defined as export.
Step S203: resolve described inventory file, obtains the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
In the present embodiment, the MANIFEST information of the Java archive file of OSGi type is resolved, import and export information wherein is all combined, the parameter value of the configuration parameter of OSGi framework is set as next step.
In the present embodiment, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
In the present embodiment, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
In the present embodiment, described inventory file adopts following steps to generate:
Step S301 (not shown): when compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
Step S302 (not shown): according to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
In the present embodiment, this configuration information in the two side storehouses that the provider of OSGi service needs the interface bag of the interface bag and OSGi service collecting OSGi service to rely on, to come into force in the application, if all remove the interface bag that artificial analysis OSGi serves at every turn, and manually write out these configurations, obviously be unlikely, a maven plug-in unit is unwrapped for the interface of OSGi service specially according to this characteristic, the work that maven plug-in unit does is the packge information that the two side storehouses that rely on of the interface bag collecting OSGi service in the Java archive file process of compiling OSGi type and OSGi serve self, be stored in after arrangement in the MANIFEST.MF file of the Java archive file of OSGi type.
Step S102: the bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level.
OSGi technology is the characteristic that Java platform provides dynamic modularity, but it is not modified to bottom layer realization such as class libraries and the Java Virtual Machine etc. of Java, with the key of stopping using, the intermodule reference that OSGi technology realizes and isolation, dynamically enabling of module are that the class that it is expanded loads framework.
The class of OSGi specification loads framework and does not follow the parents that Java recommends and appoint model (ParentsDelegationModel), and its Classloader is by the rule of a rigorous definition sub-concentrated loading class from Bundle.Except FragmentBundle, each by the Bundle correctly resolved have one independently Classloader support, cooperate with each other between these Classloaders and define the agency network framework of a class loading, what therefore adopt in OSGi is that netted class loads framework, instead of the tree-shaped class loading framework that Java is traditional.
In OSGi model, in order to manage between different B undle and with outside class and cooperation, OSGi has formulated standard set class and has loaded flow process, and for OSGi inside, the mutual statement by import between each Bundle realizes, after stating import, OSGi just can search the Bundle providing corresponding interface bag, then provides relevant class by this Bundle, and if without any statement bag, then think inner classes, loaded by the Bundle Classloader of self.And for outside, if the class that jdk itself provides, OSGi can follow parents appoints model directly to give father's loader; In addition also have two kinds of scenes, if bootdelegation statement, then can continue to follow parents and appoint model to transfer to father's loader, and if extra statement, then can think the bag of framework level, the Classloader process of framework can be transferred to.
Carry out research to OSGi can find out, for the constraint of Classloader, OSGi pattern is that whom the loading responsibility of class become and whom provides load by it, so when accessing OSGi service, request OSGi side of non-OSGi side is just needed to give class, so adopt a kind of scheme to avoid non-OSGi side to go for and ask the situation of OSGi side's class to occur, still ensure complete on version and isolation of each class of OSGi side simultaneously.
The core concept that the java application of the non-OSGi that the application provides calls the method for OSGi service cancels non-OSGi side to rely on the class of OSGi side, do not loaded the interface bag of OSGi service by the Classloader of each Bundle of OSGi model for this reason, and the interface bag that OSGi serves is changed and transfers to the Classloader of the java application of non-OSGi to load, the realization bag of OSGi service goes for conversely asks the java application of non-OSGi to the interface class providing OSGi to serve.
OSGi provides extra mode, this mode can by stating that some package and their different editions are all provided by the Classloader of FrameworkBundle, and utilize this characteristic, just can realize not needing revising anything of non-OSGi side, the service that non-OSGi side just can be made arbitrarily to quote OSGi side provide, and still mutually isolated for service OSGi, ensure the integrality of OSGi specification.
The configuration parameter org.osgi.framework.system.packages.extra of OSGi framework is the expansion to org.osgi.framework.system.packages, the bag be configured in this parameter all will be loaded by the Framework Classloader of OSGi (being exactly that AppClassloader loads usually), these bags can from Bundle, also can from non-Bundle, often the Framework Classloader of OSGi is exactly that app Classloader is (unless oneself write individual class to load the class loading and start OSGi, such as: in web container, use OSGi, so the Framework Classloader of OSGi is exactly the Classloader that web container loads war bag, not app Classloader).
The configuration parameter org.osgi.framework.system.packages of OSGi framework is identical with org.osgi.framework.system.packages.extra configuration parameter basic meaning, but arbitrarily can not give org.osgi.framework.system.packages settings, because its default value is the bag needed for framework, default value is org.osgi.framework, if arrange other value, then can cover original default value, so be generally all to org.osgi.framework.system.packages.extra settings, the class in the interface bag of OSGi service is used for share to outside OSGi.
In the present embodiment, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on, and the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier in version identifier that described OSGi serves and described two side storehouses.The configuration rule of org.osgi.framework.system.packages.extra is comprised: 1. can configure multiple bag, separate with comma between each bag; 2. bag can configuration version information, if do not have configuration version, then giving tacit consent to its version is 0.0.0.
Step S103: according to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves.
In the present embodiment, described according to described configuration parameter, start OSGi container to refer to, described in described OSGi container application, the configuration parameter of OSGi framework carries out inner classes loading, comprise: the configuration parameter reading described OSGi framework, obtain the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service; The bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
Please refer to Fig. 3, it is the adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the embodiment 1 of the method for OSGi service.In the present embodiment, after starting the configuration parameter of OSGi framework, the interface bag 101 of served by OSGi and the two side storehouses 103 relied on thereof are set to the bag of OSGi framework level, the interface bag 101 loading OSGi service by the Classloader of the java application 102 of non-OSGi and the two side storehouses 103 relied on thereof, the interface class that the interface bag 101 that OSGi is served provides and the class that the application program that the common class that two side storehouses 103 provide becomes non-OSGi provides, the realization bag 104 of OSGi service asks the application program of non-OSGi to the interface class providing OSGi to serve.The application call OSGi of non-OSGi serves the problem not needing to consider that any class loads in such a mode, picture is only needed to use the mode in common two side storehouses to use OSGi to serve, and OSGi inside class load and how mutual with non-OSGi side, all become the problem that OSGi side considers, thus non-OSGi side is freed, achieve without invading.
Please refer to Fig. 4, it is the adduction relationship figure that the java application of the non-OSGi of the application calls the Bundle of the OSGi model of the embodiment 1 of the method for OSGi service.In the present embodiment, org.osgi.framework.system.packages.extra configuration parameter carries out coming into force for the FrameworkBundle of OSGi, such as: in FrameworkBundle, OSGi side is by the interface bag of extra configuration parameter statement service a: com.alibaba.service.a; The interface bag of version=1.0, service b: com.alibaba.service.b; The interface bag of version=1.7 and service c: com.alibaba.service.c; Version=2.3, then when OSGi container starts, the interface Bao Jun of the interface bag of service a, the interface bag of service b and service c transfers to FrameworkBundle to provide, FrameworkBundle is loaded by the Classloader of the application program of non-OSGi, and the interface bag of OSGi service that therefore FrameworkBundle provides can the application program of non-OSGi directly call; In BundleB, the interface bag of service b: com.alibaba.service.b; Version=1.7 is provided by FrameworkBundle, and serves the interface bag of e: com.alibaba.service.e; Version=2.0 is that BundleB provides.Can see that extra configuration parameter states that a collection of bag is provided by FrameworkBundle in fact, configure by extra, the class that the application program of non-OSGi loads all is provided away by FrameworkBundle by we, thus realizes the mutual of OSGi and non-OSGi side.
In the present embodiment, judge which bag should be transferred to FrameworkBundle to provide by extra statement, its principle only has to need class mutual between OSGi and non-OSGi, just can reach a conclusion through finishing analysis, interface bag and its Er Fangku relied on of all OSGi services should be declared as org.osgi.framework.system.packages.extra.Please refer to Fig. 5, it is the adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the OSGi model of the embodiment 1 of the method for OSGi service.In the present embodiment, the extra generated for interface bag is configured to:
org.osgi.framework.system.packages.extra=com.alibaba.service.a;version=1.0,com.alibaba.service.b;version=1.0,com.alibaba.service.c;version=1.0,com.alibaba.url.a;version=1.3,com.alibaba.url.b;version=1.3,com.alibaba.url.c;version=1.3,com.alibaba.template.a;version=2.6,com.alibaba.template.b;version=2.6,com.alibaba.template.c;version=2.6,com.alibaba.tool.a;version=5.2,com.alibaba.tool.b;version=5.2,com.alibaba.tool.c;version=5.2,com.alibaba.net.a;version=1.7.1,com.alibaba.net.b;version=1.7.1,com.alibaba.net.c;version=1.7.1,com.alibaba.view.a;version=3.1,com.alibaba.view.b;version=3.1,com.alibaba.view.c;version=3.1。
Please refer to Fig. 6, it is the concrete adduction relationship figure that the java application of the non-OSGi of the application calls the bag of the embodiment 1 of the method for OSGi service.In the present embodiment, interface bag and the relevant Er Fangku of OSGi service transfer to the Classloader of the application program of non-OSGi to load, OSGi side is all called the classloader of Framework for these classes by extra statement then is transferred to the application program of non-OSGi to load, interface bag and the relevant Er Fangku of OSGi service are the classes provided by the Classloader of the application program of non-OSGi, such as: the interface bag A of OSGi service, the interface bag B of OSGi service, two side storehouse AVersion:1.1 and two side storehouse BVersion:1.0 are loaded by the Classloader of the application program of non-OSGi.In the production environment of reality, the Framework of OSGi is started by the application class of non-OSGi, namely OSGi container is initialized to complete by the application program of non-OSGi, just can be specified by the application program of non-OSGi so the class of the Framework of OSGi loads, the Classloader that so just very easily the request that these classes load can be transferred to the application program of non-OSGi provides.
In the present embodiment, also having very crucial is exactly a bit when the version that the application program of non-OSGi is present in two side storehouses is inconsistent with two side storehouse versions of certain OSGi environment, still can accomplish isolation each other, be independent of each other, this is the optimum embodiment of OSGi pattern, such as: two side storehouse AVersion:1.1 are loaded by the Classloader of the application program of non-OSGi, and two side storehouse AVersion:1.2 are loaded by the Classloader of the Bundle of OSGi.And principle is the statement that extra statement pattern supports version, the version of our bag that only allows the application program of non-OSGi need appears in extra statement like this, various versions for OSGi inside rely on, the application program of non-OSGi need not be comprehended, this is again that the one avoiding both sides to be coupled embodies, and the application program of non-OSGi has really been accomplished without invading when applying OSGi service.
Step S104: call the described OSGi service that described OSGi serves the Classloader loading of described application program.
In the present embodiment, described in call the described OSGi service that Classloader that described OSGi serves described application program loads and refer to, call the common class of the interface bag dependence that the interface class of the described OSGi service that described application program provides and described OSGi serve.
Please refer to Fig. 7, it is the start-up course schematic diagram for making extra state the unified startup API come into force in application program launching process that the java application of the non-OSGi of the application calls the embodiment 3 of the method for OSGi service.In the present embodiment, provide a unified startup API, GriffinContainerStarter, application program triggers the startup of OSGI container in start-up course, extra is stated and comes into force, thus the service of OSGI accessed smoothly.Wherein, one step of most critical is anlyze (), in this step, we will all Java archive file bags of traversal applications procedure dependency, and the MANIFEST information of the Java archive file bag being labeled as OSGI type is resolved, import and export information wherein is all combined, and in next step Framework.init () as extra, these data is stated that setting is entered.Finally, just extra was stated before OSGI environment starts, all can be applied to this statement when follow-up OSGI inner classes loads, thus achieve the communication between non-OSGI and OSGI.
The java application of the non-OSGi that the application provides calls method and the device of OSGi service, the bag in the two side storehouses that the interface bag of being served by the interface bag of being served by described OSGi and described OSGi is relied on is set to the bag of the framework level of OSGi, the Classloader of the java application of non-OSGi is made directly to load the Er Fangku of the interface class of OSGi service and the interface class dependence of OSGi service, the interface class avoiding the java application of non-OSGi to serve to OSGi container request OSGi and two side storehouses, thus when making the java application as non-OSGi call OSGi service, without the need to revising the class stress model of the java application of non-OSGi, avoid transforming the java application of non-OSGi, the java application of non-OSGi can call OSGi service by the interface class directly using OSGi service to provide, and the interface class that the realization bag of OSGi service is served to the java application request OSGi of non-OSGi, thus the java application reaching non-OSGi calls when OSGi serves the effect of the java application of non-OSGi without any intrusion, still ensure complete on version and isolation of each interface class of OSGi service simultaneously.
In the above-described embodiment, the java application providing a kind of non-OSGi calls the method for OSGi service, corresponds, and the application also provides the java application of a kind of non-OSGi to call the device of OSGi service.Please refer to Fig. 8, it is the schematic diagram that the java application of a kind of non-OSGi of the application calls the embodiment 1 of the device of OSGi service.Because device embodiment is substantially similar to embodiment of the method, so describe fairly simple, relevant part illustrates see the part of embodiment of the method.The device embodiment of following description is only schematic.
The java application of a kind of non-OSGi of the present embodiment calls the device of OSGi service, comprising: acquiring unit 501, the bag name in the two side storehouses that the interface bag that bag name and described OSGi for obtaining the interface bag that described OSGi serves are served relies on; Dispensing unit 502, the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level; Start unit 503, for according to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves; Call unit 504, the described OSGi service that the Classloader of serving described application program for calling described OSGi loads.
In the present embodiment, the interface bag of described OSGi service provides the described OSGi interface class of serving, and described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
Please refer to Fig. 9, it is the schematic diagram that the java application of the non-OSGi of the application calls embodiment 2 acquiring unit of the device of OSGi service.In the present embodiment, described acquiring unit 501 comprises:
Traversal Unit 601, for traveling through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service;
Extraction unit 602, in the Java archive file of described OSGi type, extracts inventory file;
Resolution unit 603, for resolving described inventory file, obtains the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
In the present embodiment, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
In the present embodiment, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
In the present embodiment, described inventory file adopts following steps to generate:
When compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
According to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
In the present embodiment, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, and the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on.
In the present embodiment, the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
In the present embodiment, described start unit 503 comprises:
Reading unit (not shown), for reading the configuration parameter of described OSGi framework, obtains the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
Loading unit (not shown), the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
In the present embodiment, described in call the described OSGi service that Classloader that described OSGi serves described application program loads and refer to, call the common class of the interface bag dependence that the interface class of the described OSGi service that described application program provides and described OSGi serve.
Although the application with preferred embodiment openly as above; but it is not for limiting the application; any those skilled in the art are not departing from the spirit and scope of the application; can make possible variation and amendment, the scope that therefore protection domain of the application should define with the application's claim is as the criterion.
In one typically configuration, computing equipment comprises one or more processor (CPU), input/output interface, network interface and internal memory.
Internal memory may comprise the volatile memory in computer-readable medium, and the forms such as random access memory (RAM) and/or Nonvolatile memory, as ROM (read-only memory) (ROM) or flash memory (flashRAM).Internal memory is the example of computer-readable medium.
1, computer-readable medium comprises permanent and impermanency, removable and non-removable media can be stored to realize information by any method or technology.Information can be computer-readable instruction, data structure, the module of program or other data.The example of the storage medium of computing machine comprises, but be not limited to phase transition internal memory (PRAM), static RAM (SRAM), dynamic RAM (DRAM), the random access memory (RAM) of other types, ROM (read-only memory) (ROM), Electrically Erasable Read Only Memory (EEPROM), fast flash memory bank or other memory techniques, read-only optical disc ROM (read-only memory) (CD-ROM), digital versatile disc (DVD) or other optical memory, magnetic magnetic tape cassette, tape magnetic rigid disk stores or other magnetic storage apparatus or any other non-transmitting medium, can be used for storing the information can accessed by computing equipment.According to defining herein, computer-readable medium does not comprise non-temporary computer readable media (transitorymedia), as data-signal and the carrier wave of modulation.
2, it will be understood by those skilled in the art that the embodiment of the application can be provided as method, system or computer program.Therefore, the application can adopt the form of complete hardware embodiment, completely software implementation or the embodiment in conjunction with software and hardware aspect.And the application can adopt in one or more form wherein including the upper computer program implemented of computer-usable storage medium (including but not limited to magnetic disk memory, CD-ROM, optical memory etc.) of computer usable program code.

Claims (20)

1. the java application of non-OSGi calls a method for OSGi service, it is characterized in that, comprising:
Obtain the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
The bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level;
According to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves;
The described OSGi service that the Classloader calling described application program loads.
2. the java application of non-OSGi according to claim 1 calls the method for OSGi service, it is characterized in that, the interface bag of described OSGi service provides the described OSGi interface class of serving, described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
3. the java application of non-OSGi according to claim 1 calls the method for OSGi service, it is characterized in that, the bag name in the two side storehouses that the interface bag that the bag name of the interface bag that the described OSGi of described acquisition serves and described OSGi serve relies on comprises:
Travel through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service;
In the Java archive file of described OSGi type, extract inventory file;
Resolve described inventory file, obtain the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
4. the java application of non-OSGi according to claim 3 calls the method for OSGi service, it is characterized in that, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
5. the java application of non-OSGi according to claim 4 calls the method for OSGi service, it is characterized in that, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
6. the java application of non-OSGi according to claim 5 calls the method for OSGi service, it is characterized in that, described inventory file adopts following steps to generate:
When compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
According to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
7. the java application of non-OSGi according to claim 1 calls the method for OSGi service, it is characterized in that, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, and the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on.
8. the java application of non-OSGi according to claim 7 calls the method for OSGi service, it is characterized in that, the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
9. the java application of non-OSGi according to claim 2 calls the method for OSGi service, it is characterized in that, described according to described configuration parameter, start OSGi container and refer to, described in described OSGi container application, the configuration parameter of OSGi framework carries out inner classes loading, comprising:
Read the configuration parameter of described OSGi framework, obtain the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
The bag name in the two side storehouses that the bag name of interface bag of serving according to described OSGi and the interface bag of described OSGi service rely on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
10. the java application of non-OSGi according to claim 9 calls the method for OSGi service, it is characterized in that, the described OSGi service that the described Classloader calling described application program loads refers to, the interface class that the described OSGi that calling described application program provides serves and the common class that the interface bag that described OSGi serves relies on.
The java application of 11. 1 kinds of non-OSGi calls the device of OSGi service, it is characterized in that, comprising:
Acquiring unit, the bag name in the two side storehouses that the interface bag that bag name and described OSGi for obtaining the interface bag that described OSGi serves are served relies on;
Dispensing unit, the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, arrange the configuration parameter of OSGi framework, the bag in the two side storehouses that the interface bag that the interface bag of being served by described OSGi and described OSGi serve relies on is set to the bag of OSGi framework level;
Start unit, for according to described configuration parameter, start OSGi container, the Classloader of described application program loads described OSGi and serves;
Call unit, the described OSGi service that the Classloader for calling described application program loads.
The java application of 12. non-OSGi according to claim 11 calls the device of OSGi service, it is characterized in that, the interface bag of described OSGi service provides the described OSGi interface class of serving, described two side storehouses encapsulate the common code of the interface bag dependence that described OSGi serves, the common class that the interface bag that described two side storehouses provide described OSGi to serve relies on.
The java application of 13. non-OSGi according to claim 11 calls the device of OSGi service, and it is characterized in that, described acquiring unit comprises:
Traversal Unit, for traveling through all Java archive files that described application program relies on, obtain the Java archive file of OSGi type, the Java archive file of described OSGi type comprises the Er Fangku of the interface bag of described OSGi service and the interface bag dependence of described OSGi service;
Extraction unit, in the Java archive file of described OSGi type, extracts inventory file;
Resolution unit, for resolving described inventory file, obtains the bag name in two side storehouses of the bag name of the interface bag of OSGi service and the interface bag dependence of described OSGi service.
The java application of 14. non-OSGi according to claim 13 calls the device of OSGi service, it is characterized in that, described inventory file comprises the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service.
The java application of 15. non-OSGi according to claim 14 calls OSGi service unit, it is characterized in that, described inventory file also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
The java application of 16. non-OSGi according to claim 15 calls the device of OSGi service, it is characterized in that, described inventory file adopts following steps to generate:
When compiling the Java archive file generating described OSGi type, collect the bag name of interface bag that described OSGi serves and the version identifier that described OSGi serves, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses;
According to the form preset, the version identifier that the bag name of the interface bag of being served by described OSGi and described OSGi serve, and the bag name in two side storehouses that relies on of the described OSGi interface bag of serving and the version identifier in described two side storehouses are stored into described inventory file.
The java application of 17. non-OSGi according to claim 11 calls the device of OSGi service, it is characterized in that, the configuration parameter of described OSGi framework refers to org.osgi.framework.system.packages.extra, and the parameter value that the configuration parameter of described OSGi framework is corresponding comprises the bag name in the two side storehouses that interface bag that the bag name of the interface bag that described OSGi serves and described OSGi serve relies on.
The java application of 18. non-OSGi according to claim 17 calls the device of OSGi service, it is characterized in that, the parameter value that the configuration parameter of described OSGi framework is corresponding also comprises the version identifier of described OSGi service and the version identifier in described two side storehouses.
The java application of 19. non-OSGi according to claim 12 calls the device of OSGi service, and it is characterized in that, described start unit comprises:
Reading unit, for reading the configuration parameter of described OSGi framework, obtains the bag name in two side storehouses of the bag name of the interface bag that described OSGi serves and the interface bag dependence of described OSGi service;
Loading unit, the bag name in the two side storehouses that the interface bag of serving for the bag name of interface bag of serving according to described OSGi and described OSGi relies on, the Classloader of described application program loads the common class of the interface class of described OSGi service and the interface bag dependence of described OSGi service, and the common class of the interface bag dependence that the interface class of described OSGi service and described OSGi serve is the class that described application program provides.
The java application of 20. non-OSGi according to claim 19 calls the device of OSGi service, it is characterized in that, the described OSGi service that the described Classloader calling described application program loads refers to, the interface class that the described OSGi that calling described application program provides serves and the common class that the interface bag that described OSGi serves relies on.
CN201410337310.2A 2014-07-15 2014-07-15 A kind of java application of non-OSGi calls the method and device of OSGi service Active CN105335174B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410337310.2A CN105335174B (en) 2014-07-15 2014-07-15 A kind of java application of non-OSGi calls the method and device of OSGi service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410337310.2A CN105335174B (en) 2014-07-15 2014-07-15 A kind of java application of non-OSGi calls the method and device of OSGi service

Publications (2)

Publication Number Publication Date
CN105335174A true CN105335174A (en) 2016-02-17
CN105335174B CN105335174B (en) 2018-11-20

Family

ID=55285739

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410337310.2A Active CN105335174B (en) 2014-07-15 2014-07-15 A kind of java application of non-OSGi calls the method and device of OSGi service

Country Status (1)

Country Link
CN (1) CN105335174B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595246A (en) * 2018-03-15 2018-09-28 阿里巴巴集团控股有限公司 A kind of method, apparatus and equipment of operation application
CN109445845A (en) * 2018-09-10 2019-03-08 深圳市智美达科技股份有限公司 Interface call method, device, computer equipment and storage medium
CN111273965A (en) * 2020-02-17 2020-06-12 支付宝(杭州)信息技术有限公司 Container application starting method, system and device and electronic equipment
CN117312104A (en) * 2023-11-30 2023-12-29 青岛民航凯亚系统集成有限公司 Visual link tracking method and system based on airport production operation system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161898A1 (en) * 2005-01-18 2006-07-20 Brian Bauman Method and system for project library dependency management
CN101634946A (en) * 2009-08-20 2010-01-27 华南理工大学 Generation method of RFID member
CN101964797A (en) * 2010-09-29 2011-02-02 山东中创软件工程股份有限公司 Service interaction method and system
CN102316163A (en) * 2011-09-07 2012-01-11 山东中创软件工程股份有限公司 Method for realizing Web container expansion and Web container

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060161898A1 (en) * 2005-01-18 2006-07-20 Brian Bauman Method and system for project library dependency management
CN101634946A (en) * 2009-08-20 2010-01-27 华南理工大学 Generation method of RFID member
CN101964797A (en) * 2010-09-29 2011-02-02 山东中创软件工程股份有限公司 Service interaction method and system
CN102316163A (en) * 2011-09-07 2012-01-11 山东中创软件工程股份有限公司 Method for realizing Web container expansion and Web container

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595246A (en) * 2018-03-15 2018-09-28 阿里巴巴集团控股有限公司 A kind of method, apparatus and equipment of operation application
CN109445845A (en) * 2018-09-10 2019-03-08 深圳市智美达科技股份有限公司 Interface call method, device, computer equipment and storage medium
CN111273965A (en) * 2020-02-17 2020-06-12 支付宝(杭州)信息技术有限公司 Container application starting method, system and device and electronic equipment
CN117312104A (en) * 2023-11-30 2023-12-29 青岛民航凯亚系统集成有限公司 Visual link tracking method and system based on airport production operation system
CN117312104B (en) * 2023-11-30 2024-03-12 青岛民航凯亚系统集成有限公司 Visual link tracking method and system based on airport production operation system

Also Published As

Publication number Publication date
CN105335174B (en) 2018-11-20

Similar Documents

Publication Publication Date Title
CN105490860B (en) The method, apparatus and system of disposing application program running environment
US9378255B2 (en) Cloud logistics
CN104793946B (en) Dispositions method and system are applied based on cloud computing platform
CN106559438B (en) Program uploading method and device based on target network platform
US9959160B2 (en) Fault handling in a distributed IT environment
CN102413022B (en) Application debugging method and system
CN108279902B (en) Lua script technology based multi-terminal sharing bottom layer framework generation and application method
CN111290753B (en) Method, device, equipment and storage medium for building front-end development environment
US20130326487A1 (en) Emulating cloud functioning of applications locally
CN109144478B (en) Component frame system and method of using the same
CN105657191A (en) Application increment upgrading method and system based on Android system
CN105677302A (en) Application program modularization developing method and device
US20150121155A1 (en) Performing customized deployment scenarios in shared environments
US20110270595A1 (en) Model driven approach for availability management framework (amf) configuration generation
CN106569880B (en) Method and system for dynamically sharing resources between Android applications
CN106339237A (en) Plug-in loading frame for WEB application in field of JavaEE and method
CN105335174A (en) Method and device for invocating OSGi service through non-OSGi Java application program
CN109344619A (en) The hot restorative procedure and device of application program
CN111651169B (en) Block chain intelligent contract operation method and system based on web container
US20130036156A1 (en) Automated framework for testing enterprise services consumer technologies
CN104054308B (en) Application layer resources selection method, device and system
CN112416612B (en) Service calling method and device, computer equipment and readable storage medium
CN111324395B (en) Calling method, device and computer readable storage medium
KR102141749B1 (en) APP program execution method and device
CN103927301B (en) A kind of method and device of utilization theme bag dynamic translation entry

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