Why Have The OSGi Specifications Been Based On Java - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Why Have The OSGi Specifications Been Based On Java

Description:

Peter Kriens, CEO aQute. OSGi Technology Officer. www.aQute.se ... Not controlled by a single vendor: JCP. Applicable for embedded devices ... – PowerPoint PPT presentation

Number of Views:55
Avg rating:3.0/5.0
Slides: 18
Provided by: peterk7
Category:

less

Transcript and Presenter's Notes

Title: Why Have The OSGi Specifications Been Based On Java


1
Why Have The OSGi Specifications Been Based On
Java Technology?ByPeter Kriens, CEO
aQuteOSGi Technology Officer
www.aQute.se
2
Content
  • Interpreted and Compiled languages
  • Detailed look at Issues
  • Comparison with .NET
  • Conclusion

3
Interpreted Languages
  • Interpreter/VM is between source code and CPU
  • Java is an interpreter with a defined executable
    format VM

4
Portability
Interpreted
Compiled
Java
Source code
Source code
Source code
Compiler
javac
Interpreter
VM
VM
Interpreter
CPU
CPU
CPU
CPU
CPU
CPU
  • Interpreters are easier to port to other
    environments
  • No Source Code changes required

5
Illegal Access To Memory
Interpreted
Compiled
Java
Source code
Source code
Source code
Compiler
javac
Interpreter
VM
CPU
CPU
CPU
  • No Illegal Access Reduces security threats,
    Improves stability
  • No (more) memory exceptions and buffer overruns

6
Versioning
Interpreted
Compiled
Java
Source code
Source code
Source code
Compiler
javac
Interpreter
VM
CPU
CPU
CPU
  • Solves many version issues Simpler deployment
  • No More Requires version 5.12.1.4-kwt
  • Interpreters use symbolic linking more robust

7
Type Problems Detection
Interpreted
Compiled
Java
Source code
Source code
Source code
Compiler
javac
Interpreter
VM
CPU
CPU
CPU
  • Early detection of bugs improved productivity
  • Accidental and intended type violations
  • Java finds all type errors, and many early

8
Performance
Interpreted
Compiled
Java
Source code
Source code
Source code
Compiler
javac
Interpreter
VM
CPU
CPU
CPU
  • Pre-processing reduces overhead faster startup
  • Compiled code is most efficient
  • JIT techniques can reduce the performance gap

9
Too Many Libraries ...
  • Foundation library One App for all platforms!
  • Problems increase exponentially!
  • Java very well defined, including run-time

10
Do It Right versus Performance
  • Cannot perform hacks security versus performance
  • Traditional code has hacks that perform well
  • Hacks increase maintenance cost and field problems

11
Life Cycle Management
  • Loading policy defined in application code
    Flexibility
  • Used by the OSGi specifications
  • Policies implemented by application code

12
Security
Application A
Verify permissions for resource x
Application B
Application C
method foo
SecurityManager
resource x
  • Language includes security check Safe code
  • Prevents against viruses and worms
  • First language with built-in security architecture

13
But What About Microsofts .NET ?
14
What is .NET?
Windows CE .NET
SOAP
.NET Passport
C
Windows Forms
ADO.NET
Visual Studio .NET
CLI
CLR
Microsoft .NET speech
ASP.NET
Web Services
Visual Basic .NET
.NET Framework
15
Java versus .NET CLI/CLR
  • Java VM technology is similar to .NET C
  • 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!

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

17
Questions ? Contact Peter.Kriens_at_aQute.se
Write a Comment
User Comments (0)
About PowerShow.com