Smalltalk-80: the language and its implementation
Smalltalk-80: the language and its implementation
Nested transactions: an approach to reliable distributed computing
Nested transactions: an approach to reliable distributed computing
The C++ programming language
Distrbution and Abstract Types in Emerald
IEEE Transactions on Software Engineering - Special issue on distributed systems
Concurrency control and recovery in database systems
Concurrency control and recovery in database systems
Object oriented programming: an evolutionary approach
Object oriented programming: an evolutionary approach
Encapsulation and inheritance in object-oriented programming languages
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
EMERALD: An object-based language for distributed programming
EMERALD: An object-based language for distributed programming
Fine-grained mobility in the Emerald system
ACM Transactions on Computer Systems (TOCS)
Distributed programming in Argus
Communications of the ACM
Development of the domain name system
SIGCOMM '88 Symposium proceedings on Communications architectures and protocols
The treatment of persistent objects in Arjuna
The Computer Journal - Special issue on object-oriented programming
Object oriented design with applications
Object oriented design with applications
ARIES/NT: a recovery method based on write-ahead logging for nested transactions
VLDB '89 Proceedings of the 15th international conference on Very large data bases
Exploiting replication in distributed systems
Distributed systems
Transaction processing monitors
Communications of the ACM
Orca: A Language for Parallel Programming of Distributed Systems
IEEE Transactions on Software Engineering
Designing object-oriented software
Designing object-oriented software
Supporting cooperation in the Marvel process-centered SDE
SDE 5 Proceedings of the fifth ACM SIGSOFT symposium on Software development environments
The Information Bus: an architecture for extensible distributed systems
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
SOSP '93 Proceedings of the fourteenth ACM symposium on Operating systems principles
Managing business processes as an information resource
IBM Systems Journal
Microsoft RPC programming guide
Microsoft RPC programming guide
DEC FUSE: building a graphical software development environment from UNIX tools
Digital Technical Journal
Multiprotocol networking—a blueprint
IBM Systems Journal
Object management architecture guide (3rd ed.)
Object management architecture guide (3rd ed.)
Middleware: a model for distributed system services
Communications of the ACM
Dynamic class loading in the Java virtual machine
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Host groups: a multicast extension for datagram internetworks
SIGCOMM '85 Proceedings of the ninth symposium on Data communications
Software technology maturation
ICSE '85 Proceedings of the 8th international conference on Software engineering
System R: relational approach to database management
ACM Transactions on Database Systems (TODS)
Communicating and mobile systems: the &pgr;-calculus
Communicating and mobile systems: the &pgr;-calculus
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Communications of the ACM
Communications of the ACM
A technique for software module specification with examples
Communications of the ACM
Middleware Moves to the Forefront
Computer
TIGRA — an architectural style for enterprise application integration
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
A survey of remote procedure calls
ACM SIGOPS Operating Systems Review
Out of the Box: Strategies for Achieving Profits Today and Growth Tomorrow through Web Services
Out of the Box: Strategies for Achieving Profits Today and Growth Tomorrow through Web Services
Object-Oriented Software Construction
Object-Oriented Software Construction
Software Development: A Rigorous Approach
Software Development: A Rigorous Approach
Distributed Systems: Concepts and Design
Distributed Systems: Concepts and Design
Transaction Processing: Concepts and Techniques
Transaction Processing: Concepts and Techniques
Remote Procedure Calls and Java Remote Method Invocation
IEEE Concurrency
An Overview of the Arjuna Distributed Programming System
IEEE Software
Rajdoot: A Remote Procedure Call Mechanism Supporting Orphan Detection and Killing
IEEE Transactions on Software Engineering
Revised Papers from the Second International Workshop on Engineering Distributed Objects
EDO '00 Revised Papers from the Second International Workshop on Engineering Distributed Objects
Repeating History Beyond ARIES
VLDB '99 Proceedings of the 25th International Conference on Very Large Data Bases
Notes on Data Base Operating Systems
Operating Systems, An Advanced Course
The impact of object technology on commercial transaction processing
The VLDB Journal — The International Journal on Very Large Data Bases
The impact of mesa on system design
ICSE '79 Proceedings of the 4th international conference on Software engineering
A generalized approach to document markup
Proceedings of the ACM SIGPLAN SIGOA symposium on Text manipulation
UIDs as internal names in a distributed file system
PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Programming-in-the large versus programming-in-the-small
Proceedings of the international conference on Reliable software
The many faces of publish/subscribe
ACM Computing Surveys (CSUR)
Security and Dynamic Class Loading in Java: A Formalization
ICCL '98 Proceedings of the 1998 International Conference on Computer Languages
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
NESTED TRANSACTIONS: AN APPROACH TO RELIABLE DISTRIBUTED COMPUTING
Scribe: a document specification language and its compiler
Scribe: a document specification language and its compiler
Remote procedure call
Object management for persistence and recoverability
Object management for persistence and recoverability
Communications of the ACM - Service-oriented computing
Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More
The impact of software engineering research on modern progamming languages
ACM Transactions on Software Engineering and Methodology (TOSEM)
WIESS'02 Proceedings of the 2nd conference on Industrial Experiences with Systems Software - Volume 2
The V Kernel: A Software Base for Distributed Systems
IEEE Software
Living in the Next-Generation Operating System
IEEE Software
Programming-in-the-Large Versus Programming-in-the-Small
IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering
Support for Distributed Transactions in the TABS Prototype
IEEE Transactions on Software Engineering
The Eden System: A Technical Review
IEEE Transactions on Software Engineering
Proceedings of the ACM/IFIP/USENIX 2003 International Conference on Middleware
Web services and business process management
IBM Systems Journal
A journey to highly dynamic, self-adaptive service-based applications
Automated Software Engineering
Research on mobile MOM supporting data sharing
WiCOM'09 Proceedings of the 5th International Conference on Wireless communications, networking and mobile computing
Impact of process simulation on software practice: an initial report
Proceedings of the 33rd International Conference on Software Engineering
Middleware support for internetware: a service perspective
Proceedings of the Second Asia-Pacific Symposium on Internetware
The evolution of the arjuna transaction processing system
Dependable and Historic Computing
Hi-index | 0.00 |
The middleware market represents a sizable segment of the overall Information and Communication Technology market. In 2005, the annual middleware license revenue was reported by Gartner to be in the region of $8.5 billion. In this article we address the question whether research had any involvement in the creation of the technology that is being sold in this market? We attempt a scholarly discourse. We present the research method that we have applied to answer this question. We then present a brief introduction into the key middleware concepts that provide the foundation for this market. It would not be feasible to investigate any possible impact that research might have had. Instead we select a few very successful technologies that are representative for the middleware market as a whole and show the existence of impact of research results in the creation of these technologies. We investigate the origins of Web services middleware, distributed transaction processing middleware, message-oriented middleware, distributed object middleware and remote procedure call systems. For each of these technologies we are able to show ample influence of research and conclude that without the research conducted by PhD students and researchers in university computer science labs at Brown, CMU, Cambridge, Newcastle, MIT, Vrije, and University of Washington as well as research in industrial labs at APM, AT&T Bell Labs, DEC Systems Research, HP Labs, IBM Research, and Xerox PARC we would not have middleware technology in its current form. We summarise the article by distilling lessons that can be learnt from this evidenced impact for future technology transfer undertakings.