[Embedlets-developer] Avalon inspired interface hunting
Status: Alpha
Brought to you by:
tkosan
|
From: Ted K. <tk...@ya...> - 2003-01-03 12:21:04
|
I spent a significant amount of time on the Avalon site yesterday and the container design ideas there are absolutely fabulous! So far I am aware of the following 4 containers that we might be able to gain some insight from for designing an Embedlet container: The EJB container, the Servlet container, the BeanContext container and now the Avalon container. Of these 4 I think that the BeanContext container and the Avalon framework container appear to have the most to offer us. One theme that came across very clearly in the Avalon framework documentation was the need for well-thought-out interfaces between the components in the container and between the components and the container itself. I could see how the Avalon interfaces were evolved to meet the needs of a server side component framework and then I started wondering if the interfaces for an embedded systems container would be similar or different than these interfaces? So, I decided to do some embedded system container interface hunting by putting together a visual mockup of what I thought a couple of Embedlet container based applications might look like and then search these applications for interfaces. This is what I came up with: http://embedlets.sourceforge.net/devdocs/diagrams/embedlet_pictures1.png The interfaces immediately wanted to sort themselves into digital-oriented interfaces like: BitProducer and BitConsumer and analog signal oriented interfaces like: SignalStreamProducer and SignalStreamConsumer The Embedlets themselves seemed to want to divide themselves into standard Embedlets that lived in the middle of the container and Device & Service proxy Embedlets that encapsulated connections to devices and services outside of the container. These proxy Embedlets appeared to work best attached to the inside walls of the container to indicate that they had some kind of connection to the outside world. As I came up with generalized device proxy Embedlets to solve my programming problems they started to look like what James describes as 'Abstract Peripherals' and it occurred to me that perhaps if people did similar mockups of the Embedlet container implementations they are interested in that more of these 'Abstract Peripherals' would be discovered. A final observation was that if an Embedlet container could be implemented anywhere then why not allow it to be embedded inside of another Embedlet container? As an alternative to programming some of the Embedlets in Java source code, it seemed that there should be no problem with programming the internal logic of an Embedlet using another Embedlet container. I only pulled out some of the 'low hanging fruit' interfaces from these mockups because they were easy to see. I wonder what some of the other interfaces are? Ted __________________________________________________ Do you Yahoo!? Yahoo! Mail Plus - Powerful. Affordable. Sign up now. http://mailplus.yahoo.com |