A Java Implementation of A Portable Desktop Manager PDF
A Java Implementation of A Portable Desktop Manager PDF
A Java Implementation of A Portable Desktop Manager PDF
1998
Suggested Citation
Griswold, Scott J., "A Java Implementation of a Portable Desktop Manager" (1998). UNF Graduate Theses and Dissertations. 95.
https://digitalcommons.unf.edu/etd/95
This Master's Thesis is brought to you for free and open access by the
Student Scholarship at UNF Digital Commons. It has been accepted for
inclusion in UNF Graduate Theses and Dissertations by an authorized
administrator of UNF Digital Commons. For more information, please
contact Digital Projects.
© 1998 All Rights Reserved
A JAVA IMPLEMENTATION OF A PORTABLE DESKTOP MANAGER
by
Scott J. Griswold
April, 1998
The thesis "A Java Implementation of a Portable Desktop
Manager" submitted by Scott J. Griswold in partial
fulfillment of the requirements for the degree of Master of
Science in Computer and Information Sciences has been
ee Date
APpr Signature Deleted
E Signature Deleted
Signature Deleted
Dr. William J. Wilson
Dean of Graduate Studies
- ii -
ACKNOWLEDGEMENT
and support.
- iii -
CONTENTS
List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Chapter 1: Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Objective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1 Portability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4 Standardization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Chapter 5: Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
- iv -
Appendix A: WIMP Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Vita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
- v -
FIGURES
- vi -
ABSTRACT
of heterogeneous machines.
computer platforms.
- vii -
Chapter 1
INTRODUCTION
of research.
- 1 -
1.1 Problem Review
purchased.
- 2 -
computers. Often these programs have to be modified or
ported.
- 3 -
a desktop manager in Java requires the identification and
1.2 Objective
modification.
- 4 -
Chapter 2
BACKGROUND RESEARCH
2.1 Portability
- 5 -
There are four major areas that may pose impediments to
- 6 -
Another consideration of porting software is the operating
- 7 -
operating systems usually provide similar features, but in
- 8 -
machines at that time. This introduced a new paradigm of
- 9 -
[Evans96]. A Virtual Window, a grid composed of mUltiple
- 10 -
operation. This user control contrasts with procedural
completion.
computers.
system GUI that ran on top of DOS. This was later replaced
by their Windows 95 and NT systems which were designed as
- 11 -
either with a GUI utility program started from the desktop
- 12 -
Porting these programs requires recompiling on the host
are available for UNIX systems. Many of these are free while
2.4 Standardization
- 13 -
example of the latter. The API (Application Programming
continually created.
- 14 -
Motif as the standard interface for UNIX [Husain96, page
- IS -
into Java byte code that is interpreted by a JVM. Java's
JVM. This virtual machine isolates the byte code from the
Java Compiler
Java Interpreter
Operating System
Hardware
- 16 -
The Java Language is a high-level language providing
- 17 -
(API) of the language. These classes are required along with
the JVM to interpret the byte code. The classes are bundled
into packages and include AWT classes for windowing and GUI
- 18 -
document by Tim Lindholm [Lindholm96]. Sun offers
resides.
Doing this requires porting the C code along with the Java
- 19 -
Windows are commonly found wherever the hardware supports a
these issues.
because the local code also has to be ported along with the
Java code. While the Java code can be ported without any
available wherever the JVM runs, but must provide all other
program.
- 20 -
Currently no approved standards exist for the Java platform.
- 21 -
Chapter 3
PROGRAM REQUIREMENTS
- 22 -
• Be portable to a JVM running on a Macintosh, Microsoft,
screen to be displayed.
application classes.
other icons.
- 23 -
Java provides many features and classes that support the
Applets.
- 24 -
being developed, but this manager will only control programs
requirements.
- 25 -
manager will try to hide this by maximizing its window to
requirements.
The clock requires knowing the date for which Java provides
- 26 -
A file manager program provides access to the file system
this, but Macintosh does not. While this is not the same as
- 27 -
The Tic Tac Toe game is provided as a program example with
- 28 -
Chapter 4
design.
program design the Java AWT underwent major changes when the
term used for GUI entities like buttons, labels, and text
- 29 -
boxes, being implemented using the widget of the operating
system underlying the JVM. Although the Java code would run
did not compromise the "run anywhere" motto, but it did show
- 30 -
programs no longer have to be tied to the native operating
system where they run. Swing GUI components can Look and
- 31 -
Figure 4: Desktop Manager with Java Look
system.
- 32 -
to be presented in different formats [Sun97B]. The File
Figure 5.
objects.
Java uses the term frame for what has been referred to as a
- 33 -
Requests to change state
Controls response to
events
Controls graphical
presentation
Widget
internal frames.
- 34 -
overlapping window environment this could happen, if another
- 35 -
associated with that event for every object in the list.
- 36 -
Swing classes introduced a manager class, based on the MVC
event manager
method
window
calls to
movement and
draw
resizing events
changes on
virtual
window
- 37 -
(not an Applet) requires starting a JVM that then loads a
different threads.
The desktop manager is the first class loaded after the JVM
the system.
- 38 -
4.4 Remote Object Access
handles all these using Java code. Sockets are used for
required, since both the local and remote objects are on the
- 39 -
only allowing access to objects from locations approved by
....
remote method request
,Ir
"
....
Stub
..... serialized ob·ect
Skeleton
..... Server Object
with method
- 40 -
4.5 Operating System Access
Figure 8.
Interpreter
Operating System
and version of the OS, Java class path and directory, date,
- 41 -
they are available wherever the JVM exists. The clock
previously.
- 42 -
Java supports running of other language programs, like C and
portable program.
- 43 -
Chapter 5
CONCLUSION
- 44 -
Determining the program requirements before choosing the
This design coriceded that the desktop manager would only run
where Sun has already ported the JVM and only use hardware
- 45 -
problem prevented the program from operating, but they did
display.
- 46 -
look and feel, accessibility, and remote program execution.
the newer versions, but the newer classes are not always
compile with the newer class libraries. The byte code will
features.
- 47 -
Sun Microsystems, Inc. developed the Java technology and
classes that are supplied with the JVM. As demand for Java
implementations.
the Java byte code into native machine code, thus bypassing
possibility that not all JVMs will comply with the standard
manager used only Sun's JVMs and did not experience any
problems.
- 48 -
computer." The network computer is one where all the
will be needed for the network computer that may not contain
- 49 -
REFERENCES
[Armstrong98]
Armstrong, E., "HotSpot: A new breed of virtual
machines," Java World, March, 1998,
http://www.javaworld.com/javaworld/jw-03-1998/jw-03-
hotspot.html.
[Campione97]
Campione, M. and K. Walrath, The Java Tutorial, 1997,
http://java.sun.com/docs/books/tutorial/toc.html.
[Core197]
Corel Corporation, "Corel Office for Java Wins Its First
Award," May, 1997,
http://www.corel.com/news/1997/may/GONEcomtech97.htm
[Cox90]
Cox, B., "There Is a Silver Bullet," Byte, October,
1990, pp. 209-218.
[Evans96]
Evans, S., "Common Desktop Environment," Sun
Microsystems Inc., 1996,
http://www.sun.com/solaris/cde/cde-wpaper1.html.
[Flanagan97]
Flanagan, D., Java in a Nutshell, Second Edition,
O'Reilly and Associates, California, 1997.
[Friesenhahn97]
Friesenhahn, R., "Autoconf makes for Portable Software,"
Byte, November, 1997,
http://www.byte.com/art/9711/sec4/art2.html.
[Gosling95]
Gosling, J. and H. McGilton, "The Java Language
Environment: A White Paper," Sun Microsystems, Inc.,
1995, http://java.sun.com/doc/index.html.
[Hargh86]
Hargh, R. and L. Radford, Macintosh Logo, Wiley and Sons
Inc., New York, 1986.
- 50 -
[Hopgood88 ]
Hopgood, D., "Window Interfaces: A Taxonomy," IEEE
Computer Graphics and Applications, 8, 5 (September,
1988), pp. 65-84.
[Husain96]
Husain, K. and T. Parker, et al., Linux Unleashed Second
Edition, Sams Publishing, Indiana, 1996.
[Jones8 9]
Jones, 0., Introduction to the X Window System,
Prentice-Hall, New Jersey, 1989.
[King94 ]
King, A., Inside Windows 95, Microsoft Press,
Washington, 1994.
[Lecarme89]
Lecarme, 0., M. P. Gart, and M. Gart, Software
Portability, McGraw-Hill, California, 1989.
[Lee93 ]
Lee, G., Object-Oriented Application Development,
Prentice-Hall Inc., New Jersey, 1993.
[Lindholm96]
Lindholm, T. and F. Yellin, "The Java Virtual Machine
Specification," 1996
http://sun.java.com/docs/index.html.
[McManis97]
McManis, C., "The basics of Java class loaders," Java
World, October, 1997,
http://www.javaworld.com/javaworld/jw-10-1997/jw-10-
indepth.html.
[Morgan97]
Morgan, B. "COBRA meets Java," Java World, October,
1997, http://www.javaworld.com/javaworld/jw-10-1997/jw-
10-corbajava.html.
[Rowley96]
Rowley, D., "The business of Application Portability,"
StandardView 4, 2 (June, 1996), pp. 80-87.
[Rubin88]
Rubin, T., User Interface Design for Computer Systems,
Ellis Horwood Limited, England, 1988.
[Sun97]
Sun Microsystems, Inc., "Sun Sues Microsoft for Breach
of Java Contract," October, 1997,
http://java.sun.com/pr/1997/oct/pr971007.html
- 51 -
[Sun97A]
Sun Microsystems, Inc., "International Standards
Organization Members Approve Sun's PAS Application,"
November, 1997,
http://java.sun.com/pr/1997/nov/pr971117.html
[Sun97B]
Sun Microsystems, Inc., "Swing Architecture (Pre-beta
Material) ," Version 0.5, 1997,
http://www.java.sun.com/jfc/swinf-0.6/doc/overview2.html
[Sun97C]
Sun Microsystems, Inc., "JDK 1.1.5 Documentation," 1997,
http://java.sun.com/java/jdk/1.1.5/docs/index.html.
[Sun98]
Sun Microsystems, Inc., "100% Pure Java Program"
http://java.sun.com/100percent/cert.html
[Tanner96]
Tanner, P., "Software Portability: Still an Open
Issue?," StandardView 4, 2 (June, 1996), pp. 88-93.
[Yourdon94 ]
Yourdon, E., Object-Oriented Systems Design - An
Integrated Approach, Prentice-Hall Inc., 1994, pp. 269-
270.
- 52 -
APPENDIX A
WIMP TERMINOLOGY
- 53 -
Pointers: A method for selecting objects on the monitor. A
cursor identifies the pointer's location on the
monitor.
- 54 -
Appendix B
package java.applet
package java.awt
package java.awt.datatransfer
package java.awt.event
package java.awt.image
package java.beans
package java.io
package java. lang
package java.lang.reflect
package java. math
package java.net
package java.rmi
package java.rmi.dgc
package java.rmi.registry
package java.rmi.server
package java. security
package java.security.acl
package java. security. interfaces
package java.sql
package java. text
package java.util
package java.util.zip
- 55 -
APPENDIX C
- 56
- Native-To-ASCII Converter (native2ascii)
Converts a native encoding file to an aSCll file
that includes the \udddd Unicode notation.
- 57 -
APPENDIX D
The source code and compiled byte code for the desktop
- 58 -
VITA
- 59 -