1 / 23

Christopher Bladon Senior Java Architect Sun Java Centre, Sun Microsystems Z ürich, Sweden

JXTA versus Jini. Christopher Bladon Senior Java Architect Sun Java Centre, Sun Microsystems Z ürich, Sweden. My presentation, tall and proud:. Debian Linux Windows-Free No slide animations & transitions No marketing My brain. JXTA: no infrastructure & decentralised. Midlets. CICS.

nell
Download Presentation

Christopher Bladon Senior Java Architect Sun Java Centre, Sun Microsystems Z ürich, Sweden

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. JXTA versus Jini Christopher Bladon Senior Java Architect Sun Java Centre, Sun Microsystems Zürich, Sweden

  2. My presentation, tall and proud: • Debian Linux • Windows-Free • No slide animations & transitions • No marketing • My brain

  3. JXTA: no infrastructure & decentralised Midlets CICS .Nyet J2EE Required Infrastructure TPF Grid Jini/Rio Hello World Client/ Server JXTA Decentralisation

  4. There 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

  5. The 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

  6. Quick Comparison

  7. Peer-to-peer is cool! • No infrastructure • Interesting problems • Simpler and lighter nodes • Self-healing mentality • Dynamic structure • Promotes sharing • Reliability by redundancy • Collaborative development

  8. JXTA Abstractions • Uniform Peer ID (addressing) • Peer-groups • Advertisements (peers, groups, content, services) • Resolver • Pipes

  9. JXTA 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)

  10. Tons 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

  11. JXTA 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

  12. The obligitory stack picture

  13. Firewalls, NAT: no problem Intranet Network 1 Network 2 Peer A Peer Z Subnet Peer B Peer C NAT Firewall Peer D Internet

  14. It'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)

  15. Some 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

  16. Rio/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

  17. Rio/Jini Components • Look-up Service • Transaction monitor (2-phase) • JavaSpaces • Webster • Cybernode • Provisioner • OpMon • Service Viewer

  18. Cool stuff 'bout Rio/Jini • Simple component model + events • SpaceCommands • Flexible QoS – heterogeneous compute env • Great tools • Paradigm similar to J2EE – easier

  19. Problems with Rio/Jini • Reliance on RMI • Somewhat complex infrastructure • Confusion: Jini versus J2EE • No security yet (next release)

  20. Problems 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

  21. How would you implement: • Chat & Whiteboard • File (MP3) search and download • Auction • Car Chip upgrades • Pet Store

  22. Conclusions • 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!!!!

  23. Christopher Bladon Senior Java Architect Sun Java Centre, Sun Microsystems Züri, Schwyz

More Related