Abstract
Asynchronous event-based communication facilitates loose coupling and eases the integration of autonomous, heterogeneous components into complex systems. Many middleware platforms for event-based communication follow the publish/subscribe paradigm. Despite the usefulness of such systems, their programming support is currently limited. Usually, publish/subscribe systems only exhibit low-level programming abstractions to application developers. In this paper we investigate programming abstractions for content-based publish/subscribe middleware in object-oriented languages, how they can be integrated in applications, and their implications on middleware implementation. We focus on the definition of filters and their implementation, the handling of notifications and meta-data, and programming support for composite events. We have implemented the presented approach for our content-based publish/subscribe middleware Rebeca.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Benton, N., Cardelli, L., Fournet, C.: Modern concurrency abstractions for C#. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, p. 415. Springer, Heidelberg (2002)
Buchmann, A.P.: Architecture of active database systems. In: Paton, N.W. (ed.) Active Rules in Database Systems. ch. 2, pp. 29–48. Springer, Heidelberg (1999)
Buchmann, A.P., Deutsch, A., Zimmermann, J., Higa, M.: The reach active oodbms. In: ACM (ed.) Proceedings of the 1995 ACM SIGMOD International Conference on Management of Data, San Jose, California, May 23-25. SIGMOD Record (ACM Special Interest Group on Management of Data), vol. 24(2), pp. 476–476. ACM Press, New York (1995)
Carzaniga, A.: Architectures for an Event Notification Service Scalable to Wide-area Networks. PhD thesis, Politecnico di Milano, Milano, Italy (December 1998)
Carzaniga, A., Rosenblum, D.S., Wolf, A.L.: Design and evaluation of a wide-area event notification service. ACM Transactions on Computer Systems 19(3), 332–383 (2001)
Carzaniga, A., Wolf, A.L.: Content-based networking: A new communication infrastructure. In: NSF Workshop on an Infrastructure for Mobile and Wireless Systems, Scottsdale, AZ, USA (October 2001)
Chakravarthy, S., Mishra, D.: Snoop: An Expressive Event Specification Language for Active Databases. Data and Knowledge Engineering 14(1), 1–26 (1994)
Courtenage, S.: Specifying and detecting composite events in content-based publish/subscribe systems. In: Bacon, J., Fiege, L., Mühl, G., Guerraoui, R., Jacobsen, A. (eds.) In Proceedings of the 1st International Workshop on Distributed Event-Based Systems, DEBS 2002 (2002)
Eugster, P.T., Guerraoui, R.: Content-based publish/subscribe with structural reflection. In: 6th USENIX Conference on Object-Oriented Technologies and Systems, COOTS 2001 (2001)
Eugster, P.T., Guerraoui, R., Damm, C.H.: On objects and events. In: Northrop, L., Vlissides, J. (eds.) Proceedings of the OOPSLA 2001 Conference on Object Oriented Programming Systems Languages and Applications, Tampa Bay, FL, USA, pp. 254–269. ACM Press, New York (2001)
Fiege, L., Mezini, M., Mühl, G., Buchmann, A.P.: Engineering event-based systems with scopes. In: Magnusson, B. (ed.) ECOOP 2002. LNCS, vol. 2374, pp. 309–333. Springer, Heidelberg (2002)
Fournet, C., Gonthier, G.: Applied Semantics: Advanced Lectures, chapter The Join Calculus: A Language for Distributed Mobile Programming. In: Barthe, G., Dybjer, P., Pinto, L., Saraiva, J. (eds.) APPSEM 2000. LNCS, vol. 2395, pp. 268–332. Springer, Heidelberg (2002)
Gatziu, S., Dittrich, K.R.: Events in an Active Object-Oriented Database System. In: Proceedings of the 1st International Workshop on Rules in Database Systems, Workshops in Computing, pp. 23–29. Springer, Heidelberg (1993)
Gatziu, S., Dittrich, K.R.: Detecting Composite Events in Active Databases Using Petri Nets. In: Proceedings of the 4th International Workshop on Research Issues in Data Engineering - Active Database Systems, pp. 2–9 (1994)
IBM. Gryphon: Publish/subscribe over public networks. Technical report, IBM T.J. Watson Research Center (2001)
IBM. Publish-subscribe notification for Web services. Whitepaper (2004)
Lamport, L.: Time, Clocks, and the Ordering of Events in a Distributed Environment. Communications of the ACM 21, 558–564 (1978)
Liebig, C., Cilia, M., Buchmann, A.: Event composition in time-dependent distributed systems. In: Proceedings of the 4th Intl. Conference on Cooperative Information Systems (CoopIS (September 1999)
Ma, C., Bacon, J.: COBEA: A CORBA-based event architecture. In: Sventek, J. (ed.) Proceedings of the 4th Conference on Object-Oriented Technologies and Systems (COOTS 1998), Santa Fe, NM, USA. USENIX Association, pp. 117–132 (1998)
Meyer, B.: The power of abstraction, reuse, and simplicity: an object-oriented library for event-driven design. In: Owe, O. (ed.) Festschrift in Honor of Ole-Johahn Dahl. LNCS, vol. 2635, Springer, Heidelberg (2003)
Mühl, G.: Large-Scale Content-Based Publish/Subscribe Systems. PhD thesis, Darmstadt University of Technology (2002), http://elib.tu-darmstadt.de/diss/000274/
Mühl, G., Ulbrich, A.: RebecaNET/CF, http://www.ivs.tu-berlin.de/Projekte/Rebeca/
Newkirk, J., Vorontsov, A.A.: How.NETs custom attributes affect design. IEEE Software, 44–55 (September/October 2002)
Object Management Group. Corba notification service. OMG Document telecom/99-07-01 (1999)
Pietzuch, P.R., Shand, B., Beacon, J.: Composite event detection as a generic middleware extension. IEEE Network, 44–55 (January/February 2004)
Rammer, I.: Advanced .NET Remoting. A’Press, New York (2002)
Schwiderski, S.: Monitoring the behaviour of distributed systems. PhD thesis, University of Cambridge (April 1996)
Segall, B., Arnold, D., Boot, J., Henderson, M., Phelps, T.: Content based routing with elvin4. In: Proceedings AUUG2K, Canberra, Australia (June 2000)
Sun Microsystems, Inc. Java Message Service (JMS) Specification 1.1 (2002)
Ulbrich, A., Weis, T., Geihs, K.: QoS mechanism composition at design-time and runtime. In: Workshop on Distributed Auto-adaptive Reconfigurable Systems (DARES) - International Conference on Distributed Computing Systems (ICDCS), Providence, Rhode Island, pp. 118–125. IEEE, Los Alamitos (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ulbrich, A., Mühl, G., Weis, T., Geihs, K. (2004). Programming Abstractions for Content-Based Publish/Subscribe in Object-Oriented Languages. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2004: CoopIS, DOA, and ODBASE. OTM 2004. Lecture Notes in Computer Science, vol 3291. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-30469-2_44
Download citation
DOI: https://doi.org/10.1007/978-3-540-30469-2_44
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-23662-7
Online ISBN: 978-3-540-30469-2
eBook Packages: Springer Book Archive