Presentation on theme: "OSGi & Other Technologies"— Presentation transcript:
1OSGi & Other Technologies Peter Kriens, aQuteOSGi Fellow
2OSGi & Other Technologies OverviewOSGi's Place In The WorldThe OSGi Service Platform?Java & OSGiUPnP & OSGiMicrosoft .NETSo Why OSGi?
3OSGi's Place In The World Building systems is hardConnected systems are even harder to buildDistribution adds failure pointsDifficult to fix bugs remotelyUpgradesHow can the devices on a network inter-operate?New devicesNew servicesNew standardsIt is a giant puzzle!The keyword is extendibility
4OSGi'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 networkAdds a variety of functions to the deviceMay be managed, under the control of an operatorIntended for all types of devices as long as they are networkedMobile phones, Gateways, PDAs, desktops, cars, and enterprise servers
5The OSGi Service Platform Operating System & HardwareJava VMBundleOSGiFrameworkBundleManagementBundleBundleBundleBundleProtocol StackOSGi Service
6System Class Libraries Java & OSGiOperating SystemJavaVMSystem Class LibrariesOSGiApplicationLibraryOperating SystemJavaVMThe ApplicationCrypto-graphyUPnPDirec-toriesImagingMailMediaFWSQLGUIDistri-butedCommPortsSecurityTCP/IPJTAPI3DWebServerMathSpeechBlue-toothXMLUSBMore than a programming language …Standardized interfaces: Multiple implementationsAccess to tens of thousands of software librariesApplication is: start - stopIs this sufficient for networked devices?OSGi Specifications provide:An in-VM application model.A Service Registry for service discoveryA delivery formatThe OSGi fills a gap in Java
7UPnP & OSGi Universal Plug aNd Play A standard to let appliances communicateFunctionsDevice/Service Discovery standard: SSDPRemote Execution: SOAPDevice Interface Descriptions: WSDLAllows for pre-defined, device resident, and generated GUIsDeviceOSGi Based Device
8Sounds awfully similar to OSGi??? UPnP & OSGiSounds awfully similar to OSGi???Confused?
9UPnP & OSGi OSGI OSGI UPnP defines a communication protocol OSGi defines an execution environmentDeviceBundle/Application codeServiceOSGIOSGI
10UPnP & OSGiThe 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 easyThe Service Platform could become available as a standardized UPnP Device in the futureA marriage made in heaven!OSGIOSGI
11:| :) :) :) OSGi & .NET :-( :| Java captured significant market share in the 90s because Java:Is easier to program than C++Has robust automatic memory managementProvides a security modelMicrosoft noticed the advantage and "adopted" JavaHowever, they optimized their implementation for WindowsThis invalidated the "write once, run everywhere" mantraObviously, SUN was not smiling:-(>:(;-):-)
12:( :| OSGi & .NET So SUN sued Microsoft Microsoft kept Java at Version 1.1 (Still today)The OSGi was founded to use Java with networked servicesMicrosoft introduced .NETBased on exactly the same principles as JavaHeavily optimized (and compatible with Windows)SUN extended Java with J2ME and J2SEMicrosoft developed several products for .NET and renamed more products to .NET:|:);).NET.NET:)
13Common Language Specification Common Language Runtime OSGi & .NET.NET FrameworkProvides all of the technical advantages of Java, and moreHas virtually the same characteristicsComprehensive range of productsBut lacksDynamicPluggable Remote ManagementOpen specificationsOptimizations for the myriad of niche applicationsC#'VB''J#''C++'...Windows XPor 2000EmbeddedXPCE .NETCommon Language SpecificationCommon Language RuntimeADO.NETASP.NETWindowsFormsApplicationsLibrariesCOM Legacy
14;) :) So Why OSGi? The non-proprietary nature of Java is future proof Multiple choicesNo party with market lockLarge number of parties that make variations on the themeThe OSGi service platform is complementary to many existing technologiesA well defined run-time environ-ment for connecting devicesThe OSGi Specifications a unique remote deployment modelWeb Services level the playing field with .NET;):)