Internet devices and services - summary
Memory
One primary theme of this unit has been
about what one can do to get internet
devices and services with restricted memory
Programming on limited devices
-
Assembler-level
-
C
-
Small Java virtual machines
-
CLDC with KVM
-
Limited display MIDP
Will be examined
Multi-language programming
-
C/Assembler interface
-
Java/C interface - JNI
-
C#/VB/Eiffel/Python/... (not covered)
Will not be examined
Standardised devices
-
HAVi for home-audio visual devices
-
CEBus for general home devices
-
Toys API?
Service definitions
-
Java interfaces
-
WSDL descriptions
-
Web service implementations :-(
-
Many others exist: CORBA IDL, RPC IDL
Will be examined
Internet services
-
Combination of advert/lookup/invoke
-
Many issues in advert
-
lifetime of advert
-
unicast or multicast
-
advert: service plus additional information
-
Many issues in lookup
-
pattern/object matching
-
unicast or multicast
-
Many issues in invocation
-
remote reference (late binding?)
-
remote stub (early binding?)
-
mobile object (remote becomes local)
Will be examined
Programming models
-
Remote method/procedure call using remote references
-
RMI proxy object
-
Web service URL
-
Mobile objects
-
Code mobility
-
Remote class definitions
-
Hiding protocols: half objects
-
Event queues of remote listeners
-
Message systems
Will be examined
Jini
-
Java-specific internet service middleware
-
Good API
-
Lousy environment
-
Allows choices of early/late binding, remote references/mobile objects
-
Addresses issues of network fragility
Will be examined
Web services
-
Multi-language service middleware
-
Lousy API
-
Very good to poor environments
-
Uses late binding RPC model only
-
Will not be examined
Future directions
-
More physical objects will contain microprocessors
-
Many of these will have some sort of network connection
-
The devices will have a vast range of computational capacities,
from "dumb" to PC equivalent
-
Most will run "industry standard" languages such as C, Java,
VB.Net (?), C# (?)
-
The devices will have a large variety of I/O mechanisms,
such as stripped-down GUI and others: temperature sensors,
intrusion detectors, keypads, etc
-
They will run a variety of advert/discovery protocols:
SLP, Jini, Web services, ...
-
The scale will vary from large identifiable services such as
Passport to small devices you aren't really aware of
-
Downer: in order to succeed, internet services must become
invisible - your resume says "I built something
that everyone uses, but no-one knows about"
Jan Newmarch <jan@newmarch.name>
Last modified: Mon Jun 3 04:35:51 EST 2002
Copyright © Jan Newmarch, Monash University, 2007
This work is licensed under a
Creative Commons License
The moral right of Jan Newmarch to be identified as the author of this page has been asserted.