Why Have The OSGi Specifications Been Based On Java Technology ? By Peter Kriens, CEO aQute OSGi Technology Officer www.aQute.se.

Slides:



Advertisements
Similar presentations
Operating Systems Components of OS
Advertisements

Ahead of Time Dynamic Translation PreJit/NGEN by any other name George Bosworth Microsoft MRE04 March 21, 2004.
Copyright © 2002, Peter Kriens, All Rights Reserved OSGi versus UPnP??? There is no "versus" here. OSGi is fully complimentary to UPnP. No overlap. UPnP.
When Applications can Roam Freely OSGi Service Platform R4 Peter Kriens Technical Director OSGi
A Media Subscription Service By Peter Kriens CEO aQute OSGi Technology Officer
©2003 aQute, All Rights Reserved Tokyo, August 2003 : 1 OSGi Service Platform Tokyo August 28, 2003 Peter Kriens CEO aQute, OSGi Fellow
Workshop OSGi World Congress Peter Kriens CEO aQute, OSGi Technical Officer & Fellow!
Starting With The OSGi Specifications By Peter Kriens, CEO aQute OSGi Fellow
AQute Eclipse Environment By Peter Kriens CEO aQute OSGi Director of Technology and OSGi Fellow.
OSGi & Other Technologies
Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
1 Copyright © 2005, Oracle. All rights reserved. Introducing the Java and Oracle Platforms.
0 - 0.
Addition Facts
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore G54PRG Programming Lecture 1 Amadeo Ascó 3 Java Programming Language.
© 2003 School of Computing, University of Leeds SY32 Secure Computing, Lecture 16 Secure Coding in Java and.NET Part 1: Fundamentals.
Security of JavaCard smart card applets Erik Poll University of Nijmegen
Debugging operating systems with time-traveling virtual machines Sam King George Dunlap Peter Chen CoVirt Project, University of Michigan.
Introduction to .NET Framework
.NET Framework Overview
Addition 1’s to 20.
Test B, 100 Subtraction Facts
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Chapter 16 Java Virtual Machine. To compile a java program in Simple.java, enter javac Simple.java javac outputs Simple.class, a file that contains bytecode.
Dr. Ken Hoganson, © August 2014 Programming in R COURSE NOTES 2 Hoganson Language Translation.
Java security (in a nutshell)
Lab Information Security Using Java (Review) Lab#0 Omaima Al-Matrafi.
Lab#1 (14/3/1431h) Introduction To java programming cs425
Object Orientated Programming
Programming Our First Java Program Yingcai Xiao. What to Do Set up for Java Programming Write our first Java Program with IDE Write our first Java Program.
Data Structure and Algorithm 1 Yingcai Xiao. You Me The Course (
Programming A Historic Perspective on Code Reuse Yingcai Xiao.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Session-02. Objective In this session you will learn : What is Class Loader ? What is Byte Code Verifier? JIT & JAVA API Features of Java Java Environment.
Java Security Updated May Topics Intro to the Java Sandbox Language Level Security Run Time Security Evolution of Security Sandbox Models The Security.
Embedded Java Research Geoffrey Beers Peter Jantz December 18, 2001.
JAVA v.s. C++ Programming Language Comparison By LI LU SAMMY CHU By LI LU SAMMY CHU.
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
Previous Next 06/18/2000Shanghai Jiaotong Univ. Computer Science & Engineering Dept. C+J Software Architecture Shanghai Jiaotong University Author: Lu,
CS 355 – Programming Languages
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
What is.NET?.NET is a "revolutionary new platform, built on open Internet protocols and standards, with tools and services that meld computing and communications.
Compiling and Executing Code in.Net Microsoft Intermediate Language and Common Language Runtime.
C# Overview and Features. Content I.History of C# II.Architecture III.How to install IV.Features V.Code Sample VI.Microsoft.NET Platform VII.Why use C#
Java Introduction Lecture 1. Java Powerful, object-oriented language Free SDK and many resources at
Introduction to Java CSIS 3701: Advanced Object Oriented Programming.
University of Houston-Clear Lake Proprietary© 1997 Evolution of Programming Languages Basic cycle of improvement –Experience software difficulties –Theory.
Basic Security: Java vs.NET Master Seminar Advanced Software Engineering Topics Prof. Jacques Pasquier-Rocha Software Engineering Group Department of Informatics.
© 2012 Pearson Education, Inc. All rights reserved. 1-1 Why Java? Needed program portability – Program written in a language that would run on various.
Java 2 security model Valentina Casola. Components of Java the development environment –development lifecycle –Java language features –class files and.
CPRG 215 Introduction to Object-Oriented Programming with Java Module 1-Introduction to Java Topic 1.1 Basics of Java Produced by Harvey Peters, 2008 Copyright.
Java Security Model For Mobile Code Abdo Achkar. Mobile Code A mobile object is a “self contained piece” of executable code. Definition:  Code that can.
Computer Programming 2 Why do we study Java….. Java is Simple It has none of the following: operator overloading, header files, pre- processor, pointer.
© 2012 Pearson Education, Inc. All rights reserved types of Java programs Application – Stand-alone program (run without a web browser) – Relaxed.
Java – in context Main Features From Sun Microsystems ‘White Paper’
2.1 Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition System Programs (p73) System programs provide a convenient environment.
Java & The Android Stack: A Security Analysis Pragati Ogal Rai Mobile Technology Evangelist PayPal, eBay Java.
Programming 2 Intro to Java Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Introduction to JAVA Programming
Sung-Dong Kim, Dept. of Computer Engineering, Hansung University Java - Introduction.
Homework Reading Machine Projects Labs
Topic: Difference b/w JDK, JRE, JIT, JVM
Computer System and Programming
Internet and Java Foundations, Programming and Practice
2.1. Compilers and Interpreters
Security in Java Real or Decaf? cs205: engineering software
Chapter 2: System Structures
Introduction CSC 111.
.Net Framework Details Imran Rashid CTO at ManiWeber Technologies.
Presentation transcript:

Why Have The OSGi Specifications Been Based On Java Technology ? By Peter Kriens, CEO aQute OSGi Technology Officer

OSGi World Congress - 2 Content Interpreted and Compiled languages Interpreted and Compiled languages Detailed look at Issues Detailed look at Issues Comparison with.NET Comparison with.NET Conclusion Conclusion

OSGi World Congress - 3 Interpreted Languages Interpreter/VM is between source code and CPU Interpreter/VM is between source code and CPU Java is an interpreter with a defined executable format: VM Java is an interpreter with a defined executable format: VM Compiled Source code Compiler CPU Java Source code javac VM CPU Interpreted Source code CPU Interpreter byte-codes

OSGi World Congress - 4 Portability Interpreters are easier to port to other environments Interpreters are easier to port to other environments No Source Code changes required No Source Code changes required Source code Compilerjavac VM InterpretedCompiledJava CPU Interpreter VM Source code Compiler CPU

OSGi World Congress - 5 Illegal Access To Memory No Illegal Access: Reduces security threats, Improves stability No Illegal Access: Reduces security threats, Improves stability No (more) memory exceptions and buffer overruns No (more) memory exceptions and buffer overruns Compiler InterpretedCompiledJava CPU Interpreter javac VM Source code

OSGi World Congress - 6 Versioning Solves many version issues: Simpler deployment Solves many version issues: Simpler deployment No More: Requires version kwt No More: Requires version kwt Interpreters use symbolic linking: more robust Interpreters use symbolic linking: more robust Compiler InterpretedCompiledJava CPU Interpreter javac VM Source code lib

OSGi World Congress - 7 Type Problems Detection Early detection of bugs: improved productivity Early detection of bugs: improved productivity Accidental and intended type violations Accidental and intended type violations Java finds all type errors, and many early Java finds all type errors, and many early Compiler InterpretedCompiledJava CPU Interpreter javac VM Source code

OSGi World Congress - 8 Performance Pre-processing reduces overhead: faster startup Pre-processing reduces overhead: faster startup Compiled code is most efficient Compiled code is most efficient JIT techniques can reduce the performance gap JIT techniques can reduce the performance gap Compiler InterpretedCompiledJava CPU Interpreter javac VM Source code

OSGi World Congress - 9 Too Many Libraries... Foundation library: One App for all platforms! Foundation library: One App for all platforms! Problems increase exponentially! Problems increase exponentially! Java very well defined, including run-time Java very well defined, including run-time Interpreted Source code mod Interpreter A-lib mod B-lib Compiled Source code mod Compiler A-libB-lib Java Source code mod VM rt.jar

OSGi World Congress - 10 Do It Right versus Performance Cannot perform hacks: security versus performance Cannot perform hacks: security versus performance Traditional code has hacks that perform well Traditional code has hacks that perform well Hacks increase maintenance cost and field problems Hacks increase maintenance cost and field problems Source code memory = byte= int Conversion through casting Source code memory Invalid memory access checks Source code unicode Use of Unicode versus bytes Source code smeta Meta information for diagnostics Source code s Security Checks security check

OSGi World Congress - 11 Life Cycle Management Loading policy defined in application code: Flexibility Loading policy defined in application code: Flexibility Used by the OSGi specifications Used by the OSGi specifications Policies implemented by application code Policies implemented by application code Traditional run-time CPU code Java VM CPU = Class Loader network code

OSGi World Congress - 12 Security Language includes security check: Safe code Language includes security check: Safe code Prevents against viruses and worms Prevents against viruses and worms First language with built-in security architecture First language with built-in security architecture Application A Application B Application C method fooSecurityManager resource x Verify permissions for resource x

OSGi World Congress - 13 But What About Microsofts.NET ?

OSGi World Congress - 14 What is.NET?

OSGi World Congress - 15 Java versus.NET CLI/CLR Java VM technology is similar to.NET C# Java VM technology is similar to.NET C# But the Java environment is: But the Java environment is: – More mature – Not controlled by a single vendor: JCP – Applicable for embedded devices – Coherent environment (single syntax) – Exists for virtually every OS in existence, today – Runs the OSGi specifications!

OSGi World Congress - 16 Conclusion Portability Portability Safety and security features Safety and security features Increased productivity Increased productivity Class loaders make OSGi possible Class loaders make OSGi possible Interpreted language is the right choice for the OSGi Interpreted language is the right choice for the OSGi Should we use Java today [again]? Should we use Java today [again]? YES! YES!

OSGi World Congress - 17