|
Comments
Did you read today's front page stories & breaking news?
SYS-CON.TV
|
Product Reviews mBedded Server 4.0
mBedded Server 4.0
By: Don Walker
Nov. 1, 2000 12:00 AM
How many appliances do you have in your household? Unless you're currently a contestant on "Survivor" island, the answer is probably over 20. Refrigerators, microwaves, TVs, VCRs, dishwashers, vacuum cleaners, and the favorite appliance of so many programmers - the coffeemaker. The list goes on. Unfortunately, although appliances have grown increasingly intelligent in recent years, they tend to exist in their own individual universes, oblivious to the world around them. Wouldn't it be nice if our appliances could pool their resources and take advantage of the Internet? An automobile could use a cell phone to schedule maintenance and record the appointment in a personal digital assistant. A blood pressure monitor could immediately alert a hospital in the event of an emergency. Although homeowners could take an active role, for example, by using remote access to turn an appliance on or off or to check the home security system, installation would have to be "Plug-and-Play." It would be too much to expect even the most technically savvy homeowner to link up appliances throughout the home, particularly since many appliances could interact in ways that were not even conceived of by the product manufacturers. Despite this complexity, this is exactly the type of convenience we should expect in the near future according to ProSyst Software, the developers of mBedded Server 4.0 - a Jini- and WAP-enabled server designed specifically with embedded products in mind.
Device of Embedded Services To help deal with this complexity, communication can be funneled through a single device in the home or office that's responsible for managing client requests on the local network, allocating resources, and providing a gateway to the Internet. ProSyst refers to this as the device of embedded services. mBedded Server 4.0 is a server infrastructure that can reside on or be downloaded to the device of embedded services in order to provide this functionality. Because mBedded Server 4.0 is 100% Java, it's platform independent. Consequently the device of embedded services can be any machine that offers a Java Virtual Machine (JVM).
Open Services Gateway Initiative The Open Services Gateway Initiative (OSGi) is a group of over 60 companies (including Cisco Systems, Compaq, Ericsson, GTE, IBM, Maytag, Motorola, Nokia, Oracle, ProSyst, Sony, Sun, Whirlpool, and others) that offer a solution. This solution revolves around the concept of a services gateway. The Open Services Gateway (OSG) is an embedded server that resides between the local and remote networks. The OSGi specification describes an API that can be used by network operators and device manufacturers for a variety of purposes, including managing the secure delivery of services from trusted service providers. In this model, services provided by the various devices are packaged into components called bundles that can be installed, started, stopped, removed, and updated as necessary by the framework. Bundles can register services for other devices to use and look up ones for their own use. The bundles are JAR files that contain resources needed by the service (such as Java classes) and a Manifest file used by the framework to activate the bundle.
Service Container Architecture The services provided with mBedded Server 4.0 include:
This flexibility also makes it possible to configure the server to optimize disk space and memory usage - an important consideration in the world of embedded devices. mBedded Server 4.0 needs 100KB-500KB of disk space depending on the services required.
Creating a Simple Bundle The first step is to create an interface for the service.
public interface SimpleTextDisplayer
public void displaySimpleText(String theText); The second step is to create the class that implements the service and any support classes that might be needed. In this simple example only the SimpleDisplayImpl class in Listing 1 is required. This class merely provides a frame for a label that displays the text passed to displaySimpleText(). The third step is to create an activator class. The framework uses this class when the bundle is started, and is responsible for registering the service (see Listing 2). The BundleContext object that's passed as a parameter to start() provides access to the framework and allows the bundle to call registerService() to register SimpleTextDisplayer as a service. The fourth step is to create a manifest file. This file provides information about the bundle, including the name of the activator class that assists the framework in starting the bundle and the names of other packages this bundle relies on to provide its service or services.
Bundle-Vendor: JDJ Finally, the three class files and the manifest file are packed up in a JAR file and the bundle is ready to be installed on the server.
Administrator Applications
In addition, there's an event viewer that documents activities on the server, including when bundles were installed or services registered.
Using Services from an Application The call to connect() tries to establish a connection with the ProSyst Message Protocol (PMP) Service at port 1449, which is where the service listens and getReference() returns a registered service. The functions getMethod() and invoke() result in the execution of the service and the display of the SimpleDisplayImpl frame with the message "This String came from SimpleSend" (see Figure 2) confirming that the SimpleSend application was able to locate and execute the desired service.
Demos and Documentation Reader Feedback: Page 1 of 1
Latest Cloud Developer Stories
Subscribe to the World's Most Powerful Newsletters
Subscribe to Our Rss Feeds & Get Your SYS-CON News Live!
|
SYS-CON Featured Whitepapers
Most Read This Week
Breaking Cloud Computing News
|
|||||||||||||||||||||||||||||||||||||||||||||||||