Download presentation
Presentation is loading. Please wait.
Published byFelicity Copeland Modified over 8 years ago
1
Enterprise Computing with Jini Technology Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev
2
Sun: What is Jini ? (http://wwws.sun.com/software/jini/)http://wwws.sun.com/software/jini/ ● An open architecture ● Enables developers to create network centric services (implemented in hardware or software) ● Highly adaptive to change. Jini technology can be used to build adaptive networks that are scalable, evolvable and flexible as typically required in dynamic computing environments.
3
Sun : Jini at a Glance ● Unique Qualities – Code Mobility: Extends the Java programming model to the network; i.e., moves data and executables via a Java object over a network – Protocol agnostic: Provides the ultimate in design flexibility – Leasing: Enables network self-healing and self-configuration; i.e. improving fault tolerance ● Unique Benefits – Resiliency: Networks readily adapt to changes in the computing environment – Integration: Allows fast, easy incorporation of legacy, current, and future network components – Licensing: Jini network technology is available free of charge with an evergreen license
4
Jini : Traditional View Created for networking embedded systems: ● For devices with microprocessors doing a specific task ● Self Configuration ● Self Management ● Self Healing Although these are exactly the qualities that make Jini attractive for embedded systems, network plug&play would be useful for the enterprise as well.
5
Jini Features: Reliability Definition: how well a device or network performs in the presence of disturbances. ● Handles changes in the network because it expects devices to randomly move in and out of the network. ● Parallels the way machines communicate over the Internet: multiple routes & path hiding. ● Transparently discovers alternate servers when one goes down.
6
Jini Features: Scalability ● Definition: a system is scalable if the overhead required to add more functionality is less thatn the benefit that functionality provides. ● Adding Jini services to a system gives clients more choices in the devices they can communicate with. ● No centralized control ● Dynamically discovers services needed for processing client requests.
7
Jini Features: Maintenance and Administration ● The network location is hidden from the client (Jini discovers other components of the application on its own). ● “Machine Gone Down” problem – offline backup machine – hot failover backup – Jini solution
8
Jini Features: Security ● Security model : Similar to the J2EE model. ● No viruses: before code can move to another machine, it must satisfy the client's security policy. ● Rogue services: hijacking clients and providing invalid information
9
How Jini works ● Dependencies : runs on top of a JVM (based and dependent on Java), will work in any IP- based network. ● Jini Federations / communities – Jini client joins a federations to gain access to services, Jini services join a federation to offer services. – appearing and disappearing based on demand for Jini services.
10
How Jini Works : Service Based Model ● Service: an entity that users can access over a network (storage device, software component, printer, home stereo, etc). ● Services advertised and found through a lookup server. – Service discovers lookup server through multicast discovery – Service registers with lookup server using join. – Client discovers lookup server through multicast discovery – Client performs lookup directly to known lookup server and receives server location. – Client directly accesses the server and executes code on the server. ● The lookup service mantains maps of services and attributes; clients request services with specific attributes.
11
How it works: Finding a Lookup Server ● Multicast discovery message: sending a message to every Jini device within a certain number of hops. ● Lookup servers respond with their addresses to the Jini client. ● Client uses the join protocol to become a part of the federation. ● Services may join multiple lookup servers for increased reliability.
12
How It Works: Transferring Executable Code ● Similar to applets in a browser; however, only the code for the interface the client needs to communicate with the server. ● In terms of network traffic, the system essentially transfers the requests and the results of whatever the server executes. ● The server implements a specific interface only: no implementation details are mandated by the protocol. ● Service Leases: – a guarantee that the client may access the resource for a specific length of time. – obtaining & releasing – exclusive and non-exclusive. ● Transactions: maintaining data consistency. ● Event notifications: notifying listeners of certain events.
13
How It Works : JavaSpaces Service. ● Definition : stores and maintains a database of Java objects. – Not a replacement for relational or OO databases. – Allows storage and retrieval of objects via standard lookup. ● No primary keys or table creation required: lookup done on a name and a number of attributes. ● CRUD operations: – write: create and update functions – read: get a copy of an object – take: combined read and delete. ● Notify: letting a program know when an object that matches some criteria has been written into the space.
14
How It Works : JavaSpaces Service. ● Object Locking (take operation) – when an object is taken, it becomes unavailable – take operation has a transaction: if it fails or is rolled back, the object is released. ● Examples: – Sharable Whiteboard: applications write sets, other programs can share into the space. – Compute Server: ● a master server creates objects ● slave processes take objects, perform calculations, return to into the space.
15
Enterprise Application Example: A License Server. ● Definition: ensures that no more than the legally allowed copies are in use at one time. ● License server: how it works. ● Traditional Licence Server Problems: – if a user has the application open, it doesn't mean it's being used. – sometimes license reservations are never returned (e.g. machine crash) – client needs additional configuration with a license server with a known location. – application functionality is very dependent on the operation of the single license server. ● Jini License Server – the number of available licenses represented by cookies : leasing cookies for a set period of time (solves first two problems) – if a Jini client loses connection to one server, it can look for a connection to another such service. – several instances of the Jini server can communicate with one another about the status of available licenses. – moving a server to another address allows the clients to continue working with the same server (via lookup) ● Downside: – additional network traffic.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.