Skip to main content

Metadata-Based Frameworks in the Context of Cloud Computing

  • Chapter
  • First Online:
Cloud Computing

Part of the book series: Computer Communications and Networks ((CCN))

Abstract

In the context of cloud computing, one server is usually responsible to run multiple applications and a single application is spread across multiple servers. On the one hand, the applications need to be able to determine how the cloud environment should handle its execution, or even the execution of each one of its components. Yet, on the other hand, the applications should be decoupled from the middleware that executes them, enabling each one to evolve independently. Based on this scenario, it is possible to state that metadata-based frameworks are a suitable option for the interaction between the application and the services provided by the cloud, since it decouples the application from the environment and allows a transparent individual configuration of each class. The goal of this chapter is to describe the essence of metadata-based frameworks and how they can be applied to cloud computing. It brings several examples of cloud computing frameworks and describes some design practices for the framework structure, scenarios that are suitable for the metadata-based approach and best practices for metadata configuration. As a result, after reading this chapter, the reader should be able to understand the basic functioning of a metadata-based framework and why it is suitable for cloud applications.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Guerra, E., Souza, J., Fernandes, C.: A pattern language for metadata-based frameworks. In: Proceedings of the 16th Conference on Patterns Languages of Programs, Chicago, 28–30 August 2009

    Google Scholar 

  2. Guerra, E.: A conceptual model for metadata-based frameworks. Ph.D. thesis, Aeronautical Institute of Technology, São José dos Campos (2010)

    Google Scholar 

  3. Guerra, E., Fernandes, C., Silveira, F.: Architectural patterns for metadata-based frameworks usage. In: Proceedings of the 17th Conference on Pattern Languages of Programs, Reno, 16–18 October 2010

    Google Scholar 

  4. Fernandes, C., Guerra, E., Nakao, E., Ribeiro, D.: XML, annotations and database: a comparative study of metadata definition strategies for frameworks. In: XML: Aplicações e Tecnologias Associadas (XATA 2010), Vila do Conde, 19–20 May 2010

    Google Scholar 

  5. Zahariev, A.: Google app engine. In: Seminar on Internetworking, Espoo, 27 April 2009

    Google Scholar 

  6. Google: Objectify Framework. http://code.google.com/p/objectify-appengine/ (2012). Accessed 9 June 2012

  7. Reelsen, A.: Play Framework Cookbook. Packt Publishing, Birmingham (2011)

    Google Scholar 

  8. Venbrabant, R.: Google Guice: Agile Lightweight Dependency Injection Framework. Apress, New York (2008)

    Google Scholar 

  9. Johnson, R., Foote, R.: Designing reusable classes. J. Object-Oriented Program 1(2), 22–35 (1988)

    Google Scholar 

  10. Jacobsen, E., Nowack, P.: Frameworks and patterns: architectural abstractions. In: Fayad, M., Schmidt, D., Johnson, R. (eds.) Building Application Frameworks: Object-Oriented Foundations of Frameworks Design. Wiley, New York (1999)

    Google Scholar 

  11. Fayad, M., Schmidt, D., Johnson, R.: Application frameworks. In: Fayad, M., Schmidt, D., Johnson, R. (eds.) Building Application Frameworks: Object-Oriented Foundations of Frameworks Design. Wiley, New York (1999)

    Google Scholar 

  12. Bosch, J., et al.: Framework problems and experiences. In: Fayad, M., Schmidt, D., Johnson, R. (eds.) Building Application Frameworks: Object-Oriented Foundations of Frameworks Design. Wiley, New York (1999)

    Google Scholar 

  13. Pree, W.: Design Patterns for Object-Oriented Software Development. Addison Wesley, Reading (1995)

    MATH  Google Scholar 

  14. Foote, B., Yoder, J.: Evolution, architecture, and metamorphosis (Chap. 13). In: Vlissides, J., Coplien, J., Kerth, N. (eds.) Pattern Languages of Program Design 2, pp. 295–314. Addison-Wesley Longman, Boston (1996)

    Google Scholar 

  15. Damyanov, I., Holmes, N.: Metadata driven code generation using.NET framework. In: International Conference on Computer Systems and Technologies, 5, 2004, Rousse. pp. 1–6 (2004)

    Google Scholar 

  16. Quinonez, J., Tschantz, M., Ernest, M.: Inference of reference immutability. In: 22nd European Conference on Object-Oriented Programming, 2008, Paphos. pp. 616–641 (2008)

    Google Scholar 

  17. Ernest, M.: Type annotations specification (JSR 308). http://types.cs.washington.edu/jsr308/specification/java-annotation-design.pdf (2011). Accessed 15 May 2012

  18. Hel, J., Eichhorn, P., Zwitserloot, R., Grootjans, R., Spilker, R., Koning, S.: Project Lombok. http://projectlombok.org/ (2012). Accessed 15 May 2012

  19. Fowler, M.: Using metadata. IEEE Softw. 19(6), 13–17 (2002)

    Article  Google Scholar 

  20. Chen, N.: Convention over configuration. http://softwareengineering.vazexqi.com/files/pattern.html (2006). Accessed 15 May 2012

  21. Java Community Process: JavaBeans(TM) specification 1.01 Final release. http://download.oracle.com/otndocs/jcp/7224-javabeans-1.01-fr-spec-oth-JSpec/ (1996). Accessed 15 May 2012

  22. Massol, V., Husted, T.: JUnit in Action. Manning, Greenwich (2003)

    Google Scholar 

  23. Ruby, S., et al.: Agile Web Development with Rails, 3rd edn. Pragmatic Bookshelf, Raleigh (2009)

    Google Scholar 

  24. Java Community Process: JSR 175: a metadata facility for the java programming language. http://www.jcp.org/en/jsr/detail?id=175 (2003). Accessed 15 May 2012

  25. Miller, J.: Common Language Infrastructure Annotated Standard. Addison-Wesley, Boston (2003)

    Google Scholar 

  26. Schwarz, D.: Peeking inside the box: attribute-oriented programming with Java 1.5. http://missingmanuals.com/pub/a/onjava/2004/06/30/insidebox1.html (2004). Accessed 15 May 2012

  27. Gamma, E., et al.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)

    Google Scholar 

  28. O’Brien, L.: Design patterns 15 years later: an interview with Erich Gamma, Richard Helm and Ralph Johnson. InformIT. http://www.informit.com/articles/article.aspx?p=1404056 (2009). Accessed 15 May 2012

  29. Fowler, M.: Patterns of Enterprise Application Architecture. Addison-Wesley, Boston (2002)

    Google Scholar 

  30. Odersky, M. et al.: An overview of the Scala programming language. Technical report IC/2004/640. EPFL, Lausanne (2004)

    Google Scholar 

  31. Heroku: Heroku cloud application platform. http://www.heroku.com/ (2012). Accessed 9 June 2012

  32. Java.net, Jersey API: http://jersey.java.net/ (2012). Accessed 9 June 2012

  33. Freire, A., Silveira, P.: Vraptor – simple and quick web framework. In: Anais do 5o Workshop sobre Software Livre, Porto Alegre, pp. 39–42 (2004)

    Google Scholar 

  34. RedHat: Hibernate validator. http://www.hibernate.org/subprojects/validator.html (2012). Accessed 8 June 2012

  35. Java Community Process: JSR 222: JavaTM Architecture for XML Binding (JAXB) 2.0. http://jcp.org/en/jsr/detail?id=222 (2009). Accessed 8 June 2012

  36. Java Community Process: JSR 342: JavaTM Platform, Enterprise Edition 7 (Java EE 7) specification. http://jcp.org/en/jsr/detail?id=342 (2012). Accessed 8 June 2012

  37. Fowler, M.: Inversion of control containers and the dependency injection pattern. http://www.martinfowler.com/articles/injection.html (2004). Accessed 8 June 2012

  38. Walls, C., Breidenbach, R.: Spring in Action, 2nd edn. Manning, Greenwich (2007)

    Google Scholar 

  39. Java Community Process: JSR 318: Enterprise JavaBeansTM 3.1. http://jcp.org/en/jsr/detail?id=318 (2010). Accessed 8 June 2012

  40. Java Community Process: JSR 317: JavaTM Persistence 2.0. http://jcp.org/en/jsr/detail?id=317 (2009). Accessed 8 June 2012

  41. Spring Source: Spring projects – Spring data. http://www.springsource.org/spring-data (2012). Accessed 8 June 2012

  42. Java Community Process: JSR 344: JavaServerTM Faces 2.2. http://jcp.org/en/jsr/detail?id=344 (2011). Accessed 8 June 2012

  43. Esfinge: Esfinge Framework. http://esfinge.sf.net/ (2012). Accessed 15 May 2012

  44. Yoder, J., Johnson, R.: The adaptive object-model architectural style. In: Proceedings of the IFIP 17th World Computer Congress – TC2 Stream/3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance, Montreal, 25–29 August 2002

    Google Scholar 

  45. Sourceforge, SwingBean: http://swingbean.sf.net/ (2012). Accessed 15 May 2012

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduardo Martins Guerra .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag London

About this chapter

Cite this chapter

Guerra, E.M., Oliveira, E. (2013). Metadata-Based Frameworks in the Context of Cloud Computing. In: Mahmood, Z. (eds) Cloud Computing. Computer Communications and Networks. Springer, London. https://doi.org/10.1007/978-1-4471-5107-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4471-5107-4_1

  • Published:

  • Publisher Name: Springer, London

  • Print ISBN: 978-1-4471-5106-7

  • Online ISBN: 978-1-4471-5107-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics