Font Size: a A A

A Publish/Subscribe Model For Service Dynamic Update In OSGi

Posted on:2013-11-16Degree:MasterType:Thesis
Country:ChinaCandidate:J ZhaoFull Text:PDF
GTID:2248330392950209Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the continued research of software architecture in computer field and theincreasement of the requirements in system stability and scalability for the industry,system dynamic updating in7x24running system becomes an important topic,especially when the old solution can not suit the requirements requested in newenvironment. So it is urgent to research new solutions to fit it.The birth of new technologies has changed the traditional way of building softwarein these years. OSGi(Open Service Gateway Initiative) framework has changed thebuilding way of software which built on Java platform, and has made the reusing of theJava code more strictly, more lightweightly and has made it easier to use.Researchers have achieved some results in the field of software dynamic updatingin OSGi framework through borrowing the results of previous research. Two types ofdynamic updating solution have been presented. One type is using the property of OSGiframework for enabling it to register multiple services with the same name: old serviceand new service are running at the same time when during the dynamic updating, newrequest will be responded by new service, the old service will be uninstall when it hasstopped naturally. Thinking of the service may contain states, the state in old serviceneeds to be transported to the new service. For this solution didn’t consider the problemif the state created in different context can not be compatible, so the solution didn’t meetthe requirement of system mutual consistency. Another solution used proxy mode andguaranteed system mutual consistency. Its framework was designed to separate the dataand method. But the proxy mode made the proxy class highly coupled with service class,and made the updating processing complicated. Also the design of separating data andmethod violates traditional programming architecture model, and it is not conducive tothe promotion in the industry.To overcome the shortcomings, this paper proposes a publish/subscribe model for service to dynamic update in OSGi framework. This model draws on the quiescent statetheory to ensure the mutual consistency of the system. The publish/subscribe modelwith the Event Admin Service specification provides a strong support for the practice inOSGi framework of this theory. Also we improve the poor programming model by usingthe AOP(Aspect Oriented Programming) techniques to adapt developer’s usage andaccord with the design in the industry.Firstly paper profoundly summarizes cooperation research status of the currentdynamic software updating at home and abroad, especially for the research in OSGiframework. Thesis points out the shortcomings of being unable to guarantee systemmutual consistency and poor programming model of solution’s implementation, theresearch must be having the advantage and the valuable. Secondly paper introduces therelated technologies for implementing the solution of dynamic software updating inOSGi framework in detail: properties of OSGi framework, principle of quiescent statetheory, AOP technology, Java dynamic proxy technology and Petri nets concept using todescribe the interaction between multi-processes. Then thesis introduces thepublish/subscribe model for service dynamic updating in OSGi framework. This modeldraws on the quiescent state theory to ensure the mutual consistency of the system.Paper innovatively uses the Event Admin Service specification of OSGi framework toachieve a one-to-many one-way communication in wide range between services.Furthermore paper sets up and maintains a counter variable as the important parameterfor the theory for counting the invocation of service method to achieve monitoring thestate of service. In this way paper creates a base environment for implementingquiescent state theory in OSGi framework and guarantees the mutual consistency of thesystem before and after updating. The result from experiment showed that the policy isfeasibility. Paper discusses the performance of the policy and the effect to the system inthe conclusion of the experiment and puts forward constructive approach to the effect.Additionally thesis discusses the relationship between module updating and serviceupdating and puts forward a policy for using service updating to replace moduleupdating to meet actual needs in order to avoid new calculation. In the finally, paperproposes and develops DyService framework to package the policy proposed for theproblem of poor programming model. Thesis analyses the needs, goals and difficulty ofbuilding DyService framework in detail and brings forward the requirements of using of it should fit developer’s habit, should not pollute developer’s code, and should be simpleand so on. Owing to the traditional object-oriented programming methods can notachieve the requirements, DyService framework learns the idea of AOP technology anduses Java dynamic proxy technology to achieve packaging the code which may lead tocode pollution in the policy: designing and setting the maintain of service methodinvocation counter into call processor; requiring target service to implement specifiedinterface and so on. Paper shows the using, the performance test and the practicalapplication in project. Thesis plays a positive role in promoting practice between thisfield in research and in the industry.In the end of this paper, thesis points out the way of improving the policy and thepossible expanded using of DyService framework.
Keywords/Search Tags:OSGi, software dynamic update, mutual consistency, AOP
PDF Full Text Request
Related items