|
ABSTRACT
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.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Almes, G. 1986. The impact of language and system on remote procedure call design. In Proceedings of the 6th International Conference on Distributed Computing Systems. IEEE, 414--421.
|
| |
2
|
|
| |
3
|
Alonso, G., Agrawal, D., Abbadi, A. E., Kamath, M., Gunthor, R., and Mohan, C. 1995. Advanced transaction models in workflow contexts. Research report, IBM Research, IBM Almaden.
|
| |
4
|
Deepak Alur , Dan Malks , John Crupi , Grady Booch , Martin Fowler, Core J2EE Patterns (Core Design Series): Best Practices and Design Strategies, Sun Microsystems, Inc., Mountain View, CA, 2003
|
| |
5
|
Andreas, W. 1991. HyperDesk's response to the ORB RFP. OMG TC Document 91.1.6, Object Management Group.
|
| |
6
|
Andrews, T., Curbera, F., Dholakia, H., Goland, Y., Klein, J., Leymann, F., Liu, K., Roller, D., Smith, D., Thatte, S., Trickovic, I., and Weerawarana, S. 2003. Business process execution language for Web services version 1.1. Tech. rep., OASIS, ifr.sap.com/bpel4ws.
|
| |
7
|
ANSA. 1989. The Advanced Network Systems Architecture (ANSA). Reference manual, Architecture Project Management, Castle Hill, Cambridge, UK.
|
 |
8
|
M. M. Astrahan , M. W. Blasgen , D. D. Chamberlin , K. P. Eswaran , J. N. Gray , P. P. Griffiths , W. F. King , R. A. Lorie , P. R. McJones , J. W. Mehl , G. R. Putzolu , I. L. Traiger , B. W. Wade , V. Watson, System R: relational approach to database management, ACM Transactions on Database Systems (TODS), v.1 n.2, p.97-137, June 1976
[doi> 10.1145/320455.320457]
|
| |
9
|
Atkinson, M. P., Bancilhon, F., DeWitt, D., Dittrich, K., Maier, D., and Zdonik, S. 1990. The object-oriented database system manifesto. In Proceedings of the 1st International Conference on Deductive and Object-Oriented Databases, Kyoto, Japan, W. Kim, J.-M. Nicholas, and S. Nishio, Eds. North-Holland, 223--240.
|
| |
10
|
Bacon, J. M. and Hamilton, K. G. 1988. Distributed computing with the RPC: The Cambridge approach. In Distributed Processing. IFIP, North-Holland, 355--369.
|
| |
11
|
Bal, H. E. 1989. The shared data object model as a paradigm for programming distributed systems. Ph.D. thesis, Department of Computer Science, Vrije Universiteit Amsterdam, The Netherlands.
|
| |
12
|
|
| |
13
|
Balter, R. 1991. Bull's response to the ORB RFP. OMG TC Document 91.1.5, Object Management Group.
|
| |
14
|
|
 |
15
|
|
 |
16
|
|
 |
17
|
|
| |
18
|
|
| |
19
|
N. Bieberstein , S. Bose , L. Walker , A. Lynch, Impact of service-oriented architecture on enterprise systems, organizational structures, and individuals, IBM Systems Journal, v.44 n.4, p.691-708, 2005
|
 |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
Birron, P. V., Permanente, K., and Malhotra, A. 2004. XML Schema part 2: Datatypes. Tech. rep., World Wide Web Consortium.
|
| |
24
|
|
| |
25
|
|
| |
26
|
Box, D. 2001. A Brief History of SOAP. webservices.xml.com/pub/a/ws/2001/04/04/soap.html.
|
| |
27
|
Box, D., Ehnebuske, D., Kakivaya, G., Layman, A., Mendelson, N., Nielsen, H. F., Thatte, S., and Winer, D. 2000. Simple object access protocol (soap) 1.1. Note, World Wide Web Consortium, www.w3.org/TR/2000/NOTE-SOAP-20000508/.
|
| |
28
|
Bray, T., Paoli, J., and Sperberg-McQueen, C. M. 1998. Extensible Markup Language. Recommendation www.w3.org/TR/1998/REC-xml-19980210, World Wide Web Consortium.
|
| |
29
|
Cagan, M. R. 1990. The HP SoftBench environment: An architecture for a new generation of software tools. Hewlett-Packard J. 36--47.
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
| |
33
|
Cheung, S. 1999. Java Transaction Service (JTS). Sun Microsystems, Palo Alto, CA.
|
| |
34
|
Cheung, S. and Matena, V. 1999. Java Transaction API (JTA). Sun Microsystems, Palo Alto, CA.
|
| |
35
|
Chinnici, R., Gudgin, M., Moreau, J.-J., Schlimmer, J., and Weerawarana, S. 2004. Web services description language (wsdl) 2.0. Working draft, World Wide Web Consortium, www.w3.org/TR/wsdl20.
|
| |
36
|
Christensen, E., Curbera, F., Meredith, G., and Weerawarana, S. 2001. Web Services Description Language (WSDL) 1.1. W3c note, W3C.
|
| |
37
|
Clark, J. and DeRose, S. 1999. XML path language (XPath) version 1.0. Recommendation www.w3.org/TR/1999/REC-xpath-19991116, World Wide Web Consortium.
|
| |
38
|
|
| |
39
|
|
| |
40
|
Correira, J. M. and Biscotti, F. 2006. Market Share: AIM and Portal Software, Worldwide, 2005. Gartner market research report, Gartner.
|
| |
41
|
|
| |
42
|
Curbera, F., Weerawarana, S., and Duftler, M. J. 2000. Network accessible service specification language: An xml language for describing network accessible services. Tech. rep., IBM Research, apps.alphaworks.ibm.com/technologies/soap4j/nassl.pdf.
|
| |
43
|
DeMichiel, L. and Keith, M. 2005. Enterprise Java Beans Version 3.0: EJB core contracts and requirements. JSR 220, Sun Microsystems, Santa Clara, CA.
|
 |
44
|
|
| |
45
|
|
| |
46
|
Dineen, T. H., Leach, P. J., Mishkin, N. W., Pato, J. N., and Wyant, G. L. 1987. The Network Computing Architecture and System: An environment for developing distributed applications. In Proceedings of the 1987 Summer USENIX Conference, USENIX Association, Berkeley, CA, 385--398.
|
| |
47
|
|
| |
48
|
|
| |
49
|
|
| |
50
|
Wolfgang Emmerich , Ernst Ellmer , Henry Fieglein, TIGRA — an architectural style for enterprise application integration, Proceedings of the 23rd International Conference on Software Engineering, p.567-576, May 12-19, 2001, Toronto, Ontario, Canada
|
| |
51
|
Enright, C. 1991. Software AG's response to the ORB RFP. OMG TC Document 91.1.10, Object Management Group.
|
 |
52
|
|
| |
53
|
Fancey, J. 2005. Build better business processes with Web services in BizTalk server 2004. MSDN Mag. 20, 3.
|
| |
54
|
Fleury, M. and Reverbel, F. 2003. The JBoss extensible server. In Proceedings of the ACM/IFIP/USENIX International Middleware Conference. M. Endler and D. C. Schmidt, Eds. Lecture Notes in Computer Science, vol. 2672. Springer, 344--373.
|
| |
55
|
Freburger, L. 1991. DEC response to the ORB RFP. OMG TC Document 91.1.7, Object Management Group.
|
 |
56
|
|
| |
57
|
Gilpin, M. 2002. Market overview update: Application server market. Tech. rep., Forrester Research.
|
| |
58
|
|
 |
59
|
|
| |
60
|
|
| |
61
|
|
| |
62
|
Grimes, R. 1997. DCOM Programming. Wrox.
|
| |
63
|
Gudgin, M., Hadley, M., Mendelsohn, N., Moreau, J.-J., and Nielsen, H. F. 2003. Simple object access protocol (soap). Recommendation, World Wide Web Consortium, www.w3.org/TR/soap12-part1.
|
| |
64
|
|
| |
65
|
Hapner, M., Burridge, R., Sharma, R., and Fialli, J. 2001. Java Message Service. Sun Microsystems, Mountain View, CA.
|
| |
66
|
|
| |
67
|
Hazeltine, N. 1991. NCR's response to the ORB RFP. OMG TC Document 91.1.9, Object Management Group.
|
| |
68
|
Heffner, R., Fulton, L., Cullen, A., Gilpin, M., and Peyret, H. 2006. Service oriented architectures. Tech. rep., Forrester Research, www.forrester.com/Research/Document/Excerpt/0,7211,38503,00.html.
|
| |
69
|
Herbert, A. 1991. APM's response to the ORB RFP. OMG TC Document 91.1.2, Object Management Group.
|
| |
70
|
|
| |
71
|
Hollingsworth, D. 1995. The workflow reference model version 1.1. Tech. Rep. TC00-1003, Workflow Management Coalition.
|
| |
72
|
|
| |
73
|
IBM. 1995. MQSeries—An Introduction into messaging and queuing. Tech. Rep. GC33-0805-01, IBM UK Laboratories.
|
| |
74
|
ISO 8879. 1986. Information processing—Text and office systems—Standard generalized markup language SGML. Tech. rep., International Standards Organization.
|
| |
75
|
Jenkins, B. 1972. Developments in computer auditing. Accountant, 537.
|
| |
76
|
|
| |
77
|
|
 |
78
|
|
| |
79
|
Keene, S. 1989. Object-Oriented Programming in Common Lisp. Addison-Wesley.
|
| |
80
|
Kong, M. M. 1995. DCE: An environment for secure client/server computing. Hewlett-Packard J. 46, 6, 6--15.
|
| |
81
|
Lampson, B. W. and Sturgis, H. E. 1979. Crash recovery in a distributed data storage system. Tech. rep. Xerox PARC. (An earlier draft of this technical report was circulated in 1976 but never published.)
|
| |
82
|
|
 |
83
|
Paul J. Leach , Bernard L. Stumpf , James A. Hamilton , Paul H. Levine, UIDs as internal names in a distributed file system, Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing, p.34-41, August 18-20, 1982, Ottawa, Canada
[doi> 10.1145/800220.806679]
|
| |
84
|
Leymann, F. 2001. Web Service Flow Language (WSFL). Tech. rep., IBM, www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf.
|
| |
85
|
|
| |
86
|
Leymann, F. and Roller, D. 1994. Business Process Management with FlowMark. In Digest of Papers of CompCon. IEEE Computer Society Press, 230--234.
|
| |
87
|
Leymann, F., Roller, D., and Schmidt, M. T. 2002. Web services and business process management. IBM Syst. J. 41, 2, 198--211.
|
 |
88
|
Sheng Liang , Gilad Bracha, Dynamic class loading in the Java virtual machine, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.36-44, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
89
|
Liskov, B. 1980. Primitives for distributed computing. ACM Operat. Syst. Rev. 13, 5, 33--42.
|
 |
90
|
|
| |
91
|
|
 |
92
|
|
| |
93
|
|
| |
94
|
Mathews, M. 1991. HP's response to the ORB RFP. OMG TC Document 91.1.4, Object Management Group.
|
 |
95
|
|
| |
96
|
Merrick, P. and Allen, C. 1997. Web interface definition language. Note, World Wide Web Consortium, www.w3.org/TR/NOTE-widl. Sept.
|
| |
97
|
|
| |
98
|
Microsoft. 2003. Enterprice Solution Patterns Using Microsoft .NET. Microsoft Press.
|
| |
99
|
|
 |
100
|
|
| |
101
|
|
| |
102
|
Mohan, C. and Dievendorff, D. 1994. Recent work on distributed commit protocolls, and recoverable messaging and queuing. IEEE Data Engin. Bull. 17, 1, 22--28.
|
| |
103
|
|
| |
104
|
|
| |
105
|
Nadalin, A., Kaler, C., Hallam-Baker, P., and Monzillo, R. 2004. Ws security. Tech. rep., OASIS.
|
| |
106
|
|
| |
107
|
Object Management Group 1991. The Common Object Request Broker: Architecture and Specification Version 1.0. Object Management Group.
|
| |
108
|
Object Management Group 1993a. Object Transaction Service—Reponse to the OMG's second RfP. Object Management Group, www.omg.org/docs/1993/93-11-16.pdf.
|
| |
109
|
Object Management Group 1993b. Transaction Service Proposal. Object Management Group, www.omg.org/docs/1993/93-11-01.pdf.
|
| |
110
|
Object Management Group 1995. The Common Object Request Broker: Architecture and Specification Revision 2.0. Object Management Group.
|
 |
111
|
Brian Oki , Manfred Pfluegl , Alex Siegel , Dale Skeen, The Information Bus: an architecture for extensible distributed systems, Proceedings of the fourteenth ACM symposium on Operating systems principles, p.58-68, December 05-08, 1993, Asheville, North Carolina, United States
|
| |
112
|
OMG. 1998a. CORBAservices: Common Object Services Specification, Revised Edition. Object Management Group. www.omg.org/docs/formal/98-12/09.pdf.
|
| |
113
|
OMG. 1998b. Notification Service. Object Management Group.
|
| |
114
|
Open Group. 1996. DCE Glossary. Open Group, Reading, UK. www.opengroup.org/dce/info/papers/dce-glossary.htm.
|
| |
115
|
Open Group, Ed. 1997. DCE 1.1: Remote Procedure Calls. The Open Group.
|
| |
116
|
|
 |
117
|
|
| |
118
|
|
| |
119
|
Prudhommeaux, E. 2000. XML protocol comparison. Tech. rep., World Wide Web Consortium, www.w3.org/2000/03/29-XML-protocol-matrix.
|
| |
120
|
Randell, B. and Naur, P., Eds. 1969. Software Engineering. Report on a Conference Sponsored by the NATO Science Committee. NATO Scientific Affairs Division. Brussels.
|
| |
121
|
|
| |
122
|
|
| |
123
|
Reid, B. K. 1981b. The Scribe document specification language and its compiler. In Proceedings of the International Conference on Research and Trends in Document Preparation Systems. 59--62.
|
| |
124
|
Reiss, S. 1987. Overview of the FIELD environment. Tech. rep., Department of Computer Science, Brown University.
|
| |
125
|
|
| |
126
|
|
 |
127
|
|
| |
128
|
Shapiro, M. 1991. General and per-submission evaluations to responses to the ORB RFP. OMG TC Document 91.5.7, Object Management Group.
|
| |
129
|
Shapiro, M., Gourhant, Y., Habert, S., Mosseri, L., Ruffin, M., and Valot, C. 1989. SOS: An object-oriented operating system: assessment and perspectives. Comput. J. 2, 4, 287--337.
|
| |
130
|
Sheffler, L. 1991. Constellation's response to the ORB RFP. OMG TC Document 91.1.3, Object Management Group.
|
| |
131
|
Shia, D. 1990. DSET's response to the ORB RFP. OMG TC Document 91.1.1, Object Management Group.
|
| |
132
|
|
| |
133
|
|
| |
134
|
Skeen, D. 1991. Teknekron's response to the ORB RFP. OMG TC Document 91.1.8, Object Management Group.
|
| |
135
|
Skeen, D. 1992. An Information Bus Architecture for Large-Scale Decision-Support Environments. In Proceedings of the Winter Usenix Conference. 183--195.
|
 |
136
|
|
| |
137
|
Snyder, A. 1990a. A glossary of common object-oriented terminology. OMG TC Document 90.1.8, Object Management Group.
|
| |
138
|
Snyder, A. 1990b. Draft OMG Object Model. OMG TC Document 90.1.2, Object Management Group.
|
| |
139
|
Soley, R. 1991. ORB RFP Responses: Final submissions. Memorandum to OMG TC ORB Task Force. www.omg.org/docs/1991/91-02-02.txt.
|
| |
140
|
|
| |
141
|
Souza, R. J. and Miller, S. P. 1986. Unix and remote procedure calls: A peaceful coexistence? In Proceedings of the 6th International Conference on Distributed Computing Systems. IEEE, 268--277.
|
| |
142
|
Spector, A. Z., Bloch, J. J., Daniels, D. S., Draves, R., Duchamp, D., Eppinger, J. L., Meenes, S. G., and Thompson, D. S. 1986. The camelot project. IEEE Datab. Engin. Bull. 9, 3, 23--34.
|
| |
143
|
A. Z. Spector , J. Butcher , D. S. Daniels , D. J. Duchamp , J. L. Eppinger , C. E. Fineman , A. Heddaya , P. M. Schwarz, Support for Distributed Transactions in the TABS Prototype, IEEE Transactions on Software Engineering, v.11 n.6, p.520-530, June 1985
[doi> 10.1109/TSE.1985.232244]
|
| |
144
|
Srinnivasan, P. 2001. An introduction to Microsoft .NET remoting framework. Tech. rep., Microsoft, Redmont, WA.
|
| |
145
|
|
| |
146
|
|
| |
147
|
|
| |
148
|
Sun Microsystems 1998. Java Remote Method Invocation Specification, Revision 1.50, JDK 1.2 ed. Sun Microsystems.
|
| |
149
|
Sventek, J. and Andreas, W. 1991. The common object request broker: Architecture and specification. OMG TC Document 91.8.1, Object Management Group.
|
 |
150
|
|
| |
151
|
TechNet. 2003. What is RPC? Microsoft. technet.microsoft.com.
|
| |
152
|
Thatte, S. 2001. Xlang: Web services for business process design. Tech. rep., Microsoft.
|
| |
153
|
|
| |
154
|
Weber, B. 1990. Object request broker request for proposals. OMG TC Document 90.10.5, Object Management Group. www.omg.org/docs/1990/90-10-05.txt.
|
| |
155
|
Sanjiva Weerawarana , Francisco Curbera , Frank Leymann , Tony Storey , Donald F. Ferguson, Web Services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging and More, Prentice Hall PTR, Upper Saddle River, NJ, 2005
|
| |
156
|
Winer, D. 1999. XML RPC. Tech. rep., UserLand Software. www.xmlrpc.com/spec.
|
| |
157
|
|
| |
158
|
Wollrath, A., Riggs, R., and Waldo, J. 1996. A distributed object model for the Java system. Usenix Comput. Syst. 9, 4, 265--290.
|
| |
159
|
Xerox OPD 1981. Courier: The Remote Procedure Call Protocol, Xerox System Integration Standard 038112 ed. Xerox OPD.
|
| |
160
|
X/Open Group. 1991. Distributed transaction processing: The XA specification. X/Open Company, ISBN 1 872630 24 3, Reading, UK.
|
| |
161
|
Young, M. W., Thompson, D. S., and Jaffe, E. 1991. A modular architecture for distributed transaction processing. In Proceedings of the Winter USENIX Conference. Usenix, 357--363.
|
CITED BY
|
|
Elisabetta Di Nitto , Carlo Ghezzi , Andreas Metzger , Mike Papazoglou , Klaus Pohl, A journey to highly dynamic, self-adaptive service-based applications, Automated Software Engineering, v.15 n.3-4, p.313-341, December 2008
|
|