the jini architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • the jini™...
TRANSCRIPT
![Page 1: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/1.jpg)
J1-717, Jim Waldo 1
The Jini™ Architecture
Bruno SouzaJava Technologist, Sun Microsystems
![Page 2: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/2.jpg)
J1-717, Jim Waldo 2
Why Jini™ Technology
• Network plug and work
• Enables a service-based architecture
• Spontaneous networking
• Erase the distinction between hardwareand software
• A distributed computing infrastructureto making writing distributedprograms easier
![Page 3: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/3.jpg)
J1-717, Jim Waldo 3
Jini™ TechnologyBuilds on Java™ Technology
Feature Java virtual machine
Portable object code
Downloadable code
Unified type system
Benefit Homogeneous network
Architecture independence
Dynamic environment
No impedance mismatch
![Page 4: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/4.jpg)
J1-717, Jim Waldo 4
Simple, Reliable, and Flexible
• Based on the Java programming language
• Interfaces designed for robustness
• Services come and go withoutadministration
• Federation, not central control
![Page 5: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/5.jpg)
J1-717, Jim Waldo 5
Java 2 Platform • Java RMI• Java VM
Jini ProgrammingModel
Jini Services
• Leasing• Distributed Events• Transactions
• JavaSpaces™
• Transaction Managers• Printing, Storage, Databases...
Jini Infrastructure• Discovery• Lookup Service
Structure of Jini™ Technology
![Page 6: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/6.jpg)
J1-717, Jim Waldo 6
Jini Service Lookup Service
Discovery Request
Discovery ResponseServiceProxyObject
Service Registration
Registering a Service
![Page 7: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/7.jpg)
J1-717, Jim Waldo 7
Finding a Service
Jini Service Lookup Service
ServiceProxyObject
Lookup Request
Lookup Response
Discovery Request
Discovery Response
![Page 8: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/8.jpg)
J1-717, Jim Waldo 8
Using a Service
Jini Client Jini Service
ServiceProxyObject
![Page 9: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/9.jpg)
J1-717, Jim Waldo 9
• Communication is between theservice and its proxy
• Wire protocol is a private matter– Standard protocol– Custom, one time protocol
• Protocol can change
• RMI semantics core to functionality
Wire Protocol Independence
![Page 10: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/10.jpg)
J1-717, Jim Waldo 10
Federations of Services
• Minimal agreement– Discovery protocol– Lookup interface– Interfaces define a service
• Simple interaction patterns– Time-based resource allocation– Distributed event delivery– Voting for consensus
• Everything else is left to theparticipants
![Page 11: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/11.jpg)
J1-717, Jim Waldo 11
More Than Devices
• Services can be hardware or software
• Dynamic lookup allows serviceintroduction– When services become available– When services are updated
• Services are network-availablecomponents
![Page 12: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/12.jpg)
J1-717, Jim Waldo 12
Enabling Change Over Time
• Base interfaces can be extended– Add new functionality– Combine functionality
• Old clients can use base interface
• New clients can use extended interface
• Allows local evolution
![Page 13: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/13.jpg)
J1-717, Jim Waldo 13
Objects on the Network
• Polymorphism allows change
• Moving code is key– Separates what from how– Allows changing behavior
• Object oriented design patterns apply
• Merges agent technology and morestandard approaches to distributedcomputing
![Page 14: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/14.jpg)
J1-717, Jim Waldo 14
What About Legacy?
• We live in the real world– Not every program is written
in the Java programming language– Not every device can support
a Java virtual machine
• Most legacy code has yet to be written
![Page 15: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/15.jpg)
J1-717, Jim Waldo 15
Objects to the Rescue
• Java technology is only required– For the proxy object– On the network
• Legacy code can offer a proxy object– Proxy is Java technology bytecodes– Speaks a private protocol to the legacy code
• Legacy code can be wrapped– Java programming language
calling via Java Native Interface (JNI)
![Page 16: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/16.jpg)
J1-717, Jim Waldo 16
Network Proxies
• Devices can proxy via another device– Simple device provides service type,
code location– More competent device provides
Jini technology interaction– Proxy object can talk to either device
• One network proxy for multiple devices
• Network proxy can also bridge networks– TCP/IP to firewire/Bluetooth/IR/...– Jini technology-based system to HAVI
![Page 17: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/17.jpg)
J1-717, Jim Waldo 17
Interface Definition
• The Jini™ Technology Community– Deciding on base interfaces and classes– Driven, shepherded, or independent– Currently groups for printing and storage
• Other standards groups– If it has a Java programming language interface,
it has a Jini service interface
• De facto– Let the market decide
![Page 18: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/18.jpg)
J1-717, Jim Waldo 18
Where Next
• First services coming soon– Some shown in the exhibition
• Security
• Scaling up– Most scale issues are user issues
• Build the community
![Page 19: The Jini Architecturejavaman.com.br/apres/files/jini.pdf · 2001-10-02 · • The Jini™ Technology Community – Deciding on base interfaces and classes – Driven, shepherded,](https://reader033.vdocuments.net/reader033/viewer/2022043020/5f3c0ed83c9d432a1d420cb1/html5/thumbnails/19.jpg)
J1-717, Jim Waldo 19
For More Information
• http://sun.com/jini
• http://jini.org
• The Jini™ Technology Series– The Jini™ Specification– JavaSpaces™ : Principles, Patterns, and Practice