0K Re: OpenMoko light web server

Matthew S. Hamrick mhamrick at cryptonomicon.net
Wed Apr 18 01:07:17 CEST 2007


I think some of the context didn't get forwarded to one or both  
lists. Here's a simple graphical overview of the "003 Software  
Architecture." (003 is the next bit of software I'll be working on  
for the myPhone.)

Basically what you've got going here is that an "application" is  
simply a collection of related objects in an object graph. Note they  
may (or may not) all be in the same process space. When an object  
wants to talk to another object in it's own process space, it simply  
accesses it using features provided by the language or run-time  
library. When it wants to access an object outside of it's address  
space, it uses something like DBUS. But if you like OpenBinder or  
CORBA, erase DBUS and write in the object middle ware of your choice.  
(Extra points if you use a pointer in a single-address-space  
operating-system.)

When you want to provide a service to an "off device" machine (like a  
server or a desktop device) you have an interface that maps the  
object graph to an XML document. Queries are made to the device using  
HTTP GET's where the path portion of the URI is an XPath  
specification. Deletions use HTTP Deletes. Additions to collections  
use POSTs with the path portion of the URI being an XPath  
specification and the contents being the XML that represents an  
object that modifies the state of the object graph.

So if you queried this interface directly from your browser, you  
would get an XML document back. So, for off device access, you might  
want to have a page served off a server somewhere that then does  
XMLHttpRequest() to the mobile device. Or, you could have the XML  
interface on the device reference an xsl stylesheet somewhere.

Note that I'm totally ignoring security in this document, but rest  
assured I am thinking about various security concepts including TLS,  
message oriented security over HTTP and coarse or fine-grained access  
control to individual objects in the object graph based on user,  
network or application credentials.

-Cheers
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 003 Architecture.pdf
Type: application/pdf
Size: 61152 bytes
Desc: not available
Url : http://lists.openmoko.org/pipermail/community/attachments/20070417/fb221c4f/attachment.pdf 
-------------- next part --------------

On Apr 17, 2007, at 2:24 PM, Jonathon Suggs wrote:

>
>> I wonder if there would be an advantage in embedding the server in  
>> the
>> browser or vise versa. Then the whole issue of polling localhost  
>> would
>> be moot.
>>
>> Alex
> Something else to consider (again) is that we are talking about an  
> embedded device.  So the javascript implementation/engine may or  
> may not be as robust as a desktop equivalent.  What browser and/or  
> webserver are we talking about having on the device?
>
> We *probably* aren't talking about Firefox and Apache (or dare I  
> say IE and IIS)...which is *probably* what most people are used to  
> developing with.  So just because we are talking about using HTML  
> and browsers as a common platform, doesn't mean that it is going to  
> be exactly the same.  Not trying to burst anyone's bubble, but just  
> giving a little reality check.
>
> _______________________________________________
> OpenMoko community mailing list
> community at lists.openmoko.org
> http://lists.openmoko.org/mailman/listinfo/community



More information about the community mailing list