930 likes | 947 Views
Explore the benefits of object-orientation and building collaborative apps with live distributed objects. Understand the layers in middleware, protocols, and related works in distributed environments.
E N D
Programming with Live Distributed Objects Krzysztof Ostrowski†in collaboration with Ken Birman†, Danny Dolev§, Jong Hoon Ahnn† †Cornell University, §Hebrew University http://liveobjects.cs.cornell.edu
Introduction “Live Objects", Krzysztof Ostrowski
Modern Software Development “Live Objects", Krzysztof Ostrowski
Object-Orientation has Benefits “Live Objects", Krzysztof Ostrowski
Object-Orientation has Benefits “Live Objects", Krzysztof Ostrowski
Distributed Systems: Out of Luck “Live Objects", Krzysztof Ostrowski
Building a Collaborative App “Live Objects", Krzysztof Ostrowski
Building a Collaborative App “Live Objects", Krzysztof Ostrowski
Building a Collaborative App “Live Objects", Krzysztof Ostrowski
Using Obscure, Proprietary APIs low-level ssize_trecvfrom( intsocket, void *buffer, size_tlength, intflags, structsockaddr *address, socklen_t *address_len); obscure proprietary Channel channel = newJChannel( "UDP:PING:FD:STABLE:NAKACK:UNICAST:" +"FRAG:FLUSH:GMS:VIEW_ENFORCER:” + "STATE_TRANSFER:QUEUE"); confusing “Live Objects", Krzysztof Ostrowski
Tightly Coupled Components “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Many Layers In the Middleware “Live Objects", Krzysztof Ostrowski
Protocols = Components ??? “Live Objects", Krzysztof Ostrowski
…But Not In Java/.NET/COM/* “Live Objects", Krzysztof Ostrowski
Related Work • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet • Protocol compositionx-Kernel, Horus, Ensemble, BAST • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, • Protocol specificationsHorus, Ensemble, Chockler et al. [2001] • Distributed environmentsJini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
Related Work • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet • Protocol compositionx-Kernel, Horus, Ensemble, BAST • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, • Protocol specificationsHorus, Ensemble, Chockler et al. [2001] • Distributed environmentsJini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
Related Work • Distributed objectsEmerald, Argus, Globus, Linda, F.T. Corba, Croquet • Protocol compositionx-Kernel, Horus, Ensemble, BAST • Protocol typesCSP, π-calculus, BPEL, SSDL, WSCL, CFSM, TLA, IOA, IA, temporal logic, • Protocol specificationsHorus, Ensemble, Chockler et al. [2001] • Distributed environmentsJini, JXTA, WS-* specifications “Live Objects", Krzysztof Ostrowski
Every Protocol Instance = Object “Live Objects", Krzysztof Ostrowski
Every Protocol Instance = Object “Live Objects", Krzysztof Ostrowski
Objects “Live Objects", Krzysztof Ostrowski
Defining Live Distributed Objects “Live Objects", Krzysztof Ostrowski
Defining Live Distributed Objects “Live Objects", Krzysztof Ostrowski
Defining Live Distributed Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects “Live Objects", Krzysztof Ostrowski
Live Objects vs. .NET Objects Service = Behavior “Live Objects", Krzysztof Ostrowski
References “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Creating a Live Object “Live Objects", Krzysztof Ostrowski
Composition “Live Objects", Krzysztof Ostrowski
Connecting Objects “Live Objects", Krzysztof Ostrowski