d-osdi + android progress presentation xinyi dong long qiu
Post on 21-Dec-2015
224 views
TRANSCRIPT
Project GoalFulfill SOA (Service Oriented
Architecture) and CBD (Component Based Development) Build up Distributed OSGi framework
for mobile phone and virtual machines. Develop network module which enables
communication among different OSGis. Implement service transition bundle
that bridge various objects.
Group Project DescriptionSetting up Distributed OSGi
framework on virtual machine.Setting up Distributed OSGi
framework on Android phone.Develop network bundle.Develop service transition bundle.Develop demo bundles which utilize
built platform to show its strength.
Current Project Status Setting up Distributed OSGi framework on
virtual machine. 100% done Setting up Distributed OSGi framework on
Android phone. 50% done Develop network bundle. 50% done Develop service transition bundle. 100%
done Develop demo bundles which utilize built
platform to show its strength. To do
Technical Details Task 1Task 1: Setting up Distributed OSGi
framework on virtual machine. (100% done)
• Using Felix OSGi Framework• D-OSGis are running on Window 7 • An easy task to transplant to Linux
system or Unix system.
Technical Details Task 1
There are 2 steps to finish this task.1.Setting up the OSGi Framework in the
computer.a. Go to www.felix.com to download the latest
version of Felix OSGi framework and configure Felix.
b. Go over the tutorial of http://felix.apache.org/site/apache-felix-osgi-tutorial.html and code several helloworld bundles within OSGi framework.
Technical Details Task 1Once set up Felix OSGi framework, following
commands frequently used:start bundleIDstop bundleIDupdate bundleIDinstall bundleIDuninstall bundleID
Technical Details Task 1
2. Install the neccesary bundle which is used for different OSGi’s frameworks’ communication
Technical Details Task 2Task 2: Setting up Distributed OSGi
framework on Android phone.• Step 1: Transfer the Felix OSGi framework jar
files from java machine code to Dalvit machine code. (done)
• Step 2: Transplant these files into Android device (currently, we’re using android emulator). (done)
• Step 3: Transfer the bundles which enable the Distribute OSGi framework. (get stuck)
• Step 4: Run the Distributed OSGi bundles on Android. (to do)
Technical Details of Task 2 Step 1 Transfer the Felix OSGi framework jar
files from java machine code to Dalvit machine code.
1. Set up the environment variable for android emulator manager and SDK.
2. For all the jar files: Do the ‘dx’ command like following:
dx --dex --output=classes.dex JAR_file.jar Combine the jar file with the
generated .dex file by command: aapt add JAR_file.jar classes.dex
Technical Details for Task 23. Use ‘Android Debug Bridge’ command to
transfer the data from computer to android device: adb push JAR_file.jar path_emulator/JAR_file.jar
4. Once pushed all the necessary bundles into Android phone, use following command to launch Felix OSGi:sh felix.sh
Currently, we made the felix OSGi framework
running on Android system.
Difficulty EncounteredFor step 3 (Transfer the bundles which enable the
Distribute OSGi framework), 1. D-OSGi bundles run correctly on PCs. 2. Transferred jar files into Dalvit machine
code, and pushed bundles to Android system. However, following errors occurred:
Technical Details Task 3,4 Task 3: Develop network bundle. 50% done Task 4: Develop service transition bundle.
100% done
We successfully tested that different OSGis running collaboratively on different OSGi Framework on PC.
Technical Details Task 3,4Two options for constructing Distributed OSGi:
Option 1: Multi Bundle Distribution This distribution is a zip file containing the
Distributed OSGi bundles, as well as all their dependencies.
Option 2: Single Bundle Distribution: This is a convenience distribution of a single bundle that embeds all the dependencies.
We chose option 2 and went through tutorial provided in
http://cxf.apache.org/distributed-osgi-greeter-demo-walkthrough.htmlhttp://cxf.apache.org/dosgi-spring-dm-demo-page.html
Technical Details Task 3,42 OSGi framework: Equintox and Felix, Equintox
remote call the function in Felix.