Abstract
A fundamental derailment factor for reusing today’s business applications is the tight coupling among program components. While SOA advocates an architecture with loose coupling among components, the invocation dependencies among components are still tangled with implementation code traditionally. SCA (Service Component Architecture) - an emerging service-oriented component model - uses a standard and declarative way to handle inter-component dependencies. Thus, SCA components have better reusability from this perspective. This paper proposes a lightweight approach to partially reuse existing components by wrapping them as SCA components. Several challenges are identified and addressed in this paper, especially the one of externalizing component dependencies without changing source code. The proposed approach addresses the challenges systematically, with a supporting system implemented. Moreover, an example scenario is given to better illustrate the usage of the approach. Finally, some future directions of the work are pointed out.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Belady, L.A., Evangelisti, C.J.: System Partitioning and its Measure. Journal of Systems and Software 2(1), 23–29 (1982)
Chiricota, Y., Jourdan, F., Melancon, G.: Software Components Capture using Graph Clustering. In: Proc. of 11th IEEE International Workshop on Program Comprehension, May 2003, pp. 217–226 (2003)
van Deursen, A., Kuipers, T.: Identifying objects using cluster and concept analysis. In: Proc. of 21th IEEE International Conference on Software Engineering, May 1999, pp. 246–255 (1999)
Ding, L., Medvidovic, N.: Focus: a Light Weight, Incremental Approach to Software Architecture Recovery and Evolution. In: Working IEEE/IFIP Conference on Software Architecture, Amsterdam, Netherlands, August 2001, pp. 191–200 (2001)
Ferrante, J., Ottenstein, K.J., Warren, J.D.: The Program Dependence Graph and its Use in Optimization. ACM Transactions on Programming Languages and Systems 9(3), 319–349 (1987)
Harris, D.R., Yeh, A., Reubestein, H.B., Yeh, A.S.: Reverse Engineering to the Architectural Level. In: Proceedings of the 17th International Conference on Software Engineering, Seattle, Washington, April 1995, pp. 186–195 (1995)
Hecht, M.S.: Flow Analysis of Computer Programs. North-Holland, Amsterdam (1977)
Hutchens, D., Basili, R.: System Structure Analysis: Clustering with Data Bindings. IEEE Transactions on Software Engineering 11(8), 749–757 (1985)
Mancoridis, S., Mitchell, B.S., Rorres, C., Chen, Y., Gansner, E.R.: Using Automatic Clustering to Produce High-Level System Organizations of Source Code. In: Proc. of 6th IEEE International Workshop on Program Comprehension, June 1998, pp. 45–52 (1998)
Mancoridis, S., Mitchell, B., Chen, Y., Gansner, E.R.: Bunch: A Clustering Tool for the Recovery and Maintenance of Software System Structures. In: Proc. of 15th IEEE International Conference on Software Maintenance, August 1999, pp. 50–62 (1999)
Muller, H., Orgun, M., Tilley, S., Uhl, J.: A reverse engineering approach to subsystem structure identification. Journal of Software Maintenance: Research and Practice 5(4), 181–204 (1993)
Pagan, F.G.: Partial Computation and the Construction of Language Processors. Prentice-Hall, Englewood Cliffs (1991)
Pauw, W.D., Helm, R., Kimelman, D., Vlissides, J.: Visualizing the Behavior of Object-Oriented Systems. In: Proc. of the 8th Annual Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA 1993), pp. 326–337. ACM Press, New York (1993)
Schwanke, R.: An intelligent tool for re-engineering software modularity. In: Proc. of 13th IEEE International Conference on Software Engineering, May 1991, pp. 83–92 (1991)
Purewal, S.: Systems and Methods for Modeling and Generating Reusable Application Component Frameworks, and Automated Assembly of Service-Oriented Applications from Existing Applications. United States Patent Application Publication, Pub. No.: US 2005/0144226 A1 (June 30, 2005)
Moussallam, F., Evelyn, R., Anzizu, M.D., Wilson III, W.W.: System and Method for Migrating Applications from a Legacy System. United States Patent Application Publication, Pub. No.: US 2006/0041862 A1 (February 23, 2006)
Kulkarni, V.V., Reddy, S.S.: Method and Apparatus for Reengineering Legacy Systems for Seamless Interaction with Distributed Component Systems. United States Patent Application Publication, Pub. No.: US 2003/0055921 A1 (March 20, 2003)
Dyla, W., Gallagher, M.D., Hannay, S.D., Hays, R.L., Lindstrom, D.J.: System and Method for Providing Communication among Legacy Systems Using Web Objects for Legacy Functions. United States Patent Application Publication, Pub. No.: US 2002/0116454 A1 (August 22, 2002)
Liang, J., Hodaie, P.: System and Method for Interfacing with a Legacy Computer System. United States Patent Application Publication, Pub. No.: US 2004/0054812 A1 (March 18, 2004)
SCA Assembly Model V1.00, http://www.osoa.org/
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Huang, H.Y., Tan, H.F., Zhu, J., Zhao, W. (2008). A Lightweight Approach to Partially Reuse Existing Component-Based System in Service-Oriented Environment. In: Mei, H. (eds) High Confidence Software Reuse in Large Systems. ICSR 2008. Lecture Notes in Computer Science, vol 5030. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-68073-4_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-68073-4_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-68062-8
Online ISBN: 978-3-540-68073-4
eBook Packages: Computer ScienceComputer Science (R0)