
Fall 1997
A Newsletter Enabling Information Technologies by the IRMC IT Department
- Whats Inside -
Data Warehousing: A Knowledge Worker's Dream Come True These warehouses don't contain just data they contain information!
Web DRIVir Takes Shape IRMC's move to a 3-D World
Continuous Speech Recognition Arrives at IRMC Learn about this alternative to the keyboard.
Whither Artificial Intelligence New directions for this key computer concept.
Everything You Wanted to Know about Java But Didnt Know What to Ask Learn about this hot technology.
Data Warehousing: A Knowledge Workers Dream Come True
Despite its name, data warehouses do not involve the storage of huge masses of data at all. It really represents the process of managing a database containing extractions from different operational databases. Functionally, it provides ready access to key information about an enterprise to support decision-making. People who need data warehouses are the executives, managers, power analysts and, most of all, knowledge workers. These individuals have found that traditional transaction-based operational systems are inadequate in content, accessibility, form, performance and availability. Warehouses are capable of bringing together that information so that it can be used to make key business decisions in a timely manner.
Bill Inmon, the architect of the data warehouse, defines a data warehouse as an orderly and accessible repository of data that is:
The diagram below illustrates the key components of a data warehousing process. On the left are the operational databases from which appropriate data is extracted, transformed and scrubbed. Next it is placed in a database, which is often a relational database management system, but in the future it will probably be a "object-relational" database management system which supports multimedia objects.

A repository is used to track the data stored in the database, what the data means, how to access the data, and who maintains the data. This repository is often used to synchronize the data, establish data standards, support data integration efforts.
Data marts or infomarts are "mini-data warehouses" focused on the specific needs of a department as either an extension or an alternative to an enterprisewide data warehouse. Advantages include less time to build, costs less and is less complex. However, a key issue is lack of linkage to an enterprise data warehouse could create compatibility problems.
The information is made available to the users through client/server architectures including the Internet.
On-line analytical processing (OLAP) is a term used to describe one approach toward processing information from warehousing. This approach is ad hoc in nature, requiring access to data representing the organization's state at a specific time. It has been said that OLAP helps an organization decide what to do, whereas, on-line transaction processing (OLTP) helps a company do it since it directly supports business operations.
OLAP is characterized as supporting business decisionmaking, measures effectiveness, primarily supports unstructured, ad hoc access, involves data analysis, and used by managers and analysts. OLTP supports business operations, determines efficiency, involves structured, repetitive access, is transaction driven and used by operational and administrative users.
Another type of analysis involving data from the warehouse is data mining. It is the process of discovering new correlations, patterns and trends by sifting through large amounts of data. It is based on pattern recognition technologies and statistical and mathematical techniques. Data mining tools often based on artificial intelligence techniques. These tools extract previously unknown, actionable information from the data in data warehouses.
The following are government applications of data warehouses:
For more information about data warehousing and other data-related applications, visit the following web site: http://members.aol.com/lpang10473/data.htm . This site also lists the references used in preparing this article.
By Les Pang

Web DRIViR Takes Shape
The IRM Colleges move to a three dimensional (3D) world on the world wide web is beginning to take shape. A 3D mockup of Marshall Halls main atrium and room 104 Marshall Hall (DRIViR) was demonstrated to an Information Technology Board at AFCEA by Dean Jerome Smith on Tuesday, September 16th.
Using Superscape Corporations software tool called VRT, the 3D space was created by Marwan Jamal, a doctoral student on assignment to NDU from George Washington University. When completed the 3D world will be accessible through Superscapes "Virtual World Wide Web (VWWW)." Over 340 worlds now exist on the VWWW. To view the worlds you must first download a free browser add-on called VISCAPE 3D. The add-on and a view of the worlds are available at:
Future plans for Web DRIViR include incorporating multi-user communication inside the room and enabling the use of graphics presentations such as Powerpoint on the front screens. Both these capabilities are already being utilized at other VWWW sites.
Contact Dr. Steve Knode (685-2070) or Dr. John Saunders (685-2078) for further information.
By John Saunders
Continuous Speech Recognition Software Arrives at IRMC
This announcement was not typed into a computer, it was dictated using Dragon Systems NaturallySpeaking. This software is beginning to become truly useful. The IRM College has had experience using automatic speech recognition software for about four years. Initially, software required special hardware and additional equipment. As multimedia equipment became more standardized then speech recognition solutions became software- only solutions. As of August of 1997 speech recognition software overcame the barrier of having to speech (sic) in isolated words.
The newest version of speech recognition software is a significant improvement over earlier versions. But improvement is still needed before the software will become common at the desktop. First, the software still needs to be trained to the voice and mannerisms of the person who will be using it. Second, the software is a tremendous burden for a Pentium computer operating at 166 MHz. Third, Dragon Systems NaturallySpeaking is not integrated into the Microsoft 97 office suite of software, essentially you speech (sic) into the computer, then you must select and place your words into your applications software.
Another feature found in earlier versions of Dragon Systems software that is not found in the latest version is speech synthesis. That is, the software cannot talk back to you. I found this (speech output) to be a useful feature in editing documents that I had entered using speech recognition. Still all things considered the new package is a worthwhile achievement. It will be integrated into the emerging information technologies track. I can also schedule demonstrations of the software beginning about the 15th of October 1997.
By Paul Flanagan
Whither Artificial Intelligence?
At an executive conference at MIT held last September, the theme was the future of Artificial Intelligence (AI):
The bottom line: AI is back and becoming more the norm.
By Steve Knode
Everything You Wanted to Know about Java But Didnt Know What to Ask
By Les Pang
What is Java?
Java is a powerful and versatile object-oriented programming language similar to C++. Developed by James Gosling and others at Sun Microsystems, Java is touted as being platform independent it runs on PCs, Macs, Unix workstations, etc. "Write once, run anywhere" is Javas rallying cry.
It was originally designed to control consumer electronic devices but it never became a commercial reality. However, the language flourished as a result of the Internet explosion.
What are Java applets?
A Java applet is a small Java program that can be included in an Hypertext Markup Language (HTML) page, much like an image can be included. It allows the creation of dynamic and interactive web pages where you can experience such things as animation, sound, perform calculations, real-time responsiveness, and video.
Examples of its use include:
When you use a browser to view a page that contains a Java applet, the applet's code is transferred to your system and executed by the browser. These applets can run on many different types of computers as long as you use a Java-enabled browser such as the latest versions of Netscape, Internet Explorer or HotJava. Best examples of Java applets can be found at:
http://java.sun.com:80/applets/index.html
http://www.java.co.uk/javacentre.html
Can Java be used to create standalone applications just as C++, Fortran, COBOL can?
Yes. These Java applications do not require a Java-enabled browser to run. The HotJava browser was completely written in Java. Another application is Corel Office for Java (contains WordPerfect, Quattro Pro and Presentations); you can download it for free at: http://www.corel.com/
Whats so special about Java?
Java offers a different approach to computing. It supports a concept called "network-centric computing" in which the applications reside on the remote server as opposed to having the applications stored at the client workstation, which is commonly done now. This has major ramifications:
Java supports true distributed computing and provide centralized configuration control. That means instead of loading a new version of an application on everyones workstation, you can load it just once on the server. You can expect the server to have the common version of a software and ideally the latest version.
A new type of computer has surfaced as a result of Java the "Network Computer". It is like a stripped down PC -- it has no hard disk or floppy disk, but it does have a way (e.g., a modem) to connect to a remote server to download and run applets.
What are the benefits of Java?
Reductions in:
How does Java achieve platform neutrality?
When a Java program is written, the source code is not compiled into machine language unique to the computer type as with other programming languages. Instead, it is compiled to "bytecodes." These bytecodes are similar to machine language but are not specific to any computer. An interpreter embedded in the Web browser executes Bytecodes at runtime. Therefore, a developer does not have to recompile the code for every platform upon which the program will run.
Java programs can run on any platform that supports the "Java Virtual Machine" (JVM). JVM is a theoretical computer that interprets bytecode. It is implement in the software which interfaces the Java program itself and the computer being used. On the web, this software is in the form of a Java-enabled browser.
Alternatively, the bytecode can be converted to native machine code using a Just-in-Time (JIT) compiler. This increases the speed of execution close to that of C and C++ programs.
Whats the difference between Java and C++?
Is Java robust?
Java supports multithreading, the ability to run several processes concurrently. The result is the efficient use of computer resources.
You develop applications rapidly using the object-oriented features of Java. For example, the Java environment includes a number of classes which are templates that define the property of a particular object. Classes are kept in a number of libraries or "packages" which contain related classes. The most important ones are the core classes which are a required part of all Java environments on any platform. This consist of the java language (java.lang), utilities package (java.util), input/output package (java.io) and the networking language (net.io).
The abstract window toolkit (AWT) is an important package of Java classes. It is used for the development of GUIs for both Java applets and applications. This toolkit assures that all of the windows created in Java will have the same look and feel no matter what platform is used.
What are the security features in Java?
Code is checked twice once during compile time and once during runtime. This assures that it is reliable and bug-free. Also, the applet cannot access system resources such as the hard disk. Therefore, an applet cannot corrupt or destroy data on a hard disk. Furthermore, the only network connection an applet can normally make is with the host computer from which it was downloaded. This restricts the applet from full network access.
What are the security issues associated with Java?
You are allowing foreign code into your precious computer. That is, the source of a downloaded applet is not known -- unlike shrink-wrapped programs you can purchase and know specifically who made it. There have been reports of malicious applet that have degraded the performance of the computer by hogging resources and displayed unsettling messages.
Security experts have claimed to found ways to:
What are some of Javas safeguards to address these security issues?
Java contain several layers of defense:
There is no guarantee that the applet download came from an official compiler. Therefore, when bytecode is loading during runtime, it must be subjected to a close review by bytecode verifier. It performs a number of checks before the code is executed.
The code must meet the Java specification. It must not contain forged pointer or access memory directly. It checks for system access violations.
Compartmentalizing of classes also provide another line of defense by preventing imported classes to emulate built-in classes.
What are the drawbacks of Java?
Slower to execute Java code than the same program written in native machine code
Where did the Java name come from? What does it stand for?
When Java was being developed at Sun, it was code-named Oak for a tree that was outside of the developers building. Because the name was already being used for other products, another name had be chosen. During one of several brainstorming sessions, "Java" was chosen from among many, many suggestions. The aim was to come up with a name that evoked the essence of the technology -- liveliness, animation, speed, interactivity, and more. The name is not an acronym, but rather a reminder of that hot, aromatic stuff that many programmers like to drink lots of.
Is Java ready for prime time?
Not quite -- Java is still an evolving and developing language (it was released in March 1995 -- just a few years ago) but many say it will be ready soon. Major applications written in Java are just beginning to show up. Improvements are being made to the language to support electronic commerce, data querying and other "industrial-strength" applications.
Why is Java a threat to Bill Gates?
Instead of buying Microsoft software from a vendor and running the program from your hard disk, you may want to use Java applets created by other companies to accomplish your tasks instead. Unlike Microsofts proprietary software, Java is an open system specification. Sun has published detailed specifications for Java for anyones use. Also, Bill is heavily promoting an alternative technology called ActiveX.
What is ActiveX and how does it compare with Java?
Both ActiveX and Java produce the same results -- dynamic and interactive web pages, but, when you look under the hood, they are quite different technologies. ActiveX is a component-level technology, a tool for building applications from another language, like perhaps VB or C++ and maybe even Java. Java, as you recall, is an object-oriented programming language.
ActiveX implementation is simple -- it allows a program to run from inside a Web page. ActiveX is a descendent of "OLE", Object Linking and Embedding, where you can run another program (i.e., an Excel spreadsheet) within the application you can currently running (say, Word). It's the same principle, except OLE is desktop-centric while ActiveX is network-centric. ActiveX is based on Microsoft's Distributed Component Object Model (DCOM) which allows objects and components that are distributed across networks communicate with each other.
Microsoft has published a score of ActiveX controls that do such things as create scrolling marquees, display animated buttons, and handle streaming video. One important ActiveX Control implements a Java virtual machine, allowing Internet Explorer (IE) to download and run Java applets! Other ActiveX components that comes with IE include extensions to HTML that give you precise control over Web-page layout, an Internet phone/whiteboard system, and a VRML viewer.
Unlike Java, ActiveX is not a programming language. Active X applications and controls can be written in any programming language that contains interfaces to the ActiveX API, meaning that software developers can create ActiveX controls using mature development tools like Visual C++.
What are JavaBeans?
JavaBeans is a component-based architecture model which supports the reuse of code. It allows the integration of software components from different, independent sources. It provides services such as component publishing, event handling, persistence (tracks the system state), layout (visual presentation), and application builder support.
Where do I go for more information?
For training via the web, visit:
http://www.ibm.com/java/education/intro/java4/index.htm
http://www.sun.com/sunservice/suned/
Also, visit these web sites:
A full version of this article is available on the web at: http://members.aol.com/lpang10473/javafaq.htm

http://WWW.NDU.EDU/ndu/irmc/itt-previous.html
Editor Les Pang, e-mail: pangl@ndu.edu, (202) 685-2060, http://members.aol.com/lpang10473/default.htm
Graphics Designer Jim Looney