|
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 US Dollars. 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
|
G. Almes. The Impact of Language and System on Remote Procedure Call Design. In Proc. of the 6th Int. Conference on Distributed Computing Systems, pages 414--421. IEEE CS Press, 1986.
|
| |
2
|
G. T. Almes, A. P. Black, E. D. Lazowska, and J. D. Noe. The Eden system: A Technical Overview. IEEE Transactions on Software Engineering, 11(1):43--58, Jan. 1985.
|
| |
3
|
G. Alonso, D. Agrawal, A. E. Abbadi, M. Kamath, R. Gunthor, and C. Mohan. Advanced Transaction Models in Workflow Contexts. Research report, IBM Research, IBM Almaden, July 1995.
|
| |
4
|
|
| |
5
|
W. Andreas. HyperDesk's response to the ORB RFP. OMG TC Document 91.1.6, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
6
|
T. Andrews, F. Curbera, H. Dholakia, Y. Goland, J. Klein, F. Leymann, K. Liu, D. Roller, D. Smith, S. Thatte, I. Trickovic, and S. Weerawarana. Business process execution language for web services version 1.1. Technical report, OASIS, ifr.sap.com/bpel4ws, May 2003.
|
| |
7
|
ANSA. The Advanced Network Systems Architecture (ANSA). Reference manual, Architecture Project Management, Castle Hill, Cambridge, UK, 1989.
|
| |
8
|
M. P. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, and S. Zdonik. The Object-Oriented Database System Manifesto. In W. Kim, J.-M. Nicholas, and S. Nishio, editors, Proc. of the 1 st International Conference on Deductive and Object-Oriented Databases, Kyoto, Japan, pages 223--240. North-Holland, 1990.
|
| |
9
|
J. M. Bacon and K. G. Hamilton. Distributed Computing with the RPC: the Cambridge Approach. In Distributed Processing, pages 355--369. IFIP, North-Holland, 1988.
|
| |
10
|
H. E. Bal. The Shared Data Object Model as a Paradigm for Programming Distributed Systems. PhD thesis, Dept. of Computer Science, Vrije Universiteit Amsterdam, The Netherlands, 1989.
|
| |
11
|
|
| |
12
|
R. Balter. Bull's response to the ORB RFP. OMG TC Document 91.1.5, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
13
|
R. Balzer. Living in the Next Generation Operating System. IEEE Software, pages 77--85, 1987.
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
| |
17
|
|
| |
18
|
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
|
 |
19
|
|
 |
20
|
|
 |
21
|
|
| |
22
|
P. V. Birron, K. Permanente, and A. Malhotra. XML Schema Part 2: Datatypes. Technical report, World Wide Web Consortium, Oct. 2004.
|
| |
23
|
|
| |
24
|
|
| |
25
|
D. Box. A Brief History of SOAP. webservices.xml.com/pub/a/ws/2001/04/04/soap.html, 2001.
|
| |
26
|
D. Box, D. Ehnebuske, G. Kakivaya, A. Layman, N. Mendelson, H. F. Nielsen, S. Thatte, and D. Winer. Simple object access protocol (soap) 1.1. Note, World Wide Web Consortium, www.w3.org/TR/2000/NOTE-SOAP-20000508/, May 2000.
|
| |
27
|
T. Bray, J. Paoli, and C. M. Sperberg-McQueen. Extensible Markup Language. Recommendation www.w3.org/TR/1998/REC-xml-19980210, World Wide Web Consortium, Mar. 1998.
|
| |
28
|
M. R. Cagan. The HP SoftBench Environment: An Architecture for a New Generation of Software Tools. Hewlett-Packard Journal, pages 36--47, June 1990.
|
| |
29
|
A. Chandor, editor. Dictonary of Computers. Penguin Books, 1970.
|
| |
30
|
|
| |
31
|
D. R. Cheriton. The V Kernel: A Software Base for Distributed Systems. IEEE Software, 1(2):19--42, 1984.
|
 |
32
|
|
| |
33
|
S. Cheung. Java Transaction Service (JTS). Sun Microsystems, 901 San Antonio Road, Palo Alto, CA 94303, Dec. 1999.
|
| |
34
|
S. Cheung and V. Matena. Java Transaction API (JTA). Sun Microsystems, 901 San Antonio Road, Palo Alto, CA 94303, Apr. 1999.
|
| |
35
|
R. Chinnici, M. Gudgin, J.-J. Moreau, J. Schlimmer, and S. Weerawarana. Web services description language (wsdl) 2.0. Working draft, World Wide Web Consortium, www.w3.org/TR/wsd120, Aug. 2004.
|
| |
36
|
E. Christensen, F. Curbera, G. Meredith, and S. Weerawarana. Web Services Description Language (WSDL) 1.1. W3c note, W3C, March 2001.
|
| |
37
|
J. Clark and S. DeRose. XML Path Language (XPath) Version 1.0. Recommendation www.w3.org/TR/1999/REC-xpath-19991116, World Wide Web Consortium, Nov. 1999.
|
| |
38
|
|
| |
39
|
J. M. Correira and F. Biscotti. Market Share: AIM and Portal Software, Worldwide, 2005. Gartner market research report, Gartner, June 2006.
|
| |
40
|
|
| |
41
|
F. Curbera, S. Weerawarana, and M. J. Duftler. Network accessible service specification language: An xml language for describing network accessible services. Technical report, IBM Research, apps.alphaworks.ibm.com/technologies/soap4j/nassl.pdf, May 2000.
|
| |
42
|
L. DeMichiel and M. Keith. Enterprise Java Beans Version 3.0: EJB Core Contracts and Requirements. JSR 220, Sun Microsystems, 4140 Network Circle, Santa Clara, CA 95054, Dec. 2005.
|
 |
43
|
|
| |
44
|
F. DeRemer and H. Kron. Programming-in-the-large versus programming-in-the-small. IEEE Transactions on Software Engineering, SE-2(2):80--86, 1976.
|
| |
45
|
T. H. Dineen, P. J. Leach, N. W. Mishkin, J. N. Pato, and G. L. Wyant. The Network Computing Architecture and System: An Environment for Developing Distributed Applications. In Proc. of the 1987 Summer USENIX Conference, Phoenix, Arizona, USA, pages 385--398. USENIX Association, Berkeley, CAL, 1987.
|
| |
46
|
|
| |
47
|
|
| |
48
|
W. Emmerich. Engineering Distributed Objects. John Wiley & Sons, Chichester, UK, April 2000.
|
| |
49
|
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
|
| |
50
|
C. Enright. Software AG's response to the ORB RFP. OMG TC Document 91.1.10, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
 |
51
|
|
| |
52
|
J. Fancey. Build Better Business Processes with Web Services in BizTalk Server 2004. MSDN Magazine, 20(3), Mar. 2005.
|
| |
53
|
M. Fleury and F. Reverbel. The JBoss Extensible Server. In M. Endler and D. C. Schmidt, editors, Proc. of the ACM/IFIP/USENIX International Middleware Conference 2003, Rio de Janeiro, Brazil, volume 2672 of Lecture Notes in Computer Science, pages 344 - 373. Springer, 2003.
|
| |
54
|
L. Freburger. DEC response to the ORB RFP. OMG TC Document 91.1.7, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
 |
55
|
|
| |
56
|
M. Gilpin. Market overview update: Application server market. Technical report, Forrester Research, May 2002.
|
| |
57
|
|
 |
58
|
|
| |
59
|
|
| |
60
|
|
| |
61
|
R. Grimes. DCOM Programming. Wrox, 1997.
|
| |
62
|
M. Gudgin, M. Hadley, N. Mendelsohn, J.-J. Moreau, and H. F. Nielsen. Simple object access protocol (soap). Recommendation, World Wide Web Consortium, www.w3.org/TR/soap12-part1, June 2003.
|
| |
63
|
|
| |
64
|
M. Hapner, R. Burridge, R. Sharma, and J. Fialli. Java Message Service. Sun Microsystems, 2550 Garcia Avenue, Mountain View, CA 94043, USA, Aug. 2001.
|
| |
65
|
|
| |
66
|
N. Hazeltine. NCR's response to the ORB RFP. OMG TC Document 91.1.9, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
67
|
R. Heffner, L. Fulton, A. Cullen, M. Gilpin, and H. Peyret. Service Oriented Architectures. Technical report, Forrester Research, www.forrester.com/Research/Document/Excerpt/0,7211,38503,00.html, 2006.
|
| |
68
|
A. Herbert. APM's response to the ORB RFP. OMG TC Document 91.1.2, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
69
|
|
| |
70
|
D. Hollingsworth. The Workflow Reference Model Version 1.1. Technical Report TC00-1003, Workflow Management Coalition, 2 Crown Walk, Winchester SO22 5XE, UK, Jan. 1995.
|
| |
71
|
|
| |
72
|
IBM. MQSeries - An Introduction into Messaging and Queuing. Technical Report GC33-0805-01, IBM UK Laboratories, Hursley Park, Winchester, Hampshire, England, SO21 2JN, June 1995.
|
| |
73
|
ISO 8879. Information processing - Text and Office Systems - Standard Generalized Markup Language SGML. Technical report, International Standards Organisation, 1986.
|
| |
74
|
|
| |
75
|
|
 |
76
|
|
| |
77
|
|
| |
78
|
M. M. Kong. DCE: An Environment for Secure Client/Server Computing. Hewlett-Packard Journal, 46(6):6--15, Dec. 1995.
|
| |
79
|
|
 |
80
|
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]
|
| |
81
|
F. Leymann. Web Service Flow Language (WSFL). Technical report, IBM, www-4.ibm.com/software/solutions/webservices/pdf/WSFL.pdf, May 2001.
|
| |
82
|
|
| |
83
|
F. Leymann and D. Roller. Business Process Management with FlowMark. In Digest of Papers of CompCon Spring '94, pages 230--234. IEEE Computer Society Press, 1994.
|
| |
84
|
F. Leymann, D. Roller, and M. T. Schmidt. Web Services and Business Process Management. IBM Systems Journal, 41(2):198--211, 2002.
|
 |
85
|
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
|
| |
86
|
B. Liskov. Primtives for Distributed Computing. ACM Operating Systems Review, 13(5):33--42, Dec. 1980.
|
 |
87
|
|
| |
88
|
B. Liskov and A. Snyder. Exception Handling in CLU. IEEE Transactions on Software Engineering, SE-5(6):546--558, Nov. 1979.
|
 |
89
|
|
| |
90
|
S. M. Little and S. K. Shrivastava. An Examination of the Transition of the Arjuna Distributed Transaction Processing Software from Research to Products. In Proc. of the 2nd Int. Workshop on Industrial Experience with Systems Software, Boston, MA (co-located with OSDI '02). Usenix Association, 2002.
|
| |
91
|
M. Mathews. HP's response to the ORB RFP. OMG TC Document 91.1.4, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
 |
92
|
|
| |
93
|
P. Merrick and C. Allen. Web Interface Definition Language. Note, World Wide Web Consortium, www.w3.org/TR/NOTE-widl, Sept. 1997.
|
| |
94
|
|
| |
95
|
Microsoft. Enterprice Solution Patterns Using Microsoft .NET. Microsoft Press, 2003.
|
| |
96
|
|
 |
97
|
|
| |
98
|
C. Mohan and D. Dievendorff. Recent Work on Distributed Commit Protocolls, and Recoverable Messaging and Queuing. IEEE Data Engineering Bulletin, 17(1):22--28, 1994.
|
| |
99
|
|
| |
100
|
|
| |
101
|
A. Nadalin, C. Kaler, P. Hallam-Baker, and R. Monzillo. Ws security. Technical report, OASIS, Mar. 2004.
|
| |
102
|
|
| |
103
|
Object Management Group, 492 Old Connecticut Path, Framingham, MA 01701, USA. The Common Object Request Broker: Architecture and Specification Version 1.0, October 1991.
|
| |
104
|
Object Management Group, www.omg.org/docs/1993/93-11-16.pdf. Object Transaction Service -- Reponse to the OMG's second RfP, Nov. 1993.
|
| |
105
|
Object Management Group, www.omg.org/docs/1993/93-11-01.pdf. Transaction Service Proposal, Nov. 1993.
|
| |
106
|
Object Management Group, 492 Old Connecticut Path, Framingham, MA 01701, USA. The Common Object Request Broker: Architecture and Specification Revision 2.0, July 1995.
|
 |
107
|
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
|
| |
108
|
OMG. CORBA services: Common Object Services Specification, Revised Edition. Object Management Group, 492 Old Connecticut Path, Framingham, MA 01701, USA, December 1998. www.omg.org/docs/formal/98-12/09.pdf.
|
| |
109
|
OMG. Notification Service. Object Management Group, 492 Old Connecticut Path, Framingham, MA 01701, USA, Jan. 1998.
|
| |
110
|
Open Group, Reading, UK. DCE Glossary, 1996. www.opengroup.org/dce/info/papers/dceglossary.htm.
|
| |
111
|
Open Group, editor. DCE 1.1: Remote Procedure Calls. The Open Group, 1997.
|
| |
112
|
|
 |
113
|
|
| |
114
|
C. Peltz. Web services orchestration and choreography. IEEE Computer, 36(10):46--52, 2003.
|
| |
115
|
E. Prudhommeaux. XML Protocol Comparison. Technical report, World Wide Web Consortium, www.w3.org/2000/03/29-XML-protocol-matrix, 2000.
|
| |
116
|
|
| |
117
|
|
| |
118
|
B. K. Reid. The Scribe Document Specification Language and its Compiler. In Proc. of the Int. Conference on Research and Trends in Document Preparation Systems, pages 59--62, 1981.
|
| |
119
|
S. Reiss. Overview of the FIELD Environment. Technical report, Dept. of Computer Science, Brown University, 1987.
|
| |
120
|
|
| |
121
|
|
 |
122
|
|
| |
123
|
M. Shapiro. General and per-submission evaluations to responses to the ORB RFP. OMG TC Document 91.5.7, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Aug. 1991.
|
| |
124
|
M. Shapiro, Y. Gourhant, S. Habert, L. Mosseri, M. Ruffin, and C. Valot. SOS: An object-oriented operating system: assessment and perspectives. Computer Journal, 2(4):287--337, 1989.
|
| |
125
|
L. Sheffler. Constellation's response to the ORB RFP. OMG TC Document 91.1.3, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
126
|
D. Shia. DSET's response to the ORB RFP. OMG TC Document 91.1.1, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1990.
|
| |
127
|
|
| |
128
|
|
| |
129
|
D. Skeen. Teknekron's response to the ORB RFP. OMG TC Document 91.1.8, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1991.
|
| |
130
|
D. Skeen. An Information Bus Architecture for Large-Scale Decision-Support Environments. In Proc. of the Winter Usenix Conference, pages 183--195, 1992.
|
 |
131
|
|
| |
132
|
A. Snyder. A Glossary of Common Object-Oriented Terminology. OMG TC Document 90.1.8, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1990.
|
| |
133
|
A. Snyder. Draft OMG Object Model. OMG TC Document 90.1.2, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Jan. 1990.
|
| |
134
|
R. Soley. ORB RFP Responses: Final submissions. Memorandum to OMG TC ORB Task Force, Feb. 1991. www.omg.org/docs/1991/91-02-02.txt.
|
| |
135
|
|
| |
136
|
R. J. Souza and S. P. Miller. Unix and Remote Procedure Calls: A Peaceful Coexistence? In Proc. of the 6th Int. Conference on Distributed Computing Systems, pages 268--277. IEEE CS Press, 1986.
|
| |
137
|
P. Srinnivasan. An Introduction to Microsoft .NET Remoting Framework. Technical report, Microsoft, Redmont, Washington, USA, July 2001.
|
| |
138
|
|
| |
139
|
|
| |
140
|
|
| |
141
|
Sun Microsystems. Java Remote Method Invocation Specification, revision 1.50, jdk 1.2 edition, Oct. 1998.
|
| |
142
|
J. Sventek and W. Andreas. The Common Object Request Broker: Architecture and Specification. OMG TC Document 91.8.1, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Aug. 1991.
|
 |
143
|
|
| |
144
|
TechNet. What is RPC? Microsoft, Mar. 2003. technet.microsoft.com.
|
| |
145
|
S. Thatte. Xlang: Web services for business process design. Technical report, Microsoft, 2001.
|
| |
146
|
|
| |
147
|
B. Weber. Object Request Broker Request for Proposals. OMG TC Document 90.10.5, Object Management Group, 492 Old Connecticut Path, Framingham, MA, USA, Oct. 1990. www.omg.org/docs/1990/90-10-05.txt.
|
| |
148
|
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
|
| |
149
|
D. Winer. XML RPC. Technical report, UserLand Software, June 1999. www.xmlrpc.com/spec.
|
| |
150
|
|
| |
151
|
A. Wollrath, R. Riggs, and J. Waldo. A Distributed Object Model for the Java System. Usenix Computing Systems, 9(4):265--290, 1996.
|
| |
152
|
Xerox OPD. Courier: The Remote Procedure Call Protocol, xerox system integration standard 038112 edition, Dec. 1981.
|
| |
153
|
X/Open Group. Distributed Transaction Processing: The XA Specification. X/Open Company, ISBN 1 872630 24 3, Reading, UK, Dec. 1991.
|
|