Abstract
In modern complex enterprise applications re-usability and interoperability of software components are of vital importance due to the increasing heterogeneous development platforms and variety of end user devices in which computational services need to be exposed. The need of code solutions re-usability led to the development of Design Patterns, which are means to encapsulate proven solutions to recurrent problems and they provide developers with a common language to abstract the logic encrypted under source code implementation structures. In this article we focus on the Model-View-Controller (MVC) design pattern. Although it represented a step forward for components re-usability, the model and view are still coupled compromising the business logic and introducing a degree of complexity for the applications development. We discuss two main variations of the MVC pattern that are aiming to complete decoupling of Model from View, as well as platforms supporting the development of MVC based applications. Our research is based on the original Virtual-MVC design pattern, in which we model the controller as middleware to achieve full decoupling of the model from view. Our main contribution is to demonstrate the development process of re-usable components in the framework of the V-MVC pattern, through a development platform that supports Virtual-MVC based applications.
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
Alexander, C., Ishikawa, S., Silverstein, M., et al.: A Pattern Language. Towns – Buildings – Construction. Oxford University Press, New York (1977)
Apache Struts, Key Technologies Primer for MVC Architecture Related to Struts (2010), http://struts.apache.org/primer.html#mvc
Chappell, D.: Theory in Practice Enterprise Service Bus, pp. 2–180. O’Reilly Media Inc., California (2004)
Doshi, K.: Enterprise Service Bus, white paper, Mphasis (2009), http://www.mphasis.com/pdfs/EnterpriseServiceBus.pdf
Dey, T.: A Comparative Analysis on Modeling and Implementing with MVC Architecture. In: IJCA Proceedings on International Conference on Web Services Computing (ICWSC), pp. 44–49. Published by Foundation of Computer Science, New York (2011)
Erl, T.: SOA Design Patterns, pp. 531–715. Prentice Hall, Indiana (2009)
Erl, T.: SOA Principal of Service Design, pp. 25–160. Prentice Hall, Boston (2008)
Fowler, M.: Patterns of Enterprise Application Architecture, The Addison-Wesley Signature Series, Indiana, US, pp. 55–304 (2009)
Fowler, M.: Inversion of Control Containers and the Dependency Injection pattern (2004), http://martinfowler.com/articles/injection.html
Fowler, M.: Presentation Model (2004), http://martinfowler.com/eaaDev/PresentationModel.html
Fowler, M.: GUI Architectures (2006), http://www.martinfowler.com/eaaDev/uiArchs.html
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns Elements of Reusable Object Oriented Software, pp. 4–9. Addison-Wesley, New York (1994)
Hohpe, G., Woolf, B.: Enterprise Integration Patterns Designing, Building and Deploying Messaging Solutions, Massachusetts, US. The Addison-Wesley Signature Series, pp. 57–355 (2009)
Krasner, G.E., Pope, S.T.: A description of the model-view-controller user interface para-digm in the samlltalk-80 system, ParcPlace Systems (1988), http://www.itu.dk/courses/VOP/E2005/VOP2005E/8_mvc_krasner_and_pope.pdf
Li, Q., Lau, R., Wah, B., Ashman, H., Leung, E., Li, F., Lee, V.: Guest Editors’ Introduc-tion: Emerging Internet Technologies for E-Learning. IEEE Internet Computing 13(4), 11–17 (2009)
Milne, D.: An open-source toolkit for mining Wikipedia (2009), http://cs.smith.edu/classwiki/images/c/c8/Open_source_mining_wikipedia.pdf
Ming-xia, G., Keming, T.: Comparative analysis of WebForms MVC and MVP architec-ture. In: International Conference on Environmental Science and Information Application Technology (ESIAT), vol. 2, pp. 391–394 (2010)
Microsoft MSDN, http://msdn.microsoft.com/en-us/library/ff647543.aspx
Microsoft MSDN. Implementing the MVVM Pattern (2012), http://msdn.microsoft.com/en-us/library/gg405484(v=pandp.40).aspx
Oracle (Sun Microsystems) Java BluePrints, J2EE Patterns BluePrints Catalog for Model-View-Controller (2002), http://www.oracle.com/technetwork/java/mvc-detailed-136062.html
Rajam, S., Cortez, R., Vazhenin, A., Bhalla, S.: Enterprise Service Bus Dependency Injection on MVC Design Patterns. In: IEEE TENCON 2010 International Conference, Fukuoka, Japan, pp. 1015–1020 (2010)
SpringSource, Reference Document for the Spring Framework (2010), http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/pdf/spring-framework-reference.pdf
Zdun, U.: Pattern-based design of a service-oriented middleware for remote object federa-tions. ACM Trans. Internet Technol. 8(3), 1–38 (2008)
Zdun, U., Hentrich, C., Dustdar, S.: Modeling process-driven and service-oriented archi-tectures using patterns and pattern primitives, ACM Transactions on the Web (TWEB) 1(3), 14:1–12:44 (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cortez, R., Vazhenin, A. (2013). Developing Re-usable Components Based on the Virtual-MVC Design Pattern. In: Madaan, A., Kikuchi, S., Bhalla, S. (eds) Databases in Networked Information Systems. DNIS 2013. Lecture Notes in Computer Science, vol 7813. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37134-9_11
Download citation
DOI: https://doi.org/10.1007/978-3-642-37134-9_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-37133-2
Online ISBN: 978-3-642-37134-9
eBook Packages: Computer ScienceComputer Science (R0)