Title: dr' Abonyi Jnos
1Adattárházak és kiaknázásuk
Korszeru adatelérési eszközök (ODBC, OLE, XML)
- dr. Abonyi János
- Veszprémi Egyetem
- abonyij_at_fmt.vein.hu
- www.fmt.vein.hu/softcomp/dw
2Mirol lesz szó?
3History of data access I.
- In the bad old days, (circa 1984-1991,) if you
needed a program to access data source specific
data from a thirdparty data location - whether it
was an RDBMS, spreadsheet, or legacy system a
great deal of effort and code was required. - For Microsoft Excel, it was possible to buy the
file format specification and write an extensive
parsing tool, but it was usually easier to export
it to some text-based format and re-format it
manually. - Embedded SQL and clunky preprocessors were the
tools of choice to access early RDBMS servers.
4History of data access II.
- Recognizing these problems, the SQL Access Group
(SAG) was formed in 1989 as an industry
consortium to promote portability and
interoperability among DBMS vendors. - Microsoft representatives were among the members,
and the company anticipated the eventual release
of the SAG standard by shipping the Open Database
Connectivity API ( ODBC) and tool-set in 1992. - ODBC was a major step forward in data
connectivity, and played a significant role in
the legitimization of the PC as a client platform
for enterprise applications. - It also fueled the sales of PC-based
report-writers, rapid application development
(RAD) environments, and related tools.
5History of data access III.
- ODBC has its share of problems, however. As a
product of SAG, ODBC is tightly bound to the SQL
language, and therefore to the relational model
that underlies it. This creates a problem when
attempting to use ODBC to access hierarchical,
multi-dimensional (OLAP), or freeform
(spreadsheets, e-mail) data. - The requirement for SQL processing also poses an
entry barrier for many of the low-end tabular
data stores. - Another problem is the leveling of ODBC
drivers. The designers of ODBC anticipated that
not all data-sources would be capable of
providing the full functionality, so the API
entries were grouped into Core, Level 1, and
Level 2 to indicate which features were
required and which considered optional for
drivers of various capabilities. Unfortunately,
since the development of most drivers is outside
Microsofts control, many use a pickand-choose
approach to ODBC API support.
6History of data access IV.
- Similarly, the many flavors of SQL result in each
driver having to report its degree of conformance
to various SQL specifications. - The resulting complexity of these issues,
exacerbated by the changes contained in various
versions of ODBC, seriously undermines the
universal nature of the API. In the worst-case
scenarios, developers are forced to treat each
DBMS separately just as they did before ODBC
was available. - So, in order to deal with this stack of problems
(and to address the increasingly important issues
of Internet integration, multi-threaded
applications, and other technical issues)
Microsoft developed the OLE DB specification.
7What is ODBC ?
- The Open Database Connectivity (ODBC) standard is
a common application programming interface for
accessing data files. - ODBC allows you to easily move data back and
forth between ODBC compliant applications. - So, for example, you can easily extract data from
a Microsoft Excel spreadsheet or Paradox database
using SAS or SPSS without having to go through
any tedious translation procedure. - With ODBC, all you have to do is specify the
type of file you are accessing and the data you
want, and the ODBC driver will do the rest of the
work.
8Why Use ODBC?
- ODBC can be used as a translation engine,
facilitating the movement of data between
different applications with dissimilar file
structures. While most applications have some
sort of import file command that performs much
the same task as ODBC in this kind of situation,
ODBC typically provides a more versatile and in
some cases easier to use interface for
transferring data between programs.
9ODBC Objectives
- For several years, a working party called the
SQL-Access Group (SAG), consisting of interested
hardware and software vendors, worked towards
defining a common database access method to
simplify Client-Server computing. Microsoft has
taken a core set of SAG's output and developed a
call-level interface called the Open Database
Connectivity (ODBC) Application Programming
Interface (API). - ODBC defines a low-level set of calls which allow
client applications and servers applications to
exchange instructions and share data without
needing to know anything about each other. It
applies to any Client-Server operation, whether
or not the client and server applications are
resident on the same machine, or on different
PC's, or even if the server is on a remote
machine running a different operating system.
10ODBC is based on SQL
- ODBC is based on and closely aligned with The
Open Group standard Structured Query Language
(SQL) Call-Level Interface. It allows programs to
use SQL requests that will access databases
without having to know the proprietary interfaces
to the databases. - ODBC handles the SQL request and converts it into
a request the individual database system
understands.
11History of ODBC
- ODBC was created by the SQL Access Group and
first released in September, 1992. Although
Microsoft Windows was the first to provide an
ODBC product, versions now exist for UNIX, OS/2,
and Macintosh platforms as well. - In the newer distributed object architecture
called Common Object Request Broker Architecture
(CORBA), the Persistent Object Service (POS) is a
superset of both the Call-Level Interface and
ODBC. - When writing programs in the Java language and
using the Java Database Connectivity (JDBC)
application program interface, you can use a
product that includes a JDBC-ODBC "bridge"
program to reach ODBC-accessible databases.
12ODBC Theory of Operation
- The Open Database Connectivity (ODBC) interface
allows applications to access data from database
management systems (DBMS). - The interface permits maximum interoperability -
a single application can access diverse back-end
database management systems. - An application developer can develop, compile,
and ship an application without targeting a
specific DBMS product. - Users can then add modules called database
drivers that link the application to their choice
of database management systems.
13The ODBC interface defines the following
- A library of ODBC function calls that allow an
application to connect to a DBMS, execute SQL
statements, and retrieve results. - A standard way to connect and log on to a DBMS.
- A standardized representation for data types.
14The Interface is flexible enabling
- An application to construct SQL statements at
compile time or at run time - An application to use the same object code to
access different DBMS products - An application to connect to multiple instances
of DBMS products - An application to send and receive data in a
format convenient to the application the driver
converts data values to the format of a specific
DBMS product.
15ODBC Architecture I.
Client
DBMS
- Procedural API
- SQL-centric
16ODBC Architecture II.
- ODBC is composed of four main components the
client application, ODBC driver manager, ODBC
drivers, and the ODBC data source. - The client application in this discussion will
SAS, and is the computer package that you will be
using for your data manipulation or analysis. - The ODBC driver manager is a program used to
manage the links between the various applications
and to configure data transfer settings. - The ODBC drivers serve as the link between the
client and ODBC data, and must be installed for
each application. These drivers might also be
composed of a network component that could be
used to transfer data from a remote server. - Finally, an ODBC data source is a user-generated
configuration of a particular data file created
using the ODBC driver manager for access by
client applications.
17Types of Drivers
- ODBC defines two types of drivers
- Single-tier The driver processes both ODBC calls
and SQL statements. - Multiple-tier The driver processes ODBC calls
and passes SQL statements to the data source. - One system can contain both types of
configurations.
18Single-Tier Configuration
- In a single-tier implementation, the database is
processed directly by the driver. The driver
processes SQL statements and retrieves
information from the database. - In a single tier driver network environment data
access software resides on the PC, this implies
that query resolution intelligence resides on the
client.
19Multiple-Tier Configuration I.
- In a multiple-tier configuration, the driver
sends SQL requests to a server that processes SQL
requests. - The application, driver, and Driver Manager
reside on one system, typically called the
client. The database and the software that
controls access to the database typically reside
on another system, typically called the server.
This implies that query resolution intelligence
resides on the server. - A variant of the multiple-tier configuration is a
gateway architecture, where the driver passes SQL
requests to a gateway process. The gateway
process sends the requests to the data source.
The gateway in this scenario can be a piece of
hardware or data access software in the form of a
low level interface to foreign databases provided
by the RDBMS vendor.
20Multiple-Tier Configuration II.
21Setting Up an ODBC Data Source
- Once the ODBC drivers are installed on your
workstation you may have to create an ODBC data
source which serves as a configuration profile
for the data files. - To check which data sources have already been
created, use the ODBC driver manager.
22ODBC driver installation
- Because ODBC driver installation is independent
of ODBC data source configuration, we would have
to click the Drivers... button in the ODBC
administrator to see a list of the installed
drivers.
23Creating an ODBC Data Source
- There are two types of ODBC data sources -- what
one could refer to as "generic" and
"file-specific" data sources. - A generic data source is automatically created by
some programs during the installation stage.
These types of data sources provide all of the
information necessary to access a file using
ODBC, except for the name and location of the
file. - Thus, when using a generic data source, the user
must specify the drive, path, and filename
interactively. - In contrast, a file-specific data source is a
much more precise configuration that designates a
particular file in a particular location as an
ODBC data source. A file-specific ODBC data
source is usually created in situations where a
single file is going to be accessed many times
because it allows you to refer to the file by the
assigned name rather than having to select the
file each time you wish to access it.
24ODBC Overview
- Access to relational data only
- Requires an SQL engine
- Standard SQL defined
- PC and Unix data access (VMS?)
- Mature technology
25WHAT IS OLE DB?
- OLE DB is not a product at least in the
traditional sense. - Instead, it is a specification of how data
consumers should communicate with data providers.
- The goal of OLE DB is to provide an open,
extensible standardallowing any software that
conforms to the specification to communicate via
a set of common interfaces. - OLE DB is built on some of Microsofts key
strategic technologies, and builds upon the
heritage of the previous generation of data
access software.
26Overview of COM I.
- Software developers have been talking and writing
about the software crisis since the late
1960s. While that is too complex an issue to
discuss here, in essence it refers to the fact
that software productivity and quality continues
to fall further and further behind hardware
quality and capabilities. - One partial solution that has been applied to
this situation is software component reuse in
the same way that a computer designer creates a
system from a set of common parts, software
developers would like to be able to build a
system from reusable software components.
27Overview of COM II.
- Object-oriented software languages and design
have contributed to this effort, and defined some
useful concepts for managing reuse, such as
encapsulation, polymorphism, and inheritance. - Among other benefits, these concepts all serve to
isolate changes in one piece of software,
preventing them from affecting other software. - COM uses these object-oriented concepts, but
unlike most other approaches, COM attempts to
promote software component reuse at the binary
object level instead of at the code level. - This has several benefits, but most importantly,
it allows a software component to be upgraded or
replaced transparently to the applications using
it.
28Overview of COM III.
- The primary mechanism in COM for insuring
consistency across versions is the interface, - and the first rule of COM programming is that any
interface, once published, is immutable. - Specifically, the syntax of all methods and their
arguments must remain the same. - In addition, all access to a com object must be
though the interface methods directly modifying
an objects data is forbidden (encapsulation.)
29Overview of COM III.
- Another key aspect of the interface is that it is
not tied to a specific object, but can be reused
(inheritance). This allows the calling program to
treat all objects that provide a specific
interface identically (polymorphism). - To further leverage this capability, COM provides
a mechanism for a program to determine which
interfaces each object supports at execution
time, eliminating the need for the consumer to
limit itself to a lowest-common-denominator
functionality. - In addition to addressing the above problems, COM
was designed with network computing in mind. Such
programming issues as multi-threaded and parallel
computing, distributed transaction coordination,
were addressed and generic solutions devised.
30HOW DOES OLE DB WORK?
- From a system perspective, OLE DB is still simply
database middleware like ODBC, in that it serves
as a translator between a client and a server. - The calling application obtains a COM Interface
handles and executes the methods of interest. - Client and server are sufficiently ambiguous
terms that OLE DB has introduced the terms
consumer and provider to clarify the
relation. - A consumer is any software that requests an OLE
DB interface, while a provider is any software
that implements one or more OLE DB interfaces.
31OLE DB vs. ODBC I.
- Procedural API
- SQL-centric
ODBC Architecture
Client
DBMS
OLE DB Architecture
Client
DBMS
- COM classes
- Direct table manipulation
- Generic command processing
COM
OLE DB Provider
32OLE DB vs. ODBC II.
- OLE DB differs from ODBC in that there is no
equivalent to the ODBC driver manager. OLE DB
providers are self sufficient in this sense,
although multiple providers may cooperate to
access a single data source. - For example, Microsoft distributes a provider
enumerator (which is itself an OLE DB provider)
as part of the OLE DB redistributable files. It
is used to obtain the list of installed
providers. - An important aspect of OLE DB is that instead of
entirely replacing ODBC, it leverages the
existing base of ODBC drivers by providing a
translation provider the OLE DB Provider for
ODBC Data Sources for those sources.
33How to develop OLE DB tools?
- The OLE DB API, like all COM APIs, is technically
language independent but it is most conveniently
accessed in C. - To make OLE DB technology more accessible to
languages such as Visual Basic, Microsoft has
provided an abstraction layer called Active Data
Objects (ADO). - ADO provides most of the power of OLE DB, but
with less code and a much shallower learning
curve.
34ADO Architecture
OLE DB Provider
Client
ADO
ODBC
MSADSQL
- Scriptable bindings
- Simplifies OLE DB model
- Appropriate for e-business applications
35OLE DB Objects
36Enumerators
- Enumerators provide lists of information to the
consumer. - The most common example, the root provider
supplied by Microsoft searches for installed OLE
DB providers, including other enumerators, and
returns their identifying information in a
rowset. - Enumerators are most useful to generic consumers
those that are designed to connect to arbitrary
providers selected at run-time. - In some cases, however, a data provider will
include additional enumerators such as when an
RDBMS manages multiple databases residing on a
single server.
37Data Sources
- Data source objects perform the work required to
connect to a data source, such as a tabular file
or a DBMS. - They manage connection options make the network
connection or open the file(s), as appropriate
and may supply administrative capabilities and
general information about the data source. - All consumers must obtain a data source object.
Further, they must initialize the data source
object before it can create a session or perform
other operations of the data source.
38Sessions
- Sessions provide a framework for transaction
management, which can be handled automatically,
or explicitly controlled by the consumer. - If a data source doesnt support transactions,
the session object will operate in auto-commit
mode, where all changes will be saved as they are
made. - Sessions are a prerequisite for creating
transactions, commands, and most rowsets. - They may also provide schema information and the
ability to create or modify tables and indexes.
39Transactions
- Transaction objects are optional, and serve a
single purpose. - They allow the consumer to explicitly control the
commission or abortion of pending database
options. - Not all providers support transactions, and those
that do may handle only simple transactions. - More sophisticated providers may participate in
nested or coordinated transaction management.
40Commands
- Commands are used to submit statements in SQL (or
other appropriate language, such as the MDX
extended SQL syntax for OLAP) to the provider. - Unlike ODBC, command support is optional for OLE
DB providers. - Those providers that do have command languages
may use different dialects, although they must
report which dialect(s) are supported, and to
what extent.
41Rowsets
- Rowsets are the OLE DB objects that contain the
data - the actual rows and columns, or observations and
variables if you prefer. - rowset is effectively a local buffer for the
data, although advanced providers support a vast
array of client and server-side cursors,
scrolling,bookmarks, etc. through optional
interfaces. - This allows buffer management to be tuned
effectively by each consumer based on its usage
pattern and the capabilities of the provider.
42Errors
- Errors in OLE DB are simply an extension of the
error handling objects built into COM. - Support for error objects are, sadly, entirely at
the discretion of the provider often requiring
the consumer to rely on basic method return codes
to check for success or failure. - However, the better providers can and do provide
extensive diagnostic messages in the error
objects.
43OLE ODB Dependencies
44Providers
- All major RDBMS brands have an available OLE DB
provider, though some are native while others
rely on middleware solutions. - Microsoft SQL Server, Microsoft Access, and
Oracle providers are available directly from
Microsoft, while MicroFocus3 sells direct
providers for Oracle, Sybase, and INFORMIX - Non-relational providers are also available, and
are currently available for various flat file
formats (such as dBase) and email systems
including Lotus Notes and Microsoft Exchange. - File system providers are available for Microsoft
Active Directory Services2 (NT, NetWare, and
LDAP) and C-ISAM/D-ISAM, with VSAM slated for
release soon.
45OLAP providers
- On the OLAP side, providers for the
multi-dimensional servers from Microsoft, Oracle,
Red Brick, and Sybase are shipping or in the
works. - The OLE DB for OLAP specification is relatively
recent, so more providers are anticipated in this
area over the coming year. - SAS Institute itself is developing four
providers, three relational and one OLAP - The SAS/Access Interface to OLE DB has the
ability to consume data from all of these
providers, enabling SAS software to serve as a
central information processing tool for all your
data, regardless of its origin.
46SAS Providers
SAS/SHARE Data Provider
SAS/SHARE Server
C ONSUMER
IOM Data Provider
SAS/Integration Technologies Server
SAS Local Data Provider
47Consumers
- There are two main categories for OLE DB consumer
applications those that process data from a
variety of OLE DB providers, and those that are
designed to interact with a single provider. - The first group generic consumers largely
consists of shrink-wrap software. - The single-source consumers are typically
proprietary corporate IS applications, and are
often bound directly to the schema of a
particular database. - Of the shrink-wrap applications, few are
available now, but Microsoft has announced
sweeping support in the Microsoft Office 2000
suite. Microsoft Excel 2000, for example, will be
able to import data from any OLE DB source, and
will generate pivot tables linked directly to
OLAP cubes. - Similarly, Microsoft Access will support import
and view capabilities for OLE DB providers. One
application that is available now is Crystal
Reports 7, from Seagate software, which can
produce reports using data from OLE DB sources.
48OLAP Consumers
- OLE DB for OLAP consumers will see some exciting
developments over the next year. Support
initiative have been announced by most of the
leading OLAP companies, including BAAN, Brio,
Cognos, Hyperion, Knosys, Pilot, and of course
Microsoft and SAS Institute. - Among proprietary consumers, the important news
is not the applications so much as the
development tools available to leverage OLE DB. - Microsoft Visual Basic and Visual C offer tools
and Wizards to simplify the development of OLE
DB-based applications. - Sybase has announced OLE DB support in
PowerBuilder Version 7. - There are also a number of web technologies such
as Microsoft ADO/RDS to use OLE DB technology to
deploy web solutions.
49OLE DB Overview
- Access to relational/non-relational data
- No SQL required in API
- No standard SQL defined
- PC centric
- Built on top of OLE and COM
- Newer technology will replace ODBC
50Conclusion
- OLE DB is an open, extensible standard that
shrewdly leverages existing database access
tools. It is slated to be a key technology in the
next generation of Windows based software. - It is no secret that the industry drive for open,
collaborative software development is gathering
momentum driven by distributed, web-based
technologies. - The leaders in 21st century information delivery
will be those who recognize this opportunity and
seize it. - The goal of the SAS Nashville project is to put
SAS Institute at the forefront of this trend, and
the OLE DB providers and consumer are a critical
component of that effort.
51What is XML?
- Web data format standard
- W3C (World Wide Web Consortium)
- Separates data from presentation
- Self describing data format
- ltMasterRecipegt
- ltHeadergt
- ltProductIDgt M101 lt/ProductIDgt
- lt/Headergt
- lt/MasterRecipegt
- ltTagsgt describe data values
- Tags must match
- ltProductIDgt ltproductIDgt ltProd_IDgt
52XML what does it look like?
- Stuff
- Delimited by lttagsgt ltyougt ltmakegt ltupgt
- Said lttagsgt follow certain rules.
- This is the big deal one can rely on the
well-formed-ness to build stronger applications
53XML what does it look like?
- lt?xml version"1.0" encoding"iso-8859-1" ?gt
- ltNHLgt
- ltCONFERENCEgt Eastern
- ltDIVISIONgt Atlantic
- ltTEAM name"New Jersey Devils"
abbrev"NJ" /gt - ltTEAM name"New York Islanders"
abbrev"NYI" /gt -
- lt/DIVISIONgt
- ltDIVISIONgt Northeast
- ..
- lt/NHLgt
54XML an agreed upon vocabulary
- Applications agree to interchange information
using a common vocabulary - But way more flexible.
- Easier to evolve.
- Applications ignore vocabulary they dont
understand.
55DTDs Schemas
- XML 1.0
- Document Type Definitions (DTDs)
- Inherited from SGML (Standard Generalized Markup
Language) - Limitations
- W3C Schema format to replace DTDs
- Expected in 2000
- Overcomes DTD limitations adds new capabilities
- Microsoft developed proprietary schema format
- .xdr schema data reduced
- Expected (hoped?) to use W3C schema format in the
future
56XML Schema Usage
- Define valid elements
- Define valid hierarchy organization of elements
- Reduce programming required to validate XML
documents
XML Processor
XML Processor uses the output of the parser and
displays the XML
XML Schema
XML Document References Schema
Display
or
XML
Data Application
Parser
XML parser validates the XML document using the
referenced schema
XMLDocument
57XML easier to evolve?
APP 2
APP 1
XML v1
58XML easier to evolve?
APP 2
APP 1
XML v1 XML v1.1
APP 3
59External References
- http//www.w3.org
- look down the lefthandside for XML
- http//www.xml.com
- http//www.xml.org
- http//www.simonstl.com
- good stuff in articles/presentations
60XML for Data Exchange
- Natural fit for structured data
- Mainstream technology
- Overcomes many relational database limitations
- Text files
- Low overhead costs and tools
- Human readable without tools
- Tools enhance readability
- Transportable
- HTTP
- E-mail
- Easy to exchange recipe fragments
- Recipe unit procedure or recipe operation
- Individual formula items
61Customized Schemas
Industry Standard Schema
Individual Schemas Based upon Industry Standard
Company
Company
A
B
Vendor Y
Vendor X
Corporate
Corporate
Schema
Schema
Schema
Schema
Schema Mapping Conversion Tools
62E.g. Batch Control Markup Language
- BatchML
- Based on S88.02
- Basis for corporate vendor specific schemas
- Data exchange for
- Master Recipes
- Batch History
- Batch Schedules
- Equipment Definitions
63E.g. Master Recipe Header
lt?xml version"1.0" encoding"UTF-8"?gt ltMasterReci
pe xmlns"x-schemaMasterRecipeV01.xdr"gt ltHeadergt
ltIDgt PROD100 lt/IDgt ltCreationDategt
2000-09-04T124348 lt/CreationDategt ltVersiongt
4.0 lt/Versiongt ltVersionDategt 2000-10-10T162303
lt/VersionDategt ltVersionAuthorgt Michelle
lt/VersionAuthorgt ltApprovalDategt
2000-10-12T130422 lt/ApprovalDategt ltApprovedBygt
Paul lt/ApprovedBygt ltStatusgt Approvedlt/Statusgt
ltStandardSizegt 100.0lt/StandardSizegt ltMaximumSiz
egt 300.0 lt/MaximumSizegt ltMinimumSizegt 50.0
lt/MinimumSizegt ltEngineeringUnitgt KG
lt/EngineeringUnitgt ltCommentgt PRODUCT X
lt/Commentgt ltDescriptiongt Production of Polymer
X lt/Descriptiongt ltProductNamegt Polymer X
lt/ProductNamegt lt/Headergt lt/MasterRecipegt
64E.g. Master Recipe XML Schema
lt?xml version "1.0"?gt ltSchema name
"MasterRecipe00-01.xdr" xmlns
"urnschemas-microsoft-comxml-data" xmlnsdt
"urnschemas-microsoft-comdatatypes"gt ltElementT
ype name "MasterRecipe" content "eltOnly"
order "seq"gt ltelement type
"ID"/gt ltelement type "Header minOccurs"0"
maxOccurs"1"/gt ltelement type
"EquipmentRequirement" minOccurs"0"
maxOccurs"1"/gt ltelement type "Formula"
minOccurs"0" maxOccurs"1"/gt ltelement type
"Procedure" minOccurs"0" maxOccurs"1"/gt ltele
ment type "UnitProcedure" minOccurs"0"
maxOccurs""/gt ltelement type
"OtherInformation" minOccurs"0"
maxOccurs""/gt lt/ElementTypegt ltElementType
name "UnitProcedure" content "eltOnly" order
"seq"gt ltelement type "ID"/gt ltelement type
"RPEClass" minOccurs"0" maxOccurs"1"/gt ltel
ement type "InstanceType" minOccurs"0"
maxOccurs"1"/gt ltelement type
"EquipmentProceduralElementID" minOccurs"0
" maxOccurs"1"/gt ltelement type "Header"
minOccurs"0" maxOccurs"1"/gt ltelement type
"EquipmentRequirement" minOccurs"0"
maxOccurs"1"/gt ltelement type "Formula"
minOccurs"0" maxOccurs"1"/gt ltelement type
"Procedure" minOccurs"0" maxOccurs"1"/gt ltele
ment type "Operation" minOccurs"0"
maxOccurs""/gt ltelement type
"OtherInformation" minOccurs"0"
maxOccurs""/gt lt/ElementTypegt
65XML what's the fuss
- XML might just be the ASCII text file of the
new millennium. A universal and accepted way to
transfer information between computer
applications - Many big initiatives are embracing XML
- CDISC pharmaceutical submissions
- most B2B exchanges
- most DBMS software
- most ERP software
- XML at the heart of .NET and Hailstorm
66(No Transcript)
67Overview
- Using ODBC drivers, OLE DB providers and XML
extends your data reach from the SAS System.
68Buzz words I.
- ActiveX A label used to refer to COM-based
components and technologies, especially those
related to the internet. - ADO Active Data Objects an abstraction layer to
provide OLE DB connectivity - API Application Programming Interface a
collection of functions or procedures that
provide a specific software capability. - COM The OLE Component Object Model, a specific
approach to Object-Oriented software development
developed by Microsoft. - Consumer Any software component that utilizes an
OLE DB interface. OLEDB - Driver In ODBC, a software component providing
access to a specific DBMS or file format.
69Buzz words II.
- Encapsulation A protective programming technique
that prevents external code from modifying the
contents of data structures internal to an object
or module. - Inheritance A programming technique that
facilitates the re-use of programming constructs.
In COM, interface specifications are inherited
rather than method implementation. - IOM Interface Object Model a SAS Nashville
- initiative to support distributed,
component-based development. - ISV Independent software vendor
- Interface An immutable collection of methods.
- MDDB Multi-Dimensional Database
- Method A function implemented by an object.
70Buzz words III.
- Object In COM, a binary construct that provides a
set of interfaces. - ODBC Open Database Connectivity a Microsoft API
for accessing SQL-based data sources. - OLAP On-Line Analytical Processingcommonly
refers to the consolidated storage and
multi-dimensional analysis of enterprise data. - OLE Originally an acronym for Object Linking and
Embedding, it is now used simply as a label to
describe many COM based technologies. (See also
ActiveX) - Polymorphism A programming technique that allows
disparate object types to be treated
homogeneously. In COM, inheriting immutable
interface specifications - provides this.
71Buzz words IV.
- Provider Any software component that exposes an
- OLE DB interface. Data providers own or present
data, while service providers apply an operation
or transformation - RDBMS Relational Database Management System
- RIO Remote I/O A SAS Nashville project
initiative for distributed I/O. - SQL Originally an acronym for Structured Query
Language, now a label for the language used to
retrieve specific data from an RDBMS