Creating Enterprise and WorkGroup Applications with 4D ODBC

Similar documents
SAS ODBC Driver. Overview: SAS ODBC Driver. What Is ODBC? CHAPTER 1

About Database Adapters

Introducing the SAS ODBC Driver

Version Overview. Business value

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Database System Concepts and Architecture

Oracle Warehouse Builder 10g Release 2 Integrating Packaged Applications Data

DQpowersuite. Superior Architecture. A Complete Data Integration Package

Exploiting Key Answers from Your Data Warehouse Using SAS Enterprise Reporter Software

EMPRESS Embedded RDBMS. Telecommunications and Networking

Cincom Smalltalk. ObjectStudio. Database User s Guide P ObjectStudio 8.3

Database Management Systems

DB2 for z/os: Programmer Essentials for Designing, Building and Tuning

C++Builder - Frequently Asked Questions

Server software accepts requests for data from client software and returns the results to the client

ITTIA DB SQL Em bedded Dat abase and VxWorks

TeleUSE. User Interface Management System. Aonix. for Windows. Product Overview

Migrating 4GL Applications. Birket Foster President MB Foster HP Platinum Partner

Scott Meder Senior Regional Sales Manager

Bonus Content. Glossary

How to Configure Informix Connect and ODBC

MIS Database Systems.

BIS Database Management Systems.

Sysgem Enterprise Manager

Migrating 4GL Applications

Micro Focus Net Express

SCO Vision2K 2.1. What s in this release

A Solution for Document Bases and Relational Databases Integration Problem

QM Chapter 1 Database Fundamentals Version 10 th Ed. Prepared by Dr Kamel Rouibah / Dept QM & IS

Leveraging Legacy Systems in a Network Computing Architecture

CLIENT/SERVER COMPUTING

TOPLink for WebLogic. Whitepaper. The Challenge: The Solution:

Print Audit 6. Print Audit 6 Documentation Apr :07. Version: Date:

Solution overview VISUAL COBOL BUSINESS CHALLENGE SOLUTION OVERVIEW BUSINESS BENEFIT

MetaSuite : Advanced Data Integration And Extraction Software

CBRN Data Import/Export Tool (CDIET) Presented by: Darius Munshi

File Magic 5 Series. The power to share information PRODUCT OVERVIEW. Revised June 2003

QuickSpecs. ISG Navigator for Universal Data Access M ODELS OVERVIEW. Retired. ISG Navigator for Universal Data Access

Crystal Reports. Overview. Contents. Open Database Connectivity (ODBC)

Introduction JDBC 4.1. Bok, Jong Soon

Active Server Pages Architecture

Enterprise Java Unit 1- Chapter 6 Prof. Sujata Rizal

Access Application Development

Database System Concepts and Architecture

EMC Documentum xdb. High-performance native XML database optimized for storing and querying large volumes of XML content

New Features Guide Sybase ETL 4.9

Getting Started. In this chapter, you will learn: 2.1 Introduction

Desktop DNA r11.1. PC DNA Management Challenges

Embarcadero Rapid SQL

Advantage. Advantage. Database Server 8.0

Phire 12.2 Hardware and Software Requirements

A SAS/AF Application for Parallel Extraction, Transformation, and Scoring of a Very Large Database

Copyright 2004 Pearson Education, Inc.

ORACLE MESSAGEQ ORACLE DATA SHEET KEY FEATURES AND BENEFITS

Introducing ACI 4th Dimension Version 6 simple smooth superior

Fundamentals of Information Systems, Seventh Edition

(C) Global Journal of Engineering Science and Research Management

Rapid SQL 7.5 Evaluation Guide. Published: September 28, 2007

Embarcadero PowerSQL 1.1 Evaluation Guide. Published: July 14, 2008

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1

Flex2SQL. Contents. Mertech s ISAM to SQL Database Connectivity (ISDBC) Drivers For DataFlex

NAS When, Why and How?

Upgrading Existing Databases Recommendations for Irrigation Districts

Features and Benefits

DBC. Database Connectivity

Adding Mobile Capability to an Enterprise Application With Oracle Database Lite. An Oracle White Paper June 2007

Novell ZENworks Asset Management 7

Overview Guide. Mainframe Connect 15.0

Capturing Your Changed Data

Checklist for Evaluators of Data Replication Solutions

Introducing Extreme Rapid Application Development for Oracle E-Business Suite. A CaoSys White Paper November 2008

Micro Focus Studio Enterprise Edition Test Server

Survey of Oracle Database

Empowering DBA's with IBM Data Studio. Deb Jenson, Data Studio Product Manager,

DBArtisan New Features Guide

Software and Migration Services FAQ for more information (available from Electronic Data Solutions ). Some implementation will be required, including

10 Things to expect from a DB2 Cloning Tool

MCL-Collection Fast and Easy Applications Development

O Brien/Reynolds e3000 Migration Framework (Ver: )

CSE 4/521 Introduction to Operating Systems. Lecture 29 Windows 7 (History, Design Principles, System Components, Programmer Interface) Summer 2018

Gain Greater Productivity in Enterprise Data Mining

Upgrading to Advantage Database Server 9.1 Get the Advantage

ArcSDE 8.1 Questions and Answers

Enterprise Geographic Information Servers. Dr David Maguire Director of Products Kevin Daugherty ESRI

IBM SPSS Statistics and open source: A powerful combination. Let s go

9. Introduction to MS Access

USER GUIDE. Rockwell Automation Publication RSSQL-UM001I-EN-P-June 2014

ITP 140 Mobile Technologies. Databases Client/Server

White Paper: Delivering Enterprise Web Applications on the Curl Platform

Achieving the Goals of the DoD Netcentric Data Strategy Using Embarcadero All-Access

Introduction and Overview

Software-Defined Test Fundamentals. Understanding the Architecture of Modular, High-Performance Test Systems

IBM dashdb Local. Using a software-defined environment in a private cloud to enable hybrid data warehousing. Evolving the data warehouse

WHITE PAPER. How AdminStudio Helps IT Migrate to Windows Vista 5x Faster

COBOL for AIX, Version 4.1

Scribe Insight Architecture Overview

5.1 SR-2 Release Overview

Oracle Audit Vault Implementation

Phire Frequently Asked Questions - FAQs

Chapter 1 GETTING STARTED. SYS-ED/ Computer Education Techniques, Inc.

Transcription:

Creating Enterprise and WorkGroup Applications with 4D ODBC Page 1

EXECUTIVE SUMMARY 4D ODBC is an application development tool specifically designed to address the unique requirements of the client/server environment. It is easy to learn, easy to use, and consists of a unique combination of functionality, productivity, and efficiency. 4D ODBC is built in compliance with the Open Data Base Connectivity (ODBC) standard established by Microsoft. These characteristics make it particularly suitable for developing workgroup, enterprise, or mission-critical applications. For developers new to client/server development, 4D s graphical programming language provides a robust environment for creating front-end applications. SQL programming is facilitated by high-level routines that concatenate low level ODBC calls into easy-to-use macros. SQL programming can be eliminated entirely by using 4D ODBC «contexts,» which provide a graphical point-and-click approach to SQL programming. Overall development is fortified by an «industrial strength» suite of tools tailored for serious database development. 4D Insider and 4D Compiler are powerful tools essential for designing mission critical applications. The application environment enables multi-process/ multi-window development; built in ODBC macros provide easy access to the back end ODBC data source. Deployment is facilitated by 4th Dimension s small application footprint. 4D includes convenient tools that enable customized configuration of memory utilization to specifically suit the application. 4th Dimension s platform independent architecture allows for unencumbered deployment of applications between the Macintosh and Windows platforms without any changes to the code. 4D ODBC and 4th Dimension offer three convenient deployment methods: 4D Engine, 4D Runtime Classic, and 4D Server. With these options, you can choose the distribution methods that best suit the needs of your application. 4D ODBC is part of 4D Enterprise, the connectivity package from ACI that includes 4D and the following connectivity modules: - 4D SQL Server connecting 4D to Sybase SQL Server or to MS SQL Server on any platform - 4D for ORACLE for connecting 4D to ORACLE on any platform INTRODUCTION Client/server computing continues to gain popularity at an accelerated rate. As a result, the demand for trained developers, administrators, and system support personnel continues to grow. To properly address this demand, it is necessary to adopt application development tools that can be easily learned and employed. 4D ODBC allows organizations to take advantage of their existing in-house expertise in 4th Dimension, SQL programming, or both, thus simplifying the development environment. The result for the organization will be an extremely efficient application development cycle, translating into greater productivity for programmers and end-users alike. Page 2

ABOUT ODBC Open Database Connectivity (ODBC) defines a library of functions that enables an application, such as 4th Dimension, to access a Database Management System (DBMS) using Structured Query Language (SQL). The ODBC interface offers vendor-neutral access to different database management systems. The ODBC architecture has four components: the application a driver manager the driver the data source Application ODBC Manager Oracle MS SQL Server EDA/ SQL Xbase DB2 Gateway Text File SQL-Net Net-Library EDA Link dbf Files Net-Library Texte file Oracle for UNIX IBM DB2 Microsoft SQL Server for Windows NT LAN Gateway The main functionalities provided by any ODBC driver include the following: connecting to and detaching from a DBMS performing queries and providing storage areas and data formats for query results allowing for online transaction processing features external to the ODBC interface (DBMS specific features) the driver manager is a dynamically linked library (DLL) that loads drivers, providing a single entry point to ODBC functions for different drivers. The developer must select an ODBC driver appropriate for the back end data source to which the application will be connected. ODBC drivers are available from multiple sources, with an abundance of choices available for the primary DBMS such as Sybase, Oracle, and MS SQL Server. If a native API (application programming interface) exists for the back end data source, the driver will typically require that the API be installed. Page 3

The first step when designing any 4D ODBC application is deciding on the database with which to connect. ODBC provides many functions that inform users of the databases that are available, describe these databases, and establish connections with them. An application can be designed with a specific target database in mind. For example, an accounting department might have records stored in an ORACLE database. When designing a purchase order system, they know that ORACLE drivers are needed. They also know the type of database this is and the properties needed to connect to this database. When an application is designed for a target data source, it is possible to take advantage of specific features offered by the DBMS and driver. Alternatively, an application might need to be designed to work with any database. It will not know in advance what driver will be used nor with which database to connect. In this case, developers must use caution to only use those features common to all ODBC data sources. 4D ODBC lets you develop applications for either of these two scenarios. EASE OF LEARNING Some of the main characteristics for ease of learning in 4D ODBC are: Use of native 4D programming language Based on the proven 4th Dimension environment, 4D ODBC combines rapid application development and deployment with unsurpassed performance and reliability. 4th Dimension can include a vast variety of data types (including sound, BLOBs, video, automatic compression, etc.) that are ideal for creating ODBC client applications. 4th Dimension s native programming language provides a wide array of tools and routines to manage, verify, and manipulate this multitude of data types. Point and click programming Developers unaccustomed to SQL programming can take advantage of 4D ODBC s context routines to let 4D manage SQL on its own. A context is a dynamic link between a 4D objet and an ODBC object. A user can graphically define a context through a point and click interface. Once the context has been defined, 4D ODBC automatically manages the creation and execution of all SQL commands for the developer. High-level programming routines 4D ODBC s high-level routines concatenate lower level API routines into highlevel macro-like functions and commands, resulting in reduced programming time and easier application development. These routines are designed to increase performance by providing a direct link to the 4D kernel. Developers not familiar with the low level execution cycle of ODBC will find these routines a quick and easy way to gain access to the ODBC development environment. EASE OF USE Integrated data dictionary 4D Insider can be used with 4th Dimension and 4D ODBC. It provides an integrated data dictionary that tracks all the objects used in the project, categorizes the code for each object, and displays code for editing or copying. Page 4

True compiler To compile code into machine language and significantly increase application execution, 4D Compiler ensures data security and allows for easy code maintenance. 4D Compiler is the only compiler capable of concurrently generating pure machine level code for the Macintosh 68K, Macintosh PPC, and Windows environments. Graphical development environment Developers benefit from 4D s logical and object-oriented toolset, such as a pointand-click procedure editor that automatically parses and translates routine language, and handles relational integrity. Built-in ODBC macros 4D ODBC includes a suite of catalog commands that enable you to retrieve information such as the list of tables stored in a data source s catalog, the list of column names in specified tables, and the indexes associated with a table. Using the catalog commands, you can: retrieve a list of all installed ODBC drivers obtain information regarding the schema of the data sources, such as tables, columns, and indexes access lists of server procedures and their column lists get privilege information on tables and columns Real-time team development To boost development speed and developer productivity, ACI also offers 4D Server, the team development version of 4D. 4D Server is the only development environment that provides real-time team development instead of a constricting «check in/check out» model. 4D Server s advanced object management capabilities handle version and revision control automatically, and allow programmers to share code libraries for faster development. Multi-process environment To increase user productivity, 4D ODBC displays multiple windows, each of which are programmable and event-independent. For example, 4D ODBC can display data in one window, while users simultaneously update a subset of that data in another window. FLEXIBLE DEPLOYMENT Small Footprint Compared to other development environments, 4D ODBC offers a «lean and clean» deployment platform. Whether you use 4D Engine or 4D Runtime, the application footprint is always less than 2 MB regardless of the deployment platform. The size of your structure and data file depend on your application. Memory optimization 4th Dimension provides memory management tools that allow you to optimize memory for a specific platform. These tools ensure that your application will use the minimum memory required for the deployment platform. Page 5

Platform independent architecture You can develop applications on either Macintosh or Windows environments, and deploy them on both environments, without any changes to the code. 4th Dimension automatically manages fonts, diacritical characters, image types, and even interface appearance without any programming. You can compile 4D ODBC applications and deploy them native for either the Macintosh 68K, Macintosh PPC, or Windows environments. On Windows, 4th Dimension is a true 32 bit application. Stand-alone applications If your computing requirements call for using the application outside the confines of your network, you can easily take advantage of 4th Dimension s native database engine to locally store data that can be used when the network is not available. This is especially useful for mobile applications used on laptop machines. Localization 4D ODBC applications can be localized into 12 languages, including Swedish, German, Japanese, and Farsi. DEPLOYMENT OPTIONS There are three ways of deploying a 4D ODBC application on the Macintosh or Windows platform: 4D Engine When combined with 4D Compiler Pro, 4D Engine allows developers to «merge» the database engine directly into their application to create a double-clickable «executable application». 4D Engine offers an unlimited deployment license and is ideal for customers with large installations. 4D Runtime Classic. This option provides the convenience and affordability of a stand-alone runtime version of 4th Dimension, licensed on a «per workstation» basis. Essentially a runtime only version of the full 4th Dimension application, 4D Runtime Classic runs multiple 4th Dimension or 4D ODBC applications concurrently on the same workstation.4d Runtime Classic will be available at the same time as 4D version 6. 4D Server 4D Server allows an application and a shared workgroup data file to be shared on a central machine. 4D Server can run on either Windows or Macintosh platforms and can simultaneously have both Windows or Macintosh 4D Clients accessing the application and the data. Using this method, it is possible to serve enterprise databases via 4D ODBC and share workgroup data via 4D Server. The following table describes the three deployment licensing methods and their required components: Page 6

License Components 4D Engine Single user unlimited 4D Compiler Pro 4D Engine 4D ODBC 4D Runtime Classic single user /per 4D Runtime Classic (4D V6) workstation (1 per station) 4D ODBC 4D Server Multi-users/ 4D Server concurrent licenses 4D Server Expansion Pack 4D ODBC Page 7

4D ODBC DESIGN ISSUES 4D ODBC allows 4th Dimension to act as a front-end to an ODBC data source. In this way, you are able to take advantage of a data source storage and manipulation capabilities while providing users with an easy-to-use custom interface. 4D 4D ODBC ODBC Manager Oracle MS SQL Server EDA/ SQL Xbase DB2 Gateway SQL-Net Net-Library EDA Link dbf Files Net-Library Oracle for UNIX IBM DB2 Microsoft SQL Server for Windows NT LAN Gateway CLIENT/SERVER ARCHITECTURE CHOICES Part of the efficiency of using 4D ODBC in this configuration is that the system is based on client/server architecture. Using 4D ODBC, the client 4th Dimension application tells the data source which data manipulation functions should be performed. The server then performs these functions and returns any necessary data. In client/server-based applications, the data always resides on the server. When you create your 4th Dimension application, you will want to take advantage of the efficiency of the client/server architecture in your database design. The method you choose for designing your database can have a significant impact on the speed at which data transfer occurs. The following sections discuss the different methods of implementing a 4D ODBC database. Page 8

4D ODBC as a pure front end When 4th Dimension is employed as a front end, the ODBC data source is used as the sole data repository and 4D is used only as an interface builder for the client/ server application. In this architecture, no application data is stored locally in 4th Dimension. This method is optimized for performance and is constrained only by the limits of the data source itself. Because the 4th Dimension procedural language is rich with many data validation and manipulation functions, 4D is well suited as a front end application builder. Additionally, 4D Compiler and 4D Insider provide an uncommonly robust development environment. Batch processing with 4D ODBC Batch Processing is the method by which data stored centrally in an ODBC data source is periodically downloaded into a 4th Dimension or 4D Server data engine. This architecture is beneficial in situations where there are resource constraints on the data source or network that prohibit efficient real-time access. You can also use this method to take advantage of 4th Dimension s built in reporting and searching features by downloading the data into 4th Dimension and then using 4D s native features. Additionally, this architecture provides a mechanism to run a 4D data source on a portable computer so the data can be accessed when the user is out of the office. Distributed processing with 4D ODBC A distributed architecture allows you to combine the best of both worlds, by sharing data among both the ODBC data source and 4th Dimension (or 4D Server). By distributing your data structure between these two environments you can combine data from multiple sources. With proper design, this blending of data sources can be entirely transparent to your users. An example of a distributed architecture might be a large organization which stores enterprise data in a large data source such as Oracle or Sybase. This data is relevant and accessible to the entire organization. Data from a departmental workgroup might be stored in a 4D Server database. By using the power of 4D Server and 4D ODBC, layouts can be designed which display data from both these data sources. It is also possible to develop «virtual relations» between the two systems. Page 9

IMPLEMENTATION CHOICES CONTEXTS VS. LOW LEVEL ROUTINES 4D Enterprise offers a wide range of choices when developing an application. Context routines allow you to quickly and efficiently develop ODBC applications without the use of SQL programming. Low level routines offer complete flexibility and total control of the back end data source. When you create your 4th Dimension application, you will want to choose the type of routines that will work best for you and your application. The following sections discuss the different methods of programming a 4D ODBC database. Implementations Using Contexts When you use contexts, you describe the relationship between fields, variables, and arrays in your 4th Dimension database and columns on the data source. For example, you might associate the 4th Dimension variable vfirstname with the FirstName column in a data source table. Once you create a context, you can use 4D ODBC s context commands to manipulate data in terms of your 4th Dimension fields, variables, and arrays. Contexts are meant to allow you to quickly and easily set up a system in which data is retrieved from the data source database, displayed, and modified in the client 4th Dimension application, and then returned to the data source. Contexts are best used for getting an existing 4th Dimension database up and running as a front-end to a data source database. This is especially helpful for developers with little or no SQL experience. Contexts are also ideal for creating prototypes and for rapid application development. As you develop your application and become more familiar with SQL, you may choose to move towards integrating low-level commands into your database. This will provide you with performance advantages as well as providing the complete functionality afforded by the native API. If you choose to use contexts in your database implementation, you should read the following sections, which discuss important performance issues. Binds Using 4th Dimension Fields In general, you should avoid creating binds between 4th Dimension fields and data source columns. Creating binds that involve 4D fields requires you to maintain a 4th Dimension database structure that mirrors the data source database structure. However, it is not necessary to create a duplicate database structure to use binds. Contexts can be established using variables and arrays, which are a more efficient approach to client/server architecture. One valid reason for using binds with fields would be for batch processing. To implement batch processing, you could use binds with fields to retrieve data and store it locally. You could then end your connection with the data source and work with the data on the client machine. You could later reconnect to the data source to return the modified data. Page 10

Binds Using 4th Dimension Variables or Arrays As mentioned previously, contexts can be established using variables and arrays, which are a more efficient approach to client/server architecture. When you use 4th Dimension variables or arrays in your binds, you can avoid maintaining a 4th Dimension database that duplicates the host database. Since your binds do not rely on 4th Dimension fields, your 4th Dimension database can contain only a single file and field. To transfer and manipulate data, you create layouts that display the variables and arrays in any combination or format. Implementations Using Low-Level Commands When you design your database with low-level commands, you use SQL statements to tell the data source which data manipulations to perform. You can create SQL statements to perform any type of data manipulation, such as selecting, inserting, updating, or deleting rows on the server. The selection of data can be based on a variety of conditions, including conditions involving related data. In general, using low-level commands is more efficient than using context commands. With context commands, 4D ODBC must translate the commands into SQL queries before executing the request on the server. With low-level commands, the request is already specified in SQL terms. 4D ODBC uses the data source s API to translate the low level statement into a statement that data source can understand. Like contexts using variables or arrays, low-level commands do not depend on 4th Dimension fields, making it unnecessary to maintain a database structure. It is possible to have an application with only a single file and field for which you create multiple layouts that display data in any format. Page 11

AVAILABILITY 4D ODBC is currently available on the Windows platform. The Macintosh version will be available during 4Q96. 4D ODBC is part of 4D Enterprise. 4D Enterprise is a connectivity solution from ACI that provides access to all ACI s connectivity offerings: 4D SQL Server (for Sybase and MS SQL Server databases) 4D for Oracle, and 4D ODBC. All these products will soon be available for both Macintosh and Windows platforms. OTHER SQL CONNEXIONS In addition to 4D ODBC, ACI offers two other platform independent connectivity solutions. Sybase and Microsoft SQL Server 4D SQL Server handles Microsoft SQL Server (OS/2 and Windows NT), Novell SQL Server (NLM), and all Sybase supported platforms. 4D SQL Server adds 125 commands to the 4D language and provides full support for SQL Server stored procedures, Remote Procedure Calls, and calls to Sybase Open Server. Sybase Open Client is included with the product. 4D SQL Server fully supports the following SQL Server features: row buffering, two phase commit, text/image data types, browse mode, and remote procedure calls. ORACLE 4D for Oracle can communicate with Oracle Server on 85 different platforms. 4D for Oracle can manipulate data and schema in an Oracle database, display SQL data definitions, control query functions, and provides transaction control facilities. The product takes full advantage of 4D s pointer and array capabilities. 4D for Oracle includes the following features: data management, structure handling, array processing, batch processing, BLOB management, PL/SQL blocks, handling of nil values, automatic conversion of types. Both of these solutions are included in 4D Enterprise and will soon be available in both Macintosh and Windows versions. Page 12