case study printservice -dynamically networked products, services, and applications -network...

18
Case Study PrintService - dynamically networked products, services, and applications - network computer / consoles (powerful processor, several MB of memory) ©2001 Jerome Colombie

Upload: emory-gaines

Post on 08-Jan-2018

214 views

Category:

Documents


0 download

DESCRIPTION

Infrastructure Requirements 2

TRANSCRIPT

Page 1: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Case Study PrintService

- dynamically networked products, services, and applications

- network computer / consoles (powerful processor, several MB of memory)

©2001 Jerome Colombie

Page 2: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Infrastructure Requirements

• Java 2 platform, Standard Edition (J2SE) (May 8, 2000)

• Jini is written purely in Java• JVM (powerful processor, several MB

of memory)• JRE 1.3 / JDK1.2.* (Solaris / Windows / Linux)

• network (TCP/IP)

Page 3: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Infrastructure Requirements 2

Page 4: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Software Requirements

• http-server (Class files, centralized, distributed)

• lookup-service reggie• rmid (Activation, power saving, activatable hardware with

standby) lease manager, lookup manager

Page 5: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Programming Requirements

• Discovery (Unicast / Multicast for maximum flexibility)

• Three Tiers (Thin-Client, dynamic GUI/driver, Print-Service)

• Thin-Client searches for specific Interface (Attributes: Address (vendor), Location, ServiceInfo, ServiceType, Status)

• GUI/driver (Transformation of Input-File, Printer-Selection)

• PrintService (Hardware abstraction, job-scheduling, billing data)

Page 6: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Prgramming Requirements 2

Client PrintManager (GUI / Driver)Printer

PrintService

Page 7: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Interface Requirements

• Client / Server must share common Interface

• Beans (get and set methods for attributes)getAttribute(name, value)setAttribute(name, value)

• Attributes (Entry[], service specific attributes: driver, supported file-formats or languages, security-levels)

Page 8: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Attributes

• Find Service (Printer, Movieplayer, PCMCIA-Cards, wordprocessor)

• Load Interface (Entry[], TypeInfo, ServiceInfo, Manufacturer)

• Find Driver for Service (Printer driver, plug-ins, application from specific vendor)

Page 9: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Interface PrintService.java

PrintService.java

import java.rmi.*;

public interface PrintService { public String print(String file) throws RemoteException; public boolean setAttributes(String room, String device,

String format, String copies, boolean flagboolean psnup) throws RemoteException;

}

Page 10: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Interface PrintManager.java

PrintManager.java

import java.rmi.*;

public interface PrintManager { public boolean start(String clientinfo) throws RemoteException;}

Page 11: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

What do we get?

• Dynamic loading of services without configuration or user-intervention

• the implementation of services is loaded dynamically, at runtime

• no administration (little) needed, ideal for dynamic environments

• A Jini Community is self-healing. (Printer failure)

Page 12: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Service registration

Client PrintManager (Driver)

PrintServicePrintService register

PrintManager register

LUS

Page 13: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Discovery / Loading

Client PrintManager (Driver)

LUS

1. Discover Print- Manager

2. Load PrintManager

(Local Execution)

Page 14: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Discovery / Printing

Client PrintManager (Driver)

LUS

1. Discover Print- Service

2. Print

Page 15: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Problems:

• Service Interfaces must be specified (a server is an implementation of a service)

• Interface is crucial. Both client and server know it.

• Jini Community (Developers) define set of common and ubiquitous interfaceshttp://www.jini.org/

• Generic Interface (Use object reflection to learn the interface of a service, extendible)

Page 16: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Areas of application

• large systems (scalability)• environments sensitive to security and

fail-safety (robustness)• distributed systems• Ad-hoc networks

Page 17: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Key Features:

• open standards based environment• Provides cross-platform compatibility,

safe network delivery, and smartcard to supercomputer scalability

• dynamically networked products, services, and applications that scale from device to the enterprise

• rapid and cost effective development

Page 18: Case Study PrintService -dynamically networked products, services, and applications -network computer / consoles (powerful processor, several MB of memory)

Official Case Study from Sun:

• Jini[tm] Network Technology Drafted for Service in the U.S. Army

• Tactical Operation Centers• control, execute, plan, and monitor battlefield maneuvers• introduce new computing and communications elements into

the network under battle conditions• independent of computer re-starts, device drivers, system re-

configurations, and extensive technical support• increased TOC mobility and functionality