Device Emulation with OSGi and Flash

1,560 views

Published on

  • Be the first to comment

Device Emulation with OSGi and Flash

  1. 1. Device Emulation with OSGi and Flash George Mesesan, MicroDoc GmbH
  2. 2. What is Device Emulation ?
  3. 3. Device Emulation Your Device
  4. 4. Apple iPhone Emulator
  5. 5. Google Android Emulator
  6. 6. Nintendo GameBoy Emulator
  7. 7. SkiData Turnstile Emulator
  8. 8. Why Device Emulation ?
  9. 9. deploy code test manually remote debugging
  10. 10. 10 iPhone Developers Total cost: 990$
  11. 11. 10 Skidata Developers * prices are purely fictive Total cost: 100.000$*
  12. 12. 10 Skidata Developers Distributed Team * prices are purely fictive Hardware Costs: 100.000$* Shipping Costs: 10.000$
  13. 13. Why Device Emulation ? Save Time Save Money
  14. 14. How to do Device Emulation ?
  15. 15. What is a Device ?
  16. 16. iPhone “Device” Display Device GSM Modem Device Audio Device
  17. 17. Turnstile “Device” Display Device RFID Device Lightsensor Device Barcode Device
  18. 18. Now, what about OSGi and Flash ?
  19. 19. OSGi inside Embedded Software
  20. 20. Hardware Software OSGi Bundles
  21. 21. Hardware Software OSGi Bundles
  22. 22. Hardware Software OSGi Bundles
  23. 23. Hardware Software OSGi Bundles
  24. 25. HTTP TCP HTTPS ?
  25. 26. http://test.at/index.html ?action=something URL Encoding HTTP
  26. 27. LoadVars Object Object o = new LoadVars (); o.id = 17; String myId = request. getParameter (“id"); HTTP
  27. 28. XML Object XML < dataSet > < data > < id > 17 </ id > </ data > </ dataSet > s = buildXMLObject () o = parseXMLString () HTTP
  28. 29. XML Sockets XML via Sockets TCP
  29. 30. Flash Remoting Action Media Format HTTP/HTTPS
  30. 31. Our Approach TCP XML Sockets !
  31. 32. Emulator Framework
  32. 33. Framework Features
  33. 34. Java Flash Communication XML Sockets
  34. 35. Dynamic Loading osgi> start my.device.X
  35. 36. Programmable Emulator Behavior Lightsensors RFID Turnstile Display
  36. 37. Programmable Emulator Behavior Events <ul><li>triggered by time
  37. 38. triggered by action </li></ul>Actions
  38. 39. Programmable Emulator Behavior Events <ul><li>triggered by time
  39. 40. triggered by action </li></ul>Actions XML
  40. 41. Emulator Testing Framework actual expected Lightsensor 1=on action event Lightsensor 2=on RFID read id=47111 Lightsensor 1=on Lightsensor 1=on RFID read id=47111 Display = “Hello” Display = “Hello” Turnstile = open Turnstile = open
  41. 42. Emulator Testing Framework Lightsensor 1=on Lightsensor 1=on RFID read id=47111 Display = “Hello” Turnstile = open Testcase
  42. 43. Emulator Testing Framework Do we really need a GUI ?
  43. 44. Emulator Testing Framework NO !
  44. 45. Emulator Testing Framework How do we trigger tests without a GUI ?
  45. 46. Emulator Testing Framework
  46. 47. Overall Testing Picture
  47. 48. Overall Testing Picture Emulator Real Device
  48. 49. A Quality Gate... ...through, continuous and automated testing
  49. 50. Logging <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages <2009-17-06 13:12:14> INFO : Test : some log messages
  50. 51. Flash Issues
  51. 52. Flash Security Sandbox
  52. 53. Flash Local Connection
  53. 54. Flash Debugging TypeError: ERROR #2007: child must be non-null at m.display line 1050 ;
  54. 55. So, why use Flash ?
  55. 56. Animation
  56. 57. Look & Feel
  57. 58. SWT/ SWING Adobe Product line Labor Market - Designer
  58. 59. But, what about JavaFX ?
  59. 60. Open Source ?
  60. 61. Skidata Freemotion Turnstile Turnstile VGA Display Lightsensors Barcode Ticket Reader RFID Ticket Reader Live Demo
  61. 62. Live Demo !
  62. 64. Copyrights & Trademarks “ Java is a trademark or registered trademark of Sun Microsystems, Inc. in the United States and other countries.&quot; “ OSGi is a trademark of the OSGi Alliance.“ “ iPhone is a trademark of Apple Inc.“ “ Flash is a trademark of Adobe Systems Inc.“ “ Android is a trademark of Google.“

×