D-OSDi + Android Progress Presentation Xinyi Dong Long Qiu Project Goal Fulfill 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 Description Setting 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 Roadmap TASK Task 2.1 Task 2.2 Task 2.3 Task 2.4 Task 2.5 2/6 2/20 3/4 3/18 4/1 4/15 5/1 5/12 Technical Details Task 1 Task 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. b. Go to www.felix.com to download the latest version of Felix OSGi framework and configure Felix. Go over the tutorial of http://felix.apache.org/site/apache-felix-osgitutorial.html and code several helloworld bundles within OSGi framework. Technical Details Task 1 Once set up Felix OSGi framework, following commands frequently used: start bundleID stop bundleID update bundleID install bundleID uninstall bundleID Technical Details Task 1 2. Install the neccesary bundle which is used for different OSGi’s frameworks’ communication Technical Details Task 2 Task 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 2 3. 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 Encountered For 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,4 Two 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-demowalkthrough.html http://cxf.apache.org/dosgi-spring-dm-demo-page.html Technical Details Task 3,4 2 OSGi framework: Equintox and Felix, Equintox remote call the function in Felix. Thank you! Questions & Comments