EMPIRICALLY ASSESSING THE IMPACT OF DEPENDENCY INJECTION ON THE DEVELOPMENT OF WEB SERVICE APPLICATIONS

Authors

  • MARCO CRASSO ISISTAN Research Institute, Universidad Nacional del Centro. Also CONICET. Campus Universitario, Tandil (B7001BBO), Buenos Aires, Argentina.
  • CRISTIAN MATEOS ISISTAN Research Institute, Universidad Nacional del Centro. Also CONICET. Campus Universitario, Tandil (B7001BBO), Buenos Aires, Argentina.
  • ALEJANDRO ZUNINO ISISTAN Research Institute, Universidad Nacional del Centro. Also CONICET. Campus Universitario, Tandil (B7001BBO), Buenos Aires, Argentina.
  • MARCELO CAMPO ISISTAN Research Institute, Universidad Nacional del Centro. Also CONICET. Campus Universitario, Tandil (B7001BBO), Buenos Aires, Argentina.

Keywords:

service-oriented computing, Web Services, dependency injection, code-first outsourcing, text mining

Abstract

Service-Oriented Computing (SOC) has been broadly conceived as the next big thing in distributed software development. The software industry has embraced SOC through Web Services –functionality that is accessible via ubiquitous protocols such as HTTP–. This technology provides the basis for reuse and interoperability of applications across the WWW. However, consuming Web Services is still an expensive task in terms of de- velopment costs, since developers still have to invest much effort not only into manually discovering services, but also on providing code to invoke them, which leads to software that is polluted with service-aware code and therefore is more difficult to modify and test. Recently, a technique that has become very popular for building software is Dependency Injection (DI), which allows applications to be far more testable and maintainable. In this paper, we quantitatively analyze some of the benefits and costs of DI for building Web Service applications. We base our experiments on a refined version of DI that com- bines text-mining, machine learning, and best practices from component-based software development to simplify the way Web Services are discovered and consumed. To our knowledge, this is the first study on the impacts of using DI in the context of SOC.

 

Downloads

Download data is not yet available.

References

Michael N. Huhns and Munindar P. Singh. Service-oriented computing: Key concepts and principles.

IEEE Internet Computing, 9(1):75–81, 2005.

Martin Bichler and Kwei-Jay Lin. Service-oriented computing. IEEE Computer, 39(3):99–101,

Steven J. Vaughan-Nichols. Web Services: Beyond the hype. Computer, 35(2):18–21, 2002.

Francisco Curbera, Rania Khalaf, Nirmal Mukhi, Stefan Tai, and Sanjiva Weerawarana. The next

step in Web Services. Communications of the ACM, 46(10):29–34, 2003.

W3C Consortium. WSDL version 2.0 part 1: Core language. W3C Candidate Recommendation,

http://www.w3.org/TR/wsdl20, June 2007.

OASIS Consortium. UDDI version 3.0.2. UDDI Spec Technical Committee Draft, http://uddi.

org/pubs/uddi_v3.htm, October 2004.

Rob McCool. Rethinking the Semantic Web. part I. IEEE Internet Computing, 9(6):88, 86–87,

Hongbing Wang, Joshua Zhexue Huang, Yuzhong Qu, and Junyuan Xie. Web Services: Problems

and future directions. Journal of Web Semantics, 1(3):309–320, 2004.

John Garofalakis, Yannis Panagis, Evangelos Sakkopoulos, and Athanasios Tsakalidis. Contemporary

Web Service discovery mechanisms. Journal of Web Engineering, 5(3):265–290, 2006.

Marco Crasso, Alejandro Zunino, and Marcelo Campo. Easy Web Service discovery: a Query-by-

Example approach. Science of Computer Programming, 71(2):144–164, 2008.

Matthew J. Duftler, Nirmal K. Mukhi, Aleksander Slominski, and Sanjiva Weerawarana. Web

Services Invocation Framework (WSIF). In Workshop on Object-Oriented Web Services (OOWS

’01) - ACM Conference on Object-Oriented Programming, Systems, Languages and Applications

(OOPSLA ’01), Tampa, Florida, USA, New York, NY, USA, 2001. ACM Press.

Apache Software Foundation. Apache CXF: An Open Source Service Framework. http://cxf.

apache.org, 2009.

Massimo Paolucci and Katia Sycara. Autonomous semantic Web Services. IEEE Internet Com-

puting, 7(5):34–41, 2003.

Rod Johnson. J2EE development frameworks. Computer, 38(1):107–110, 2005.

Ekaterina Razina and David Janzen. Effects of Dependency Injection on maintainability. In

th IASTED International Conference on Software Engineering and Applications (SEA ’07),

Cambridge, MA, USA, Calgary, AB, Canada, 2007. ACTA Press.

Hong Yul Yang, E. Tempero, and H. Melton. An empirical study into use of dependency injection

in java. In Liang-Jie Zhang, editor, 19th Australian Conference on Software Engineering (ASWEC

’08), pages 239–247, Perth, WA, USA, March 2008. IEEE Computer Society.

Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns: Elements of

Reusable Object-Oriented Software. Addison-Wesley, Reading, MA, USA, 1995.

M. Brian Blake, Daniel R. Kahan, and Michael Fitzgerald Nowlan. Context-aware agents for useroriented

Web Services discovery and execution. Distributed and Parallel Databases, 21(1):39–58,

Nektarios Dourdas, Xiaohong Zhu, Neil Maiden, Sara Jones, and Konstantinos Zachos. Discovering

remote software services that satisfy requirements: Patterns for query reformulation. In Advanced

Information Systems Engineering, volume 4001 of Lecture Notes in Computer Science, pages 239–

Springer-Verlag, 2006.

Clemens Szyperski. Component Software: Beyond Object-Oriented Programming. Addison-Wesley,

Boston, MA, USA, 2002.

Mike P. Papazoglou and Willem-Jan Heuvel. Service Oriented Architectures: Approaches, technologies

and research issues. The VLDB Journal, 16(3):389–415, 2007.

Jack Greenfield, Keith Short, Steve Cook, and Stuart Kent. Software Factories: Assembling Ap-

plications with Patterns, Models, Frameworks, and Tools. John Wiley & Sons, 2004.

Robert R. Korfhage. Information Storage and Retrieval. John Wiley & Sons, New York, NY,

USA, 1997.

Gerad Salton, A. Wong, and C. S. Yang. A vector space model for automatic indexing. Commu-

nications of the ACM, 18(11):613–620, 1975.

Martin F. Porter. An algorithm for suffix stripping. In Readings in Information Retrieval, pages

–316. Morgan-Kaufmann Publishers, San Francisco, CA, USA, 1997.

Padmal Vitharana, Hemant Jain, and Fatemeh Zahedi. Strategy-based design of reusable business

components. IEEE Transactions on Systems, Man, and Cybernetics, 34(4):460–474, November

Parag C. Pendharkar and James A. Rodger. An empirical study of factors impacting the size

of object-oriented component code documentation. In 20th annual international Conference on

Computer Documentation (SIGDOC ’02), Toronto, Ontario, Canada, pages 152–156, New York,

NY, USA, 2002. ACM Press.

Diomidis Spinellis. The way we program. IEEE Software, 25(4):89–91, 2008.

Eclipse Foundation. Eclipse Java Development Tools (JDT). http://www.eclipse.org/jdt, 2009.

Eclipse Foundation. Web Tools Platform (WTP) Project. http://www.eclipse.org/webtools,

Andreas Heß, Eddie Johnston, and Nicholas Kushmerick. ASSAM: A tool for semi-automatically

annotating semantic Web Services. In The Semantic Web - ISWC 2004, volume 3298 of Lecture

Notes in Computer Science, pages 320–334. Springer-Verlag, 2004.

Eugene Agichtein, Eric Brill, Susan Dumais, and Robert Ragno. Learning user interaction models

for predicting web search result preferences. In 29th Annual International ACM SIGIR Conference

on Research and Development in Information Retrieval (SIGIR ’06), Seattle, Washington, USA,

pages 3–10, New York, NY, USA, 2006. ACM Press.

Apache Software Foundation. jUDDI. http://ws.apache.org/juddi, 2009.

Rod Johnson and Juergen Hoeller. Expert One-on-One J2EE Development without EJB. John

Wiley & Sons, 2004.

PicoContainer Committers. PicoContainer. http://www.picocontainer.org, 2008.

SpringSource. The Spring Framework. http://www.springsource.org, 2009.

Apache Software Foundation. HiveMind. http://hivemind.apache.org, 2009.

Vítor Estêv ao Silva Souza and Ricardo de Almeida Falbo. FrameWeb: A framework-based design

method for web engineering. In 2007 Euro American Conference on Telematics and Information

Systems (EATIS ’07), Faro, Portugal, pages 1–8, New York, NY, USA, 2007. ACM Press.

Cristian Mateos, Alejandro Zunino, and Marcelo Campo. Grid-Enabling Applications with

JGRIM. International Journal of Grid and High Performance Computing, 1(3):52–72, 2009.

Malcolm Atkinson, David DeRoure, Alistair Dunlop, Geoffrey Fox, Peter Henderson, Tony Hey,

Norman Paton, Steven Newhouse, Savas Parastatidis, Anne Trefethen, Paul Watson, and Jim

Webber. Web Service Grids: An evolutionary approach. Concurrency and Computation: Practice

and Experience, 17(2-4):377–389, 2005.

John Erickson and Keng Siau. Web Service, Service-Oriented Computing, and Service-Oriented

Architecture: Separating hype from reality. Journal of Database Management, 19(3):42–54, 2008.

María Agustina Cibrán, Bart Verheecke, Wim Vanderperren, Davy Suvée, and Viviane Jonckers.

Aspect-oriented programming for dynamic Web Service selection, integration and management.

World Wide Web, 10(3):211–242, 2007.

Marisol Pérez Reséndiz and José Oscar Olmedo Aguirre. Dynamic invocation of Web Services by

using aspect-oriented programming. 2nd International Conference on Electrical and Electronics

Engineering, pages 48–51, 2005.

Shuping Ran. A model for Web Services discovery with QoS. SIGecom Exchanges, 4(1):1–10,

Hamid Reza Motahari Nezhad, Boualem Benatallah, Axel Martens, Francisco Curbera, and Fabio

Casati. Semi-automated adaptation of service interactions. In Proceedings of the 16th international

conference on World Wide Web (WWW ’07), Banff, Alberta, Canada, pages 993–1002, New York,

NY, USA, 2007. ACM Press.

Michael Schäfer, Peter Dolog, and Wolfgang Nejdl. An environment for flexible advanced compensations

of Web Service transactions. ACM Transactions on the Web, 2(2):1–36, 2008.

Ioana Manolescu, Marco Brambilla, Stefano Ceri, Sara Comai, and Piero Fraternali. Modeldriven

design and deployment of service-enabled Web applications. ACM Transactions on Internet

Technology, 5(3):439–479, 2005.

Downloads

Published

2010-02-28

How to Cite

CRASSO, M. ., MATEOS, C. ., ZUNINO, A. ., & CAMPO, M. . (2010). EMPIRICALLY ASSESSING THE IMPACT OF DEPENDENCY INJECTION ON THE DEVELOPMENT OF WEB SERVICE APPLICATIONS. Journal of Web Engineering, 9(1), 066–094. Retrieved from https://journals.riverpublishers.com/index.php/JWE/article/view/4031

Issue

Section

Articles