Vous êtes sur la page 1sur 53

Jini

Technolog Simply connect. Or: The End To y Protocols As We Know


Them
Chief Technologist Europe, Middle East & Africa Member, Sun Vision Council Sun Microsystems, Inc. Hellmuth.Broda@Sun.COM

Dr. Hellmuth Broda

A Computing History
Disk Centered Microprocessor Computing Age Network Age Service Age

1950s

1980s Mid-1990s 2000

CPU Disk Disk-oriented OS Multi-chip CPUs Systems on a board Inexpensive disks Embedded devices Personal devices Network services Jini Communities Java Technology Services

History of Jini
Sun R&D project (Bill Joy, and
Jim Waldo with Ann Wollrath, theinventor/designer of RMI, Ken Arnold, the designer of JavaSpaces, and Bob Schleifer, designer of Lookup/Discovery).

Mid-1960s: David Gelernter (Yale) developed a programming language called LINDA

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

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
1. 2. 3. 4. 5. 6. Services not applications Wireless > Internet > PC markets eMarketPlaces Content => service => device Network centric development Focus on business logic and accessibility 7. Capacity planning is an oxymoron 8. Supply chain integration and auctioning as examples of new business model 9. Everything is mission critical 10.Simplicity!

The Six Webs

Traditional Voice activated

Entertainment

Pervasive computi Pocket Communicator eCommerce

The Traditional Web


computer keyboard screen

Pocket Communicator Web


follows you around in your pocket personal communicator system on glass my: position, profile, surrounding, context cell phone? clipping?

The Entertainment Web


sit on your couch be entertained ambient intelligence follow-me system story telling video games mobile music

The Voice Activated Web


voice activation agents, bots studs always on contiguous real time

The eCommerce Web


business to business business to consumer machines talking to machines

The Pervasive Computing Web


machines talking to machines Jini, federations wired or wireless electric, processor, memory communication free processor free memory free

The big transition


From our product centric industry to a service centric industry Products (and content?) will metamorphose into services Light bulb -> illumination lease

Big Questions
How rich does the set of networksupported 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

Jini Technology Enables You to Simply Introduces Simple, Powerful New Concepts 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

Simply Connect to Anyone, Anywhere, Anytime on Anything

Small Office

Email Voice Financial Telephony Entertainment

Home

Services
Corporate Data Center

Mobile

Jini Technology Signals the Creates New Easier StartOpportunities Anwith theWay to Interact of the ServiceWorld Business Digital Age
Device Manufactures Consumers
Phone VCR TV Storage, peripherals, PDAs, CPUs, etc.

Create and Deploy New Applications

A Simple Way to Develop & Deploy New Services

Developers

Service Providers

Tools Management software

Search Engines Portals Telecommunications

The Philosophy Behind Jini Technology


Simplicity: Less is more
Small code base No complicated OS Everything is an object Use RMI to extend objects to remote resources

Self-healing networks Community

System restores state after failures Resilience Easy access to Jini technology Anyone can join the Jini community

Jini Technology Principlesan object Everything is


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, dont require a Java Virtual Machine Services available on demand

Jini Technology
Let objects find each other,... add simple APIs for remote objects and basic distributed computing,... then everything else is a service.

Infrastructure
Java Virtual Machine RMI Java Security

Programming Model
Java APIs JavaBeans Components etc...

Services
JNDI Enterprise JavaBeans Components JTS etc...

Base Java Technology

Java + Jini Technology

Discovery & Join Leasing Distributed Transactions Security Distributed Events Lookup Service

Printing Transaction Manager JavaSpaces Service

Jini Technology Infrastructure:


Discovery & Join
Innovative Solution for Finding the Place to Start in an Unknown Network

Discover (find) and join a community of Jini technology-enabled devices Advertise its capabilities Provide any required software and attributes no drivers required Requires only one Java Virtual Machine on the network
Send out a multicast packet with reference to yourself Receive a RMI reference to the Lookup Service

Jini Technology Infrastructure: Lookup


Service
Binds the Jini Community Together

Repository of available services Stores service as extensible set of Java application objects
ID, interface, GUIs, attributes, drivers...

Service objects downloaded as required May be federated with other lookup services Lookup Service interface
Registration, Access, Search, Removal

Jini Technology Infrastructure: Moving Code


Uses Java Technology Remote Method Invocation (RMI)

Basic communication mechanism between components in a Jini system Secure ability to find, activate, and garbage collect objects Allows data as well as code to be passed from object to object

Jini Technology Programming Model:


Leasing
Provides Method of Managing Resources in a Networked Environment

Protocol for managing resources using a renewable, duration based model Contract between objects Resources can be shared or nonshared

Jini Technology Programming Model:


Transactions
Enables Distributed Entities to Cooperate

Designed for distributed object conversations Light weight, object-oriented Supports subset levels of ACID properties Supports nested transactions Uses leasing protocol

Jini Technology Programming Model:


Distributed Events
Addresses Peculiarities of Messages in the Networked Environment

Extends Java platform event model to allow it to work in a distributed network Register interest, receive notification Allows for easy use of event managers Can use numerous distributed delivery models: Push, pull, filter ... Uses leasing protocol

Jini Technology Infrastructure: Distributed


Security
Builds on the Java Virtual Machine

Jini distributed security adds notion of principal and access control lists Jini services are accessed on behalf of a principle which traces back to a particular user/device Access to a service depends on the access control list associated with that service

Jini Technology Services:

JavaSpaces Technology

May be Used to Implement a Large Number of Distributed Computing Patterns

Shared, dynamic memory for networked Java Virtual Machines Helps federate the network of Java Virtual Machines Provides simple, dynamic object persistence Facilitates alternative messaging patterns
async, store and forward, routed, filtered... Writing, finding, reading, removing, event

Service interface of JavaSpaces technology

Jini, how does it work?


Request a print service. I want to print I offer print services! Register your service (Java API) at the Jini Lookup Service. Client uses print services using code from manufacturer.

Service Request

Print Service

Java Interface Code


Jini Lookup Service passes copy of print interface code to requestor.

Java Interface Code


Jini Lookup Service stores copy of Java interface code for print services.

Java Interface Code

Jini Lookup Service

Jini, how does it work?


Request the service.
I offer image services! Register your service (Java API) at the Jini Lookup Service. Client uses services using code from manufacturer.

Show me whats on.

Service Request

Image Service

Java Interface Code


Jini Lookup Service passes copy of interface code to requestor.

Java Interface Code


Jini Lookup Service stores copy of Java interface code for services.

Java Interface Code

Jini Lookup Service

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

Where Will We See Jini In the Future?


desktop, portable computers printers, scanners WebCams disk drives DVD, CD players VCRs, TVs 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 Echelon Phoenix Encanto Technologies Ericsson Quantum Funai Samsung (Home IBM Wide Web) Inprise Corp. Seagate Kinkos Corp. Seiko Epson Kodak Sharp Metroworks Sony (HAVi) (Code Warrior--SW Symbian Palm Computing dev) Motorola Tatung Novell Toshiba Nokia Xerox (remote doc Oki Electric services) Philips (HAVi)

How are we doing with Jini Technology?

January 25, 1999 - Jini is officially launched and the technology is available for download March - Sun hosts the first Community event: the Printer Group March - jini.org goes live April - Sun hosts the second Community meeting: the Storage Group May - Sun hosts the first full Community Summit. Over 70 companies participate June - Suns Professional Services launch a full suite of Jini technology service offerings.

How are we doing?


June - J2EE incorporates Jini as a complementary technology. June - Addison-Wesley publishes The Jini Specification & The JavaSpaces Principles, Patterns, and Practice June - JavaOne -- Eight Jini partners exhibit products or concepts. June - Jini Technology Group releases JavaSpaces 1.0, Jini 1.1 Helper Utilities and Services Draft Specification and RMI Security Draft Specification July - the US Army announces they are implementing Jini technology. August - Prentice Hall publishes Core Jini October - Sun hosted the second full Community Meeting. November - Released Jini 1.0.1, JavaSpaces 1.0.1, TCK 1.0B, Jini 1.1Alpha

How are we doing?


February, 2000 - Motorola announces plans for Jini in Command and Control. March - OReily publishes Jini in a Nutshell March - 3rd Community Summit held in California. March - The printer working group agrees to final draft of the Printer API specification April - eko Medical Systems announces products based on Jini. April - 50,000+ developers are using Jini. April - Jini Service UI working group releases code to community. June - JavaOne with over 33 Jini presentations and a host of customer exhibits. June - 4th Community Summit the day before JavaOne.

What have we learned about Jini Technology?


As partners have begun to understand its power, they are broadening its use. The market has taken the technology well beyond Suns initial positioning Offering Jini Technology through Suns Community Source License has stimulated research and development into what makes up a

Examples for Jini Projects


FETISH PABADIS HeyWow Siemens Financials US Army Web Trader Car Manuf. Ford, . . . Other interesting efforts WEBVillage JEMS

Ford, Visteon @ JavaOne


Driving directions

Jini in the Home


Jini fridge Why Jini? Jini dishwasher Technologies (and Jini waste bin Protocols) Jini light come and go switch Jini can bridge Jini toaster? technology Basis for generations leasing Simple---no Jini . . . external knowledge of

Customers
2nd FCS
connections: 1-3 3-12 12-25 >25

Expected Jini Market

FCS
Echelon

Telia/Oracle service UI eko

Biztone Informative Prosyst ? PersonalGenie

maturi ty

beta

printers

US Army Motorola OpenWings

?Data missing

alpha

prototype

test drive exploring tiny device

?
large device embedded laptop

? ?

?
storage

target

>1 E10000

desktop

E10000

Ultra60

E250

Jini Surrogate Architecture


Lookup Service Jini/Y Surrogate Host

Jini/Y Surrogate Protocol

com.mycom.jini.ServiceA[B,C] Jini Services com.mycom. jini.ServiceA Device could be repackaged as a native Jini device com.mycom.jini.ServiceA[B,C] Jini Clients Jini/X Surrogate Host

Jini/X Surrogate Protocol

Jini Technology:
Innovation for the Future
Powerful, yet simple technology & licensing Enables mobile behavior and computing Drives emerging networks of devices/services Catch system-on-a-chip wave No bloated fragile OS with complex configuration Appropriate software for the networked age Platform independent via Java Virtual Machine Object-oriented via best language Allows dynamic systems that can easily evolve

Simply connect.

Quotes on Jini

We've taken the time to make it simple


- of Plug&Work insteadBill Universal Joy Plug&Play
- Scott McNealy

Service Driven Network Users

Services

Platform Solaris is .com grade platform


TM

What You Need to Use Jini Technology

May The Force (of Solaris) Be With You . . .

Vous aimerez peut-être aussi