Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Information storage and retrieval
Information storage and retrieval
An algorithm for suffix stripping
Readings in information retrieval
A vector space model for automatic indexing
Communications of the ACM
Component Software: Beyond Object-Oriented Programming
Component Software: Beyond Object-Oriented Programming
An empirical study of factors impacting the size of object-oriented component code documentation
Proceedings of the 20th annual international conference on Computer documentation
Computer
A model for web services discovery with QoS
ACM SIGecom Exchanges
Autonomous Semantic Web Services
IEEE Internet Computing
Communications of the ACM - Service-oriented computing
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools
Expert One-on-One J2EE Development without EJB
Expert One-on-One J2EE Development without EJB
Computer
Service-Oriented Computing: Key Concepts and Principles
IEEE Internet Computing
Web Service Grids: an evolutionary approach: Research Articles
Concurrency and Computation: Practice & Experience - Grid Performance
Model-driven design and deployment of service-enabled web applications
ACM Transactions on Internet Technology (TOIT)
Rethinking the Semantic Web, Part 1
IEEE Internet Computing
Computer
Learning user interaction models for predicting web search result preferences
SIGIR '06 Proceedings of the 29th annual international ACM SIGIR conference on Research and development in information retrieval
Context-aware agents for user-oriented web services discovery and execution
Distributed and Parallel Databases
Semi-automated adaptation of service interactions
Proceedings of the 16th international conference on World Wide Web
Service oriented architectures: approaches, technologies and research issues
The VLDB Journal — The International Journal on Very Large Data Bases
An environment for flexible advanced compensations of Web service transactions
ACM Transactions on the Web (TWEB)
FrameWeb: a framework-based design method for web engineering
EATIS '07 Proceedings of the 2007 Euro American conference on Telematics and information systems
Easy web service discovery: A query-by-example approach
Science of Computer Programming
IEEE Software
An Empirical Study into Use of Dependency Injection in Java
ASWEC '08 Proceedings of the 19th Australian Conference on Software Engineering
Effects of dependency injection on maintainability
SEA '07 Proceedings of the 11th IASTED International Conference on Software Engineering and Applications
Contemporary web service discovery mechanisms
Journal of Web Engineering
Discovering remote software services that satisfy requirements: patterns for query reformulation
CAiSE'06 Proceedings of the 18th international conference on Advanced Information Systems Engineering
Strategy-based design of reusable business components
IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews
Separation of concerns in service-oriented applications based on pervasive design patterns
Proceedings of the 2010 ACM Symposium on Applied Computing
Hi-index | 0.00 |
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 development 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 combines 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.