Object
OLE
OLTP
OOP
OpenGL
OpenVMS
OSI
In object-oriented programming, objects are the things you think about first in designing a program and they are also the units of code that are eventually derived from the process. In between, each object is made into a generic class of object and even more generic classes are defined so that objects can share models and reuse the class definitions in their code. Each object is an instance of a particular class or subclass with the class's own methods or procedures and data variables. An object is what actually runs in the computer.
OLE
(Object Linking and Embedding) is Microsoft's framework for a compound
document technology. Briefly, a compound document is something like a display
desktop that can contain visual and information objects of all kinds: text,
calendars, animations, sound, motion video, 3-D,
continually updated news,
controls, and so forth. Each desktop object is an independent program entity
that can interact with a user and also communicate with other objects on
the desktop. Part of Microsoft's ActiveX technologies, OLE takes advantage
and is part of a larger, more general concept, the Component Object Model
(COM) and its distributed version, DCOM). An OLE object is necessarily
also a component (or COM object).
Some main concepts in OLE and COM are:
Concept What it is
OLE A set of APIs to create
and display a (compound) document
Document (compound
document) A presentation
of different items in an "animated desktop"
Item (object; also called
a component) An element in a document, such as an animated calendar, a
video window, a sound player, a sound file...
Container or container
Application The program
entity that holds a document or a control
Server or server application
The program entity that holds an item within an OLE container
Embedding Adding the source
data for an item to a document; use the Paste command in a container application
Linking Adding a link to
the source data for an item to a document; use the Paste Link command in
a container application
Visual editing Activating
an item that is embedded in a document and "editing" it
Automation Having one container
or server application drive another application
Compound files (structured
storage) A standard file format that simplifies the storing of (compound)
documents; consists of storages
(similar to directories) and streams (similar to files)
Uniform Data Transfer (UDT)
A single data transfer interface that accommodates drag-and-drop; clipboard;
and dynamic data exchange (DDE)
Component Object Model (COM)
Provides the underlying support for OLE items (objects) and ActiveX controls
to communicate with other OLE objects or ActiveX controls
ActiveX control An item
(object) that can be distributed and run on top of a COM
Microsoft Foundation Class
(MCF) library A set of ready-made classes or templates that can be used
to build container and server applications
Orfali says that OLE contains
about 660 new function calls or individual program interfaces in
addition to those already
in Win32. For this reason, Microsoft provides the Microsoft Foundation
Class (MFC) Library, a set
of ready-made classes that can be used to build container and server
applications, and tools
such as Visual C++.
In the "Introduction to OLE"
on its Developer Site, Microsoft says that "OLE" no longer stands for
"Object Linking and Embedding,"
but just for the letters "OLE."
OLTP (online transaction processing) is a class of program that facilitates and manages transaction-oriented applications, typically for data entry and retrieval transactions in a number of industries, including banking, airlines, mailorder, supermarkets, and manufacturers. Probably the most widely installed OLTP product is IBM's CICS (Customer Information Control System).
Today's online transaction processing increasingly requires support for transactions that span a network and may include more than one company. For this reason, new OLTP software uses client-server processing and brokering software that allows transactions to run on different computer platforms in a network.
A revolutionary concept that changed the rules in computer program development, object-oriented programming (OOP) is organized around objects rather than actions, data rather than logic. Historically, a program has been viewed as a logical procedure that takes input data, processes it, and produces output data. The programming challenge was seen as how to write the logic, not how to define the data. Object-oriented programming takes the view that what we really care about are the objects we want to manipulate rather than the logic required to manipulate them. Examples of objects range from human beings (described by name, address, and so forth) to buildings and floors (whose properties can be described and managed) down to the little widgets on your computer desktop (such as buttons and scroll bars).
The first step in OOP is
to identify all the objects you want to manipulate and how they relate
to each other, an exercise often known as data modeling. Once you've identified
an object, you generalize it as a class of objects (think of Plato's concept
of the "ideal" chair that stands for all chairs) and define the kind of
data it contains and any logic sequences that can manipulate it. The
logic sequences are known
as methods. A real instance of a class is called (no surprise here) an
"object" or, in some environments, an "an instance of a class." The object
or class instance is what you run in the computer. Its methods provide
computer instructions and the class object characteristics provide relevant
data.
The concepts and rules used in object-oriented programming provide these important benefits:
? The concept of a data class
makes it possible to define subclasses of data objects that share some
or all of the main class characteristics. Called inheritance, this property
of OOP forces a more thorough data analysis, reduces development time,
and ensures more accurate coding.
? Since a class defines
only the data it needs to be concerned with, when an instance of that class
(an object) is run, the code will not be able to accidentally access other
program data. This characteristic of data hiding provides greater system
security and avoids unintended data corruption.
? The definition of a class
is reuseable not only by the program for which it is initially created
but also by other object-oriented programs (and, for this reason, can be
more easily distributed for use in networks).
? The concept of data classes
allows a programmer to create new data types that are not defined in the
language itself.
One of the first object-oriented
computer languages was called Smalltalk. C++ and Java are the most popular
object-oriented languages today. A subset of C++, the Java programming
language
is designed especially for
use in distributed applications on corporate networks and the Internet.
OpenGL (Open Graphics Library) is the computer industry's standard application program interface (API) for defining 2-D and 3-D graphic images. Prior to OpenGL, any company developing a graphical application typically had to rewrite the graphics part of it for each operating system platform and had to be cognizant of the graphics hardware as well. With OpenGL, an application can create the same effects in any operating system using any OpenGL-adhering graphics adapter.
OpenGL specifies a set of "commands" or immediately executed functions. Each command directs a drawing action or causes special effects. A list of these commands can be created for repetitive effects. OpenGL is independent of the windowing characteristics of each operating system, but provides special "glue" routines for each operating system that enable OpenGL to work in that system's windowing environment. OpenGL comes with a large number of built-in capabilities requestable through the API. These include hidden surface removal, alpha blending (transparency), antialiasing, texture mapping, pixel operations, viewing and modeling transformations, and atmospheric effects (fog, smoke, and haze).
Silicon Graphics, makers of advanced graphics workstations, initiated the development of OpenGL. Other companies on the industry-wide Architecture Review Board include DEC, Intel, IBM, Microsoft, and Sun Microsystems. There is no cost (other than learning) to developing an application using the OpenGL API. Microsoft offers free downloads of the OpenGL libraries for its Windows 95 and NT systems. Although OpenGL is not itself a development "toolkit," such toolkits are available, including Silicon Graphics object-oriented 3D graphics toolkit, Open Inventor.
"OpenGL" is also the text on a screen saver that comes installed with Windows 95. Select Start->Settings->Control Panel->Display->Screen Saver->3D Text.
OpenVMS is an operating system from the Digital Equipment Corporation (DEC) that runs in both its VAX and Alpha computers. OpenVMS evolved from VMS, which originated as the operating system for the VAX in 1979. VMS exploited the concept of virtual memory.
OpenVMS is a 32-bit multitasking and multiprocessing operating system based on VMS; it was renamed OpenVMS when it was redeveloped for the Alpha processor. (OpenVMS is also the name now used on the VAX computer.) The "Open" suggests the added support for the UNIX-like interfaces of the POSIX standard. (Programs written to the POSIX standard, which includes a set of standard C language programming functions, can be ported to any POSIX-supporting computer platform.)
Among other features, OpenVMS can be used with special software that facilitates its use with Windows NT servers.
DECUS, the Digital Equipment Computer User's Society, provides a VMS FAQ that provides information about OpenVMS. For additional information, see the Digital Web site.
See OSI illustrated
OSI (Open Systems Interconnection) is a standard description or "reference model" for how messages should be transmitted between any two points in a telecommunication network. Its purpose is to guide product implementors so that their products will consistently work with other products. The reference model defines seven layers of function that take place at each end of a communication. Although OSI is not always strictly adhered to in terms of keeping related functions together in a well-defined layer, many if not most products involved in telecommunication make an attempt to place describe themselves in relation to the OSI model. It is also valuable as a single reference view of communication that furnishes everyone a common ground for education and discussion.
Developed by representatives of major computer and telecommunication companies beginning in 1983, OSI was originally intended to be a detailed specification of interfaces. Instead, the committee decided to establish a common reference model for which others could develop detailed interfaces, that in turn could become standards. OSI was officially adopted as an international standard by the International Organization of Standards (ISO). Currently, it is Recommendation X.200 of the International Telecommunication Union.
The main idea in OSI is that the process of communication between two end users in a telecommunication network can be divided into layers, with each layer adding its own set of special, related functions. Each communicating user is at a computer equipped with these seven layers of function. So, in a given message between users, there will be a flow of data through each layer at one end down through the layers in that computer and, at the other end, when the message arrives, another flow of data up through the layers in the receiving computer and ultimately to the end user. The actual programming and hardware that furnishes these seven layers of function is usually a combination of the computer operating system, applications (such as your Web browser), TCP/IP or alternative transport and network protocols, and the software and hardware that enable you to put a signal on one of the lines attached to your computer.
OSI divides telecommunication into seven layers. The layers are in two groups. The upper four layers are used whenever a message passes from or to a user. The lower three layers (up to the network layer) are used when any message passes through the host computer. Messages intended for this computer pass to the upper layers. Messages destined for some other host are not passed up to the upper layers but are forwarded to another host. The seven layers are:
Layer 7: The application layer...This is the layer at which communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. (This layer is not the application itself, although some applications may perform application layer functions.)
Layer 6: The presentation layer...This is a layer, usually part of an operating system, that converts incoming and outgoing data from one presentation format to another (for example, from a text stream into a popup window with the newly arrived text). Sometimes called the syntax layer.
Layer 5: The session layer...This layer sets up, coordinates, and terminates conversations, exchanges, and dialogs between the applications at each end. It deals with session and connection coordination.
Layer 4: The transport layer...This layer manages the end-to-end control (for example, determining whether all packets have arrived) and error-checking. It ensures complete data transfer.
Layer 3: The network layer...This layer handles the routing of the data (sending it in the right direction to the right destination on outgoing transmissions and receiving incoming transmissions at the packet level). The network layer does routing and forwarding.
Layer 2: The data link layer...This layer provides error control and synchronization for the physical level and does bit-stuffing for strings of 1's in excess of 5. It furnishes transmission protocol knowledge and management.
Layer 1: The physical layer...This layer conveys the bit stream through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier.