Reviewing Data Access Conceptual Architectures
This section provides a conceptual overview of OpenLink's UDA products.
Key Architectural Components & Relationships
OpenLink's Universal Data Access products all share the same, basic architecture.
Users are humans or non-human agents that leverage applications to obtain or manipulate SQL data held in data repositories.
Users are identified by the hostname or IP address of the machine which hosts their target application(s).
The application layer refers to the sum total of applications, individual instances of applications, and any supporting frameworks that users exploit in the target architecture.
Each instance of the application(s) is tasked with returning SQL data to users in a manner that is meaningful to them.
The data access layer comprises the middleware that communicates and fulfills SQL data requests between calling applications and data repositories.
The data access layer may contain some combination of
OpenLink UDA products, driver managers, database native clients, 3rd-party data sources or connection URLs, JREs, and SDKs.
Necessary combinations and configuration of elements in the data access layer varies depending on other key factors in the overall architecture.
Data refers to SQL data that is contained in the target data repository or repositories.
Arrows depict TCP/IP and local IPC communications between architectural components.
TCP/IP-based communications are indicated by arrows with broken lines.
Local IPC-based communications are indicated by arrows with solid lines.
Basic OpenLink UDA Architectural Requirements
Applications must be ...
- ODBC, JDBC, OLE DB and/or ADO .NET compliant
- Hosted on a platform for which OpenLink produces UDA client products
- Speak the same data access API as the UDA client product
OpenLink client products must be ...
- Installed on a supported platform
- Installed on the same machine as the client application
- Paired with same version OpenLink server components when applicable
- The same bit format (32bit, 64bit) as the client application
- The same bit format as any other architectural component (i.e., driver manager) on the client machine
| Important: OpenLink's Single-Tier Lite drivers for DB2, Informix, Ingres, Oracle, and Progress must be installed on the same machine as the DBMS native client.
OpenLink's Bridge drivers must be installed on the same machine as a functional JDBC or ODBC data source.
OpenLink server products must be ...
- Installed on a supported platform
- The same bit format as any other architectural component (i.e., DBMS, DBMS native client) on the client machine
- Paired with same version OpenLink client components
| Important: OpenLink's Multi-Tier Agents for DB2, Informix, Ingres, Oracle, and Progress must be installed on the same machine as the DBMS or DBMS native client.
OpenLink's Multi-Tier Bridge Agents must be installed on the same machine as a functional JDBC or ODBC data source.
Data repositories must be ...
- Some version supported by OpenLink
TCP/IP Networking must be ...
- Enabled among machines comprised by the architecture
- Permit relevant machines to communicate through firewalls, where applicable
OpenLink UDA Architectural Assumptions
OpenLink assumes that potential users:
- Want to query, migrate, or integrate SQL data using some combination of ODBC, JDBC, OLE DB, and/or ADO .NET compliant applications.
- Already possess the requisite applications and data repositories.
- Already possess 3rd-party JDBC or ODBC data sources when bridge connectivity is required.
Decisions Affecting OpenLink Architectural Planning
Architects need to determine ...
- The prioritization of performance, price, and security.
- Which machines can host OpenLink Data Access components.
- How the data access layer will be secured.
- What non-OpenLink data access architectural components exist in the architecture or can be easily obtained.
Issues Associated With Use of OpenLink Architectures
- Applications or data repositories may be hosted on platforms that OpenLink does not support.
- OpenLink may not have products that support connectivity to legacy data repositories.
- All architectural components hosted on a client machine must share the same bit descriptor, e.g., 32 or 64 bit.
All architectural components hosted on a server machine must share the same bit descriptor.
The same is true for components hosted on a gateway machine.