TOC PREV NEXT INDEX

Put your logo here!

The Essence of Object Oriented Programming with Java and UML


Chapter 12

What Next?

 

We've covered a lot of material in this book, but there is still much more to know about object-oriented software and Java. With the essentials of objects and how to use Java with objects we've covered, you should be able to handle almost any related topic.

In this final chapter, we will briefly list some other good books on object-oriented programming, and list some major Java topics we have not covered. And finally, we will simply give definitions of some terms and abbreviations you are likely to encounter as you read about objects and Java.

Object Orientation

There are many books available with "object-oriented" in their title, but a few stand out as the best available, or as important classics that still have good information to offer. Consider the following books:

Object-Oriented Analysis and Design With Applications, Grady Booch, Addison-Wesley, 1994, ISBN 0-201-54435-0. Still the classic OOAD reference. Booch's notation has been replaced with UML, but still easy to understand.

Fundamentals of Object-Oriented Design in UML, Meilir Page-Jones, Addison-Wesley, 2000, ISBN 0-201-69946-X. Very readable. Not just a UML book.

Object-Oriented Systems Design: An Integrated Approach, Edward Yourdon, Yourdon Press, 1994, ISBN 0-13-636325-3. One of my favorites. Includes some history of software design, and helps put object-orientation into context. Topics covered are relevant to any methodology.

Java

In this book, we've concentrated on how to use Java to build objects. There are many important aspects of Java that we've intentionally ignored. For example, we've not used exception handling code in some places where it might be appropriate for production quality code. This helps keep the code short and focused on the example at hand. The following is a list of some important Java topics that you will need to know to become a complete Java programmer:

You probably now know enough Java to be able to take advantage of almost any good Java reference. There is very good material included with Sun's JDK distribution, for example. Here are some good Java books to consider:

Object-Oriented Software Development Using Java, Xiaoping Jia, Addison-Wesley, 2000, ISBN 0-201-35084-X. A textbook. Covers Java, and keeps the focus on objects.

Java in a Nutshell, David Flanagan, O'Reilly, 1999, ISBN 1-56592-487-8. Comprehensive and brief. Be sure to get the latest version.

Java: An Introduction to Computer Science & Programming, Walter Savitch, Prentice Hall, 1999, ISBN 0-13-287426-1. A very readable introductory textbook, great for getting started with Java and programming.

More Terms You Need To Know

Distributed Computing

Distributed computing software is meant to run on an environment of different computers connected by a network. These applications can run on an internal company network, or increasingly, on computers connected by the World Wide Web. Java is playing a major role in developing distributed computing applications.

While programming distributed applications is beyond the scope of this book, you can hardly avoid encountering a vast number of terms and abbreviations related to distributed computing when you read a computer oriented magazine or article. The following definitions will help you to get a better idea of what you are reading about.

Because Sun has so many Java related products and terms, many related to distributed computing, Sun specific terms are given in their own section.

application server A server program that allows the installation of application specific software components, in a manner so that they can be remotely invoked, usually by some form of remote object method call.

COM COM refers to standard developed by Microsoft Corporation which provides a framework for integrating components. DCOM is the distributed computing version.

CORBA Distributed computing standard maintained by the Object Management Group (OMG), called the Common Object Request Broker Architecture.

COS Naming CORBA standard for object directories.

DAP Directory Access Protocol, a protocol for directory services, derived from X.500.

DCE Distributed Computing Environment is a distributed computing standard developed by the Open Software Foundation (OSF) with input from industry.

DCOM Microsoft's Distributed Component Object Model.

distributed computing A computing environment where applications are composed of various parts and objects that can be located on different computers connected to a network. Distributed computing requires a set of standards that specify how the parts running on different computers communicate with each other. Currently, the two main standards are CORBA and DCOM.

IDL Interface Description Language, CORBA's syntax for defining object remote interfaces. (Another meaning of IDL is Interactive Data Language, a programming tool for the interactive reduction, analysis, and visualization of scientific data and images.)

IIOP Internet Inter-ORB Protocol, CORBA's wire protocol for transmitting remote object method invocations.

messaging middleware Middleware that supports a publish-and-subscribe or broadcast metaphor.

middleware Middleware is a software interface between the network and the applications. It provides services such as identification, authentication, authorization, directories, and security. The most widespread middleware standards are the Open Software Foundation's DCE, OMG's CORBA, and Microsoft's COM/DCOM.

MOM Message-Oriented Middleware.

NSAPI Netscape's C language API for adding application extensions to their Web servers.

ORB Object Request Broker, a middleware technology that manages communication and data exchange between distributed objects. It is the primary message routing component in a CORBA product.

POA Portable Object Adapter, a CORBA standard for defining object lifecycle and activation.

servlet Servlets are modules of Java code that run in a server application to answer client requests. Servlets don't use a specific client-server protocol, but they are usually used with HTTP.

Java Related Terms from Sun

Sun Microsystems is the originator of Java, and remains one of the principle vendors of Java software products. Sun's developers and marketing teams have produced a large number of products, and most are known by their acronyms.

You will find advertisements for other products such as IDEs and developments tools that promote that they are compliant with this or that product from Sun. This section may help you wade through Sun's alphabet soup.

EJB Enterprise JavaBeans, a server component standard developed by Sun Microsystems.

J2EE Java 2 Platform, Enterprise Edition, Sun's standard for developing enterprise applications, especially targeted for distributed computing.

Java Naming and Directory Interface The Java standard API for accessing directory services, such as LDAP, COS Naming, and others.

Java Transaction API Java API for coding client demarcated transactions, and for building transactional data source drivers.

JDBC Java database connectivity technology is the Sun API that implements the X/Open SQL call-level interface specifications to provide cross-DBMS connectivity to a wide range of SQL databases. This is the main Java standard access to databases.

JNDI Java Naming and Directory Interface.

JNI Java Native Interface (JNI) is a standard programming interface for writing Java native methods and embedding the Java virtual machine into native applications.

JSP JavaServer Pages, a technology from Sun that to build dynamic web pages using Java and XML-like tags to generate page content.

JTA Java Transaction API.

JTS Java Transaction Service, the Java binding for the CORBA Transaction Service.

JVM Java Virtual Machine.

RMI Remote Method Invocation, the Java standard technology for building distributed objects whose methods can be invoked remotely across a network.

SQLJ An extended Java syntax for embedding SQL-like commands in a Java program.

Other Terms

The following are some other terms you are likely to encounter when reading about Java or Web Programming.

HTTP Hypertext Transfer Protocol, one of the main protocols for transferring web pages.

object database An object-oriented database system. See ODMG and ODBMS.

ODBC Open Database Connectivity (ODBC) is Microsoft's standard based on the X/Open SQL call-level interface specifications. It does not work well with Java.

ODMG Object Data Management Group, responsible for setting standards for object databases.

ODBMS Object Database Management System, the result of integrating database capabilities with object-oriented programming language capabilities.

OMG Object Management Group, an organization that defines and promotes object oriented programming standards.

OODB Object-Oriented Database.

OODBMS Object-Oriented Database Management System.

RUP Rational Unified Process, an object-oriented development methodology from Rational Software.

SQL Structured Query Language, the most widely used standardized query language for requesting information from a database.

XMI XML Metadata Interchange A new OMG standard combining UML and XML.

XML XML is an open standard of the World Wide Web Consortium (W3C) designed as a data format for structured document interchange on the web. For example, it allows defining new operations when standard HTML is not a good fit.


TOC PREV NEXT INDEX

The Essence of Object-Oriented Programming with Java and UML (DRAFT)

Copyright © 2001 by Addison-Wesley

All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form, or by any means, electronic, mechanical, photocopying, recording, or otherwise, without the prior consent of the publisher. You may view this document on a web browser, but you must not mirror or make local copies.