Distributed Computing Session Notes
Moderator: Roger Masse, CNRI
Date: May 23, 1995
URL: http://www.python.org/misc/workshop5-95/distCompNotes.html
1) OpenDoc (Neil Katin - CI Labs)
- Overview
- plug and play documents
- Rich multipart
- Architecture for making 'parts'
- Edit in place
- parts written separately then combined
- component part architecture
- Linking and Scripting
- very high level concepts, save to a file, etc.
- no one language will make everyone happy
- common language for scripts to communicate w/parts
- in order to run a python script, one needs an
interpreter on your system (runned by OpenDoc shell)
- Six technologies
- OpenDoc Doc Architecture
- OLE interaoperability
- OpenDoc Component Architecture
- OSA (Automation)
- Bento (How to store things on disk)
- SOM (Corba implementations)
- Contrast with Visual Basic
- OpenDoc + Scripting language + toolkit is simmilar
- OpenDoc is a lower level framework by itself
- OMG
- Submitted to Common Facilities Task force
- competing with Fresco
- Built on top of CORBA
- WordPerfect implementation is available via ftp
- Apple just release developer rel 2 (opendoc@apple.com)
- IBM OS/2 2 months behind, must buy developer package ($99)
- AIX port several months behind
- More info... contact CI labs info@cil.org
2) ILU (Bill Janssen - Xerox PARC)
- Full slides from
here.
- Inter-Language Unifications
- Attempts to eliminate the differences between languages
- define interfaces bewteen libraries
- support over 100 languages supported
- Smalltalk, C, C++, Modula-3, lisp Python, TCL
- you can write your own
- Like to be able to 'mix-and-match' languages
- want librariy use used in the same address space to be fast
- want to support CORBA
- Simple types
- Object Model supports methods only, no data slots
- asyncronous methods (send data, don't wait for reply)
- works with both comiled and interpreted languages
- uses multiple inheritence
- deal with heterogenaety rather than try to fight it
- ILU extends CORBA
- Been out for about a year (version 1.8 released Mar 95)
- Very open to suggestions for python implementation changes
3) CORBA (Saurabh Srivastava - SGI - Iteractive TV project)
- Extending Python to be an applications development environment
- for Interactive TV.
- The CPU and other resources at the setup-box is assumed limited
- 6 Meg of memory is typical for a consumer setup box
- Just launched a system in Orlando
- Just now at the point of being able to do 'killer applications'
- Chose Python for:
- namespace scoping scales well
- interoperability with C, C++
- Service Architecture
- Client/Server
- Each server is a single process on IRIX
- clients can run on IRIX or the settop
- name service provides a 'global' namespace at
a well-known-port for client access
- All servers advertize themselves using unique names
- Two ways of supporting replicated services
- Not TCP but reliable one-way messaging
- IDL stubs manage transparency automatically
- IDL stubs are C++ stubs not Python
- The video channel is reserved and not transported
over IP
- CORBA Interface
- on settop box you have a python program running
with a stub interface to the CORBA DII - looks
like a python method call! Or you can go to IDL
directly via the C++ stub (uglier)
- Have plans to build a 'Mamba' (their name for python)
authoring environment:
- Debugger
- Class Browser
- Script editor
- Timeline Editor
- 3D Modeler
- Properties Editor
- Spatial Editor
- Overview Editor
- Also needed:
- Project Management
- Asset Management
- Data driven templates
- Rich set of transitions
- support Set Tops of dirverse capabilites
- Perview on IRIX i18n
- Security is based on authentication via shared DES
- secret key encryption
- Status:
- Nothing in the Authoring envirnment is finished
- Extension modules IDL, etc, is finished
- More work needs to be done on size (now big)
4) OLE (Jim Ahlstrom)
- Object Linking and Embedding
- Microsoft product - turn on your reality meter :-)
- A way for multiple applications to work together
- e.g. a Word processor and a spreadsheet
- how do you deal with the spreadsheet from the WP?
- this is about the only thing that's working today
- Container App
- Server App
- OLE 2.0 seems complicated
- Feature called inplace activation
- When you pull in an app with OLE a new menu item
- Hard with OLE, easy with something like NEXTSTEP
that has late binding
- Feature called automation
- A way of 'pickling' data for transport between 'Object'
- They have a set of interfaces (like ObjC protocols)
- They have a ways of testing for interfacing
- 32-bit version is hot-off-the-press
- OLE also available for Microsoft Foundation Classes (better)
- Use OSF/DCE to (sort of) communicate across process boundries
- Doesn't work with CORBA or OpenDoc (booo hiss)
- Microsoft does not 'seem' interested in this technology
- OLE across a net is supported in Chiro (so OS change
- to this next version of NT will be necessary)
- DEC to provide the OLE to Corba linkage (3rd party)
5) Objects on the net (Guido van Rossum)
- Working on turning a python Class into a server
- Developed a class to represent the current directory
using the platform independant features of the os module
- Next using MI the class becomes a server
- On the client side, we pickle everything while
checking for exceptions, then sends the pickle
over the socket, complete with possible exceptions
- exceptions can be meaningless if they're not found
- Wrote an application that syncronized two file systems
- Does md5 checksum and does not ship it if files are the same
- This could be done with ILU... maybe a bit slower