Product List | OSGi Framework | OSGi Extensions | System Management | Remote Management | Development Tools | Downloads
  OSGi Framework FAQ  

» How to configure mBS PE Framework?
» What are the benefits of mBS Professional Edition against mBS Equinox Edition?
» What are the benefits of mBS Professional Edition against other OSGi implementations?
» What is a service?
» How to write my own bundle?
» How can I port the mBS binaries on a specific target platform?
» The mBS installation is so huge. Do I need everything?
» Can ProSyst bundles run on other OSGi Frameworks?
» Can I run existing bundles on mBS for Android?
» What should I know if I want to run the bundles I wrote for another OSGi Framework on mBS?
» Is the mBS backward compatible? Can I run on the latest mBS bundles initially developed for earlier mBS versions?
» Which is the latest version of mBS and what is new there?



How to configure mBS PE Framework?
 
You can configure the mBS Professional Edition framework and most bundles by means of Java system properties specified in several manners:
 -  You can specify system properties in the default property files common.prs (in <mBS>/bin/vms directory) and default.prs (bin/vms/<vm_name> ). You can place JVM-independent system properties in common.prs and those related to the JVM you are using - in default.prs.
 -  Using the server script file provides a short way to configure the system by means of environment variables and script options. The server script file reads the values of the environment variables and options, and sets the relevant system properties in the command line for launching mBS.
For details on setting system properties in mBS, refer to the "System Properties -> Setting System Properties" part of the User's Manual.
What are the benefits of mBS Professional Edition against mBS Equinox Edition?

The Professional Edition (PE) offers much broader operating system and JVM compatibility, while Equinox supports Sun and IBM JDK on Linux and these plus J9 for Windows only. The PE has full implementation of OSGi Core and Compendium Specifications, Version 4, improved performance and memory usage, JVM-specific tuning and support specific code formats. It is highly optimized for embedded devices and has resource management together with support for different storage models. It has a Flash Manager, Crash protection of data files, Error protection, fault management and Native integration with the operating system.
What are the benefits of mBS Professional Edition against the other OSGi implementations?

Technical comparisons between ProSyst's market leading OSGi R4 framework product mBedded Server (mBS), an OSGi implementation of Eclipse - Equinox and an OSGi implementation of Gatespace - Knopflerfish show that mBS surpasses it's rivals by far in these areas: start- and runtime performance, memory consumption, added features for OSGi Service Compendium Specification and OSGi Mobile Specification, plus numerous additional features and enhancements, some of which originated from real-world mass product developments. Additional comparison results are available upon request.
What is a service?

Services are Java classes that perform certain functionality, usually written with interface and its implementation separated. An OSGi application is represented as a set of services and can request additional ones to extend its functionality at runtime. Services realize different tasks implementing various protocols and standards. They may perform tasks in the field of communication, home automation, energy management, remote home health care, entertainment etc.
Initially the service must be registered with the Framework. After that some properties could be given to it. An already registered service could be used by other services - for example a home automation service can use communication service to allow management of home appliances from office, over the network. The first service looks up for the other service from the Framework with a search filter, and gets back the matching service references. A service reference can then be used to get a Java object that implements the desired service.
How to write my own bundle? 

Briefly, the process of bundle development comprises producing the program source code as .java files, compiling them to .class files, preparing the appropriate bundle manifest and finally packing the .class files and manifest in a JAR. See the "Writing Bundles" guide for basic details on developing OSGi-compliant bundles.
There is a whole section about writing bundles in mBS PE User's Manual.
How can I port the mBS binaries on a specific target platform?

These are briefly the steps:
 -  Determine your target system
 -  Install mBS and develop applications on the host system (in the form of bundles)
 -  Build an image
 -  Deploy and launch the image on the target system
Porting the mBS depends on the resources available on the target system, JVM and OS. After a configuration of bundles for the target system is prepared, an image must be built. The image can be simply prepared by deleting the unneeded parts from the mBS installation - see next question)
Then comes porting to the real device and launching. Every target system configuration defines its own deployment mechanism. For example, an image can be transferred to the target ROM (flash) over a network file system, FTP, SSH/SCP, Microsoft HyperTerminal, etc., or can be retrieved at target startup and written to a RAM file system. For more information about deploying images on a particular board or device, refer to its documentation.
See also 'Target Deployment Guide' and 'Platform Deployment Tips' from our mBS PE documentation.
The mBS installation is so huge. Do I need everything?

Well, yes and no.
Typically mBS is installed on a personal computer with plenty of capabilities and resources - called the 'Host system'. It holds the framework installation and the applications (bundles) that you develop. So you have it all there to start with. Then depending on the 'Target System' - the device you want to deploy your server framework with added applications (bundles) -  you have to consider  JVM, OS, File system, RAM, CPU, etc.
Then you build an image with relevant functionality and optimal configuration of bundles. First unnecessary parts must be deleted - documentation, demos, startscript and property files for other platforms, unneeded bundles and libraries, etc. You can even trim mBS framework down for reduced memory consuption on the target device. For choosing what you need for your scenario and for more information, please see <Target Deployment Guide>.
Can ProSyst bundles run on other OSGi Frameworks?

Yes, principally that is possible with OSGi.
It should be noted, though, that sometime a proficient user's inspection may be needed to check for possible collisions or overlapping with other system bundles that export/import the same packages.
Can I run existing bundles on mBS for Android? How can I do it?

Yes, this is possible.
Generally speaking, Android uses the DEX format (Dalvik Executable - Dalvik is the Google JVM) not the JAR format. So all bundles should be translated into that format using the dx tool, part of the SDK http://code.google.com/android/download_list.html. The dx tool lets you generate Android bytecode from .class files and converts target files and/or directories to .dex files, so that they can run in the Android environment. Type 'dx -help' for more details. Be aware, that there are some problems with the generation of an already existing java code into the DEX format. Click here for more »
If you have your bundles translated in the above manner, they can be installed and run using ProSyst mConsole (which is a part of mBS). See the forum for more helpful tips.
Note: if your bundle is using - for example The Standard Widget Toolkit (SWT) - to create a UI, it has to be modified to use android.widget package.
What should I know if I want to run the bundles I wrote for another OSGi Framework on mBS?

OSGi allows for that so it should not be a problem.
mBS has full compliance with the OSGi Service Platform Core Specification Release 4 - The framework implementation supports OSGi Framework Specification 1.3. Just keep your bundles R4 compliant.
Is the mBS backward compatible? Can I run on the latest mBS bundles initially developed for earlier mBS versions?

Our desire is to always maintain backward compatibility. But due to pepetual development of the Specifications and technology it is not always possible. So,please, check our product Release Notes and the Javadoc in the User's Manual for possible changes in any API/package/bundle that might influence your existing bundles.
Which is the latest version of mBS and what is new there?

The latest version released can be always found here. For all changes, bugfixes and additions with every new release, please check the Release Notes.

 

    © 1997-2008 ProSyst · All Rights Reserved | Legal | Sitemap | Contact
  HOME | PRODUCTS | SUPPORT AND FILE EXCHANGE | DISCUSSION FORUMS
    ProSyst Software | Duerener Str. 405 | D-50858 Cologne | Germany | Phone: +49 221 6604-0 | Fax: +49 221 6604-660