Skip to main content

Combining Domain-driven Design and Mashups for Service Development

  • Chapter

Abstract

This chapter presents the Romulus project approach to Service Development using Java-based web technologies. Romulus aims at improving productivity of service development by providing a tool-supported model to conceive Java-based web applications. This model follows a Domain Driven Design approach, which states that the primary focus of software projects should be the core domain and domain logic. Romulus proposes a tool-supported model, Roma Metaframework, that provides an abstraction layer on top of existing web frameworks and automates the application generation from the domain model. This metaframework follows an object centric approach, and complements Domain Driven Design by identifying the most common cross-cutting concerns (security, service, view, ...) of web applications. The metaframework uses annotations for enriching the domain model with these cross-cutting concerns, so-called aspects. In addition, the chapter presents the usage of mashup technology in the metaframework for service composition, using the web mashup editor MyCocktail. This approach is applied to a scenario of the Mobile Phone Service Portability case study for the development of a new service.

This is a preview of subscription content, access via your institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • DOI: 10.1007/978-3-7091-0415-6_7
  • Chapter length: 30 pages
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
eBook
USD   149.00
Price excludes VAT (USA)
  • ISBN: 978-3-7091-0415-6
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book
USD   189.00
Price excludes VAT (USA)
Hardcover Book
USD   189.00
Price excludes VAT (USA)

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. SOA Priciples of Service Design. Prentice Hall (2007)

    Google Scholar 

  2. A. Alves A. Arkin, S.A.C.B.B.B.F.C.M.F.Y.G.A.G.N.K.C.L.R.K.D.K.M.M.e.: Web services business process execution language (BPEL) version 2.0. Tech. rep., Committee Specification, OASIS (2007)

    Google Scholar 

  3. Acerbis, R., Bongio, A., Brambilla, M., Butti, S., Ceri, S., Fraternali, P.: Web applications design and development with webml and webratio 5.0. In: R.F. Paige, B. Meyer (eds.) TOOLS (46), Lecture Notes in Business Information Processing, vol. 11, pp. 392–411. Springer (2008). URL http://dblp.uni-trier.de/db/conf/tools/tools46-2008. html#AcerbisBBBCF08

    Google Scholar 

  4. Apache CXF Project: Apache CXF web site. an open source service framework. available at http://echo.nextapp.com/site/echo2. URL http://echo.nextapp.com/site/echo2

    Google Scholar 

  5. Avedal, K., Halberstadt, A., Ayers, D., Briggs, T., Burnham, C., Haynes, R., Hen, Zeiger, S., Holden, M.: Professional JSP. Wrox Press Ltd., Birmingham, UK, UK (2000)

    Google Scholar 

  6. Bayer, J., Eisenbarth, M., Lehner, T., Petersen, K.: Service engineering methodology. In: Semantic Service Provisioning, chap. 8, pp. 185–201 (2008). DOI 10.1007/978-3-540-78617-78

    Google Scholar 

  7. Boroumand, S.: Working with SOA and RUP. SOA Magazine (XVI) (2008). URL http://www.soamag.com/I16/0308-1.php

    Google Scholar 

  8. Brambilla, M., Ceri, S., Comai, S., Fraternali, P., Manolescu, I.: Model-driven specification of web services composition and integration with data-intensive web applications. IEEE Data Eng. Bull. 25(4), 53–59 (2002)

    Google Scholar 

  9. Brown, D., Davis, C., Stanlick, S.: Struts 2 in Action (In Action). Manning Publications Co., Greenwich, CT, USA (2008)

    Google Scholar 

  10. Cardone, R., Soroker, D., Tiwari, A.: Using xforms to simplify web programming. In: WWW ’05: Proceedings of the 14th international conference on World Wide Web, pp. 215–224. ACM, New York, NY, USA (2005). DOI http://doi.acm.org/10.1145/1060745.1060780

    Google Scholar 

  11. Ceri, S., Fraternali, P., Matera, M.: Conceptual modeling of data-intensive web applications. IEEE Internet Computing 6(4), 20–30 (2002). DOI http://dx.doi.org/10.1109/MIC.2002.1020321

    CrossRef  Google Scholar 

  12. Christensen, E., Curbera, F., Meredith, G., Weerawarana, S.: Web services description language (WSDL) 1.1. W3c note, World Wide Web Consortium (2001). URL http://www.w3.org/TR/wsdl

    Google Scholar 

  13. DataNucleus Project: DataNucleus web site. available at http://www.datanucleus.org. URL http://www.datanucleus.org/

    Google Scholar 

  14. DWR Project: DWR (Direct Web Remoting)web site. available at http://directwebremoting.org/dwr/index.html. URL http://directwebremoting.org/dwr/index.html

    Google Scholar 

  15. Echo2 Project: Echo2 web site. available at http://echo.nextapp.com/site/echo2. URL http://echo.nextapp.com/site/echo2

    Google Scholar 

  16. Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley (2004)

    Google Scholar 

  17. Fowler, M.: POJO (Plain Old Java Object). Martin Fowler, available at http://martinfowler.com/bliki/POJO.html (2000). URL http://martinfowler.com/bliki/POJO.html

    Google Scholar 

  18. Fowler, M.: Anemic domain model. Martin Fowler, available at http://martinfowler.com/bliki/AnemicDomainModel.html (2003). URL http://martinfowler.com/bliki/AnemicDomainModel.html

    Google Scholar 

  19. Gosling, J., Joy, B., Steele, G.L., Bracha, G.: The Java Language Specification, 3. edn. Addison-Wesley, Upper Saddle River, NJ (2005). URL http://java.sun.com/docs/books/jls/

    Google Scholar 

  20. Hadley, M.J.: Web Application Description Language (WADL). Available at https://wadl.dev.java.net/wadl20090202.pdf (2009). URL Availableathttps://wadl.dev.java.net/wadl20090202.pdf

    Google Scholar 

  21. Holzner, S.: Beginning Ruby on Rails (Wrox Beginning Guides). Wrox Press Ltd., Birmingham, UK, UK (2006)

    Google Scholar 

  22. Husted, T.N., Dumoulin, C., Franciscus, G., Winterfeldt, D.: Struts in Action — Building Web Applications with the Leading Java Framework. Manning Publications (2003)

    Google Scholar 

  23. IBM: Intel mash maker. Available at http://mashmaker.intel.com

    Google Scholar 

  24. Ignacio Fernández-Villamor, J., D´ıaz-Casillas, L., Iglesias, C.A.: A comparison model for agile web frameworks. In: EATIS ’08: Proceedings of the 2008 Euro American Conference on Telematics and Information Systems, pp. 1–8. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1621087.1621101

    Google Scholar 

  25. International, E.: Standard ECMA-334 - C# Language Specification, 4 edn. (2006). URL http://www.ecma-international.org/publications/standards/Ecma-334.htm

    Google Scholar 

  26. JasperReports Project: JasperReports web site. available at http://jasperforge.org/projects/jasperreports. URL http://jasperforge.org/projects/jasperreports/

    Google Scholar 

  27. Jazayeri, M.: Some trends in web application development. In: FOSE ’07: 2007 Future of Software Engineering, pp. 199–213. IEEE Computer Society, Washington, DC, USA (2007). DOI http://dx.doi.org/10.1109/FOSE.2007.26

    Google Scholar 

  28. JPOX Project: JPOX (java persistent objects) web site. available at http://www.jpox.org. URL http://www.jpox.org/

    Google Scholar 

  29. Kruchten, P.: Rational Unified Process. An Introduction. Addison-Wesley (2004)

    Google Scholar 

  30. LiquidApps: Liquidapps. Available at http://liquidappsworld.com

    Google Scholar 

  31. Liu, X., Hui, Y., Sun, W., Liang, H.: Towards service composition based on mashup. In: IEEE SCW, pp. 332–339. IEEE Computer Society (2007). URL http://dblp.uni-trier.de/db/conf/IEEEscc/scw2007.html#LiuHSL07

    Google Scholar 

  32. Lüfer, K.: A stroll through domain-driven development with naked objects. Computing in Science and Engineering 10, 76–83 (2008). DOI http://doi.ieeecomputersociety.org/10.1109/MCSE.2008.67

    Google Scholar 

  33. Maximilien, E.M., Ranabahu, A., Gomadam, K.: An online platform for web apis and service mashups. IEEE Internet Computing 12, 32–43 (2008). DOI http://doi.ieeecomputersociety.org/10.1109/MIC.2008.92

    CrossRef  Google Scholar 

  34. McBride, B.: Jena: a semantic web toolkit. IEEE Internet Computing 6(6), 55–59 (2002). DOI 10.1109/MIC.2002.1067737

    CrossRef  Google Scholar 

  35. Merrill, D.: Mashups: The new breed of Web app. Available at http://www.ibm.com/developerworks/xml/library/x-mashups.html (2006). URL Availableathttp://www.ibm.com/developerworks/xml/library/xmashups.html

    Google Scholar 

  36. MX4J Project: Open source JMX for enterprise computing (MX4J) web site. available at http://mx4j.sourceforge.net/. URL http://mx4j.sourceforge.net/.

    Google Scholar 

  37. Nestler, T.: Towards a mashup-driven end-user programming of soa-based applications. In: iiWAS ’08: Proceedings of the 10th International Conference on Information Integration and Web-based Applications & Services, pp. 551–554. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1497308.1497408

    Google Scholar 

  38. OpenESB: OpenESB project, available at https://open-esb.dev.java.net/. Available at https://open-esb.dev.java.net/

    Google Scholar 

  39. openxava: openxava project, available at http://www.openxava.org/web/guest/home. Available at http://www.openxava.org/web/guest/home

    Google Scholar 

  40. Pautasso, C.: Restful web service composition with bpel for rest. Data Knowl. Eng. 68(9), 851–866 (2009). DOI http://dx.doi.org/10.1016/j.datak.2009.02.016

    CrossRef  Google Scholar 

  41. Penchikala, S.: Domain driven design and development in practice. InfoQueue (2008). URL http://www.infoq.com/articles/ddd-in-practice

    Google Scholar 

  42. Perry, J.S.: Java Management Extensions, 1. edn. O’Reilly, Beijing (2002)

    Google Scholar 

  43. Project, A.: Afrous project web site (2009). Available at ttp://www.afrous.com/

    Google Scholar 

  44. project, R.: Romulus web site. available at http://www.ict-romulus.eu/. URL http://www.ict-romulus.eu/

    Google Scholar 

  45. Project, R.: Mycocktail web site (2009). Available at http://www.ictromulus.eu/web/mycocktail

    Google Scholar 

  46. project, R.M.: Romulus web site. available at http://www.romaframework.org/. URL http://www.romaframework.org/

    Google Scholar 

  47. Rice, D., Foemmel, M.: Plugin Design pattern, p. 499. Addison-Wesley (2002). URL http://martinfowler.com/eaaCatalog/plugin.html

    Google Scholar 

  48. Richardson, C.: POJOs in Action: Developing Enterprise Applications with Lightweight Frameworks. Manning Publications Co., Greenwich, CT, USA (2006)

    Google Scholar 

  49. Rocher, G.: The Definitive Guide to Grails (Definitive Guide). Apress, Berkely, CA, USA (2006)

    Google Scholar 

  50. Rouvoy, R.: Leveraging component-oriented programming with attribute-oriented programming. In: In Proccedings of WCOP 2006 (2006)

    Google Scholar 

  51. Schäfer, T., Jonas, J., Mezini, M.: Mining framework usage changes from instantiation code. In: ICSE ’08: Proceedings of the 30th international conference on Software engineering, pp. 471–480. ACM, New York, NY, USA (2008). DOI http://doi.acm.org/10.1145/1368088.1368153

    Google Scholar 

  52. Schwarz, D.: Peeking inside the box: Attribute oriented programming in java. ONJava.com, O’Reilly (2004)

    Google Scholar 

  53. Soriano, J., Lizcano, D., Hierro, J.J., Reyes, M., Schroth, C., Janner, T.: Enhancing User-Service Interaction through a Global User-Centric Approach to SOA. IEEE (2008). DOI 10. 1109/ICNS.2008.37. URL http://ieeexplore.ieee.org/xpl/freeabs\_all.jsp?arnumber=4476558

    Google Scholar 

  54. Tagliaferri, E., Maestro, G., Garulli, L., Molino, L., Dell’Aquila, L., Stefano, M.d.: Roma MetaFramework Handbook v2.1, 2.1 edn. Romulus Project (2009)

    Google Scholar 

  55. Trails: Trails project, available at http://www.trailsframework.org/. Available at http://www.trailsframework.org/

    Google Scholar 

  56. Tyagi, S., Vorburger, M., McCammon, K., Bobzin, H.: Core Java Data Objects. Prentice Hall PTR / Sun Microsystems Press (2004)

    Google Scholar 

  57. Wada, H., Takada, S.: Leveraging metamodeling and attribute-oriented programming to build a model-driven framework for domain specific languages. In: In Proc. of the 8th JSSST Conference on Systems Programming and its Applications (2005)

    Google Scholar 

  58. Walls, C., Breidenbach, R.: Spring in Action. Manning (2005). URL http://www.amazon.de/gp/redirect.html%3FASIN=1932394354%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/1932394354%253FSubscriptionId=13CT5CVB80YFWJEPWS02

    Google Scholar 

  59. Westerski, A.: Integrated environment for visual data-level mashup development. In: 10th International Conference on Web Information Systems Engineering (WISE), pp. 481–487 (2009). URL administrator/components/com_jresearch/files/ publications/esiw2009_westerski.pdf

    Google Scholar 

  60. WSO2: Wso2 registry, available at http://wso2.com/products/governance-registry/. Available at http://wso2.com/products/governance-registry/

    Google Scholar 

  61. Xue, M., Zhu, C.: Design and implementation of the hibernate persistence layer data report system based on j2ee. In: PACCS, pp. 232–235. IEEE Computer Society (2009). URL http://dblp.uni-trier.de/db/conf/paccs/paccs2009.html#XueZ09

    Google Scholar 

  62. Yahoo: Yahoo pipes. Available at http://pipes.yahoo.com

    Google Scholar 

  63. Yu, J., Benatallah, B., Casati, F., Daniel, F.: Understanding mashup development (2008). URL Availableathttp://www.floriandaniel.it/university/ops/download.php?oid=45

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and Permissions

Copyright information

© 2011 Springer-Verlag/Wien

About this chapter

Cite this chapter

Iglesias, C., Fernández-Villamor, J., del Pozo, D., Garulli, L., García, B. (2011). Combining Domain-driven Design and Mashups for Service Development. In: Service Engineering. Springer, Vienna. https://doi.org/10.1007/978-3-7091-0415-6_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-7091-0415-6_7

  • Publisher Name: Springer, Vienna

  • Print ISBN: 978-3-7091-0414-9

  • Online ISBN: 978-3-7091-0415-6

  • eBook Packages: Computer ScienceComputer Science (R0)