Presentation on theme: "OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow."— Presentation transcript:
OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow
www.aQute.biz OSGi Service Platform OSGi & Other Technologies Overview OSGi's Place In The World The OSGi Service Platform? Java & OSGi UPnP & OSGi Microsoft.NET So Why OSGi?
www.aQute.biz OSGi Service Platform OSGi's Place In The World Building systems is hard Connected systems are even harder to build Distribution adds failure points Difficult to fix bugs remotely Upgrades How can the devices on a network inter-operate? New devices New services New standards It is a giant puzzle! The keyword is extendibility
www.aQute.biz OSGi Service Platform OSGi's Place In The World The OSGi specifications define a Java environment, just like an operating system, for networked services. A networked service: Can be deployed over a network Adds a variety of functions to the device May be managed, under the control of an operator Intended for all types of devices as long as they are networked Mobile phones, Gateways, PDAs, desktops, cars, and enterprise servers
www.aQute.biz OSGi Service Platform The OSGi Service Platform Operating System & Hardware Java VM OSGiFramework Bundle Bundle Bundle Bundle Bundle ManagementBundle OSGi Service Protocol Stack
www.aQute.biz OSGi Service Platform Java & OSGi More than a programming language … Standardized interfaces: Multiple implementations Access to tens of thousands of software libraries Application is: start - stop Is this sufficient for networked devices? OSGi Specifications provide: An in-VM application model. A Service Registry for service discovery A delivery format The OSGi fills a gap in Java Operating System JavaVM JavaVM The Application Crypto-graphyUPnPDirec-tories Imaging Mail MediaFWSQL GUI Distri-buted CommPortsSecurityTCP/IP JTAPI3DWebServerMath SpeechBlue-toothXMLUSB Operating System JavaVM JavaVM JavaVM JavaVM JavaVM JavaVM JavaVM System Class Libraries OSGi OSGi OSGi OSGi Application Application Application Application Application Application Application Library
www.aQute.biz OSGi Service Platform UPnP & OSGi Universal Plug aNd Play A standard to let appliances communicate Functions Device/Service Discovery standard: SSDP Remote Execution: SOAP Device Interface Descriptions: WSDL Allows for pre-defined, device resident, and generated GUIs Device OSGi Based Device
www.aQute.biz OSGi Service Platform UPnP & OSGi Sounds awfully similar to OSGi??? Confused?
www.aQute.biz OSGi Service Platform UPnP & OSGi UPnP defines a communication protocol OSGi defines an execution environment Device Bundle/Application code Service OSGI OSGI
www.aQute.biz OSGi Service Platform UPnP & OSGi The OSGi Service Platform is a perfect execution environment for UPnP enabled services! The OSGi Alliance has standardized a UPnP Service that makes empowering a device with UPnP very easy The Service Platform could become available as a standardized UPnP Device in the future A marriage made in heaven! OSGI OSGI
www.aQute.biz OSGi Service Platform OSGi &.NET Java captured significant market share in the 90s because Java: Is easier to program than C++ Has robust automatic memory management Provides a security model Microsoft noticed the advantage and "adopted" Java However, they optimized their implementation for Windows This invalidated the "write once, run everywhere" mantra Obviously, SUN was not smiling :) :-( ;-):-) :| :) :| >:(
www.aQute.biz OSGi Service Platform OSGi &.NET So SUN sued Microsoft Microsoft kept Java at Version 1.1 (Still today) The OSGi was founded to use Java with networked services Microsoft introduced.NET Based on exactly the same principles as Java Heavily optimized (and compatible with Windows) SUN extended Java with J2ME and J2SE Microsoft developed several products for.NET and renamed more products to.NET ;) :( :).NET :| :|.NET.NET.NET.NET.NET.NET :)
www.aQute.biz OSGi Service Platform OSGi &.NET.NET Framework Provides all of the technical advantages of Java, and more Has virtually the same characteristics Comprehensive range of products But lacks Dynamic Pluggable Remote Management Open specifications Optimizations for the myriad of niche applications C# 'VB' 'J#' 'C++'... Windows XP or 2000 EmbeddedXP CE.NET Common Language Specification Common Language Runtime ADO.NETASP.NETWindowsForms Applications Libraries COM Legacy
www.aQute.biz OSGi Service Platform So Why OSGi? The non-proprietary nature of Java is future proof Multiple choices No party with market lock Large number of parties that make variations on the theme The OSGi service platform is complementary to many existing technologies A well defined run-time environ- ment for connecting devices The OSGi Specifications a unique remote deployment model Web Services level the playing field with.NET :);)