1 / 15

Enterprise Computing with Jini Technology

Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev. Enterprise Computing with Jini Technology. Sun: What is Jini ?. ( http://wwws.sun.com/software/jini/ ) An open architecture

alia
Download Presentation

Enterprise Computing with Jini Technology

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Mark Stang and Stephen Whinston Jan / Feb 2001, IT Pro presented by Alex Kotchnev Enterprise Computing with Jini Technology

  2. Sun: What is 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.

More Related