Web services in an embedded environment

I work in software research and developement in the aerospace industry. We're assisting a project where they are interested in looking at web services in an embedded system. This would most likely be WSDL/XML/SOAP.

While there would be fairly powerful processing to an extent, it's still a resource-constrained environment, running on an RTOS (I think VxWorks). In particular they are concerned about dynamic memory (don't like it).

We're still at the stage of developing the actual requirements for the services, as well as a notional API.

I'd be interested in either papers on the general subject (particularly recent ones) or open-source projects that are targeted towards this sort of application.

I have found some, like this one from John Canosa:

This message is cross-posted to comp.text.xml and comp.arch.embedded. If anyone replying feels the need to remove one of the groups, that's not a problem, I will be monitoring both.

Brian

Reply to
Default User
Loading thread data ...

As you pointed that your device will be on RTOS, I think Boa [

formatting link
] web server should be the good choice. It is a single-task web server so that means very less resources are required which makes it good candidate for embedded systems.

WSDL/XML/SOAP are just common ways of information exchange for systems with ample processing and hell memory. IMHO, you got to make your own compact exchange layer(rather SOAP). Sure, XML does make life easier while having a parser on both sides to extract the real information out from request/response and invoking RMI or RPC services. And on the top you can use UPnP layer for service discovery.

stack should be like this:

2) UPnP 1) XML 0) Web Server

Thats too much abstraction here as you didn't really shared much details. maybe folks might give you better solutions if you can elaborate your requirements.

ali

Reply to
Ali

Remember, XML is just a syntax. How you represent the data after it has been parsed is a separate question. Depending on what you're doing, you may not need an in-memory representation at all; you may be able to feed the information parsed out of the XML directly into your application's data structures (sometimes referred to as "data binding"). The simplest way to start in that direction would be to use an efficient SAX (or SAX-like) parser.

Disagree, somewhat. As noted above, memory consumption depends on the data representation you choose much more than the syntax you use to exchange it. And XML parses and serializes pretty rapidly, given decent code -- rapidly enough that the various attempts at "binary XML" have generally proven that the gains available are fairly minimal. Yes, if you have control over both ends of the wire you can certainly create a more compact/efficient representation, and XML does carry some features you may not need and pay some overhead for them (eg Unicode support)... but don't dismiss it out of hand, especially if you intend to expose this wire protocol to others.

The overhead drops further if you're willing to constrain yourself to a specific set of messages. IBM's demonstrated that tremendous improvements in parsing performance are available if you know in advance what schema the document will belong to, with further gains if you're willing to insist that the doc have been validated on the sender's end (letting the parser rapidly skip over "boilerplate" and jump directly to the document's content).

There are certainly folks putting web services in low-powered embedded boxes -- most cheap routers these days support a simple web GUI, for example. "If it happens, it must be possible."

--
() ASCII Ribbon Campaign  | Joe Kesselman
/\ Stamp out HTML e-mail! | System architexture and kinetic poetry
Reply to
Joe Kesselman

Thanks, I'll take a look at that, and think about the other issues you raised.

Brian

--
If televison's a babysitter, the Internet is a drunk librarian who
won't shut up.
-- Dorothy Gambrell (http://catandgirl.com)
Reply to
Default User

Thanks for the input, I'll see what I can find along these lines.

Brian

Reply to
Default User

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.