Glossary

In this section you will find definitions to terms used throughout the component industry as well as the IT world in general. Technology is always evolving, and new standards, acronyms, and terms are introduced on almost a daily basis.

# | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z

#

Back to main index

.NET Assembly

A .NET Assembly is how .NET components are deployed. It is the equivalent of a DLL (indeed, the files have the .DLL extension).

.NET Component or Component Library

A .NET Component or Component Library is a type of non-visual .NET component. It is designed to encapsulate business logic that can then be deployed in a variety of applications. Since it is not a Control, it does not require a Control Container such as a Visual Basic Form.

.NET Consumer

A .NET Consumer is a development language that is capable of utilizing the .NET Framework. It must compile to MSIL (see Glossary: MSIL). There are .NET Consumers for COBOL, APL, Pascal, RPG, FORTRAN, and more.

.NET Extender

A .NET Extender is a development language that is capable of using AND extending .NET. Currently, only the Visual Studion suite of development languages are .NET Extenders.

.NET Framework

Microsoft's version of COM that brings complete integration with Internet technologies. .NET Framework components are able to implement their interfaces as services, which allows applications to use the functions of a component across the Internet without being required to load the component on the client machine.

.NET Ready/Tested with the .NET Runtime Callable Wrapper

The Microsoft .NET Framework provides a compatibility layer to support existing COM components. The Common Language Runtime includes a Runtime Callable Wrapper that wraps COM components and exposes them as .NET assemblies. This flag indicates that the component author has tested this components in Visual Studio.NET and verified that it functions.

.NET Web Control (ASP.NET Server Control)

An ASP.NET Server Control (Web Control) is a component that provides server-side visual (or non-visual) functionality to Web applications. It differs from a Web Service in that the Web server hosts the component and directs all communication to its properties, methods, and events.

.NET Web Service

A Web Service is programmable logic that is accessible via standard Web protocols. It uses SOAP to describe the interfaces to the service, enabling cross-platform Internet clients to use that logic via XML protocols.

.NET Windows Forms Control

A Windows Forms Control is a .NET component designed to add specific visual functionality to a Visual Studio.NET application. These types of components include grids, menus, buttons, etc.

100% Managed Code

Since COM components can be wrapped as .NET components, this flag is provided to distinguish between components that were wrapped as .NET components and components that were built from the ground up using Visual Studio.NET. In some instances, true VS.NET components may not be 100% Managed Code. Visual C++.NET gives developers the option of using unmanaged code in their .NET assemblies.

16Bit

A 16Bit component or application is only compatible with operating systems that support 16Bit microprocessors or 16Bit mode, such as Windows 9x, Windows 3.x, Windows for Workgroups, and MS-DOS.

32Bit

A 32Bit component or application is only compatible with operating systems that support the 32Bit architecture of the 80386 (and up) microprocessors, such as Windows 95/98, Windows NT 3.51, Windows NT 4.0, and Windows 2000.

64Bit

A 64Bit component or application is only compatible with operating systems that support 64Bit microprocessors such as the Intel Itanium™ and Sun UltraSPARC™. These operating systems include Sun Solaris (Unix), Trillian Linux, and 64Bit Windows 2000.

A

Back to main index

Accessibility (JFC)

The Accessibility API of the JFC classes provides interaction with assistive technologies such as speech recognition, Braille displays, and screen magnification. It contains interfaces for user interface components that allow the developer to access information in accessibility-enabled components.

ActiveX (OCX)

An ActiveX component can be visual or non-visual. Depending on the visual interface, OCXs are compatible with any environment that supports ActiveX which includes all Microsoft languages, Borland Delphi, and Borland C++ Builder.

ActiveX Designer

This is a design-time tool that is used to create and modify classes for use in applications. Components created from these classes are private and cannot be placed on a form - if they are visual components, they always appear in their own window.

Add-In

Any tool that extends the Integrated Development Environment (IDE). An Add-in provides functionality to the IDE. Used only at design-time.

ADO

Microsoft ActiveX Data Objects are used to perform object-oriented access to data. The objects represent the structure and data of any OLE DB or ODBC database and can be used to query or change this data.

Apartment Model Threading

Apartment-Model Threading is a multi-threading model that provides thread safety by treating each thread as an apartment. Just as people who live in different apartments are separate even though they live in the same building, any components created (instantiated) in the thread are unaware of components created in any other threads, but can directly call components in the same thread (apartment).

API

Application Programming Interface. An API is an interface to a specific environment. For example: The Windows API exposes interfaces to the Windows environment, allowing developers to access and control Windows functions. The Java API provides similar interfaces to a Java Virtual Machine. Even components, such as ActiveX or JavaBean components expose their interfaces to be accessed via their particular component APIs.

Applet

An applet is a self contained Java program designed for Web applications. Applet is downloaded and run on the client to provide specific functionality.

Application

Any stand-alone program that accomplishes a pre-determined task, such as converting Microsoft Word documents to Adobe PDF files. Not generally used in development, but rather used to support development.

Application Server (EJB)

Enterprise JavaBeans are designed to run inside EJB application servers. Application servers are the EJB server-side equivalent of containers for client-side components. If an EJB is compatible with a particular application server, then it is, by extension, compatible with any platform that the app server is compatible with. Application server compatibility is the primary consideration when determining if an EJB will work in your environment.

Application Server (Win32)

An application server is a network server that hosts and runs applications or components. This can be in the form of simple executables, or in the case of MTS application servers, COM+ components. MTS application servers allow applications to be distributed and scalable, by placing the components on one or more servers.

ASP (Active Server Pages)

An Active Server Page is an application designed to run on Microsoft Internet Information Server with Active Server Pages installed. ASP allows developers to create dynamic Web-based applications.

ASP (Application Service Provider)

An Application Service Provider is an organization that provides access to applications and related services via the Internet. Depending on the business model, these applications may be provided free or licensed on a "rental" or "per use" basis.

ASP.NET

Active Server Pages.NET is the next generation of Active Server Pages and is part of the Microsoft .NET Framework. It supports code written in any .NET Consumer (see Glossary: .NET Consumer). It fully leverages .NET Assemblies and the use of ASP.NET Server Controls.

ATL

COM Components built with the ActiveX Template Library are smaller and faster than components built with MFC, and they only require the ATL runtime. They are better suited to components - which, by definition are designed for very specific operations - as they don't offer all the built-in functionality that the MFC classes provide, whereas MFC is better suited to applications.

AWT (JFC)

The Abstract Window Toolkit is a JFC API for providing Graphical User Interfaces (GUI) to Java applications. It includes user interface components and graphics and imaging tools.

B

Back to main index

BaseCLX

BaseCLX components are Borland CLX components designed for business logic functionality such as math, system utilities, etc. They are cross platform components that can be used in the Microsoft Windows environment - via Delphi - and on several distributions of Linux - via the Kylix development environment.

Black Box

A black box component is a compiled component that a developer can only access through exposed interfaces. Black box components are inherently more secure than white box components because there is no risk that a developer could alter the source code and change the behavior of the component.

Built Using

In certain instances, a developer is required to know in what environment a component was built. For example, a C++ component might be built using MFC or ATL. This information is specified to give the developer the information they require.

Business Component

A business component encapsulates specific business logic in a component that does not necessarily include a visual element. One example is encryption, where the component is sent a string of text or a file and it encrypts it. No visual interface was necessary. By comparison A user interface component must have a visual element, a business component may have a visual element.

C

Back to main index

C# (C-sharp)

C# (pronounced "C sharp") is a new development language from Microsoft that combines the strength of C++ with the ease of use of Visual Basic. It allows developers to build robust, object-oriented applications with fewer lines of code than C++ requires, thus reducing the possibility of introducing errors. It has been designed to work seamlessly with the .NET Framework. Microsoft is collaborating with ECMA, the international standards body, to create a standard for C#.

CAB

A Cabinet file is a special type of archive for holding compressed files. Used primarily for the distribution of files packaged with an application, a CAB file is capable of being "digitally signed" by the author, thus verifying the validity of the source and insuring that the files have not been tampered with.

CBD

Component-based development extends object oriented programming by allowing developers to build applications from smaller, specialized components. These components can be used and reused over and over in any application that requires the functionality that they provide.

CCM (CORBA Component Model)

The CORBA Component Model is a specification of a server-side component model for building enterprise-class applications as a set of interconnected components and deploying it in a CCM-compliant runtim environment. The CCM component specification is defined in the CORBA 3.0 specification. All that is required for a CCM component to be deployed is a CORBA 3.0-compliant ORB (see Glossary: ORB).

CCW (COM Callable Wrapper)

The COM Callable Wrapper is a compatibility mechanism that allows existing COM applications to leverage .NET components. It wraps the .NET assembly to give it the same "shape" as a COM component. It exposes standard COM interfaces such as IDispatch, IUnknown, etc. To the COM application, the .NET component "looks" like a standard COM component.

Client-side component

A client-side component is designed to run on the same machine as the application that uses it. Client-side components can be either visual or non-visual. Client-side components must be packaged and deployed with the application and installed on every machine where the application is installed.

CLR (Common Language Runtime)

The .NET Common Language Runtime is the root layer of the .NET Framework. Applications and components are compiled to MSIL (see Glossary: MSIL). The CLR then uses JIT (Just-inTime compilation) to compile the IL code to native code for the underlying platform. Currently, the CLR runs on the Windows platform. However, a version of the CLR for Unix is in development.

CLX

The Component Library for Cross Platform was created by Borland to allow developers to create components that can be used on both the Windows and Linux platforms. Based on Borland's Visual Component Library (VCL) and using Delphi syntax, CLX components can be used to create single-source applications for use on multiple platforms.

COM

Microsoft's Component Object Model. It is a reference model for how components are built, and it specifies how components "speak" to each other and how they are referenced within an application.

COM Add-In for Office 2000

These are add-ins that use COM to extend the functionality of Office 2000 applications. They use a specific interface (IDTExtensibility2) in order to work properly within Office applications such as Word, Excel, Access, etc.

COM Object/ActiveX DLL/In-Process Server

ActiveX DLLs are a special type of DLL. They are ActiveX components that run within the address space of the calling application or component and provide functions for the application to use. They are compatible with any COM-enabled environment.

COM Object/ActiveX EXE/Out-of-Process Server

These are ActiveX components that run in their own address space when called. When an application or component references the functions provided by this object, execution is independent of the calling application or component so the application is free to perform other functions. They are compatible with any COM-enabled client environment.

COM+

Revised COM specification that essentially joins COM and DCOM, although the whole is greater than the sum of its parts. In everyday conversation, COM, DCOM, and COM+ components are generally referred to as "COM".

Compaq (DEC) Alpha

A Compaq Alpha component or application is only compatible with operating systems running on the Alpha processor manufactured by Compaq. These operating systems include Windows NT 3.51, Windows NT 4.0, Windows 2000, and several implementations of Unix.

Component

Self-contained object with pre-determined functionality and accessed via exposed interfaces. Examples include ActiveX components, JavaBeans, Enterprise JavaBeans, and VCLs.

Component Categories

A component category is a registry entry that specifies whether or not the specified component supports the interfaces required by its category. The Component Category Manager implements interfaces that create the categories, place the components in specified categories, and retrieve information about the categories.

Component Type

Components are available for a variety of platforms and development environments. This field specifies the component type, such as a .NET component, ActiveX, JavaBean, etc. The developer can use this information to determine if the component is suitable for his purposes.

Container

In order to utilize a component's functionality, it must be instantiated (referenced) from within a compatible container. COM components, for example, can only be used in a COM-aware container such as Visual Studio, Internet Explorer, Internet Information Server, etc. Additionally, different types of components may or may not work properly within certain containers. OCXs, for example, require a Control Container such as Visual Studio and may not work properly within other containers such as MS Access. The "Compatible Container" information is included to provide developers with containers in which the component has been successfully tested.

Cookies

Cookies are files that are downloaded via a client browser to identify a user to a particular Web site. It can contain a variety if information including username, password, profile, etc. Cookies are used to enhance a user's Web experience by "remembering" session information, user preferences, etc. Most browsers allow you to either notify the user before accepting cookies or simply not accept them.

CORBA (Component)

Common Object Request Broker Architecture (CORBA) components are distributed, server-side components that are designed to run on CORBA ORBs (Object Request Brokers). ORBs are the CORBA equivalent of EJB Application Servers. As long as a CORBA component is compliant with the version of CORBA on the ORB, the component will run.

CORBA (Platform)

The Common Object Request Broker Architecture is a specification - created by the Object Management Group (OMG) - for distributed, scalable components . It defines how CORBA objects communicate with each other via CORBA-compliant ORBs.

CS-ERS

ComponentSource® SAVE-IT™ is the latest version of the ComponentSource Enterprise Reuse Solution (CS ERS). SAVE-IT offers the business model and technology for recouping the costs of software development organization-wide. (see Glossary: SAVE-IT)

CSS

A Cascading Style Sheet is used to control the appearance of Web pages. It allows the author of the Web page to determine how items such as frames, hyperlinks, titles, and text are displayed, while maintaining compatibility with most browsers.

CWM

The Common Warehouse Metamodel is a specification published by the Object Management Group (OMG) that supports distributed metadata analysis. The CWM provides a solution for extensive metadata analysis by building on the standards of UML (Unified Modeling Language), XML (eXtensible Markup Language), and XMI (XML Metadata Interchange).

D

Back to main index

DAO

Microsoft Data Access Objects provide an object oriented approach to accessing data via the Microsoft Jet database engine. It is a shared component of Microsoft Office and can be used by any application that supports automation.

DataCLX

DataCLX components are Borland CLX components designed for providing access to data sources. They are cross platform components that can be used in the Microsoft Windows environment - via Delphi - and on several distributions of Linux - via the Kylix development environment.

DCOM

Microsoft's Distributed COM. It is a reference model for building components that can communicate with other components and application on different computers, usually in a client/server relationship.

Digital Signature

A digital signature provides the user with detailed information about the component publisher. Before the component will be loaded into a Web page, the user can view this information and determine whether or not to install the component. A component developer signs his components by acquiring a digital certificate from a reputable Certificate Authority (CA) such as VeriSign.

DLL

DLLs are "callable" dynamically-linked libraries that can be used in any environment with call capability. A DLL can contain one or more functions that can be used by other applications or components. Not to be confused with ActiveX DLLs.

E

Back to main index

EJB 1.0

Enterprise JavaBeans are components written in Java that can be used to add functionality to Java applications. They can be used in any environment that runs Java and are designed to run in server-side applications.

EJB 1.1

Enterprise JavaBeans are components written in Java that can be used to add functionality to Java applications. They can be used in any environment that runs Java and are designed to run in server-side applications. In the EJB V1.1 update, one of the most significant changes is that the "deployment descriptor" - which defines how EJB classes are built and deployed - is rendered as an XML document. In the previous version it was rendered as a group of Java objects.

EJB 2.0

Enterprise JavaBeans are components written in Java that can be used to add functionality to Java applications. They can be used in any environment that runs Java and are designed to run in server-side applications. EJB V2.0 components offer integration with the Java Message Service and support Container-Managed Persistence.

Enterprise JavaBean

Enterprise JavaBeans are components written in Java that can be used to add functionality to Java applications. They can be used in any environment that runs Java and are designed to run in server-side applications.

Escrow

Escrow is a service whereby ComponentSource stores the source code of a publisher's component product in secure locations in the USA and Europe. It is essentially an insurance policy that - depending on the terms - allows the component purchaser who has taken out a ComponentSource Escrow license to receive a component's source code in the event that the component publisher ever fails to live up to the terms of the escrow license agreement. This enables component publishers to protect their intellectual property while simultaneously giving component purchasers the peace of mind they might require before deploying components in mission-critical applications.

EULA

An End User License Agreement is a legal contract between the publisher of a software application or component and the user of that software. Often referred to as the "license agreement" or "software license", it is similar to a rental agreement: The user agrees to pay for the privilege of using the software and promises to comply with all of the publishers restrictions.

Executable

An executable is essentially a program. It can be run independently of a host application. The only requirements for an executable are a compatible operating system and any associated runtime library.

F

Back to main index

Free Threading

Free Threading is a multi-threading model that supports more than one thread per apartment. Multiple calls to a component can occur on different threads. While free threading can be faster than apartment threading, care must be taken with free threaded components to insure that the threads are synchronized properly.

FTP

The File Transfer Protocol is an Internet Standard Protocol for transferring files between computers over TCP/IP. It is most commonly used to download files from an Internet server to the local machine. FTP servers require the client to logon, but can be configured to allow that logon to be anonymous.

H

Back to main index

HailStorm

HailStorm is part of the Microsoft .NET initiative and is designed to make it easier to integrate the vast knowledge bases of information that exist today. It is based on the Passport user authentication system and bases services around a "person" instead of around a specific device, application, service, etc.

HTML

The Hypertext Markup Language is a "tagged" language for transferring data using HTTP. It allows you to format text, include pictures, and insert hyperlinks to other data. The Web browser reads the "tags" and displays the data accordingly.

HTTP

The Hypertext Transmission Protocol is an Internet standard protocol for exchanging files (text, images, sound, video, etc.) over the Internet. It is generally used to copy a Web page from an Internet Web server to the client machine, and to send the client page requests to the server.

HTTPS

The Secure Hypertext Transmission Protocol is an Internet standard protocol that allows Web clients to create a secure connection to a Web server. All data (text, images, sound, etc.) is encryptedbefore being sent by the server, then decrypted by the client. HTTPS requires that the server has a digital certificate in order to validate its identity to the client.

I

Back to main index

IDE

An Integrated Development Environment (IDE) is a tool used to develop applications and components in the specified development language. For example, a developer can write a Visual Basic application in any text editor. The VB IDE simplifies development by integrating all aspects of the development process including modules, forms, components, syntax checking, the VB compiler, and the package and deployment wizard.

IDL

An Interface Definition Language file is a file that contains definitions of interfaces to components, consisting of an interface header and interface body. The header contains attributes that apply to the interface as a whole. The body contains individual interface definitions such as data types used in remote procedure calls and prototypes for the remote procedures. While not required, an IDL makes it easier for a developer to define and query information about a component's interfaces.

IE

Microsoft Internet Explorer is an Internet Web browser used to display information downloaded from Web sites. It is also a component container capable of using ActiveX components. This gives IE the ability to display dynamic content that is impossible to display with only HTML.

IIS

Internet Information Server is Microsoft's Web server software for making content available on the Internet. It consists of a WWW service for providing Web pages and Web applications on the World Wide Web, an FTP service to allow files to be uploaded/downloaded, an SMTP service for sending email, and an NNTP service for hosting newsgroup forums. IIS V3.0 and higher also provide Active Server Page functionality.

IMAP

The Internet Message Access Protocol is an Internet standard protocol for accessing E-Mail from your local server. It is a client/server protocol in which the e-mail is received and held for you by the Internet Server. Using IMAp requires a continuous connection to the server during the email session.

Internet Enhanced

A component marked as Internet Enhanced is designed to be dynamically loaded onto Web pages. This is accomplished by using the CODEBASE property which tells the browser where to download the component if it doesn't already exist on the system or if the version has changed.

J

Back to main index

J# (J Sharp)

Microsoft Visual J# .NET is a development tool for Java-language developers for building applications components, and services on the .NET Framework. It is designed to allows customers to migrate Java investments to .NET. Existing Visual J++ solutions can be quickly modified to execute on the .NET Framework. J# solutions will only run on .NET and not on any Java Virtual Machine.

J2EE

The Java 2 Platform Enterprise Edition is a platform upon which multi-tier, distributed, and scalable enterprise-wide applications and components can be built. This functionality is provided via Enterprise JavaBeans (EJB) components - which are distributed components, deployed on J2EE Application Servers, and Java Server Pages (JSP) and Servlets - which are used to provide functionality to Web applications.

Java (The language)

Java is a development language used to build components and applications. It is a compiled language, which means that the computer that runs the application is not required to have a Java interpreter installed.

Java (The Virtual Machine)

A Java VM is required on any computer where you intend to run a Java application. Sun Microsystems, who owns Java, has licensed the specifications for the virtual machine so that manufacturers of operating systems can build Java VMs for their environment. As a result, the Java language is compatible with a wide range of platforms.

JavaBean

JavaBeans are components written in Java that can be used to add functionality to Java applications. They can be used in any environment that runs Java and are designed to run in client-side applications.

JavaClass

A Java Class is where compiled Java code, in the form of JavaBeans, Applets, and Servlets is stored. These class files make up the "minimum" deployment unit for Java components. Typically they are compressed into Java Archive (JAR) files for distribution and deployment.

JDBC

Java Database Connectivity is an API for connecting Java applications to databases. JDBC is very similar to ODBC. You can use JDBC to connect to any ODBC-compliant database from a Java application. (see Glossary: API, ODBC)

JDK (Java Development Kit)

The Java Development Kit contains the software and tools that developers need to compile, debug, and run components, applets and applications written using the Java language. The created software is then specified as being compliant with a particular version of the JDK specification (such as JDK 1.1).

JET

The Microsoft Jet database engine is the core of the Microsoft Access database system. It is through the Jet engine that developers are able to read and write data to Access (.MDB) databases. In addition to Access, the Jet engine supports dBASE, Paradox, and FoxPro database file formats. It also supports accessing data in spreadsheets and text files.

JFC

The Java Foundation Classes are a set of five APIs that allow developers to build feature-rich Java applications. The JFC classes are Swing, AWT, Java 2D, Accessibility, and Drag and Drop. They provide support for forms, handicapped accessibility, and other user interface enhancements.

JIT

A Just-in-time compiler (JIT) is the mechanism used by the Microsoft .NET Framework to compile an application or component into the Microsoft Intermediary Language (MSIL). This compiled code is interpreted by the Common Language Runtime to interface with the operating system. By using this two-step process, JITs can be constructed for virtually any development language, enabling it to interface with the .NET Framework.

JSP (Java Server Pages)

A Java Server Page is a technology for displaying dynamic content on Web pages. JSPs use servlets (see Glossary: Servlet) that run on the Web server to create content that is sent as HTML to the Web client.

K

Back to main index

Kylix

Borland Kylix is an Integrated Development Environment created by Borland for the Linux platform. It provides a visual, component-based development environment for creating Linux desktop and server applications.

L

Back to main index

License Agreement

A binding legal agreement between the component or software publisher and the end user. In the case of a component, "End User" refers to the developer who purchased the component, not end users of that developer's application built with the component. License agreements specify terms of use for the software.

Lines of Code

This is the number of lines of code that are in the current version of this product. If your company knows how much it costs to write a "Line of Code" in a specific development language such as C++ or Java, then in conjunction with "Development Language Used" this value can be used to determine the cost of building this product yourself, which you can compare with the cost of purchasing it "off-the-shelf".

Linux

Linux is an open source version of Unix that is available in several implementations from different companies such as RedHat, Slackware, Caldera, and TurboLinux. These companies offer Linux distributions that run on Intel x86 processors, Sun Solaris, COMPAQ Alpha, and more.

M

Back to main index

MAC

MAC refers to the Macintosh platform which consists of Apple Macintosh hardware and the MAC-OS operating system.

MAC (as in MAC address)

The Media Access Control address is a 48-bit address that is burned into the circuits of a Network Interface Card (NIC). It is globally unique and identifies that machine on the network. In a TCP/IP network, the IP address is resolved to the MAC address in order to deliver packets to the correct computer.

Man Months Research and Development

This is the time taken, in developer man months, to research, develop and test the current version of the product. This would be the minimum time necessary for a developer with the business skill-level in the "Man Months Skill Factor" field to create this product from start to finish. If your company knows how much it costs for a developer man month, then this can be used to determine the cost of building this product yourself, which you can compare with the cost of purchasing it "off-the-shelf".

Man Months Skill Factor

This is the business skill-level needed to design and develop the product in the number of man months as displayed in the "Man Months Research and Development" field.

It is on a scale of 1 to 4, where:

  1. means you need to be a competent software developer, however the business/domain skill can be obtained by research
  2. means you need to be a competent software developer and have some real-world experience in the business/domain skill needed to build the component
  3. means you need to be a competent software developer and have over a years full-time real-word experience in the business/domain skill needed to build the component
  4. means you need to be a competent software developer and have over 5 years full-time real-world experience in the business/domain skill needed to build the component

MDAC

Microsoft Data Access Components are the connectors that allow Microsoft Development Environments to access heterogeneous data sources. It includes connectors for MS Access, MS SQL, data files, and more.

Metadata

Metadata refers to an organization's entire accumulated data. In addition to traditional warehouse data such as personnel, products, prices, services, etc., metadata also refers to documented processes, formats, even intellectual property.

MFC V4.0

COM Components built with the Microsoft Foundation Class Library V4.0 use the MFC V4.0 DLL to provide the necessary libraries. MFC V4.0 must be installed on the machine that this component/application is run on.

MFC V4.2/5.0/6.0

COM Components built with the Microsoft Foundation Class Library V4.2/5.0/6.0 use the MFC V4.2 DLL to provide the necessary libraries. This DLL must be installed on the machine that this application/component is run on.

MSIL (Microsoft Intermediate Language)

MSIL is the common language that all .NET development languages compile to. This allows components and applications written in any .NET development language to interoperate. MSIL is the "common" language used by the .NET Common Language Runtime (CLR). It is compiled to native code for the underlying platform by the CLR.

MTS Compatible

These are COM components that execute in the Microsoft Transaction Server (MTS) runtime environment. They are inherently scalable for distributed, enterprise-wide computing because a component on a client machine(s) can communicate with a component on a server(s). MTS components must be DLLs. EXEs and OCXs are not supported.

N

Back to main index

NetCLX

NetCLX components are Borland CLX components designed for networking functionality such as HTTP, FTP, CGI, and Sockets programming. They are cross platform components that can be used in the Microsoft Windows environment - via Delphi - and on several distributions of Linux - via the Kylix development environment.

O

Back to main index

Obfuscation

Code obfuscation is the process of making code difficult to understand by hiding (renaming) program references such as methods, namespaces, properties, etc. Byte code such as Java and .NET MSIL are particularly vulnerable to reverse engineering. Obfuscation provides a level of protection against such reverse engineering.

OCX96 Compatible

Not all ActiveX components are visual. A component marked as OCX96 Compatible supports being loaded into OCX96 containers that allow transparent components or non-rectangular windows.

ODBC

Open Database Connectivity is an Application Programming Interface (API) that provides access to a variety of data sources. It is an industry standard for exchanging data. As such, it allows computers in a multi-platform environment to access data on a SQL (or any ODBC-compliant) database.

OLE

Object Linking and Embedding is a technology that uses the Microsoft Component Object Model (COM) to allow for the creation of compound documents. OLE-enabled applications can contain a variety of objects. For example: a Word document can contain an Excel spreadsheet, or a PowerPoint presentation can contain an AVI file.

OLE DB

OLE DB is an Application Programming Interface (API) that provides access to a variety of data sources. It is designed to give clients in a Microsoft COM environment access to all types of data such as Microsoft SQL.

OMG

The Object Management Group is a not-for-profit corporation founded by eleven companies including 3Com, American Airline, Hewlett-Packard, Sun Microsystems, and Unisys. It supports a component-based software marketplace through industry standards. Some of the standards the OMG has been intrumental in creating are the CORBA specification and its related IIOP (Internet Inter-ORB Protocol).

OOP

Object Oriented Programming is the process of building applications by encapsulating functionality into individual objects. These objects feature polymorphism and inheritance. OOP is the foundation of component-based development (CBD)

Operating System

Many component and tool types are only supported by specific operating systems such as Microsoft Windows, Sun Solaris, Unix, Linux, etc. This information is specified to provide the developer with the supported operating systems for the product.

ORB

Object Request Broker (CORBA). ORBs are the middle-tier servers that house CORBA components. ORBs are defined as being built upon a particular version of the CORBA specification, such as 2.0 or 2.3. It is this version number to determines if a CORBA component can be run on a given ORB. ORBs can be compared to EJB Application Servers. In fact, many EJB App Servers also contain CORBA ORB software, enabling them to run both EJB and CORBA components.

P

Back to main index

Polymorphism

Polymorphism allows you to have related classes with methods of the same name. At runtime the correct procedure is determined based on the class of the object. For example, if you pass an object as an argument to a procedure, the procedure can invoke methods of the object without knowing what type of object it is.

POP3

The Post Office Protocol 3 is an Internet standard protocol for receiving e-mail. POP3 is a client/server protocol in which email is received and held for you by the Internet server. Once the client connects, the POP3 server forwards all messages to the client and terminates the connection.

Primary Development Language Used

This is the development language used to build the current version of this product. If your company knows how much it costs to write a "Line of Code" in a specific development language such as C++ or Java, then in conjunction with the "Lines of Code" value this can be used to determine the cost of building this product yourself, which you can compare with the cost of purchasing it "off-the-shelf".

R

Back to main index

RCS

The ComponentSource Reusable Component Specification is the unifying type model on which all externally visible marketplace information is based. It constitutes our public marketplace community standard - it is used by our author and customer networks and is surfaced in a number of "physical" forms. These forms include the public marketplace Web catalog pages, the publisher product submission form, and the XML schemas used by the ComponentSource SAVE-IT Web services. (see Glossary: SAVE-IT)

RCW (Runtime Callable Wrapper)

The Runtime Callable Wrapper is a compatibility mechanism that allows .NET to support existing COM components. The RCW "wraps" the COM component and gives it the same "shape" as a .NET Assembly. To .NET applications, the component "looks" like a .NET component.

RDBMS

Remote Database Management System. Refers to the back-end database system that houses an organization's data. There are several types of RDBMS including SQL, Oracle, dBase, Paradox, and more.

Repository

A repository is a database containing software rather than data. This software can be in the form of executables, components, libraries, UML models, and more. Most repositories include an application that is used to manage its own database.

Reusable Component

Reusable component is a generic term for any self-contained block of code that encapsulates specific business logic or user interface functionality. It can exist as either a "white box" component (source code) or as a "black box" component (binary code, accessed via exposed interfaces).

Reverse Engineering

Software reverse engineering is the process of "de-compiling" byte code back into usable source code to determine how a program works. In order to protect their intellectual property, many software developers use code obfuscation to make reverse engineering more difficult.

RMI

Remote Method Invocation is the technology that allows Java developers to access distributed components in an enterprise environment. It is similar to a remote procedure call, but it has the ability to pass one or more objects along with the request. The object can include information that will change the service that is performed on the remote computer.

ROPE

The Remote Object Proxy Engine is an object model that developers can use to implement and use SOAP Web services. It actually consists of two parts The Proxy Object, and the SOAPPackager Object. The Proxy object allows a client to access a Web service as if it were a local COM object., thus allowing any COM-enabled language access to the Web service. The SOAPPackager object provides a lower-level model for handling SOAP messages and is typically used on the server-side.

RPC

Remote Procedure Call is a protocol that an application or component can use to request a service from an application or component located on another computer, without being required to understand network details.

Runtime License

A runtime license is a restriction that is placed on a component or application which specifies how it can be used by the end-user. Some runtime licenses consist simply of a legal agreement entered into by the manufacturer and the end user. Other runtime licenses are actually enforced by the software and can limit its functionality based upon a license key. As it pertains to components, a runtime license specifies how the developer can deploy a component within their application.

S

Back to main index

Safe for Initialization

When an ActiveX component is marked as Safe for Initialization, the developer is certifying - via his digital signature - that the component can be loaded into a Web page and "instantiated" or created. In Active Server Pages this is done by assigning the component to a variable SET objMyVar=Server.CreateObject("MyObject.MyClass")

Safe for Scripting

When a component is marked as Safe for Scripting, the developer has used his digital signature to certify that the component is safe to code against strMyString=objMyVar.GetMyString

SAVE-IT™ - (Software Asset Value Engineering in Information Technology)

The latest version of ComponentSource Enterprise Reuse Solution, ComponentSource® SAVE-IT™ offers the business model and technology for recouping the costs of software development organization-wide. SAVE-IT™ consists of an enhanced and proven three-pronged commercial approach to establish the business drivers for reuse of software assets inside of an organization, and a scalable asset rich infrastructure to institutionalize reuse. The customizable solution may be packaged according to a customer's needs. It differentiates itself in the market on three proven levels comprising: SAVE-IT PROCESS™, SAVE-IT CATALOG™, and SAVE-IT CONTENT™.

Server-side Component

A server-side component is any component that is optimized to run in the middle tier of a multi-tier environment. This includes Web servers and application servers. These components are generally non-visual except for those that are specially designed to send user interface data to the client, such as server-side graphing and charting components and the forthcoming .NET server-side user interface components.

Servlet

A Servlet is a self contained Java program designed for Web applications. Servlets are run on the Web server and data is sent to the client via HTML or XML.

SMTP

The Simple Mail Transfer Protocol is an Internet standard protocol for sending and receiving E-Mail. It is limited in its ability to queue messages and, as such, is usually used with either the POP3 or IMAP protocols at the receiving end. (see Glossary: POP3, IMAP)

SOAP

The Simple Object Access Protocol is an industry standard protocol for component interoperability over the Internet. It is built on the existing standards of XML and HTTP to allow components of all platforms to communicate via standard protocols.

Source Code

Source code is a listing of the actual commands of a component or application and is written in a particular development language such as Visual Basic, Visual C++, or Java. Components that come with source code are referred to as "White box" components, since all of the underlying logic is exposed. Developers can modify source code to add functionality.

SQL

The Structured Query Language is an industry standard programming language for accessing and updating a database. SQL is also used to refer to the the database management system (DBMS) that stores this data. SQL queries allow you to select, insert, update, and find data in the SQL database.

Static Link Library

Static Link Libraries are class libraries that can be linked into C++ applications. These are packaged as .LIB files.

Swing (JFC)

The JFC Swing classes provide support for forms-based Java programming. It provides the ability to include trees, tabbed panes, splitter panes, and other user interface enhancements to Java applications, giving them the look-and-feel expected in today's application marketplace.

T

Back to main index

TCP/IP

The Transmission Control Protocol/Internet Protocol is the base protocol used for communication over the Internet. It allows both connection-based and non connection-based (fire and forget) transmission of data over the Internet. Essentially, TCP/IP is tha language spoken by the Internet Protocols/Services such as HTTP, SMTL, FTP, etc.)

Thread

A thread is the smallest unit of execution. It is what the operating system allocates CPU time to. A process consists of one or more threads. An application or component consists of one or more processes.

Tool Type

In addition to components, ComponentSource provides useful tools to assist developer in creating components and applications. These tools may be components, applications, add-ins, etc. They are specified here to clearly define the functionality provided.

U

Back to main index

UDDI

The Universal Description, Discovery, and Integration service is a platform-independent, XML-based registry that is used to dynamically discover Web Services. It uses WSDL to communicate the service information. WSDL sits on top of SOAP, which in turn sits on top of XML. (See related definitions: WSDL, SOAP, XML.) UDDI allows Web services to list themselves by name, product, location, or Web Services offerred.

UML

The Unified Modeling Language is designed to specify and document the structure of and interfaces to a software component or system. It is a graphical language for expressing program design in a standard way. A UML model is essentially a blueprint for the construction of that component or system.

V

Back to main index

VB Class Library

These consist of either source code (.CLS) or compiled (.DLL) libraries that can be referenced from Visual Basic.

VB5

A COM component built using Microsoft Visual Basic V5.0 has no external dependencies. The only requirement is that the Visual Basic V5.0 runtime is installed on the development machine and any end user machines.

VB6

A COM component built using Microsoft Visual Basic V6.0 has no external dependencies. The only requirement is that the Visual Basic V6.0 runtime is installed on the development machine and any end user machines.

VBX

Visual Basic Extensions are 16Bit components only compatible with Visual Basic running on operating systems that support 16Bit.

VC++ Class Library

These are source code or complied (.DLL) libraries that can be referenced from Visual C++.

VCL

Visual Class Library components are visual or non-visual components that are compatible only with Borland environments such as Delphi and C++ Builder.

Visual Basic

Microsoft Visual Basic consists of two parts the Visual Basic language and the VB Integrated Development Environment (IDE). VB is a high-level, easily learned programming language for developing applications and components. If a component is listed as being compatible with a particular version of VB (i.e. VB 3.0, VB 4.0), it requires the specified version. For example, the current version of VB is V6.0. VB 6 is 32Bit only and does NOT support 16Bit VBXs.

Visual Studio

Microsoft Visual Studio is a suite of programming languages for developing applications and components. It consists of Visual Basic, Visual C++, Visual Interdev, Visual J++, and Visual FoxPro. If a component is listed as compatible with a particular version of Visual Studio, it is by definition compatible with all five IDEs.

Visual Studio.NET

Visual Studio.NET is the suite of development languages writen by Microsoft to allow development for the .NET platform. It includes Visual Basic.NET, C++.NET, and a new language: C#. All Visual Studio.NET languages are considered .NET Extenders (see Glossary: .NET Extenders).

VisualCLX

VisualCLX components are Borland CLX components designed for user interface functionality such as grids, treeviews, listboxes, etc. They are cross platform components that can be used in the Microsoft Windows environment - via Delphi - and on several distributions of Linux - via the Kylix development environment.

W

Back to main index

WAP (Wireless Application Protocol)

The Wireless Application Protocol is a specification for standard protocols used by wireless devices such as cellular phone, handheld and palmsize computers, etc., for Internet access, E-Mail, newsgroups, and more.

Web Service

A Web Service is programmable logic that is accessible via standard Web protocols. It uses SOAP to describe the interfaces to the service, enabling cross-platform Internet clients to use that logic via XML protocols.

White Box

A white box component is a class library that is available as source code. All functions are exposed and the component can be modified with no restrictions other than those outlined in the component author's license agreement.

Win 2000

Windows 2000 is built on NT technology to provide robust, secure network servers and workstations.

Win 3.x

Microsoft Windows 3.1, 3.11. 16Bit operating system.

Win 95

Microsoft Windows 95. Supports both 16Bit and 32Bit components.

Win 98

Microsoft Windows 98. Supports both 16Bit and 32Bit components.

Win CE 2.x

Microsoft's operating system for palm-size and handheld devices.

Windows DNS

A Windows Digital Nervous System is Microsoft's vision of multi-tier, integrated systems of applications, distributed components, and services, utilizing industry standards such as HTTP, XML, SOAP, and MTS, used to create scalable, enterprise-wide systems.

Windows Foundation Class

These are components that are created from the WFC and can be used in Java applications as well as other environments that support ActiveX components such as Visual Basic and Visual C++.

WinNT 3.51

Windows NT is Microsoft's robust, secure operating system for network servers and workstations. WinNT 3.51 has a user interface similar to Windows 3.x.

WinNT 4.0

Windows NT is Microsoft's robust, secure operating system for network servers and workstations. WinNT 4.0 has a user interface similar to Windows 9x.

Wizard

Tool used to enhance development environment or add functionality to application at design-time. Also describes applications that perform a type of conversion, such as a "Data Migration Wizard" to transform a database from one type to another.

WML (Wireless Markup Language)

The Wireless Markup Language allows the text of Web pages to be displayed on handheld devices and cellular telephones. It is part of the Wireless Application Protocol (see Glossary: WAP).

WSDL (Web Services Description Language)

The Web Services Description Language is an XML-based language that is used to describe Web services. It is the language used by the UDDI registry to allow businesses to list their Web services.

X

Back to main index

XML

The Extensible Markup Language (XML) is an industry standard method for using "tags" to describe data for exchange between different platforms, languages, and applications. Since it is an open standard, it is ideal for exchanging data over the Internet.

XSL

The Extensible Stylesheet Language is used to describe XML data that is sent over the Web is presented to the user. It is an industry standard language that gives the Web page author control over how XML data is displayed, which fields are presented, where they are displayed on the page, and in what order.

XSLT

XSL Transformations is an industry standard that describes how to change an XML document from one structure to another structure. It is used to transform the source tree of one XML document into a result tree for a new XML document.