150 likes | 289 Views
OSGi & Other Technologies. Peter Kriens, aQute OSGi Fellow. OSGi & Other Technologies. Overview OSGi's Place In The World The OSGi Service Platform? Java & OSGi UPnP & OSGi Microsoft .NET So Why OSGi?. OSGi's Place In The World. Building systems is hard
E N D
OSGi & Other Technologies Peter Kriens, aQute OSGi Fellow
OSGi & Other Technologies Overview • OSGi's Place In The World • The OSGi Service Platform? • Java & OSGi • UPnP & OSGi • Microsoft .NET • So Why OSGi?
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
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
The OSGi Service Platform Operating System & Hardware Java VM Bundle OSGi Framework Bundle Management Bundle Bundle Bundle Bundle OSGi Service Protocol Stack
The Application The Application Application Application Application Application Speech Application Blue- tooth XML USB Application Application OSGi Library OSGi OSGi JTAPI 3D Web Server Math OSGi Java VM Java VM Mail Comm Ports Security TCP/IP Java VM System Class Libraries Java VM Imaging Media FW SQL Distri- buted Java VM Java VM Java VM Operating System Crypto- graphy UPnP Direc- tories GUI Operating System Operating System Operating System Java VM Java VM Operating System Operating System 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
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
UPnP & OSGi • Sounds awfully similar to OSGi??? • Confused?
OSGI UPnP & OSGi • UPnP defines a communicationprotocol • OSGi defines an execution environment • Device • Bundle/Application code • Service OSGI
OSGI 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 & .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 :-( >:(
:| :) :| .NET .NET .NET .NET .NET .NET .NET 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 ;) :)
'C++' Libraries C# Applications Common Language Specification 'VB' COM Legacy 'J#' ASP.NET ADO.NET Windows Forms ... Common Language Runtime Windows XP or 2000 Embedded XP CE .NET 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
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 :) ;)
? Questions