1 / 20

Universal Middleware

Universal Middleware. Peter Kriens Technical Director OSGi Peter.Kriens@osgi.org. Contents. OSGi/Java and Embedded Trends 900 Million Phones can not be wrong What can OSGi/Java give you? Service Oriented Architectures Real Life Applications Conclusions. OSGi/Java and Embedded.

desiree
Download Presentation

Universal Middleware

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universal Middleware Peter Kriens Technical Director OSGi Peter.Kriens@osgi.org

  2. Contents • OSGi/Java and Embedded • Trends • 900 Million Phones can not be wrong • What can OSGi/Java give you? • Service Oriented Architectures • Real Life Applications • Conclusions

  3. OSGi/Java and Embedded • Common prejudices: • Java is too expensive, adds too much to the Bill Of Material (BOM) • Java is slow • Java is a security risk • Nobody in the embedded world is using it • .NET is much better • Java is for sissies, C is for real men

  4. OSGi/Java and Embedded • Some of the prejudices are, or have been, more or less true. • However, developing embedded software in Java has also a lot of advantages: • Software development in Java is less error prone, faster, and cheaper • There is an awful lot of interesting software out there that is useful for connected devices

  5. OSGi/Java and Embedded • The interesting question remains: • What will happen in the future? • Let us look at some trends …

  6. Trends • Increasing Software Cost • More Connected Devices • Decreasing Hardware Cost

  7. Trend: Increasing Software Cost • Software is becoming a bigger and bigger part of the product’s life • This is often not well reflected in the BOM • Complexity of the software is increasing due to: • Exploding number of configurations. Managing the software for these configurations can be a nightmare • Compatibility with more and more legacy. A current DVD player has over a million lines of code! • People want more features and most of the features reside in the software

  8. Trend: Increasing Software Cost • Application Development requires man, many, choices that are different for different environments • Binaries can only be deployed on their target platform, and then … Applications OS CPU IO

  9. Trend: Increasing Software Cost • The OSGi Alliance maintains a list of OS/CPU combinations that support Java/OSGi • 24 OS’s • 12 CPUs • Don’t forget • Thread architecture • Optimization levels • Endian • … • In the end, the number of combinations severely constrain the hardware choices ?

  10. Trend: More Connected Devices • Devices are more and more becoming connected to the Internet • Protocols • TCP/IP, UPnP, DLNA, SMTP, DNS, Jini, Rendezvous, SLP, HTTP, WebDAV, FTP, Juxta, MSN, Jabber, AIM, Web 2.0, Atom/REST, OMA DM, MP3, MPEG, etc., etc. • Security • Connected devices are prone to viruses • After sales support is becoming harder and harder • Updating software after sales is hard (if possible) and expensive

  11. Trend: Decreasing Hardware Cost • At large quantities, flash costs < 2 $cts a Mb • Modern CPU’s run at >200 Mhz • Adding OSGi/Java is not a pipe dream anymore • How many companies made the trade off calculations between a better software development environment and BOM cost?

  12. 900 Million Phones can not be Wrong • 900 million phones run Java, despite: • Severe cost limitations • Severe power constraints • Java is feasible on embedded devices today • Maybe not for the smallest CE devices, but a significant number of devices could benefit

  13. What can OSGi/Java Give You? • Simplified Software Configuration Management due to use of Java • Less combinations to worry about • Powerful deployment model • Remote lifecycle management • Service Oriented Architecture • Easier to mix and match components into applications: Reusable components • Secure software environment • After sales downloads

  14. What can OSGi/Java Give You? • Simplified Software Configuration Management • Write once, run unmodified at a lot of places! • Clean service model • Simplifies software development • Reuse of components • Easier to buy Java VM OS CPU IO

  15. Remote Management • Powerful software deployment model • The software life-cycle does not stop when a networked device leaves the factory • Updates and new installs are a fact of life • (Remote) Management is an intrinsic and non-trivial aspect of today’s device software • The OSGi Alliance has standardized the API for remote device management • Benefits: • Supports any number of management protocols • Optimized solutions for specific problems • Reduces management costs

  16. Service Oriented Architectures • Separate the contract from the implementation • Allows alternate implementations • Dynamically discover and bind available implementations • Based on contract (interface) • Components are reusable • Not coupled to implementation details Service Contract provides Component uses

  17. The Service Registry • Why? Provides decoupling between applications • How? Provides a programming service model • Discover (and get notified about) services based on their interface or properties • Bind to one or more services by • program control, • default rules, or • deployment configuration • OSGi Service Platform Benefits: • Components are smaller (easier to make) and not coupled to other components (gives reusability) • Excellent model for the myriad of customizations and variation that are required of today’s devices • Collaboration model

  18. Real Life Applications Using OSGi • X-ray measurement Systems • BMW 7 series • Eclipse • Siemens Medical • Nokia E70 • Siemens Gigaset SX765 • Espial Set-top box • VDO on-board computer • Etc. etc. etc.

  19. Conclusion • The OSGi Service Platform provides an excellent environment for system, firmware, middleware and application software • The service architecture solves many of the complex customization issues that are part of massive market devices like mobile phones and telematic units. • The security model is the most fine grained model available without becoming unmanageable

  20. OSGi = Universal Middleware!

More Related