Font Size: a A A

Systematic Reuse And Development Methods Research For Enterprise Applications

Posted on:2014-10-30Degree:DoctorType:Dissertation
Country:ChinaCandidate:J G ZhouFull Text:PDF
GTID:1318330482954595Subject:Computer application technology
Abstract/Summary:PDF Full Text Request
With the acceleration of global competition, enterprise applications, as a main battlefield of information technology, are becoming larger and larger in size accompanying shrinking time in delivery, which has brought application vendors great challenges in application development and delivery. How to develop applications efficiently based on reusable assets is the key issue. Although 40 years of software reuse research and practice in the software development methods, processes, and tools makes the level of software production a qualitative leap in industry, "software crisis" has always existed because the inherent characteristics of software has not yet been fully understood. We take enterprise application development as the research object, combine the model-driven development with the component-based development in an integrated framework under the umbrella of the software product line concepts. The contributions of this dissertation are as follows:Firstly, we propose a web application development method based on modeling according to general enterprise application architecture patterns to tackle the problems like the lack of tools support, code confusion, and difficult reuse for web artifacts. The purpose of this approach is to manage and reuse all these software artifacts as the format of models rather than the final code. Further, some reuse mechanisms like componentry, object-oriented refinements, parameterization are formulated based on the model mechanism, and thereof we propose a Ul-driven method which combines manual UI modeling with automated way to overcome the inadequate support problem of the latter on UI modeling to improve development efficiency. Real enterprise applications shows that this approach can improve productivity dramatically.Secondly, traditional Frame-based software development (FBSD, e.g., the XVCL approach) stresses to eliminate code clone with preprocessors which mark commonality and variability in code. Such a single objective optimization philosophy makes it difficult to refactor and evolve frames. To address this problem, we propose an innovative approach that combines Frame with stepwise refinement (SWR) for frame evolution development. The basic idea is to take features as a dimension into account. We explore their relation, the necessary of their combination, and integrate SWR technology into frames design in a unified software development process. Therefore, we can make it easy to deal with fine granularity variability features, improve separation of concerns in frames design and facilitate FBSD.Thirdly, to overcome the shortcomings of exsiting feature modeling languages and tools in expressiveness, scalability and ambiguity, we propose a textual feature modeling language, called TEFL, with its concrete syntax, abstract syntax, and formal semantics. TEFL supports advanced feature expressions, provides modular mechanism for feature fragments organization and reuse, and eliminates the flaws in existing languages. We develop an prototype environment for TEFL-based development, by which the mapping between features and components (code) can be constructed, which makes it feasible to components adaption and composition in a feature-oriented way. Such an approach makes the feature model not only used for model analysis, but for development and code generation, therefore, easing the way of component-based software product line adoption and feature model adoption in industry.Finally, we propose an OSGi-based approach to enterprise application component development, running, and deployment, to address the modular problem in current enterprise applications and to improve business level component reuse and maintenance. Our approach provides a staged adoption for enterprise application development. For development time, an enterprise application specific component model is proposed and the component-based development system can be transformed to a traditional Java EE application. For run time, a hybrid approach which supports not only OSGi components (bundles), but also traditional JARs by using a hybrid classloader mechanism is proposed. This approach simplifies runtime components management, eases the transition path from a monolithic application to a modular one, thus lowers the cost of enterprise application maintenance and reuse.
Keywords/Search Tags:enterprise application, systematic reuse, feature modeling, model-driven development, component-based development
PDF Full Text Request
Related items