Jini Technology Presentation (01/25/99)

advertisement
Jini
™
Technology
Simply connect.
Or: The End To
Protocols As We Know
Them
Dr. Hellmuth Broda
Chief Technologist
Europe, Middle East & Africa
Member, Sun Vision Council
Sun Microsystems, Inc.
Hellmuth.Broda@Sun.COM
2
A Computing History
Disk Centered
Computing
1950’s
CPU
Disk
Disk-oriented OS
Microprocessor
Age
1980’s
Multi-chip CPUs
Systems on a board
Inexpensive disks
Network
Age
Mid-1990’s
Embedded devices
Personal devices
Network services
Service
Age
2000
Jini Communities
Java™ Technology
Services
History of Jini
• Sun R&D project (Bill Joy, and Jim Waldo
with Ann Wollrath, theinventor/designer of RMI, Ken
Arnold, the designer of JavaSpaces, and Bob Schleifer,
designer of Lookup/Discovery).
• Mid-1960‘s: David Gelernter
(Yale) developed a programming
language called LINDA
(http://www.cs.yale.edu/HTML/YALE/CS/Linda/linda.ht
ml)
Linda and JavaSpaces
• JavaSpaces: implementation of the
ideas behind LINDA but greater use
of recent advances in object
technology, namely Java.
• ``The work at Yale focused mainly on data, but today
we can just move objects in and out of JavaSpaces [. .
.] JavaSpaces is essentially a facility for
communicating tasks out and bringing jobs back''
(James Gosling).
Drivers of Transition to the
Networked Age
• Increased network
bandwidth
• Bandwidth is pervasive —
increase in the number of
wired/ wireless networks
• Inexpensive processing power
(systems on a chip)
• Software based on objects and
agents
Ten Megatrends
Services – not applications
Wireless > Internet > PC markets
eMarketPlaces
Content => service => device
Network centric development
Focus on business logic and accessibility
Capacity planning is an oxymoron
Supply chain integration and auctioning as
examples of new business model
9. Everything is mission critical
10. Simplicity!
1.
2.
3.
4.
5.
6.
7.
8.
The Six Webs
Traditional
Entertainment
Voice activated
Pervasive computing
Pocket Communicator
eCommerce
The Traditional Web
• computer
• keyboard
• screen
Pocket Communicator
Web
•
•
•
•
•
follows you around
in your pocket
personal communicator
system on glass
my: position, profile, surrounding,
context
• cell phone?
• clipping?
The Entertainment Web
•
•
•
•
•
•
•
sit on your couch
be entertained
ambient intelligence
follow-me system
story telling
video games
mobile music
The Voice Activated Web
•
•
•
•
•
voice activation
agents, bots
studs
always on
contiguous real time
The eCommerce Web
• business to business
• business to consumer
• machines talking to machines
The Pervasive
Computing Web
•
•
•
•
•
•
•
machines talking to machines
Jini, federations
wired or wireless
electric, processor, memory
communication free
processor free
memory free
The big transition
• From our product centric industry
to a service centric industry
• Products (and content?) will
metamorphose into services
• Light bulb ->
illumination lease
Big Questions
How rich does the set of
network-supported
services become?
How can we interoperate
without a PhD in
networking?
The Quest For
Connectivity
Jini technology, based on Java technology,
enables digital services to simply connect together.
What is Jini?
• Software layer (48kB) to
describe services to the net
• Runs on all Java Virtual Machines
(JVM) on any device (from mainframe
to toaster)
• Only the Front-End of the service is
transmitted---Distributed Computing
• End of all Protocols as we know them
• Resilience: does not assume that
networks always work
Jini Technology Enables
You to Simply Connect
Introduces Simple, Powerful New Concepts
•
•
•
•
Instant On
– Plug it in and it just works, no fuss, hassle free
Impromptu community
– Create your personal community of devices and services — at
home, in the office, or on the road — and interact with other
communities quickly and easily
Resilient
– Your Jini community maintains itself & adapts to change
– Your Jini community is always available
– The Service Age allows the system to be more tolerant and
redundant
Special delivery
– Services are available on demand
Simply Connect to Anyone,
Anywhere, Anytime on
Anything
Small Office
Email
Voice
Financial
Telephony
Entertainment
Services
Corporate
Data Center
Mobile
Jini Technology Signals
the
Creates New
An Easier Way to Interact
Start
of
the
Service
Age
Business Opportunities
with the Digital World
• Device Manufactures
– Storage, peripherals, PDAs,
CPUs, etc.
Create and Deploy
New Applications
• Developers
– Tools
– Management software
• Consumers
– Phone
– VCR
– TV
A Simple Way to
Develop & Deploy New Services
• Service Providers
– Search Engines
– Portals
– Telecommunications
The Philosophy Behind Jini
Technology
• Simplicity: Less is more
–
–
–
–
Small code base
No complicated OS
Everything is an object
Use RMI to extend objects to remote resources
• Self-healing networks
– System restores state after failures
– Resilience
• Community
– Easy access to Jini technology
– Anyone can join the Jini community
Jini Technology Principles
• Everything is an object
• Distributed system is just a
distributed program
• Java Class Hierarchy describes
devices/services
• Mobile Code via Remote Method
Invocation
• Leasing and distributed garbage
collection provides self-healing
• Individual devices/services can be
simple, don’t require a Java Virtual
Machine
• Services available on demand
Jini Technology
Let objects find
each other,...
Infrastructure
Base Java
Technology
• Java Virtual Machine
• RMI
• Java Security
Java + Jini
Technology
• Discovery & Join
• Distributed Security
• Lookup Service
…add simple APIs for remote
objects and basic distributed
computing,...
Programming Model
…then everything else
is a service.
Services
• Java APIs
• JavaBeans Components
• etc...
• JNDI
• Enterprise JavaBeans
Components
• JTS
• etc...
• Leasing
• Transactions
• Distributed Events
• Printing
• Transaction Manager
• JavaSpaces™ Service
Jini Technology Infrastructure:
Discovery & Join
Innovative Solution for Finding the Place to Start in an Unknown Network
Discover (find) and join a community of Jini technology-enabled
devices
Advertise its capabilities
Provide any required software and attributes – no drivers
required
Requires only one Java Virtual Machine on the network
Send out a multicast packet with reference to yourself
Receive a RMI reference to the Lookup Service
Jini Technology Infrastructure: Lookup Service
Binds the Jini Community Together
Repository of available services
Stores service as extensible set of Java application objects
ID, interface, GUI’s, attributes, drivers...
Service objects downloaded as required
May be federated with other lookup services
Lookup Service interface
Registration, Access, Search, Removal
Jini Technology Infrastructure: Moving Code
Uses Java Technology Remote Method Invocation (RMI)
Basic communication mechanism between components
in a Jini system
Secure ability to find, activate, and garbage collect
objects
Allows data as well as code to be passed from object to
object
Jini Technology Programming Model:
Leasing
Provides Method of Managing Resources in a Networked Environment
Protocol for managing resources using a
renewable, duration based model
Contract between objects
Resources can be shared or nonshared
Jini Technology Programming Model:
Transactions
Enables Distributed Entities to Cooperate
Designed for distributed object conversations
Light weight, object-oriented
Supports subset levels of ACID properties
Supports nested transactions
Uses leasing protocol
Jini Technology Programming Model:
Distributed Events
Addresses Peculiarities of Messages in the Networked Environment
Extends Java platform event model to allow it to work in a
distributed network
Register interest, receive notification
Allows for easy use of event managers
Can use numerous distributed delivery models: Push, pull, filter ...
Uses leasing protocol
Jini Technology Infrastructure: Distributed
Security
Builds on the Java Virtual Machine
Jini distributed security adds notion of principal and access
control lists
Jini services are accessed on behalf of a principle which
traces back to a particular user/device
Access to a service depends on the access control list
associated with that service
Jini Technology Services:
JavaSpaces™ Technology
May be Used to Implement a Large Number of Distributed Computing Patterns
Shared, “dynamic memory” for networked Java Virtual Machines
Helps federate the network of Java Virtual Machines
Provides simple, dynamic object persistence
Facilitates alternative messaging patterns
async, store and forward, routed, filtered...
Service interface of JavaSpaces technology
Writing, finding, reading, removing, event
Jini™, how does it
work?
Request a print
service.
I offer print
services!

Register your
service (Java
API) at the
Jini Lookup
Service.
Client uses print
services using
code from
manufacturer.
Print Service
I want
to print
Service Request
 Java Interface Code
 Java Interface Code
Java Interface Code
Jini Lookup Service
stores copy of Java
interface code for print
services.
Jini Lookup Service


Jini Lookup
Service passes
copy of print
interface code
to requestor.
Jini™, how does it
work?
Request the
service.
I offer image
services!

Client uses
services using
code from
manufacturer.
Register your
service (Java API)
at the Jini Lookup
Service.
Image Service
Show me
what’s on.
Service Request
 Java Interface Code
 Java Interface Code
Java Interface Code
Jini Lookup Service
stores copy of Java
interface code for
services.
Jini Lookup Service


Jini Lookup
Service passes
copy of interface
code to
requestor.
The Jini Community
• Sun Community Source
License (SCSL) model
• Any Jini SCSL licensee is in the
Jini community
• Programs available for training,
support, and marketing
Jini Technology Adoption is
Accelerating
• Jini community is increasing daily
• Current development by Jini community
members
–
–
–
–
Computer devices (Printers and storage)
Consumer devices (Camera, DVD, VCR, settop)
Mobile devices (Pager, cell phone, PDA)
Automotive devices (GPS, sound, embedded
control)
– Networked devices (Routers, switches)
– Networked services
• Community is defining and implementing
– JavaSpaces, directories, printer classes
Where Will We See Jini
In the Future?
• desktop, portable
computers
• printers, scanners
• WebCams
• disk drives
• DVD, CD players
• VCRs, TVs
• refrigerators,
freezers
•
•
•
•
•
alarm systems
heart monitors
heating
air conditioning
automobile
engines
• dashboard
computers
• kitchen
appliances
• ...
Who is implementing Jini
already?
•Adaptive Networks
•America Online
•Axis Communications
•BEA Systems
•BizTone (ERP services)
•Bosch Siemens
•Bull
•Canon (“using imaging
products over any network”)
•Cisco
•Computer Associates
•Creative Design Solutions
•Dallas Semiconductor
•Echelon
•Phoenix Technologies
•Encanto
• Quantum
•Ericsson
•Samsung (“Home Wide Web”)
•Funai
•Seagate
•IBM
•Seiko Epson
•Inprise Corp.
•Sharp
•Kinkos Corp.
•Sony (HAVi)
•Kodak
•Symbian
•Metroworks (Code Warrior--SW•Palm Computing
dev)
•Tatung
•Motorola
•Toshiba
•Novell
•Xerox (remote doc services)
•Nokia
•Oki Electric
•Philips (HAVi)
How are we doing with
Jini Technology?
• January 25, 1999 - Jini is officially launched
and the technology is available for download
• March - Sun hosts the first Community event:
the Printer Group
• March - jini.org goes live
• April - Sun hosts the second Community
meeting: the Storage Group
• May - Sun hosts the first full Community
Summit. Over 70 companies participate
• June - Sun’s Professional Services launch a
full suite of Jini technology service offerings.
How are we doing?
• June - J2EE incorporates Jini as a complementary
technology.
• June - Addison-Wesley publishes The Jini™
Specification & The JavaSpaces ™ Principles, Patterns,
and Practice
• June - JavaOne -- Eight Jini partners exhibit products or
concepts.
• June - Jini Technology Group releases JavaSpaces 1.0,
Jini 1.1 Helper Utilities and Services Draft Specification
and RMI Security Draft Specification
• July - the US Army announces they are implementing
Jini technology.
• August - Prentice Hall publishes Core Jini
• October - Sun hosted the second full Community
Meeting.
• November - Released Jini 1.0.1, JavaSpaces 1.0.1,
TCK 1.0B, Jini 1.1Alpha
How are we doing?
• February, 2000 - Motorola announces plans for Jini in
Command and Control.
• March - O’Reily publishes Jini in a Nutshell
• March - 3rd Community Summit held in California.
• March - The printer working group agrees to final draft
of the Printer API specification
• April - eko Medical Systems announces products based
on Jini.
• April - 50,000+ developers are using Jini.
• April - Jini Service UI working group releases code to
community.
• June - JavaOne with over 33 Jini presentations and a
host of customer exhibits.
• June - 4th Community Summit the day before JavaOne.
What have we learned
about Jini Technology?
• As partners have begun to understand its
power, they are broadening its use.
• The market has taken the technology well
beyond Sun’s initial positioning
• Offering Jini Technology through Sun’s
Community Source License has
stimulated research and development into
what makes up a Jini service
Examples for Jini
Projects
•
•
•
•
FETISH
PABADIS
HeyWow
Siemens
Financials
• US Army
• Web Trader
• Car Manuf.
Ford, . . .
Other interesting
efforts
• WEBVillage
• JEMS
Ford, Visteon @
JavaOne
Driving directions
Jini in the Home
•
•
•
•
•
•
•
Jini fridge
Why Jini?
Jini dishwasher • Technologies
(and Protocols)
Jini waste bin
come
and
go
Jini light switch
•
Jini
can
bridge
Jini toaster?
technology
Basis for leasing
generations
Jini . . .
• Simple---no
external
knowledge of
service required
Expected Jini Market
Customers
2nd FCS
Telia/Oracle
FCS
service UI
1-3
beta
printers
?
?
US Army
Motorola OpenWings
alpha
prototype
?
?
?
storage
?
target size
Ultra60
desktop
laptop
embedded
large device
?
>1 E10000
exploring
?
E250
test drive
tiny device
Data missing
maturity
12-25
?
PersonalGenie
Echelon
3-12
>25
eko
E10000
connections:
Biztone
Informative
Prosyst
Jini Surrogate
Architecture
Jini/Y Surrogate Protocol
Lookup
Service
Jini/Y
Surrogate
Host
com.mycom.jini.ServiceA[B,C]
Jini
Services
com.mycom.
jini.ServiceA
Device could be repackaged
as a native Jini device
com.mycom.jini.ServiceA[B,C]
Jini
Clients
Jini/X
Surrogate
Host
Jini/X Surrogate Protocol
Jini Technology:
Innovation for the Future
•
Powerful, yet simple technology & licensing
– Enables mobile behavior and computing
•
Drives emerging networks of devices/services
– Catch system-on-a-chip wave
– No bloated fragile OS with complex configuration
•
Appropriate software for the networked age
– Platform independent via Java Virtual Machine
– Object-oriented via best language
– Allows dynamic systems that can easily evolve
Simply connect.
Quotes on Jini
“We've taken the time to make it
simple”
- Bill Joy
“Plug&Work instead of Universal
Plug&Play”
- Scott McNealy
Service Driven Network
Users
Services
Platform
TM
Solaris is .com grade platform
What You Need to Use
Jini Technology
May The Force (of
Solaris) Be With You . . .
Download