This site uses cookies to deliver our services and to show you relevant ads and presentations. By clicking on "Accept", you acknowledge that you have read and understand our Cookie Policy , Privacy Policy , and our Terms of Use.
X

Download Jini Technology PowerPoint Presentation


Login   OR  Register
X


Iframe embed code :



Presentation url :

X

Description :

View and free download Jini Technology powerpoint presentation which is uploaded by search an active user in belonging ppt presentation Science & Technology category.

Tags :

Jini Technology

Home / Science & Technology / Science & Technology Presentations / Jini Technology PowerPoint Presentation

Jini Technology PowerPoint Presentation

Ppt Presentation Embed Code   Zoom Ppt Presentation

About This Presentation


Description : View and free download Jini Technology powerpoint presentation which is uploaded by search an active... Read More

Tags : Jini Technology

Published on : Feb 10, 2014
Views : 543 | Downloads : 0


Download Now

Share on Social Media

             

PowerPoint is the world's most popular presentation software which can let you create professional Jini Technology powerpoint presentation easily and in no time. This helps you give your presentation on Jini Technology in a conference, a school lecture, a business proposal, in a webinar and business and professional representations.

The uploader spent his/her valuable time to create this Jini Technology powerpoint presentation slides, to share his/her useful content with the world. This ppt presentation uploaded by onlinesearch in this Science & Technology category is available for free download,and can be used according to your industries like finance, marketing, education, health and many more.

SlidesFinder.com provides a platform to marketers, presenters and educationists along with being the preferred search engine for professional PowerPoint presentations on the Internet to upload their Jini Technology ppt presentation slides to help them BUILD THEIR CROWD!!

User Presentation
Related Presentation
Free PowerPoint Templates
Slide 1 - 2 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 Jini™ Technology Simply connect.
Slide 2 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000
Slide 3 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html)
Slide 4 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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).
Slide 5 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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
Slide 6 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity!
Slide 7 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated
Slide 8 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated The Traditional Web computer keyboard screen
Slide 9 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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?
Slide 10 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 11 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 12 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 13 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 14 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 15 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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?
Slide 16 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 17 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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.
Slide 18 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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
Slide 19 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts
Slide 20 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile
Slide 21 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software
Slide 22 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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
Slide 23 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles
Slide 24 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service.
Slide 25 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join
Slide 26 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service
Slide 27 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI)
Slide 28 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing
Slide 29 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions
Slide 30 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events
Slide 31 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security
Slide 32 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology
Slide 33 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services!
Slide 34 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code
Slide 35 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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
Slide 36 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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
Slide 37 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 . . .
Slide 38 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services)
Slide 39 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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.
Slide 40 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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?
Slide 41 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing?
Slide 42 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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
Slide 43 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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
Slide 44 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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
Slide 45 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required
Slide 46 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings
Slide 47 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device
Slide 48 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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.
Slide 49 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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
Slide 50 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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 Platform Services Users Solaris TM is .com grade platform
Slide 51 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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 Platform Services Users Solaris TM is .com grade platform What You Need to Use Jini Technology
Slide 52 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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 Platform Services Users Solaris TM is .com grade platform What You Need to Use Jini Technology May The Force (of Solaris) Be With You . . .
Slide 53 - 2 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 Jini™ Technology Simply connect. A Computing History Disk Centered Computing Microprocessor Age Network Age CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Service Age 1950’s 1980’s Mid-1990’s Jini Communities Java™ Technology Services 2000 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.html) 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 Everything is mission critical Simplicity! The Six Webs Entertainment Traditional eCommerce Pervasive computing Pocket Communicator Voice activated 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 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 Introduces Simple, Powerful New Concepts Simply Connect to Anyone, Anywhere, Anytime on Anything Services Home Small Office Email Voice Financial Telephony Entertainment Corporate Data Center Mobile Jini Technology Signals the Start of the Service Age Creates New Business Opportunities Device Manufactures Storage, peripherals, PDAs, CPUs, etc. An Easier Way to Interact with the Digital World Consumers Phone VCR TV Service Providers Search Engines Portals Telecommunications A Simple Way to Develop & Deploy New Services Create and Deploy New Applications Developers Tools Management software 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 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 Principles Jini Technology Java + Jini Technology Infrastructure Programming Model Services Java APIs JavaBeans Components etc... Discovery & Join Distributed Security Lookup Service Java Virtual Machine RMI Java Security JNDI Enterprise JavaBeans Components JTS etc... Leasing Transactions Distributed Events Printing Transaction Manager JavaSpaces™ Service Base Java Technology Let objects find each other,... …add simple APIs for remote objects and basic distributed computing,... …then everything else is a service. 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 Innovative Solution for Finding the Place to Start in an Unknown Network Jini Technology Infrastructure: Discovery & Join 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 Binds the Jini Community Together Jini Technology Infrastructure: Lookup Service 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 Infrastructure: Moving Code Uses Java Technology Remote Method Invocation (RMI) Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared Provides Method of Managing Resources in a Networked Environment Jini Technology Programming Model: Leasing Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol Enables Distributed Entities to Cooperate Jini Technology Programming Model: Transactions 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 Addresses Peculiarities of Messages in the Networked Environment Jini Technology Programming Model: Distributed Events 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 Builds on the Java Virtual Machine Jini Technology Infrastructure: Distributed Security 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 May be Used to Implement a Large Number of Distributed Computing Patterns Jini Technology Services: JavaSpaces™ Technology Jini™, how does it work? Java Interface Code Java Interface Code Java Interface Code Service Request Print Service Œ    Ž Jini Lookup Service I want to print Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for print services. Request a print service. Jini Lookup Service passes copy of print interface code to requestor. Client uses print services using code from manufacturer. I offer print services! Jini™, how does it work? Java Interface Code Œ   Ž Jini Lookup Service I offer image services! Register your service (Java API) at the Jini Lookup Service. Jini Lookup Service stores copy of Java interface code for services. Request the service. Client uses services using code from manufacturer. Image Service Show me what’s on. Java Interface Code  Jini Lookup Service passes copy of interface code to requestor. Service Request Java Interface Code 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 Encanto Ericsson Funai IBM Inprise Corp. Kinkos Corp. Kodak Metroworks (Code Warrior--SW dev) Motorola Novell Nokia Oki Electric Philips (HAVi) Phoenix Technologies Quantum Samsung (“Home Wide Web”) Seagate Seiko Epson Sharp Sony (HAVi) Symbian Palm Computing Tatung Toshiba Xerox (remote doc services) 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. 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. How are we doing? 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 Jini dishwasher Jini waste bin Jini light switch Jini toaster? Basis for leasing Jini . . . Why Jini? Technologies (and Protocols) come and go Jini can bridge technology generations Simple---no external knowledge of service required ? maturity target size exploring 2nd FCS FCS beta alpha prototype test drive tiny device large device embedded laptop desktop Ultra60 E250 E10000 >1 E10000 1-3 3-12 12-25 service UI storage printers Biztone Echelon ? Data missing Informative ? ? ? ? ? PersonalGenie Prosyst Telia/Oracle US Army ? ? connections: Expected Jini Market Customers >25 eko Motorola OpenWings Jini Surrogate Architecture Lookup Service Jini Services Jini Clients Jini/Y Surrogate Host Jini/X Surrogate Host Jini/X Surrogate Protocol Jini/Y Surrogate Protocol com.mycom.jini.ServiceA[B,C] com.mycom.jini.ServiceA[B,C] com.mycom. jini.ServiceA Device could be repackaged as a native Jini device 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 Platform Services Users Solaris TM is .com grade platform What You Need to Use Jini Technology May The Force (of Solaris) Be With You . . .