Title: Christopher Bladon
1JXTA versus Jini
Christopher Bladon Senior Java Architect Sun Java
Centre, Sun Microsystems Zürich, Sweden
2My presentation, tall and proud
- Debian Linux
- Windows-Free
- No slide animations transitions
- No marketing
- My brain
3JXTA no infrastructure decentralised
Midlets
CICS
.Nyet
J2EE
Required Infrastructure
TPF
Grid
Jini/Rio
Hello World
Client/ Server
JXTA
Decentralisation
4There is no silver bullet
- Jini simple services
- Service facade for devices
- Rio quality of service
- Delivering services on the network
- JXTA push services and data to client
- Collaboration and document sharing
- J2EE load-balanced, components
- Business processes
5The more peers, the better
- Moves data and services close to the user
- Probabilistically better availability
- More routing possibilities
- Less configuration
JXTA peers
Performance
J2EE clients
Users
6Quick Comparison
7Peer-to-peer is cool!
- No infrastructure
- Interesting problems
- Simpler and lighter nodes
- Self-healing mentality
- Dynamic structure
- Promotes sharing
- Reliability by redundancy
- Collaborative development
8JXTA Abstractions
- Uniform Peer ID (addressing)
- Peer-groups
- Advertisements (peers, groups, content, services)
- Resolver
- Pipes
9JXTA Aspects
- Discover, Join, Query, Subscribe, Work
- Colony of Bees (without a queen)
- Replicate data resilience
- Replicate services resilience performance
- Unmanaged fault-tolerance
- Dynamic config and re-config
- Groups - Virtual network (NAT Firewalls)
10Tons of cool stuff!
- 100 p2p
- No centralised servers or admin
- Multilingual (prog. Language)
- Security is built-in
- Messages contain the route back
- Through NAT and Firewalls
- Peers authorise other peers
- No polling, link-sensing, neighbour detection
11JXTA Protocols
- PDP discover adverts on other peers
- PVP cache and forward discoveries
- PRP generic querying of peers
- PIP query peers for info status
- PEP query peers for routing info
- PMP group membership
- PBP binding to pipes
12The obligitory stack picture
13Firewalls, NAT no problem
Intranet Network 1
Network 2
Peer A
Peer Z
Subnet
Peer B
Peer C
NAT
Firewall
Peer D
Internet
14It's secure!
- Every peer has its own root certificate
- Public key certificate part of each Peer
advertisement - TLS Endpoint Transport (point-to-point secure
pipe) - Credential certificate embedded in every JXTA
protocol messages. - Private Groups (membership policy)
15Some not so cool stuff
- Community's Anti-P2P mentality
- Complex, low-level programming
- No patterns
- Mediocre documentation
- Java ref-impl is not cooked fully
- Security and Trust is not cooked fully
- P2P model is probabilistic
16Rio/Jini (rio.jini.org)
- Dynamic service delivery
- 90 opaque layer on Jini
- RMI Events
- Jini Service Beans (JSBs)
- Quality of Service Provisioning
- Watches
- Deployment Operation Strings
17Rio/Jini Components
- Look-up Service
- Transaction monitor (2-phase)
- JavaSpaces
- Webster
- Cybernode
- Provisioner
- OpMon
- Service Viewer
18Cool stuff 'bout Rio/Jini
- Simple component model events
- SpaceCommands
- Flexible QoS heterogeneous compute env
- Great tools
- Paradigm similar to J2EE easier
19Problems with Rio/Jini
- Reliance on RMI
- Somewhat complex infrastructure
- Confusion Jini versus J2EE
- No security yet (next release)
20Problems in the enterprise
- Redundant Data distributed replicated
- Bladon Theorem 1 the faster data changes, the
less it can be redundant. - Centralised versus redundant services
- Propagating and reloading changed classes
- Transactions
- Modelling Entities and Sessions
21How would you implement
- Chat Whiteboard
- File (MP3) search and download
- Auction
- Car Chip upgrades
- Pet Store
22Conclusions
- Rio's vision is independent of Jini use any
service platform incl. JXTA - Rio/Jini doesn't scramble your brain like JXTA
- Rio/Jini and JXTA support collaborative
development instead of isolated - Rio/Jini and JXTA are not just for devices
enterprise computing!!!!
23Christopher Bladon Senior Java Architect Sun Java
Centre, Sun Microsystems Züri, Schwyz