Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentati...
Upcoming SlideShare
Loading in …5
×

Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett

440 views

Published on

OSGi DevCon 2008

"Android is so hot right now!" But what about OSGi? Google's recently announced Android mobile phone platform has everyone all abuzz. It has a VM for applications but it is not a "proper" Java VM and does not have a standard JRE. What does this mean for running the OSGi Service Platform along with bundles on Android? This talk will explore the OSGi on Android topic and give feedback on the speaker's efforts to get OSGi implementations up and running on the Android SDK.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Android and OSGi Can They Work Together - BJ Hargrave & Neil Bartlett

  1. 1. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Android and OSGi: Can they Work Together? BJ Hargrave Senior Technical Staff Member, IBM Lotus Neil Bartlett Java Developer and Consultant
  2. 2. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Yes!
  3. 3. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Any Questions?
  4. 4. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Motivation
  5. 5. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Different Models App App App JVM App DVM App DVM App DVM OSGi Android
  6. 6. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Benefits of OSGi
  7. 7. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. App App Invoke Cheap
  8. 8. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. App App lib lib lib lib Possible
  9. 9. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Benefits of Android
  10. 10. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. App App Safe
  11. 11. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. App App Safe
  12. 12. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Finding the right granularity
  13. 13. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Prior work
  14. 14. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Felix on Android Marcel Offermans (Luminis) Karl Pauls (Luminis)
  15. 15. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. http://blog.luminis.nl/luminis/entry/ osgi_on_google_android_using (repeated on last slide)
  16. 16. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Our Goal Equinox Concierge
  17. 17. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 1. Concierge
  18. 18. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. First step: Start Framework
  19. 19. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. “Dexification”
  20. 20. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. dx --dex --output=classes.dex foo.jar aapt add foo.jar classes.dex
  21. 21. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Code changes Required
  22. 22. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  23. 23. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Next Step: Adding a Bundle
  24. 24. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. ClassLoader.defineClass() does not work
  25. 25. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Use android.dalvik.DexFile
  26. 26. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. private final DexFile df; DexHelper(File file) throws Exception { df = new DexFile(file); } Class defineClass(ClassLoader cl, String name) { String dexName = name.replace('.', '/'); try { Class c = df.loadClass(dexName, cl); return c; } catch (Exception e) { // log error return null; } }
  27. 27. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Patch Limitations Simple bundle classpath only, i.e. Bundle-ClassPath: . No nested JARs No directory bundles
  28. 28. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Android doesn’t like this: ClassLoader.loadClass(clazz, true) ‘true’ triggers ClassLoader.resolveClass(), which fails => call ClassLoader.loadClass(clazz) ‘false’ is the default
  29. 29. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Success!
  30. 30. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. DEMO
  31. 31. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. 2. Equinox
  32. 32. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. First Step: Start Framework
  33. 33. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Somewhat Harder
  34. 34. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Equinox uses CodeSource to configure some properties On Android, ProtectionDomain is null so no CodeSource => Supply properties explicitly
  35. 35. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. -Dosgi.framework=file:/data/equinox org.eclipse.osgi_3.4.0.jar -Dosgi.install.area=file:/data/equinox
  36. 36. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. ClassLoader.getResource() is used to return list of Hook configuration property files Android always return an empty enum => Manually list hooks in config.ini
  37. 37. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. osgi.hook.configurators=org.eclipse.osgi. internal.baseadaptor.BaseHookConfigurator ,org.eclipse.core.runtime.internal.adapto r.EclipseLogHook,org.eclipse.core.runtime .internal.adaptor.EclipseLazyStarter,org. eclipse.core.runtime.internal.adaptor.Ecl ipseStorageHook
  38. 38. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Strange VerifyError on a framework internal class => Turn off the verifier Is this a dexifier bug?
  39. 39. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license.
  40. 40. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Next Step: Adding a Bundle
  41. 41. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Same need for DexHelper
  42. 42. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Same Limitations
  43. 43. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. boot ext app bundle bundlebundle Framework java.* ??
  44. 44. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. dummy java.* boot ext app bundle bundlebundle Framework
  45. 45. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Cannot find java.lang.Object!
  46. 46. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. -Dosgi.parentClassloader=ext
  47. 47. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. boot ext app bundle bundlebundle Framework java.*
  48. 48. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Success!
  49. 49. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. DEMO
  50. 50. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Possible Next Steps A proper hook for dex file loading Full Bundle-ClassPath support JIT dexification of JARs in the hook? Equinox incubator?
  51. 51. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Getting Started All changes available as patches against Concierge, Equinox Subversion repository: http://www.osgi.org/svn/public/trunk/eclipsecon/2008/ androidosgi
  52. 52. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. ProSyst http://www.adon-line.de/kunden/prosystBlog/?p=24
  53. 53. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Links Felix on Android http://blog.luminis.nl/luminis/entry/osgi_on_google_android_using Our Repository: http://www.osgi.org/svn/public/trunk/eclipsecon/2008/androidosgi ProSyst Announcement: http://www.adon-line.de/kunden/prosystBlog/?p=24
  54. 54. Android and OSGi | Copyright © Neil Bartlett and IBM Corp., 2007-2008. All rights reserved. Source code in this presentation is made available under the EPL, v1.0, remainder of the presentation is licensed under Creative Commons Att. Nc Nd 2.5 license. Legal Notices • IBM and the IBM logo are trademarks or registered trademarks of IBM Corporation, in the United States, other countries or both. • Java and all Java-based marks, among others, are trademarks or registered trademarks of Sun Microsystems in the United States, other countries or both. • Eclipse and the Eclipse logo are trademarks of Eclipse Foundation, Inc. • Other company, product and service names may be trademarks or service marks of others. • THE INFORMATION DISCUSSED IN THIS PRESENTATION IS PROVIDED FOR INFORMATIONAL PURPOSES ONLY. WHILE EFFORTS WERE MADE TO VERIFY THE COMPLETENESS AND ACCURACY OF THE INFORMATION, IT IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, AND IBM SHALL NOT BE RESPONSIBLE FOR ANY DAMAGES ARISING OUT OF THE USE OF, OR OTHERWISE RELATED TO, SUCH INFORMATION. ANY INFORMATION CONCERNING IBM'S PRODUCT PLANS OR STRATEGY IS SUBJECT TO CHANGE BY IBM WITHOUT NOTICE.

×