Download NetPlus White Paper

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Entity–attribute–value model wikipedia , lookup

Database wikipedia , lookup

Open Database Connectivity wikipedia , lookup

Microsoft Jet Database Engine wikipedia , lookup

Team Foundation Server wikipedia , lookup

Serializability wikipedia , lookup

Relational model wikipedia , lookup

Extensible Storage Engine wikipedia , lookup

Clusterpoint wikipedia , lookup

Microsoft SQL Server wikipedia , lookup

Concurrency control wikipedia , lookup

Versant Object Database wikipedia , lookup

Database model wikipedia , lookup

Transcript
DATAEASE
DataEase Plus / NetPlus and
ActiveServer
Technical overview
October 1997
Copyright Sapphire International, September 1997
Copyright Sapphire International, September 1997
Page 1
DATAEASE
Table of Contents
Executive Summary ................................................................................................... 3
Product summary ....................................................................................................... 4
The Evolution of Client/Server Application Development ..................................... 6
Complexity of Client/Server Transaction Logic .................................................................. 6
First-Generation Client/Server Tools ................................................................................... 7
The New Generation of Client/Server Tools ........................................................................ 7
Role of Internet in the Evolution .............................................................................. 8
DataEase Technology Overview................................................................................ 9
Familiarity for DataEase Developers ..................................................................... 10
Familiar Business Rule Definitions ..................................................................................... 10
Familiar Relational Model ................................................................................................... 10
Familiar Form and Report Creation .................................................................................. 10
SCALE Dynamic Repository ................................................................................... 10
SCALE Centralized Business Model .................................................................................. 11
DataEase Facilities for Business Model .............................................................................. 11
SCALE DataLinks .................................................................................................... 12
SCALE Migration Express ...................................................................................... 13
SCALE Rules Server ................................................................................................ 13
SCALE Trigger Express ...................................................................................................... 14
Enforcement of Business Rules ........................................................................................... 14
Centralized Business Rules .................................................................................................. 14
SCALE Automated Transactions ........................................................................... 15
Automated Master-Detail Processing ................................................................................. 17
Automated Optimistic Concurrency .................................................................................. 18
Application Deployment .......................................................................................... 18
DataEase ActiveServer ......................................................................................................... 19
Automated Run-Time Performance ................................................................................... 19
Optimized Query Partitioning ............................................................................................ 20
Optimized Query Generation .............................................................................................. 21
Intelligent Caching of Data ................................................................................................. 21
Heterogeneous Distributed Database Access ..................................................................... 22
Deployment ........................................................................................................................... 23
The DataEase Programming by Exception Model ................................................ 24
Visual Development .................................................................................................. 25
Transaction Builder ............................................................................................................. 26
Form Styles ............................................................................................................... 27
Building the Form ................................................................................................................ 28
DataSmart Controls ............................................................................................................. 29
DataFrame Control .............................................................................................................. 31
Users Visual Forms Editors ................................................................................................. 32
Open Object Architecture ................................................................................................... 33
Integrated Reporting and Online Decision Support ......................................................... 34
SCALEScript Language .......................................................................................... 35
SCALEScript Features ........................................................................................................ 35
Data Access Statements ........................................................................................................ 36
Object-Oriented Features .................................................................................................... 36
Use of SCALEScript ............................................................................................................. 37
Interactive Editor ................................................................................................................. 38
Testing and Debugging ........................................................................................................ 39
Team Development Features ................................................................................... 39
DataEase Benefits ..................................................................................................... 40
Conclusion ................................................................................................................. 41
DataEase .................................................................................................................... 42
The beginning ....................................................................................................................... 42
The mission ........................................................................................................................... 42
The future .............................................................................................................................. 43
Page 2
Copyright Sapphire International, September 1997
DATAEASE
Executive Summary
Today, more than ever before, companies are faced with intensified competition
and changing customer preferences, leading to a drive to reduce operating costs
and improve efficiency in response. Information technology has a major role to
play in helping them to achieve this. All corporations are in the information
business and the best-use of this information produces the required competitive
advantage and bottom-line results. But one overriding factor has a tremendous
bearing - it has to be the right technology, otherwise critical response times are
not achieved and important information is neither used or managed effectively.
To ensure success, companies must use technology to empower not overpower
their employees. That way they make better business decisions, quicker. But if
desktop based decision support is suffering from the current applications backlog of 24 - 30 months for maintenance and enhancement, it becomes increasingly
unlikely they will be receiving the latest decision support information they need.
As client/server has increased this dependency on desktop decision support, any
applications environment that doesn’t support the rapid implementation and
deployment of changes, runs this risk.
The DataEase scalable RAD2 line of development tools now offers a fast, easy-touse and highly cost-effective solution. One that significantly reduces the elapse
time between the critical design and final implementation stages of the application development process. By doing so, it enables companies to invest their often
overworked resources at the key design phase and significantly reduces, if not
eliminates, any need for time-consuming and risk-inherent coding. This is
achieved by automating the process of repeatedly coding transaction logic and by
housing the business rules in a central, database independent repository to simplify maintenance and increase reusability.
We have christened our approach scalable RAD2 for a very good reason. Rapid
Application Development alone is only half the battle. Rapid and flexible Deployment is equally important, hence RAD2. The flexibility of the DataEase deployment architecture is such that you can deploy an application easily, using the
traditional client/server method where the EXE and DLLs are loaded on the
client machine. Or you can choose to deploy using a “thin” client on the Internet
or corporate intranet, again easily and quickly. Moreover, Web-enabling your
applications means any PC, Macintosh or UNIX client machines that support an
Internet browser can access the applications, giving your decision-support applications a low cost, enterprise wide scale and scope.
DataEase scalable RAD 2 speeds up application development and deployment,
whilst making maintenance easier and far more accessible. Which means your
employees no longer have to make decisions based on old news. DataEase truly
delivers on the rich promise of second-generation client/server computing. It handles the rapid application development and deployment of mission-critical enterprise-wide solutions easily and quickly, giving you important cost savings of between 50% and 80% over the life cycle of the applications.
Copyright Sapphire International, September 1997
Page 3
DATAEASE
Product summary
DataEase Plus, NetPlus and ActiveServer
These DataEase scalable RAD 2 tools are true second-generation client/server,
providing business model-driven, object-oriented and event-driven database development. Designed from day one to meet the exacting requirements of the client/server architecture, they let the developers focus on business requirements
by making everything as simple as possible. This is achieved by means of the
central business model repository and the SCALE structure.
Central business model repository
The central repository handles the core management of the application logic as a
set of all the business rules and shares the objects and forms that are used during the life cycle of all applications. It also handles the optimised link to multiple
back-end servers automatically, including simultaneous access to heterogeneous
engines. All changes are made centrally and then automatically enforced throughout all the related applications.
There’s no need to code and re-code applications as business needs change, because all the instructions and information required to calculate, validate and
pass data to and from a company’s database/s are stored in this central repository. Or to learn complex multiple SQL dialects, to keep pace with the growing
demand to produce applications for the diverse range of engines most companies
have acquired. SQL is automatically optimised for each server type, with connection by DataEase supplied direct drivers or Intersolv ODBC drivers. The central
repository significantly reduce the amount of programming (both coding and debugging) required for application development, deployment, modification and
maintenance throughout the applications’s life cycle.
These new DataEase client/server tools are truly database server independent,
scalable and open. This provides companies with six key benefits:
1. Powerful DataEase client/server applications can be built rapidly and
easily, with great predictability and less risk; deployed faster and
more flexibly; with far easier and more accessible maintenance.
2. Applications are a lot more robust than traditional RAD solutions
and they are always consistent and predictable across multiple platforms.
3. Companies can make better use of their existing database servers
and extend the life of these valuable assets.
4. Developers can prototype, test and modify an application on one platform, SQL Anywhere for example, and then scale up and deploy to
others, such as Oracle and Informix, for live implementation. Easily
and quickly achieved without changing the application logic or having to worry about SQL coding.
5. Choice of flexible deployment options to maximise highly scalable
and low cost application usage: standard client/server or via corporate intranets and Internet.
6. The costs of application development, deployment and maintenance
are significantly reduced across the application/s life cycle, providing major savings of between 50% and 80%.
Page 4
Copyright Sapphire International, September 1997
DATAEASE
For companies who use DataEase for DOS for business-critical core applications
there is a seventh major benefit - the specialised DataEase DOS conversions
tools. Companies can use these tools themselves, to undertake the conversion of
their DataEase for DOS application or have it done for them, by one of the fully
accredited DataEase DeveloperPlus Service providers. Either way, and once the
full conversion is complete, the result is a fully functionally intact, Windows enhanced and secure DataEase Plus or NetPlus application, produced quicker and
at much lower cost and risk than building from scratch.
DataEase Plus
For individual client/server developers working alone. They can quickly and easily develop and deploy simple to maintain applications, that scale up in range
from stand-alone to complex enterprise-wide solutions.
DataEase NetPlus
Offers the same scope and is designed for team development, where all developers, each with their own copy of DataEase NetPlus, have access to the central
repository. This makes large-scale application building, deployment and maintenance not only more efficient but far more cost-effective throughout the life cycle
of all the applications.
Client/server deployment
DataEase Plus and NetPlus provide applications bound as EXE and DLL files in
traditional client/server deployment, with the options of automatic update of the
repository, forms and graphics.
Intranet/Internet deployment
DataEase ActiveServer, in conjunction with DataEase NetPlus provides unlimited ‘thin client’ user access across corporate intranets or the Internet to any
application developed with DataEase NetPlus. A standard Web browser is the
only software required on the client workstation. The HTML view is created
dynamically at execution time, so no HTML has to be written by the developer or
the users. The client user gets the look and feel of master detail, client/server
based applications. All changes are handled automatically at the central server
and are immediately reflected the next time a client user logs on.
Familiar DataEase look and feel
Current DataEase developers and their end-users will immediately notice the
levels of similarity that have been maintained. Familiar keystrokes such as F2,
F3 and CTRL-F10 execute the same functions. The underlying design principles
have carried DataEase’s highly efficient and much acclaimed intuitive approach
to easy application building to the second-generation client/server environment.
When compared to any competing product, DataEase Plus and NetPlus have
been designed to make development and maintenance easier and quicker, using
default processing, reduced programming sets and automatic optimised SQL, to
produce totally predictable results.
DataEase Plus, NetPlus and ActiveServer are Millennium compliant.
Copyright Sapphire International, September 1997
Page 5
DATAEASE
The Evolution of Client/Server Application Development
The client/server environment is very different from and more complex than previous information system architectures. In mainframe and PC file server systems, one machine contains the user interface logic, the database logic, and the
transaction logic. Indeed, in a typical PC database system, a single tool contains
them. Client/server architecture places these types of logic in their appropriate
machines. The user interface logic clearly belongs in the client computer; it’s
design resembles typical PC applications. The database logic belongs on the
server and is implemented similarly to mainframe and mine database systems.
And the highly complex transaction logic has its own requirements.
Client
User Interface Logic
Transaction Logic
Server
Data
Database Logic
Client versus Server
• Enforcement of Business
Rules
• Multi-user Concurrency
• Run-Time Performance
- Engine Optimization
- Partioning of Query
- Caching of Data
• Distributed Database
Processing
• Data Scalability
• Application Maintenance
Figure 1. Logic placement in client/server architecture
Complexity of Client/Server Transaction Logic
Transaction logic that connects the user interface to the databases is the source
of uncertainty and complexity in a client/server system. Some of the reasons for
its complexity follow:
• Business rules need to be enforced at the point of entry in the client
and at the point of commit on the server. Currently, these rules are
hard-coded in the proprietary languages of the client tools and the
server databases. A single rule may exist in a procedural form in
several places—in every application and database that it affects.
• Multi-user concurrency needs to be implemented without locking
records for an indefinite time and without losing updates.
• A client/server transaction requires significant fine-tuning. Each
database engine is different and needs its unique form of optimization, the query has to be appropriately partitioned between the client and the server, and the transaction data must be intelligently
cached to deliver optimum performance.
• Distributed databases require complex query and update processing.
• Optimal data scalability of an application, which makes the applicaPage 6
Copyright Sapphire International, September 1997
DATAEASE
tion independent of the source data across a broad range of data
engines, is difficult to achieve.
• Application maintenance in a dynamic business environment is cumbersome when the business rules are fused with the user interface
logic in each application.
In first-generation client/server development, users spend their time overcoming these complications rather than reaping the benefits of client/server computing in solving business problems.
APPLICATION USER LOGIC
Hard-Coded Transaction Logic
• Master Detail Processing
• Business Rules
• Retrieval Processing
• Commit Processing
• Distributed Databases
• Windows SDK + simple data
access
• Transaction logic is fused with user
logic
• Modest Master-Detail transactions
requrie difficult programming
• Data location and business rules
are hard-coded into applications
• Advanced transaction processing
is very complex and often not
implemented
Figure 2. Distribution of transaction logic
First-Generation Client/Server Tools
First-generation client/server tools generally provide user interface design facilities with modest amounts of automation for data access. Implementation of even
routine business transactions requires a significant amount of hard-coded transaction logic, which is enmeshed with user interface logic.
Complex programming is necessary to handle master-detail processing, enforce
business rules, implement optimistic concurrency, fine tune the transaction, and
perform distributed database access and update.
With most first-generation tools, the relatively simple single-level transactions
can be developed without difficulty. However, even modest master-detail transactions require significant effort and skills. Only elite developers can develop
applications that demand more complex types of transactions, such as requiring
multiple levels of master-detailed and distributed database access.
Extensive programming makes these applications hard to maintain. Moreover,
they are not scalable and have to be reprogrammed if the data Location or the
business rules change. They may not scale up well to support many users or high
transaction rates because of a lack of performance optimization.
The New Generation of Client/Server Tools
The new generation of client/server tools will be built with an underlying client/
server architecture. Such architecture has two objectives: (1) a centralized business model and (2) automated transaction processing.
Copyright Sapphire International, September 1997
Page 7
DATAEASE
Application User Logic
FEATURES
• Centralized Business Rules
Isolated and Automated
Business Model
• Automated Master-Detail
Processing
• Automated Optimistic
Concurrency
Client-Server
Transaction
Processor
Logical Model
Business Rules
Data Location
• Optimized Run-Time
Performance
• Programming by Exception
• Auto-Maintenance
Databases
Figure 3. The next generation of client/server tools
Applications should be designed against a logical business model and should be
shielded from specific knowledge of the data-dependent features, such as data
engine type, data Location, and business rules. These data-dependent features
should also be stored with the logical data model, but not directly accessed by the
applications.
The intricate interaction between the client application and the server varies
according to data Location, data distribution, and data engine type. A significant leap can be made in client/server architecture by automating much of this
interaction in an isolated architecture. This allows the interaction to be optimized,
supplying the scalability to build enterprise-wide systems. Automated transaction processing also frees the application developer for the burden of complex
data orchestration, leading to rapid application development and easy maintenance of applications.
Role of Internet in the Evolution
The explosion of the Internet or corporate intranet as a medium to connect people to information has opened possibilities that were never conceived before.
Analysts, gurus and vendors providing Internet related tolls are overflowing with
ideas about the immense benefit the Internet will bring to the user community.
The applications on the Internet today are primarily static in nature with very
simplistic user interfaces. The information being accessed is truly one dimensional. Examples of these applications range from reviewing documents/images
to the simple registrations of products. Corporations are being asked to view the
Internet as another advertising medium like magazines and television. These
advertising services might be a compelling way to leverage Internet in itself, but
such use will not match the hype and hence will eventually lead to widespread
dissatisfaction.
To be truly successful, the Internet must empower large corporations by provid-
Page 8
Copyright Sapphire International, September 1997
DATAEASE
ing the tools to better support the management of their information systems.
This includes delivering information to all employees in support of their job function, and better matching information to business process. It may be that the
Internet can truly fulfill the promise of client/server.
Historically, accessing databases from a client always had a series of issues database client software, client environment, network protocol and other connectivity tools - issues going far beyond the application itself. In a conventional
environment, the “client” side of a client/server application requires ongoing investment in execution overheads, such as minimum hardware requirements,
maintenance of the client based application, and licensing of vendor related software. The Internet is an enabling technology that allows corporations a new
medium to deliver enterprise mission critical, client/server applications. Changes
to applications will be immediately accessible by end users the next time they
log-in.
DataEase Technology Overview
DataEase comprises a number of technology components which together produce a robust,
rapid application development and deployment environment for building mission critical
applications. The core technology is based on DataEases’ unique SCalable Architecture for
Large Enterprises (SCALE). SCALE is the engine which provides a centralized business
model, automated transaction processor for optimized processing of complex queries and
updates, and fine-tuned data links to popular database engines.
DataEase is an object oriented, repository-driven environment which enhances team development using a centralized data model, declarative business rules language, visual transaction builder and auto-generation of HTML pages. The unique architecture of DataEase makes
complex client/server or Internet/intranet applications scalable so data can be upsized,
downsized, distributed, or upgraded automatically - without changing the application. It
eliminates the need to repeatedly code transaction logic, and it houses business rules in a
central, database independent repository to ease maintenance and increase reusability.
DataEase comprises the following components:
• SCALE Dynamic Repository
• SCALE DataLinks
• SCALE Migration Express
• SCALE Rules Server
• SCALE Automated Transactions
Copyright Sapphire International, September 1997
Page 9
DATAEASE
• Applications Deployment - DataEase Active Server
This paper will also discuss other features of the product including:
• Programming By Exception
• Visual Model
• SCALEScript
• Team Development
Familiarity for DataEase Developers
Although DataEase Plus/NetPlus incorporates a fully event-driven, Object-Oriented, Visual,
client-server development environment, there is much in common with the traditional DataEase
LAN products that make the transition from these products to DataEase Plus/NetPlus an easy
option.
Familiar Business Rule Definitions
The BRL ( Business Rules Language ) used by DataEase Plus/NetPlus is , with a few additions , exactly the same as the traditional syntax used in the LAN products for field derivations and validations. Functions and relational operators perform the same task in both. This
not only makes for a shallow learning curve, but also guarantees that any solution constructed
in DataEase Plus/NetPlus WILL be capable of offering the same validation and prompting as
an existing system in the LAN products. Attempts to emulate the functionality of such legacy
systems by a re-write in other development tools carries the risk of not meeting the users’
expectations, or being cost-prohibitive to implement.
Familiar Relational Model
The concept of pre-defined relational criteria reusable in lookups, pick-lists, master-detail
data-entry screens and nested relational reporting is identical in DataEase Plus/NetPlus and
the LAN products, so again the is a shorter learning time for existing developers to be up and
running with a client-server solution.
Familiar Form and Report Creation
The visual development tools for form creation, control placement and definition, report
specification and formatting are identical in DataEase Plus/NetPlus and the Windows version of DataEase LAN, so developers familiar with the latter tool can immediately start to
take advantage of the extra power offered by the programmability of the visual controls
inherent in DataEase Plus/NetPlus via SCALEScript .
SCALE Dynamic Repository
The SCALE Dynamic Repository represents the most open and powerful repository architectures on the market. It is completely extendible for a vendor’s specific requirements, can accommodate virtually any meta-data type, and is portable to virtually any SQL database. The repository stores and provides one central location for the creation and maintenance of business rules, logical data
models, and database connections. Changes made once can be used multiple
times throughout an application.
The SCALE Business Model Repository architecture provides an open technology for designing, implementing, and maintaining business models separate from
physical implementation model. No other tool offers a business model that is
actively used throughout the development and deployment phases of the application life cycle. Whether the problem being solved is the modeling of a simple
data model or a large data warehouse, an entity relationship or an object process, SCALE Business Model Repository provides a flexible technology capable of
Page 10
Copyright Sapphire International, September 1997
DATAEASE
incorporating the most demanding business models.
The ER (Entity Relationship) Diagrammer is embedded in the repository and
provides a mechanism for generating diagrams for your existing databases or
interactively design new data structures. The repository modeling and manipulation tool gives the user an intuitive and efficient graphical environment for
viewing a business model. It allows you not only to create an ER diagram but
will also reverse engineer a data model from an existing data source, modify a
data model, synchronize the logical data model with the physical model and view
the logical model by database, application or see an overview of the entire enterprise.
E -R M o de l
R ev erse E n gine er
D a ta b a se
C a ta lo g s
B us ines s M od el
• L o g ica l D a ta M o d e l
• Da ta Ro a d m a p
• Bu s in es s R u les
P rototyp e
G en erate and
S yn ch ro nize
Cu sto m er I nfo rm a tio n
De t a il s
Cu st o m er _ I D CU ST 19 8 2
Co m p a n y Ca l Co r p
Di s co u n t
Cr e d i t L in e
Co n fi g _ ID
Pa r t _I D
G W 48 6 /3 3
G W 86 0 H D
G W 48 6 /5 0
G W 36 0 H D
1 5%
7 5, 0 00 . 00
O rde rs
Pa y m e n t s
Pr i ce
Q u a n ti ty
Ch ec k _ Nu m b e r
Am o u n t
1 ,9 9 5. 0 0
2 ,6 9 5. 0 0
2 ,4 9 5. 0 0
3
2
2
MMM8909
1 8, 2 70 . 00
D a ta b a se
C a ta lo g s
Figure 5. Centralized business model
SCALE Centralized Business Model
SCALE centralizes the business model in a repository and automates the processing of client/server transactions optimized to each data source. SCALE isolates
the enterprisewide logical data model in a central active repository. This repository also contains the data road map, which includes the type of data engine and
the location of the data. It also stores centralized business rules, which are defined in a declarative manner and complete the business model.
The repository reverse-engineers existing databases, creating an entity relationship model. New entities can be created in the repository and then generated
into physical tables. Repository information represented in the SCALE business
model is automatically incorporated in DataEase applications. Alternatively, when
DataEase operates as a rapid prototyping tool, SCALE automatically captures
the business model in the background.
In essence, by leveraging information in the business model, SCALE automates
transaction processing and optimizes access to relational database management
systems.
DataEase Facilities for Business Model
DataEase has built-in facilities for defining and managing the business model. It
provides a form-based interface, as well as a graphic entity relationship diagram
method. DataEase provides the following facilities for managing the business
model:
Copyright Sapphire International, September 1997
Page 11
DATAEASE
• Repository
- Create and delete
• Database links
- Create and delete
- Generate database catalogs
- Reverse-engineer database catalogs
- Resynchronize with database catalogs
• Entity
- Define
- Generate physical table
- Synchronize with physical table
• Attribute
- Define
• Index
- Define
- Generate
• Business rules
- Define
• Relationships
- Define
- Define referential integrity
SCALE DataLinks
DataEase SCALE DataLinks optimize connectivity to both local and mission critical database engines. This technology component makes it easy for an application to simultaneously use multiple tables from one or multiple heterogeneous
databases. Each database driver takes advantage of the unique characteristics
of the different database engines so connectivity is dramatically improved insulating the developer from specific knowledge of the backend databases.
SCALE DataLinks provides direct optimized connections to Sybase, Oracle,
Informix, SQL Server and AS/400. It uses DRDA to make optimized connections
to IBM’s relational databases including DB2 on many platforms. SCALE also
use ODBC-drivers to access an extensive range of other datasources.
The unique ability of DataEase to reverse engineer SAP R/3 and Oracle Financials
data into DataEase repository is a powerful add-on to the SCALE DataLink technology. These application specific databases are complex and closed environments. DataEase’s DataLinks can open them and integrate with other corporate
databases, thus providing a virtual DataWarehousing capability.
These DataLinks can also be integrated with DataMart, DataMining,
DataWarehousing and OLAP tools.
SCALE Data Links for Optimized Data Access
SCALE makes direct optimized connections to SYBASE, ORACLE, MS SQL
Server, and AS/400. It uses DRDA to connect to IBM’s relational databases, including DB2 on many platforms. These finetuned optimized connections take
Page 12
Copyright Sapphire International, September 1997
DATAEASE
advantage of engine-specific features. SCALE also uses gateways such as ODBC.
Form-Based Tools
Diagramming Tool
Database
Entity Relationship Model
Entity
Customer
Business Rules
Attribute
Salesperson
Order
Relationship
Order_Item
Reverse Engineer
Business
Model
Product
Generate Out
Figure 7. Design of business model
SCALE Migration Express
The SCALE Migration Express automates the conversion of database schema
(table, column, keys and indexes) and data from one database to another (eg.
From SQL Server to Oracle). All the datatypes are properly recreated (Integer
to Number(10)) and the entities can also be redirected as part of this process. It
provides a significant benefit to large corporations who constantly deal with
multiple or changing data sources. You can use this functionality to upsize or
downsize an application through a simple point and click interface. During the
development cycle, the Migration Express may be used to migrate data from a
production environment to an intermediate or development data source.
SCALE Rules Server
In traditional client/server systems, proper implementation of business rules has
become a difficult process. Because the client is an unsecured environment, the
rules must be enforced on the server. However, servers only apply the business
rules at the point of commitment of the transaction. To provide an acceptable
user interface, these same business rules must also be applied at the point of
entry in the application. Today’s client/server systems replicate these rules in
both the client and the server and therefore, programming and maintenance of
these rules has become quite a complex task.
DataEase SCALE Rules Server technology accomplishes this by creating and
storing business rules in one central place, an active business-model repository.
When a rule changes, DataEase automatically enforces it on all the Forms that
use the associated attribute, eliminating the need for additional programming.
Since the business knowledge is captured in the business-model repository, business rules can be reused across applications or modified as needed. This will
provide an easy, flexible, and maintainable system of applying business rules.
Copyright Sapphire International, September 1997
Page 13
DATAEASE
SCALE Trigger Express
The Trigger Express allows the developers to generate engine specific triggers
for the rules defined in the repository. The type of rules that are supported are:
·
Referential Integrity Rules
·
Derivation Rules
·
Forward Chaining Rules
·
Validations Rules
Enforcement of Business Rules
In client/server systems, proper application of business rules has become a difficult issue. Because the client is an unsecured environment, an ideal client/server
system must enforce the rules on the server. Indeed, server-based business rules
were critical to the success of SYBASE and ORACLE 7.0. However, servers only
apply the business rules at the point of commitment of the transaction. To provide an acceptable user interface, these same business rules must also be applied
at the point of entry in the application.
As a result, in client/server systems today, the business rules are being defined
in databases as well as in applications. To make the problem worse, the business
rules change over time and need to be revised and maintained easily. Furthermore, many rules need to be enforced across databases. The programming and
maintenance of these rules has become complicated.
All these arguments lead to the need for centralized business rules. To enforce
the rules in many different places by multiple tools, applications, and database
management systems, they need to be defined declaratively rather than
procedurally. Declarative rules are also much easier to create and maintain.
SCALE defines declarative business rules in the logical data model stored in the
repository. It then enforces these rules in each application that accesses the relevant data and generates triggers and stored procedures for the databases.
Centralized Business Rules
Page 14
Copyright Sapphire International, September 1997
DATAEASE
Table 1 shows, different business rules are used to handle different tasks. Column derivations occur in either a forward- or backward-chaining mode. In a backward-chaining mode,
the value is calculated when needed by looking up all the constituent values and performing
the calculation. Derived columns are either virtual or stored. Virtual columns minimize storage requirements and are always up to date. Virtual columns are always derived in a
backward-chaining mode. Used when the derivation consumes significant processing, stored
columns are derived in the backward-chaining mode only when the record is first inserted.
Afterward, these stored columns are updated in a forward-chaining mode; their values are
updated through triggers as their constituent values change.
• Declarative Language
• Easy Central Definition
• Enforced at Client and Server
Derivation Rules
Orders
Order ID
Customer
Discount
Product
Qty
Price
Value
OrderID = Sequence from 1001
Value = Qty*Price*
(1 - LOOKUP Order Discount)
Subtotal = SUM OF OrderItem Value
Tax = Subtotal*
LOOKUP TaxTable Sales Tax
Total = Subtotal + Tax
Subtotal
Validation Rules
Tax
Total
Qty < LOOKUP Product Stock_at_Hand
Total < Lookup Customer BalanceCredit
Figure 8. Example of SCALE declarative business rules for an order entry system
SCALE Automated Transactions
DataEase uses the SCALE Automated Transaction Builder to quickly and visually specify complex master detail transactions. It then relies upon the SCALE
Transaction Processor to execute the transaction in an optimal manner. SCALE
leverages the information in the business model (logical data links and business
rules) to automate and optimize client/server transactions, using a transaction
data model and processor. The transaction is defined using a point-and-click
interface. Each transaction has a master entity and can invoke any number of
related detail entities. Selection, projection, aggregation, sorting, and grouping
can be specified for each entity in the transaction. Additionally, the transaction
cache buffer can be controlled at each level and users can also customize join
partitioning for each detail level. This transaction model is based on the logical
data model stored in the repository and is independent of the data location. Indeed, the data location can be changed later without requiring any changes to
the transaction.
Copyright Sapphire International, September 1997
Page 15
DATAEASE
Once the transaction is defined, the SCALE Transaction Processor automatically provides a full range of functionality. SCALE retrieves the transaction
data optimally from any number of heterogeneous databases. It splits the query
into multiple queries and generates SQL statements fine-tuned to each data source
and also translates the retrieved data into a common format. SCALE enables
browsing and data entry of the transaction. Business rules are automatically
applied at the point of entry. When data is committed, SCALE automatically
performs a distributed update using two-phase commit logic as necessary. It
also provides optimistic concurrency to enable maximum sharing of information
while preventing lost updates. The SCALE transaction processor automatically
supplies all the client/server interaction needed in an application.
Business
Model
Transaction Object
Transaction
Data Entry
Customer
SQL
Commit
Processor
Calls
Payment
Order
Data Access
and
Drill-Down
Retrieval
Processor
Results
Business Rule
Enforcer
Figure 6. Model of transaction processor
SCALE Automated Transaction Processor
SCALE furnishes an innovative transaction processor to automate optimized
processing of client/server applications. The SCALE transaction processor features:
• Multilevel master detail transactions
• Automatic enforcement of business rules
• Optimum retrieval processing
- Caching of retrieved data
- Query partitioning
- SQL generation
• Optimized commit processing
- Optimistic concurrency
- Two-phase commit for distributed updates
• Heterogeneous distributed database support
Page 16
Copyright Sapphire International, September 1997
DATAEASE
Automated Master-Detail Processing
The SCALE transaction object provides multiple levels of master-detail processing automatically. The transaction object is specified by selecting a master entity
and any number of detail entities that may be nested to any depth.
Customer 3
Customer 2
Customer 1
Order 33 Items
Order 32 Items
Order 31 Items
Cust 3 Payments
Cust 2 Payments
Cust 1 Payments
Cust 3 Orders
Order2 1Orders
1
Cust
Order
Order
11 2
Cust
1 1Orders
Order
Order
Order
1 11 21 3
Order
Order
Order
1 21 31 4
Order
Order
1 31 4
Order 1 4
Order 13 Items
Order 12 Items
Order 11 Items
Order 23 Items
Order 22 Items
Order 21 Items
Figure 9. Model of automated master-detail processing
SCALE provides the following automated master-detail processing:
• It maintains the integrity of the transaction during data entry. It
applies referential integritv rules, derivation rules, and validation
rules between levels to ensure that a transaction is correctly entered.
• It commits the transaction as a whole, across one or more databases.
If necessary it implements a two-phase commit logic.
• For updates, it implements optimistic concurrency on the whole transaction.
• It automatically issues the requisite optimized queries to retrieve
the data for each nested level.
• It allows customization to determine whether the details should be
joined up-front or on a recordby-record basis.
• It caches the data for each level, maintaining any number of records
for each level. The developer can control the amount of caching for
each level.
• It supports fully scrollable cursors at each level. The cursors at each
level are linked so that browsing through the master record automatically switches the details.
Thus, SCALE supports complex nested master-detail transactions through a simple specification and handles all the complex tasks of processing them automatically.
Copyright Sapphire International, September 1997
Page 17
DATAEASE
Automated Optimistic Concurrency
Database transactions have two conflicting objectives: (1) allowing maximum
concurrent access to data by any number of users and (2) minimizing the adverse
effects that users running concurrent transactions have on each other. Consistency provides the illusion of “serialization,” the impression that users are running one transaction at a time in isolation. With automated optimistic concurrency,
three types of adverse effects are prevented or minimized:
• No lost updates. Lost updates can occur when users A and B read
the same record. User A updates it, then user B updates it overwriting
user A’s data. Transactions preventing lost updates offer a basic level
of isolation.
• No dirty reads. Dirty reads can occur when user A is reading while
user B is writing through the same set of information. Some of the
information read by A may precede user B’s update and some may
follow, thereby providing an inconsistent set of information. Transactions preventing dirty reads and lost updates provide a higher level
of isolation.
• No repeatable reads. Reads can become unrepeatable if user A has
read the information, then user B writes over it. If user A has to
read it again, the information will be different. Transactions preventing all three adverse effects are isolated to the highest level.
SCALE automatically implements the best combination of concurrency and consistency through an optimistic concurrency control system. Optimistic concurrency
has two principles:
• Do not lock any data while the user is thinking and entering data.
This provides the best concurrency.
• Implement the best consistency at the time of commitment.
SCALE implements optimistic concurrency as follows:
• No data is left locked after a query
• The result set is buffered and is used for browsing/ updating.
• As data is updated, the original values of data as well as the new
updated data are buffered until the point of commitment.
• When the user decides to commit the transaction, a check is included
to ensure that the data being updated has not been modified by another user. This prevents lost updates.
• All the updates occur as one transaction, preventing any dirty reads.
This well-implemented optimistic concurrency control can go a long way toward
building optimal mission-critical client/server systems. Because optimistic
concurrency requires buffering of transaction data in the workstation application, it is not a server feature and must be built into the tools and applications.
Application Deployment
DataEase NetPlus’s flexible deployment environment provides the developer with
options when deploying a new application or changing an existing application.
Page 18
Copyright Sapphire International, September 1997
DATAEASE
Developers can choose to deploy the application, or modules of the application, in
the traditional client-server method where the EXE and DLL’s are loaded onto
the client machine, or can elect to deploy using ActiveServer and “thin” clients
via the Internet or corporate intranet.
DataEase ActiveServer
The HTML view is created dynamically at execution time with DataEase
ActiveServer. No HTML coding is required, or is seen, by the application developer. The UI is visible on the client via the Internet, or corporate intranet communications capability, delivering high speed response with the look and feel of
a master detail, client/server based application. This new deployment paradigm
uses a thin client (popular Internet browsers), and DataEase ActiveServer.
Changes are made to the central ActiveServer, so the next time a user logs onto
the system the changes are immediately reflected in the application. This architecture allows programmers to focus on the business application rather than
learning multiple programming languages. The web deployed application automatically maintains the state and thus maintains the transaction integrity during INSERT, UPDATE or DELETE functions. In addition, the deployment tools
include a multi-threaded DataEase Broker that manages multiple applications
either on a single machine or across multiple machines.
DataEase will soon support ActiveX, Java/Script, Visual J++, Java and related
generators, together with certain proprietary tools from other vendors.
Automated Run-Time Performance
One key consideration for performance optimization in a client/server environment involves reducing the response time to a transaction. This can be done by
minimizing the up-front processing and delivering the results to the user as soon
as they are available. Ongoing performance can be enhanced by caching data in
the workstation. Another consideration concerns network traffic. Client/server
systems behave best when network traffic is minimized. This reduces not only
the load on the network but also the amount of data that the server and the
workstations have to process. Most performance strategies are aimed at reducing network traffic.
Effective server capacity can be increased by reducing the load on the server for
any given transaction. Fine-tuning the transaction to each data engine, caching
data on the workstation, partitioning work so that the workstation performs its
share of work, and avoiding unnecessary work are four ways to reduce the server’s workload.
By reducing the load on the workstation, the response time can be reduced, and
the workstation can handle more complex transactions.
SCALE uses three strategies to optimize performance:
• Optimized query partitioning
• Optimized query generation
• Intelligent caching of data
Copyright Sapphire International, September 1997
Page 19
DATAEASE
Optimized Query Partitioning
Join
Select
Project
Group
Aggregate
Project
Figure 10. Optimized query partitioning involves dividing the transaction between the client and the server.
There are six different dimensions for optimizing queries in a client/server architecture.
Join
Joining is preferred on the server, because it has the index mechanisms to optimize
the join. However, when the user is browsing through records, and is likely to
view only a few records, then a “Join As Needed” strategy is preferable. In this
case, as the user browses to a record, the join is performed only for the accessed
record. This avoids burdening the server with performing the entire join.
Select
Selection is always preferred on the server, because the server has the indexing
mechanisms to optimize the selection, and it results in less data transfer.
Sort
If the server has the indexing mechanism to do the sort, then the sort is performed on the server. Otherwise, if the workstation can to do the sort with acceptable performance, then the sort is preferably performed on the workstation.
It shifts the load away from the shared server resource.
Group
If grouping is used to select certain groups, then it is better performed on the
server. If grouping is used to normalize data into control breaks, then it is better
performed on the workstation.
Aggregate
If only the aggregates are needed without the detail, then they are better performed on the server. If both detail and aggregates are needed, then they are
better performed on the workstation.
Project
Displays of data on the screen are best managed by the client machine.
Page 20
Copyright Sapphire International, September 1997
DATAEASE
Optimized Query Generation
Optimizing involves understanding the specific strengths and weaknesses of individual databases. In client/server systems today, database independence is typically achieved at the expense of performance. Database management systems—
even RDBMS products such as SYBASE, ORACLE, and DB2—are very different
from each other. As a class, they differ substantially from the hierarchical and
index sequential systems of the past. In the future, relational database systems
will become more object oriented, encapsulating the data logic with the data
objects. The implementation of triggers and stored procedures in SYBASE and
ORACLE is a move in that direction.
Many of the current data-independence architectures, such as ODBC and EDA/
SQL, have taken a lowest common denominator approach. They take the user
requests as a generic SQL brand and translate them into the corresponding engine queries, thereby missing most of the engine specific features.
SCALE provides optimized data independence for the many generations of database management systems through a well-designed architecture. It gives the
user a superset of database engine capabilities. As an example, SCALE supplies
a sequence number facility. Oracle is among the few engines explicitly supporting this feature, and SCALE takes advantage of it. For other engines, SCALE
implements sequencing through procedural means. In addition, SCALE overcomes deficiencies in database engines. As an example, DB2 does not provide an
outer join facility. SCALE implements it by using a UNION. It also generates an
efficient and precise translation of the user intent into an optimized engine request. The result set is translated into a common format for the user. SCALE
offers an efficient bridge to the legacy data under non-relational database management systems, and its architecture will work well with object-oriented database systems in the future.
Without compromising optimized, fine-tuned performance for each engine, SCALE
provides data independence.
Intelligent Caching of Data
In client/server systems, intelligent caching of data can maximize the use of precious resources such as networks, servers, and workstations. SCALE performs
intelligent data caching as follows:
• To optimize network and server resources, data already retrieved in
the workstation remains buffered in the workstation and is not
accessed again.
• To optimize network and workstation resources, data remains on
the server until needed at the workstation.
• To optimize workstation resources, data is not buffered any longer
than needed in the transaction and is not buffered at the cost of
overall workstation performance.
SCALE’s unique multilevel transaction object allows buffering of data not only
for the master table in the transaction but also for all levels. SCALE retrieves
data into the transaction buffer as needed by the transaction and leaves it buffered. This data is discarded only when:
Copyright Sapphire International, September 1997
Page 21
DATAEASE
• The transaction is over.
• Data is not needed anymore in this transaction (for example, batch
mode operations such as printing).
• Memory on the workstation becomes a premium.
• A specific transaction request is made to refresh or discard the buffer.
Heterogeneous Distributed Database Access
SCALE allows the application to define a transaction object that uses multiple
tables from multiple databases on multiple engines. Thus, a form or report may
access data from many different sources, without being aware of where it physically resides. SCALE transparently handles the data access, distributed query,
and distributed join. Moreover, if the tables accessed in a document are later
migrated by a database administrator to a different set of databases, the application will continue to operate without any change.
SCALE
Repository
DataEase Plus
SCALE
Visual
Objects
Client/Server Processor
SCALE Transaction Processor
Business
Model
Optimized
Direct
SCALE Data Links
Gateway
DRDA
ODBC
EDA/SQL
ODBCOmni SQL
SQL Server,
SYBASE
ORACLE, AS/400
DB2, DB2/2,
DB2/6000
SQL Anywhere,
XDB, WATCOM,
Ingres,Informix...
Informix
Ingres,
Rightsize
IBM Relational
Other Relational
MDI
Other
data-sources
VSAM,
IMS,
through Intersolve
IDMS,
ODBC
ADABAS, RMS
Legacy
Other
databases
Figure 11. SCALE handles multiple data sources
Distributed Query
SCALE automatically performs a query that joins data from two or more
databases. It splits the query optimally so that each database can perform as
much of the selection and join as possible on the engine itself. Then it joins the
results in the workstation. To avoid overloading the system, it performs these
workstation joins individually for each record.
Distributed Update
SCALE performs a distributed update by using a two-phase commit logic, if it is
supported by the engines involved. In the first prepare phase, it issues the update request(s) to each database and determines whether they can perform the
update, without actually committing them. If the first phase is successful, the
second commit phase commits the updates.
Page 22
Copyright Sapphire International, September 1997
DATAEASE
Deployment
Run-Time Environment - Generating an Application
An application consists of its start-up menu, toolbar, and events. From these, the
application can directly or indirectly invoke a number of forms that then constitute the application forms. These forms in turn use various entities in the repository, and they may invoke a number of external objects.
Installing a DataEase Application
To install an application, first the DataEase run-time environment is installed.
This run-time environment needs to be installed only once for any number of
DataEase applications. All of these applications can share the same run-time
environment.
The DataEase application can then be installed. Each DataEase application has
its own icon and may be accessed independently from the Program Manager.
When the application is invoked, its start-up processing is automatically performed. The application may be installed with an auto-maintenance option, so
that it can automatically keep up to date with any changes in a master application in a run-time repository.
Application Server3
Application Server2
Agent
Scheduler
WEB
Interface
GUI Layer
Transaction
Layer
Business
Rules
Data Link
Management Agent
DBMS
Scheduler
Browser
WEB Server
Application Server
Figure 21. Internet/Intranet Deployment Architecture
Internet or Corporate Intranet
DataEase’s ability to automatically generate HTML pages allows programmers
to focus on the business application rather than learning multiple programming
languages. There is no need to distribute any runtime environment, saving time
and money associated with the deployment of an enterprise-wide application.
The client only requires an Internet browser that supports HTML tables 2.0 or
greater. Changes are made to the central application server, so the next time a
user logs onto the system the changes are immediately reflected in the application.
Copyright Sapphire International, September 1997
Page 23
DATAEASE
Auto-Maintenance of Installed Applications
The installed DataEase applications can be auto-maintained from a central deployment repository.
Deployment Repository
Master
Application
Auto-Update of Application Changes
• Data Location
• Business Rules
• Objects
Figure 23. Model of deployment of applications
The application can be installed with an auto-maintenance option and directed
to the master deployment repository that will be used for updating and installed
version of the application. Then the repository can be updated at any time. Typical
changes in the repository involve adding or revising forms or their constituent
objects, changing data location, or altering business rules.
All of the installed applications synchronized to the repository are then updated.
The applications are updated at a predetermined time or the next time they are
started at the workstation. With Internet or corporate intranet applications,
changes made to the central application server are reflected immediately the
next time the user accesses the application.
The DataEase Programming by Exception Model
DataEase uses a programming-by-exception model of development. Complex client/server forms can be designed in minutes without programming using the
Forms Builder and visual editors. These forms can be extended using
SCALEScript or by using the open object architecture to access external objects
and programs. The most powerful applications can thus be built and maintained
with minimal effort.
Page 24
Copyright Sapphire International, September 1997
DATAEASE
Distribution of Effort
Rapid
Visual
4GL
3GL
Power
Development Feature
Visual Forms Builder
• Transaction Builder
• Forms Builder
• DataSmart Controls
• Forms Editor
• Menu, Toolbar Editors
• Windows, Print Editors
• Tab Order Editor
SCALEScript 4GL
• Event Action Programming
• Extended Objects
• Inheritance and Polymorphism
Open Object Architecture
• Custom Functions - DLL
• Custom Objects and Controls
Figure 12. High-level default processing offers flexibility so users can alter or
extend programming to fit their needs
Visual Development
Most forms can be designed visually with minimal programming. To define a
form, the developer first uses the Transaction Builder to define a transaction
model based on the logical data model in the SCALE repository. The developer
then selects a form style and a form layout, and the form is automatically designed from the transaction specification. The form can then be customized by
using the form editor and by adding new controls. Other visual editors can be
used to customize the menu, toolbar, window, print, and tabs. This quickly built
form is automatically provided with a full range of built-in run-time functions:
data entry, look-ups, commit, browsing, drill-down, printing, and query by form.
Users can design full-function forms visually with minimal effort. These forms
can then be extended using the built-in 4GL, as well as by using external functions,
objects, and controls through the open object architecture.
SCALEScript 4GL
The built-in SCALEScript language allows any object on the form to be extended
and any event on any object to be customized through a custom SCALEScript method.
Every object on the form receives its own events, even though it may be nested
several levels deep. This makes most SCALEScript methods short and easy to maintain. SCALEScript comes with an interactive full-function debugger, including breakpoints, an inspector, watch points, and a log.
OLE/DDE
DataEase can exchange data with other tools through dynamic data exchange (DDE).
It can also embed visual objects provided by other tools that act as object linking
and embedding (OLE) servers. Such OLE objects can have embedded DDE links, so
that DataEase data can be sent to other products, which then can process or visualCopyright Sapphire International, September 1997
Page 25
DATAEASE
ize the data and send the results back as visual objects.
External Functions in DLL
DataEase forms can also be extended using external functions. These functions are
linked into dynamic link libraries (DLLs). Any function in a DLL can be registered
with DataEase and called from SCALEScript or the business rules language.
External Objects and Controls
Finally, external C+ + class libraries can extend the features of DataEase. External
controls can be added to the DataEase control palette, and other external object
classes can be called from the SCALEScript language.
Point-and-Click Spec.
DataEase Transaction
Transaction Builder
• Nested Detail
• Select
• Sort, Group
• Aggregate
• Cache Control
• Query Partitioning
Add Related Entity
Select by
Sort by
Summarize
<New Relationship>
Add_On_Item
Customer
Order_Item
Payment
Group by
Payment
ORDER ENTRY
TERMS
CARD_TYPE
SHIP_MODE
PO_DATE
ESP_DATE
CARD_NUMBER
ORDER_ID
ORDER_DATE
CUSTOMER_ID
Repository
Business
Model
Order Item
Order_ID
Config_ID
Description
Price
Quantity
Value
OK
Add_On_It
emm
Config_ID
Part_ID
Order_ID
Description
Price
Quantity
Value
Cancel
Remove Entity
Entity Filter...
Data Retrieval...
SCALE Automation
Customer
Payments
• E-R Model
• Business Rules
Orders
Item
• Transaction Processing
• Business Rule Enforcement
• Optimized SQL Generation
• Distributed Database Support
• Scalability
Figure 13. Transaction Builder model for DataEase
Transaction Builder
DataEase uses a Transaction Builder to quickly and visually specify SCALE transactions. It then relies upon the SCALE transaction processor to execute the transaction in an optimal manner. SCALE leverages the information in the business
model to automate and optimize client/server transactions, using a transaction data
model and processor.
Transaction Data Model Specification
The transaction data model is specified in a point-and-click manner. Each transaction has a master entity and can invoke any number of related detail entities. Selection, projection, aggregation, sorting, and grouping can be specified for each entity
in the transaction. Additionally, the transaction cache buffer can be controlled at
each level. Users can also customize join partitioning for each detail level.This transaction model is based on the logical data model stored in the repository and is independent of the data location. Indeed, the data location can be changed later without
requiring any changes to the transaction.
Page 26
Copyright Sapphire International, September 1997
DATAEASE
SCALE Transaction Processor
Once the transaction is defined, the SCALE transaction processor automatically
provides a full range of functionality. SCALE retrieves the transaction data optimally
from any number of heterogeneous databases. It splits the query into multiple queries and generates SQL statements fine-tuned to each data source. It also translates the retrieved data into a common format.
SCALE enables browsing and data entry of the transaction. Business rules are
automatically applied at the point of entry. When data is committed, SCALE automatically performs a distributed update using two-phase commit logic as necessary. It also provides optimistic concurrency to enable maximum sharing of information while preventing lost updates. The SCALE transaction processor automatically supplies all the client/server interaction needed in an application.
Form Styles
Inherited Form
Preplaced Controls
GateWell Corporation
• Inherits All Properties and Methods
• Automatic Update
OK
GateWell Corporation
Save
Cancel
CUSTOMER_ID CUSTOMER_ID
Auto
Placed
Company
Company
C.O.D .
Disc ount
Disc ount
Company PO
Credit_Line
Cand idate Con tro ls
Candidate Controls
Field Label EditBox1
Yes
No
Maybe
x
CheckBox2
Save
x
CheckBox1
Delete
Delete
Credit Card
Credit_Line
Price
Qu an tity
C heck _No
A mo un t
Price
Qu an tity
C heck _No
A mo un t
2
2
3
3
Available
Dial
Fax
Figure 14. Form Styles
Form Styles
Form Styles allow the common aspects of a number of forms to be pre-designed,
saved, reused, and centrally maintained. Form Styles store the following elements:
• Form structure: This includes its menu, toolbar, window style, print
specification, and background style.
• Pre-placed controls: These controls are included on every inherited
form and typically include title(s), logos, common buttons, and any
common fields such as system date/ time.
• Candidate control styles: These are the common styles to be used in
the inherited forms. Any number of candidate control styles may be
defined for any type of control. Some of them may be marked as
default.
Copyright Sapphire International, September 1997
Page 27
DATAEASE
Inheritance
A form, or a control on a form, inherits all its properties and methods from the
Form Styles. If any property or method is revised on the form, it is then subsequently disinherited. When a form style is subsequently revised, all the properties and methods changed in the style are propagated to every inherited form.
Transaction
Form Styles
Transaction Builder
Add Related E ntit y
Can didate Controls
Sort by
S elect by
<New Relati onship>
Add_On_I tem
Cust om er
Order_Item
Payment
Sum mari ze
Field Label
Group by
Payment
ORDE R
ENTRY
TERMS
CARD_TY PE
SHIP _MODE
PO_DATE
ES P_DATE
CARD_NUM BE R
ORDE R_ID
ORDE R_DATE
CUS TOMER_ID
OK
Order I tem
Add_On_I t
emm
Conf ig_ID
Part_I D
Order_ID
Descri pt ion
Price
Quant ity
Value
Order_ID
Conf ig_ID
Descri pt ion
Price
Quant ity
Value
Can cel
Rem ove E nti ty
EditBox1
Form Layout
Transaction Builder
Yes
No
Maybe
x CheckBox2
Save
x CheckBox1
Delete
1
A B
Generate Layout
C D E F
2
New
3
4
Scripts
Tabular
Custom
Definition
Dial
Fax
x
Record Layout
Scroll
Spacing
DateEase NetPlus
Built-In Features
Vertical
Can didate Controls
Field Label
Can cel
<Unstyled>
Number of Records
Enti ty Fi lter.. .
OK
Defined
Style
Title
Labeled Fields
Data Retri eval .. .
• Browsing
• Data-Entry
• Query by Form
• Drill Down
• Printing
Tabular
EditBox1
Size
Label
Field
Label
Field
Label
Field
Horizontal
Yes
No
Maybe
x CheckBox2
Save
x CheckBox1
Delete
Dial
Fax
DateEase NetPlus Form
Figure 15. Form Builder
Building the Form
The Form Builder lets users build DataEase forms within minutes without requiring any programming. First the transaction model is defined using the
point-and-click Transaction Builder; then the user selects a form style, as well as
a layout. The layout may be a form, table, mailing label, or custom. The records
in the form can be arranged vertically, horizontally, or in a grid.
The Form Builder then automatically creates the form. The background and the
pre-placed controls are taken from the Form Styles. Each table level in the transaction is represented in a DataFrame control. Each column within each level is
represented as an Edit or PickList control using the default dynamic controls.
The DataFrame controls are nested to represent each table level in the transaction, and their master-detail interaction is automatically provided. This automatically built form is complete and is immediately ready to use.
Type of Forms
DataEase forms can be one of three types:
• Entry forms are primarily designed for data-entry but automatically
come with a full set of online browsing and printing functions.
• Report forms provide online decision support and printing functions.
• Dialog forms are not built on transactions and do not have an automatic data connection. These forms are for user interaction or for
developers who want to custom design the data interaction logic.
Page 28
Copyright Sapphire International, September 1997
DATAEASE
Built-in Run-Time Actions
DataEase furnishes a complete set of run-time functions for every entry and
report form. If a developer were to program these functions for each form, it
would be a very complex and time consuming process. With DataEase, a form
can be designed visually in a matter of minutes, and all the run-time actions are
immediately usable. These actions are available in the default menus and toolbar,
or they can be assigned to buttons, custom menus, or custom toolbars.
As a result, a full-function form can be built in a few minutes without any programming and is ready for use immediately. Even with a complex form using
many different related tables and sophisticated business rules, designing it is
quick and straightforward. As needed, users can then customize this form using
visual editors, programming, and external objects.
Form/Report
Built-In Run-Time Actions
Customer Information
Details
Customer_ID
CUST1982
Company
CalCorp
Discount
15%
Credit Line
Config_ID
Part_ID
GW486/33
GW860HD
GW486/50
GW360HD
75,000.00
Orders
Payments
Price
Quantity
Check_Number
Amount
1,995.00
3
MMM8909
18,270.00
2,695.00
2
2,495.00
2
Data Entry
• Add Records
• Modify Records
• Delete Records
• Clear Form
• Look-up Related Tables
Online Decision Support
• Browsing
• Multilevel Scrolling
• List View
• Form View
• Query by Form
• Navigate to Related Tables
Reporting
• Print
Figure 16. Functions available for form design
DataSmart Controls
DataEase has a rich and open control architecture with an extensive set of built-in
controls. In addition to standard controls, DataEase provides two types of
DataSmart controls that are automatically linked to SCALE transactions: The
DataSet controls display a set of data items and are linked to a Table Level in the
transaction object. The Dataltem controls a single data item linked to a column
in the transaction object. DataEase supports DataSet, Dataltem, and standard
controls.
Copyright Sapphire International, September 1997
Page 29
DATAEASE
Control Palette
DataSet
Controls
DataSmart Links
DataFrame
Table
Chart
Linked
OLE
Edit
Image Field
Column
CheckBox
DropDown
Linked
ListBox
ComboBox
RadioButton
Standard
Controls
DataItem
Controls
Table
Linked
Column
Linked
Transaction Object
Orders
Order Items
Data
Discount
Ship To
Total
Terms
Product
Quantity
Unit Price
Item Total
Picture
Label
Button
ImageButton
Image
Line
Ellipse
Rectangle
Child Windows
Figure 17. DataSmart controls available for SCALE transactions
DataSet Controls
Linked to a table level in the transaction object, DataSet controls, represent three
types of records in the table:
• DataFrame controls the most important controls supported by
DataEase, show the table information in a table, form, or grid. They
can be nested within each other and can also embed other types of
controls.
• Chart control provides two- or three-dimensional charting of the table information.
• OLE uses an external tool to embed a visual object. The data from
the table level is optionally linked to another tool using DDE, and an
object provided by the tool is displayed as the control.
Dataltem Controls
These controls are linked to a column in the transaction object and represent the
information in the column. Most of them are placed inside DataFrame controls.
When they are placed outside a DataFrame in a dialog box, for example-they
lack an automatic data connection and are manually programmed. Dataltem
controls include the following:
• Edit controls show the information in a text format. Date, Time and
Numeric String, and Fixed Decimal data types appear with the appropriate edit masks.
• Multiline edit controls allow display and entry of word processing
text stored in a text format of variable length.
• Image Fields present image data stored in the column, which may
either store the image as a binary large object or as a reference to an
image file.
• PickList controls show data stored as a Choice List in the repository.
DataEase supports five types of PickList controls: CheckBox, Drop
Page 30
Copyright Sapphire International, September 1997
DATAEASE
Down, ListBox, Combo Box, and Radio Button.
Standard Controls
DataEase supports a full range of standard controls, including Label, Button,
Image, Line, Ellipse, and Rectangle. It also has a Child Window control that can
be placed in the form and can specify another form to be displayed inside the
Child Window.
DataFrame Control
The most powerful control in DataEase, the DataFrame Control is used in reports as well as in forms.
• Nested Multiple Levels
• Side by Side
• May Contain Any Type of Controls
• Vertical, Horizontal, or Grid Layout
• Used in Data-Entry and Reporting
DataFrames
GateWell Corporation
CUSTOMER_ID
Credit Card
Save
C.O.D.
Company
Company PO
Discount
Delete
Credit_Line
Price
Quantity
Check_No
Amount
DataFrames
Figure 18. Model of DataFrame Control
Data for the DataFrame
A DataFrame displays a set of selected records in a table level in the transaction
object. SCALE can select, sort, and aggregate records within the DataFrame.
Master-Detail Nested DataFrames
Master-Detail forms can be built easily by nesting DataFrames, which can be
nested to any depth. For nested DataFrames, the cursors in each level are linked
so that record scrolling in the master automatically selects a different set of records
in the detail.
DataFrame Format
Each DataFrame has a header, repeating records, and trailer area where aggregates are generally placed. The records can be presented in form, table, mailing
label, or custom layout. They can be arranged in vertical, horizontal, or grid
formats. At run time, the records in a DataFrame can be scrolled vertically or
horizontally. Because DataFrame editing is part of the Form editing environment, it does not require switching to a separate editor. Any type of control can
be placed within a DataFrame record.
Copyright Sapphire International, September 1997
Page 31
DATAEASE
Events and Scripts
Each control in a DataFrame receives its own independent events and can be
independently programmed. The DataEase Event Processor performs the processing to determine which control will receive the event.
Users Visual Forms Editors
Users can customize DataEase forms with the built-in visual editors. These six
editors define forms as well as form styles.
Menu Editor
Pop-up Menus
Items
Separators
Call Actions
Call Scripts
E dit
Form
View
Record
Find
GateWell Corporation
ToolBar Editor
Predesigned
User Designed
Call Actions
Call Scripts
CUSTOMER_ID
Disco unt
Config_ID
GW386/33
#Cong
0
Disco unt
Credit_L ine
Descr iption
80386, 4MB, 120MB, 1FDD
Pa rt_ID
Help
Ord er ID
Debug
Ord er Da te
Cust1 003
Compan y Compan y
Credit_L ine
Window
From Editor
Cut, Copy, Paste
Move
Size
Zoom
Multiple Select
Descr iption
C red it C a rd
C .O.D.
C omp an y PO
AME X
Ma sterC ard
Vi sa
Exp Date
Pri ce
1,295.00
Pri ce
N ext Da te
Se con d D ay
U PS Gr ou nd
Card #
Qu antity
6
Va lue
6,604.50
Qu antity
Va lue
BPrint Editor
Paper Size
Orientation
Margins
Quality
Window Editor
Window Size
Placem ent
Window Type
Window/Frame Style
Total
6,604 .50
Tab O rder Editor
Colum n Tab O rder
Default Tab Order
Point and Click
Figure 19. Features of built-in visual editors
Form Editor
As its name indicates, the Form Editor allows editing of forms. The form can be
custom designed on a blank window, or it can be first automatically designed by
the Form Builder and then customized using the Form Editor. It provides a control palette to place new controls and lets users select, cut, copy, move, and size
controls. Each control also has its own menu (accessed through the right mouse
button) that allows customization of the control’s appearance and functionality.
Menu Editor
The Menu Editor enables users to customize the menu of a form and the main
menu of an application. The menu items can perform the full range of functions
possible within the product, including the ability to call methods written in
SCALEScript.
Toolbar Editor
Using the Toolbar Editor, end users can define a custom toolbar for the form.
They can construct the toolbar from a selection of predefined icons or design
custom toolbar icons. The icons call the same range of functions that can be invoked from the menus.
Page 32
Copyright Sapphire International, September 1997
DATAEASE
Window Editor
The Window Editor allows customization of the window for the form. The window may be a child window, an MDI window, or a modal dialog box. The frame
can be controlled to optionally omit titles, size ability, and minimization features. Window size and placement can also be customized.
Print Editor
With the Print Editor, users can customize printing of the form. Paper size and
orientation, margins, and print quality can be specified. Many of these specifications can be overridden at the time of printing.
Tab Order Editor
Tab Order Editor permits specification of a custom tab order for the form. This
occurs by clicking the fields in the order in which tabbing is desired.
Open Objects
User-Defined, Third-Party, or
Environment
OLE
Visual Object
from OLE Server
DataEase Plus
ID
Company
Ti me
GateWell Corporation
ID
1 9 91 1 9 92 1 99 3 1 99 4 1 99 5 1 99 6 19 9 7
Company
ORDER_ID
ORDER_DATE
TOTAL
ORDER_ID
ORDER_DATE
TOTAL
DDE
Data Exchange
with DDE Client-Server
User Controls
Class Library
Class: ebEditBox
Objects
ebEditBox
Properties
ebBorder
Methods
Number
Parameters
Number x , y ;
Bar_graph.hide ( ) ;
x = (String - Credit_Line.value) / 1000;
Bar_Graph.rect.right = Bar_graph.rect.left + Abs (x) ;
if ( x >= 0 ) then
Bar_graph.Border.color.setRGB(255,0,0) ;
else
User Objects
Class Library
DLL
Function Library
Figure 20. Features of open object architecture
Open Object Architecture
DataEase Forms can be extended by using its open object architecture, which
integrates external tools, objects, and programs into DataEase applications.
Object Linking and Embedding (OLE)
The OLE control incorporates other tools that act as OLE servers. A unique feature
of this control is the ability to pass data from the DataEase form to the OLE server
using dynamic data exchange. For example, map data can be passed to a mapping
tool, which then draws the map and returns it to the DataEase form as a Map
control.
Copyright Sapphire International, September 1997
Page 33
DATAEASE
Dynamic Data Exchange (DDE)
DDE allows exchange of data between a DataEase form and another product such
as a word processor or a spreadsheet. It can be specified as an integrated part of the
OLE server. It also can be used at run time to paste records in or remove them from
a DataFrame on the form to another tool. For example, name and address data can
be passed for mailing list processing to a word processor, and financial data can be
passed to a spreadsheet.
Dynamic Link Libraries (DLL)
SCALE repository provides a system to register any user functions contained in
dynamic link libraries. These functions can be called either from the Business Rules
Language used by SCALE or the SCALEScript language used in DataEase. DLL’s
can handle custom validation and derivation rules, calling remote procedures, and
custom financial functions.
Integrated Reporting and Online Decision Support
DataEase has successfully integrated the method for building forms, reports, and
online decision support systems into a single unified development environment. As
a result, the development environment supports all the features necessary for all
three types of functions. Four of the key advantages of this approach follow:
Single Tool for Full Application Development
A typical database application requires all three types of functions, so a complete
application can be built with a single integrated tool.
Integrated Access from a Single Form
DataEase allows development of full-function forms. The same form works for
data entry and online retrieval, as well as printed reports. As an option, selected
features of the form can be disabled to access only a subset of these capabilities.
Powerful Reporting Features
DataEase reports furnish many powerful features not often found in report writers.
These features include:
• Side-by-side tables: This frequent need is rarely satisfied. Because
SCALE transactions support disjoint queries, and DataEase Forms
can support side-by-side DataFrames, DataEase Reports can be easily designed to have side-by-side tables.
• Programming by exception: Even though most reports can be designed without any programming, very sophisticated reports may
be designed using programming by exception and the open object
architecture.
• Printing elements: These are page headers and footers; prevention
of splitting objects such as tables and paragraphs into multiple pages;
print in text, line, or WYSIWYG modes; paper size and orientation;
and margins.
Online Decision Support Features
DataEase enables development of online decision support systems. Some of the
key features that enable building of these systems are browsing, Query by Form,
Page 34
Copyright Sapphire International, September 1997
DATAEASE
Drill-Down, and OLE/DDE support.
SCALEScript Language
DataEase includes an integrated object-oriented 4GL, used for attaching custom
actions to events on form objects. Each visual object in a document can have
custom actions attached to its events. The scripts are attached in the SCALEScript
language using the interactive editor and debugger. As a full-function
object-oriented programming language, SCALEScript includes control statements,
procedures, database statements, and object oriented expressions.
The objects used in the language are defined and registered in the object dictionary. A range of objects are available in this dictionary, including data objects
defined by SCALE, visual objects, and other third-party and environment objects. The power of the SCALEScript language can be enhanced significantly by
adding more object classes to the dictionary.
Each visual object class has a list of events to which custom actions can be attached. For example, the Field object has the events PreEdit and PostEdit. Users
can attach a SCALEScript Action to any event on any object.
SCALEScript Features
Among the features of the SCALEScript language are the following three standard elements.
Control Statements
SCALEScript provides the traditional flow of control statements.
WHILE
IF
CASE
FOR I = 1 TO N
Expressions and Functions
SCALEScript offers a rich set of built-in operators and functions that operate on
number, text, date, and time classes:
• Arithmetic Operators
• Comparison Operators
• Logical Operators
• Functions: If, Date, Time, String, Financial, Scientific
• Relational Operators (Subquery) Lookup, Count, Sum, Mean, Highest, Lowest, Exists, Any, All
• Custom-Defined Functions
Relational subquery functions are available to operate on data from related tables. A developer can also call custom-defined functions with any 3GL that uses
the FAR PASCAL convention.
Procedures
Common SCALEScript procedures can be defined for each application, form, or
control on a form. The parameters can be of any class and can be passed either by
value or reference. Examples of procedures follow:
Copyright Sapphire International, September 1997
Page 35
DATAEASE
SetColorSize(Color NewColor, Rect NewSize)
….
End
SetColorSize(CurrColor,CurrSize) ;
Data Access Statements
SCALEScript offers two ways to customize data interaction. The EXEC SQL
method provides a way to write a customized query directly in the dialect of each
engine. The part of the application that uses EXEC SQL is not portable across
data engines. The second method invokes the SCALE transaction processor and
is fully transparent to the data engine type.
EXEC SQL for Custom SQL Generation
An EXEC SQL statement can be used for generating custom SQL statements.
Users can employ it as a select statement whose results are retrieved into a
form’s MultiView. A server based procedure can also be used to process data on
the server and then return the results into a Transaction Object. The following
EXEC SQL statements are examples of object-oriented language:
EXEC SQL SELECT * From Customer INTO Mview ;
EXEC SQL EngProc(………) INTO Mview ;
EXEC SQL UPDATE ……. ;
EXEC SQL statements can also be used for INSERT, DELETE, and other transaction processing functions, as well as data definition and administrative functions.
Object-Oriented Features
SCALEScript provides object-oriented features that allow it to access any type of
functionality that can be defined in an object. In this open environment, functionality is easily expanded by adding more object classes. The Object Dictionary
defines the object classes. Object instances can either be created automatically
by the Form Painter or they can be instantiated in the language script. Objects
can be used in the following ways:
Field NewField, OldField, &Field_ptr ;
Color NewColor (0, 100, 20) ;
IF (NewField not = OldField) THEN
NewField = OldField ;
SetFieldColor(NewField, NewColor) ;
NewField.Rect.Fill = NewColor ;
NewField.Show() ;
END
Page 36
Copyright Sapphire International, September 1997
DATAEASE
The following object-oriented characteristics are available with SCALEScript:
• Object Instance Definitions
• Object Comparisons
• Object Assignments
• Objects as Parameters
• Object Expressions
• Object Methods
Object Properties and Methods
Examples of types of SCALEScript properties and methods follow:
Properties
Entity.Location
Attribute.Type
Field.Color
Methods
Entity.Open(…) ;
Attribute.Add(…) ;
Field.Edit(…) ;
Field.Rect.Top
Record.Fill.Color.Blue
Each object class is defined in the Object Dictionary with its properties and methods. SCALEScript can obtain and set properties of these objects. It can also invoke any of the methods defined for the objects.
Object Property Navigation
The property of an object may be an object of another class. An object expression
can access the sub-properties of a property. This can be nested at any number of
levels.
Contained Objects and Navigation
Formx.Record [N].Fieldz.Propertyx
Applicationx.Documenty.Propertyx
An object may contain an array of objects of the same class—for example, an
Entity contains many attributes. Each of these objects may have a unique name
or a unique number. An object expression can navigate to contained objects. These
can be nested at any number of levels.
Use of SCALEScript
Following are some of the ways that users can employ SCALEScript to customize
and extend the forms.
Customized Visual Interaction
• Conditional object properties
- Prevent entry
- Appearance
- Visibility
- Size and location
Copyright Sapphire International, September 1997
Page 37
DATAEASE
• More control over field processing
- Keystroke-by keystroke checking
- Arbitrary validation logic
- Complete message control
• Dynamic Field Processing
- Determine tab order at run time
- Prompts and messages
• Combine DataFrame and visual manipulation to build visual presentation of data
- Maps
- Gantt charts
- Bar charts
- Interior layout
Customized Data Interaction
• Custom form data processing
- Attach complex database logic directly to form
- Process DataFrame records before they are posted
• Custom SQL
• Stored procedure calls
Function Extension
• Call custom functions
• Operating system calls
• Remote procedure calls
• Invoke external objects
- Modem
- Network
- Fax
- E-mail
Interactive Editor
SCALEScript supplies an interactive editor for easy attachment of scripts to events
and for editing of scripts. The editor lists the following items:
• Visual objects on which events may be customized
• Events for the selected visual object, highlighting those that have
been customized
• Script for the currently selected event
• Object classes in the Object Dictionary
• Object instances for these classes
• Properties for the selected class
• Methods and parameters for the selected class
Users can easily construct a script by choosing from these items.
Page 38
Copyright Sapphire International, September 1997
DATAEASE
Incremental Compilation
Each action is independently compiled and is ready to run immediately. Thus,
SCALEScript development can proceed in an incremental fashion: by scripting,
compiling, and testing each step before moving to the next.
Testing and Debugging
SCALE lets developers either test the unit of each form as it is developed or test
the entire application. The test mode can be invoked easily anytime during the
design process. DataEase simulates the run-time environment of the form or the
application, while preserving the design time environment. When developers
return to the design mode, the design time environment is fully preserved.
DataEase has a full-featured debugger. It can set breakpoints on any events on
objects or on any statement in a SCALEScript method. The debugger supports the
following features:
• Debugging events
- Events on any objects
- Any statement within a script
• Debugging modes
- Break
- Step
- Trace
- Log
• Inspector
- Inspect and change objects and properties
• Watchpoints
- Set and monitor global watch points
Team Development Features
DataEase NetPlus offers version control features that allow a number of developers
to create applications in a cooperative and coordinated manner. There are three
types of features: shared multi-user repository; check-in and check-out; and version
control.
Shared Multi-User Repository
A server based, shared multi-user repository in DataEase NetPlus contains all application objects for workgroup development. The project leader can control the
repository and grant varying access rights to each of the developers on the team. A
shared common business model centralizes the business rules, providing a single
update point. Since everyone on a project team can use the same business model, all
applications they create consistently use the same business rules and definitions.
Changes to the physical database architectures, business rules and application objects need only be made in one place for the whole team to be up to date.
Copyright Sapphire International, September 1997
Page 39
DATAEASE
C h e c k - In
C h e c k-O u t
R e p o s i to ry
F o ld e rs
A p p li c a ti o n s
F o rm s
V e r s i o n C o n tr o l
PVCS
V e r s i o n C o n tr o l
S y s te m
or
LBM S
R e p o s i to ry
Figure 22. Features of Team DataEase
Folders, Forms, and Applications
The basic element of development is a form. A folder can store all the forms for a
given project or sub-project. The application is the actual deliverable and can
combine forms from several folders. Applications can share forms, which is convenient for producing application versions.
Check-In and Check-Out
Developers can check in and check out any application document. Check-out is
for exclusive use only. No two developers can check out the same document.
Version Control
Version control is supported through an interface to the LBMS or PVCS version
control system. With version control, when a revised document is checked back
in, the original version is placed in the history log. A historical version of a document can be retrieved at any time.
DataEase Benefits
DataEase brings client/server development to a new level by making it more
methodical and easier and quicker than ever and enabling developers to build
more powerful and scaleable applications. These key benefits-rapid application
development, power, data scalability, and client/server development methodology-are summarized here.
Rapid Application Development
DataEase’s programming-by-exception model combined with the automated
SCALE Transaction Processor allow full-function database transactions to be
designed quickly without any programming. This methodology makes client/server
development accessible to a broader range of developers and makes developers
far more productive. An important benefit is that these applications are much
easier to maintain and will not impose a heavy ongoing burden as client/server
applications are widely deployed.
Page 40
Copyright Sapphire International, September 1997
DATAEASE
Power
The powerful DataEase environment provides a fully integrated facility for developing transaction processing and decision support applications, a built-in 4GL
for full programmability, and an open object architecture for extending the functionality of the product. It has a powerful debugger, team development features,
and easy deployment and maintenance of applications. A key distinction of
DataEase is that delivers this power without compromising its ease of use and
rapid application development capabilities.
Data Scalability
During the next decade, there will be a significant transition in large organizations in how data is stored and managed. Building applications that are tied to
specific data configurations will mean an ongoing burden of application redevelopment. DataEase and SCALE let users build applications that are fully scalable
across any kind of data changes. This flexibility allows organizations to start
building the delivery systems, while independently migrating data to its new
destination.
Flexible Deployment
DataEase’s flexibility provides you with a choice of how to deploy your application. With DataEase’s deployment architecture, you can choose to deploy your
application in the traditional client/server method where the EXE and DLL’s are
loaded onto the client machine, or you can elect to deploy using a “thin” client on
the Internet or corporate intranet.
No Application Repartitioning
IMS, DB2
SQL Server,
XBASE
One Server
SQL SERVER or
ORACLE
SYBASE10,
ORACLE 6
Downsize
Upsize
Distribute
Database Shift
Version Shift
SYBASE
DB2/6000
ORACLE,
SYBASE
Multiserver
Other
SYBASE11,
ORACLE 7
Conclusion
DataEase enables enterprise-wide development of client/server systems through
its SCALE architecture and tools. Organizations can implement these systems
following a sound methodology, make client/server development easily accessiCopyright Sapphire International, September 1997
Page 41
DATAEASE
ble to a broader range of developers, build applications quickly and cost effectively, and maintain them easily. The open and powerful SCALE tool allows building of complex applications with minimal programming. At the same time, these
applications can optimally access enterprise-wide data sources simultaneously
and are scaleable to changes in data configurations.
DataEase
The beginning
The first DataEase product was released in 1983 in the US and UK, when most
PC databases confronted users with little more than a dot on the screen to build
from. DataEase proved to be a ground-breaking database product; the first rapid
application development tool to deliver truly useable power to the desktop. Providing a user interface that was at once reassuringly easy-to-use and very intuitive.
Soon users found they could do in minutes what had previously taken days to
achieve. Within a few years DataEase became the PC database market leader,
scooped the lion’s share of the major database awards and proved unbeatable in
every public PC Database Shoot-Out and Challenge staged by independent adjudicators in the US and UK.
DataEase was the first PC database to provide a desktop database evolution - a
line of database products that grew to match the need for easy-to-use Rapid Application Development tools. It was also the first PC database to be supported by
a dedicated network of software partners across the world; each one supplying a
locally focused and integrated support, training and application development
consultancy service to ensure the DataEase users prospered.
Today, the impressive world-wide list of blue-chip users is testimony to the fact
that the DataEase desktop products, (DataEase for DOS and DataEase for Windows), remain the easiest-to-use and most powerful rapid application development solutions for the desktop. Over one and a half million users world-wide and
growing have found out what real ease of use means.
The DataEase ‘application first’ philosophy
DataEase succeeded because it captured the essence of the business logic and
structured it in a clear and easily managed format. It provided a highly efficient
and very intuitive user interface that users readily understood and found extremely easy to use. With such a stable and secure platform, they were able to
spend their time where it counted most - concentrating on the applications that
addressed the business issues involved, not on attempting to master a bewildering succession of complex technologies.
They had recognised an important fact - change for change sake can mean minimal gain and high risk. That when it comes to developing applications, the business needs only truly change when the business itself changes, not when the
technology changes.
The mission
The DataEase mission remains unchanged. We still believe the key to success is
ease-of-use allied to power, delivered quickly at the point of need and in a manPage 42
Copyright Sapphire International, September 1997
DATAEASE
ner which makes application development, deployment and maintenance secure
and easy to achieve. It sounds simple but in practise few companies have managed to achieve it.
Today we are extending that mission, so that applications can move forward
cost-effectively and as easily as possible from one DataEase enabled platform to
the next, as appropriate to the changes in business needs of the DataEase users.
The future
With the release of the new second-generation Windows client/server
database front-end tools, DataEase Plus and DataEase NetPlus and the
Web deployment server software, DataEase ActiveServer, the mission
moves forward. DataEase users now have a future-proofed and open
architecture. We call our approach - through the line scalable RAD2.
Scalable RAD2 means quicker, easier and more powerful development, faster and
more flexible deployment and easier and more accessible maintenance, scaling
up to any number of users and across multiple platforms. Now users can continue to develop and run DataEase DOS applications, confident in the knowledge they can scale up from DOS to Windows client/server, using the DataEase
SolutionPlus Conversion tools. They can build stand alone and file server Windows applications with DataEase for Windows. And new second-generation and
database independent Windows client/server solutions with DataEase Plus/
NetPlus for the state-of-the-art (e.g. NT, WIN95) client/server platforms. Whilst,
by combining DataEase NetPlus and ActiveServer, they can deploy second-generation client/server applications across the emerging intranet/Internet platforms.
As part of the mission to ensure DataEase users gain the maximum productivity
from their DataEase investment we have opened up the DataEase for DOS and
DataEase for Windows technology to specialised add-on providers, resulting in
the recent releases of DataEase add-ons such as ConnectEase, LinkEase,
DFWPrint, WebEase and Report Tool.
By working in alliance with specialised technology providers such as InterMax
Solutions, Inc, on the development of DataEase Plus, NetPlus, ActiveServer and
other emerging products and LANimation Technology for ConnectEase, there is
now a line of DataEase products, specialised add-ons and integrated services
that span multiple platforms and deployment options, enabling those users with
DataEase DOS applications to move forward to either desktop/fileserver Windows or an open and full-featured second-generation Windows client/server future, encompassing the emerging intranet/Internet deployment opportunities.
Copyright Sapphire International, September 1997
Page 43