Professional Documents
Culture Documents
Fosdem 2011 Presentation
Fosdem 2011 Presentation
Background
Overview of JNLP
The Standard
Other Resources
http://download.oracle.com/javase/6/docs/technotes/guides/jweb/ deployment_advice.html#deployingApplications
JNLP Application
XML File
Jars
10
11
Demo
12
Netx
13
14
Netx
Originally at http://jnlp.sourceforge.net/netx/
15
Netx
The default javaws implementation in most distributions About 27k lines of code
16
Overall Architecture
17
Overall Architecture
18
Parser
Parses a JNLP (an XML file) and converts it into a set of java objects
19
JNLPFile
InformationDesc
ResourcesDesc
JARDesc
ApplicationDesc
20
Parser
The main class is net.sourceforge.jnlp.Parser Most of the code is under net.sourceforge.jnlp Elements are named <element>Desc
21
Parser
22
ClassLoader
Application
JNLPClassLoader
Bootstrap ClassLoader
23
ClassLoaders - Lazy
24
ClassLoader - Security
25
Cache
Recall that applications are not installed File are cached in ~/.icedtea/cache/
26
Cache - Downloading
Multiple threads spawned Each file goes through multiple states to arrive at
Error Or Downloaded
27
Verifier
Verifier
Keystore
28
Services
29
Services
Access to Files
30
Services - Integration
31
32
Secure GUI
33
Security Manager
Custom security manager Allows some permissions Custom policy can be defined
34
Security/ClassLoader/Verifier Demo
35
Service Demo
36
The plugin relies on Netx for most of its non browser functionality
37
38
39
40
Server-side
content-encoding version-id
41
test__V1.56.3.0x0.pack.gz test.jar
test.jar
42
http://download.oracle.com/javase/6/docs/technotes/gui des/deployment/deployment-guide/contents.html
43
Deployment.properties
44
Proxy Support
45
Custom Policies
Possible to sandbox trusted applications Possible to grant untrusted applications some permissions
46
TagSoup-based Parser
47
The Future
Better compatibility Implement missing JNLP API services Use libproxy Better system integration Stuff Deepak mentioned...
48
Questions
49