What is ZIM?

What is ZIM?

Welcome to our Knowledge Base

Documentation | Blog | Demos | Support

< All Topics
Print

What is ZIM?

ZIM IS:

ZIM is an enterprise grade application framework ecosystem powered by an object oriented 4GL natural programming language.

ZIM has a very powerful METAEngine that makes sharing data between objects very fast and efficient. Unlike traditional SQL servers, ZIM can perform multiple commands per database transaction. Developers can create a web enabled full stack application quickly. Download ZIM Now!

The Elements of ZIM

4GL Programming Language

procedure getStarted() local(myvariable)
  let myvariable = "Once you start using it, you can't stop"
endprocedure

ZIM Enterprise Server

ZIM Web Application Server

ZIM Server Administrator Tool

  • Manage multiple ZIM Servers across a network or the Internet from one admin tool.

ZIM Integrated Development Environment

  • Build Graphical Windows
  • Feature Rich Forms
  • Event based code to capture key business data and objectives

ZIM Runtime

ZIM Android Client

When was ZIM Created?

ZIM was the world’s first application framework created by Bell Canada and Nortel Networks in the mid 1980’s. Some of the most popular everyday application widgets, such as drop-down list boxes, repeating forms and word correction using phonetic word evaluation using AI, where created by ZIM.

ZIM remains as one of the most powerful programming languages available today.

ZIM is very easy to learn. It is based on a natural language approach to coding. For example if you wanted to look up all the customers in a Customers Table (Tables are called Entities in Zim) you would say:

find all Customers.  

Where as in SQL you would say SELECT (*) from Customers.

ZIM is an Enterprise grade 4GL (4th Generational Language) software suite. It’s the original Full Stack Application Framework create to over 30 years ago in Canada to help large organizations make the most out of their data. Unlike other full stack systems, ZIM has a uniform natural style programming language that spans across all levels of the software development process.

Seamless interface between language and database: The Zim programming language includes all commands necessary for data definition and data manipulation. No external interface or API is needed;

The Entity-Relationship (ER) Model: Zim’s unique database format is completely adherent to the ER Model, an extension of the relational model. The ER model allows for a transparent implementation of the semantic relationships among data sets. As such, relationships are defined only once and become an integral part of the data. This results in more compact and efficient code, since repetitive and redundant “relationship” code (e.g., the exact same sequence of JOIN statements (SQL) in several transactions) can be avoided.

Since the architecture of the Zim DBMS is inherently flexible, it allows for a diverse combination of components. Each component provides its functionality to the systems:as summarized below:

ZimQTC Client

GUI Deployment: A multiplatform client that provides a graphical user interface (GUI) to Zim database applications according to the platform on which it is running. While ZimServer executes all data operations in a Zim database application, ZimQTC Client executes local operations, displays form field values and collects events from end-user interaction;

ZimPrompt

TUI Deployment: A text-based client for Windows and Linux environments. Its operation is analogous to ZimQTC Client, except that the end-user interaction occurs via text terminal and that there is no graphical user interface;

ZimIDE

Development: An integrated design studio, in which all Zim database objects (entity sets, relationships, roles, etc) and graphical objects (windows, forms, displays, form fields, etc) can be created and edited;

ZimAdmin

Management: An integrated management console for configuring and managing ZimServer, creating and configuring Zim databases, viewing logs and running several other utilities;

The combination of the powerful and flexible Zim language with the clarity and conciseness of the ER model means that Zim database applications are easier to develop and maintain.

The Zim DBMS provides a complete system for database applications, whereas other solutions require a programming language, a database interface and a database management system.

Using our proven Entity-Relationship (ER) Architecture and the “English-like” Zim fourth generation language (4GL), Zim 9.00 includes new technology offering improved performance and functionality that will take your comlex database applications to a new level.

New features include: Multiplatform Thin Client (ZimQTC Client), Advanced Dedicated Lock Manager, and higher scalability, supporting more concurrent users while maintaining the same level of processing. With new data, transaction and locking mechanisms built to handle even the most complex data processing needs, we are sure you’ll be amazed at what Zim 9.00 can do for you.

With all data residing on a centralized server, administration and management of Zim applications and data is made easier saving time and money. Deploying applications is easier since all licensing is managed on the server and there are no product activations required on the client.

The Zim Database Management System (Zim DBMS) is built on a true client/server architecture.

ZimServer, the core of the system, is where all critical data resides, all data operations are executed and all user connections to databases are managed.

ZimServer communicates with different application clients to send requested data (e.g., queries and form field values), to receive modified data, and to receive input from end-users.

In addition to the application clients, other system components are also clients operating in conjunction with ZimServer to provide a specific functionality to the system.

The following table presents all Zim DBMS components, their function, their role in the client/server architecture and the platforms on which they are supported:

Zim ComponentFunctionRolePlatforms Supported
ZimServerData ServerServerWindows/Linux
ZimQTC ClientGUI Deployment / RuntimeClientWindows
ZimIDEDevelopment EnvironmentClientWindows
ZimAdminManagement ConsoleClientWindows
ZimPromptText-based interfaceClientWindows/Linux

Server: ZimServer runs on a dedicated Windows/Linux machine;

Management: ZimExplore runs on a Windows machine. It is usually on the same Windows machine as ZimServer, but it can connect to different instances of ZimServer on different platforms;

GUI developmentZimIDE runs on a Windows machine. It is usually on the same Windows machine as ZimServer, but it can connect to different instances of ZimServer  on different machines;

GUI deploymentZimQtc runs on Windows to deploy Zim database applications). It is can be installed on the same Windows machine as ZimServer to test applications or an alternate machine to use as an end user running the application.

The Zim DMBS Advantage

The Zim DBMS is an efficient, light-weight, powerful, and flexible database management system. There are three main features that distinguish Zim from other systems:

The Zim 4th generation programming language (4GL): The Zim DBMS has its own fully-featured English-like programming language, also called Zim;

Seamless interface between language and database: The Zim programming language includes all commands necessary for data definition and data manipulation. No external interface or API is needed;

The combination of the powerful and flexible Zim language with the clarity and conciseness of the ER model means that Zim database applications are easier to develop and maintain.

The Zim DBMS provides a complete system for database applications, whereas other solutions require a programming language, a database interface and a database management system.

From Zim 7 to Zim 9

The following table shows the components available in Zim 9 and their equivalent in Zim 7.

Comments

ZimIDE in Zim 9 has the combined functionality of DC and Painter Zim 7;

All previous runtimes (ZimMU, ZimRT, ZimPRT and Zim) have been replaced by ZimQTC in Zim 9

Was this article helpful?
5 out of 5 stars

1 rating

5 Stars 100%
4 Stars 0%
3 Stars 0%
2 Stars 0%
1 Stars 0%
5
How can we improve this article?
Please submit the reason for your vote so that we can improve the article.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

pt_BRPortuguese