4D v16

Overview

Home

 
4D v16
Overview

Overview  


 

 

4D Server is the multi-user, cross-platform data and application server for 4D.

With 4D Server, you can create and use multi-user databases and custom applications in a client/server architecture. The platform-independent client/server architecture seamlessly manages databases for both Windows and Macintosh 4D clients. 4D Server includes professional-strength development tools, full scalability, data security, and connectivity options for enterprise systems.

4D Server provides a completely integrated architecture whereby both client and server use a single 4D application. 4D Server frees developers from the need to design separate front-end and back-end applications. In addition, 4D Server is a “zero admin” server. It is easy to install, use, and administer, and is extremely cost-effective.

4D Server fills the gap between low-end file-sharing based systems and complex SQL-based RDBMS. Any 4D Server application smoothly interfaces with existing enterprise databases (such as Oracle, Sybase, or any ODBC compatible server). 4D Server addresses the needs of workgroups in all size businesses.

With 4D Server, the front-end and the back-end application are one and the same. The client software and the server application are two faces of the same product, 4D. The 4D Server application itself is divided into two parts—4D Server and 4D in remote mode—which correspond to the elements in client/server architecture.

The 4D Server portion resides on the server machine. It stores and manages the database on the server and allows end users to manipulate the database from their own machines (the clients).

The 4D application resides on each client machine. It can be used in local mode or in remote mode. In local mode, the users can work with a database or a 4D application stored locally on their machine. In remote mode, users access the database on the server and perform database operations such as adding data, generating reports, and modifying database design. Anything that can be done with 4D in local mode can be done using 4D Server and 4D in remote mode.

No additional middleware or development are required to operate in a client/server environment. 4D and 4D Server share the same interface tools, the same language and the same information management system.

Any local single-user application created for one platform (Windows or Macintosh) easily scales to a workgroup client/server solution. Conversely, an application created with 4D Server automatically scales down to a stand-alone application in local mode.

4D Server benefits from the user-focused heritage of 4D. As a result, 4D Server is a complete Plug and Play system (PNP).

4D Server Administration Window

  • Simple on-line graphical centralized information: The 4D Server Administration Window automatically displays important information—total memory allocated to 4D Server, data cache, number and name of connected users, number of processes and process’ status, monitoring of backups and requests, and all server activity.
  • Auto-configurability and scalability: 4D Server is designed to support the addition of new protocols, new clients, and plug-ins without any reconfiguration or reengineering.
  • Automatic and dynamic updating and version controling of client workstations: All connected 4D machines are automatically and dynamically updated if the database is modified, or if a plug-in or a componant is added, removed, or modified. Moreover, if you have built a custom client-server application, it is possible to automatically download new versions of executable 4D client applications when the 4D Server application is updated.
  • Automatic asynchronous connections using the standard TCP/IP protocol: 4D Server and 4D communicate transparently using the TCP/IP protocol no matter what the platforms of the client and the server are. Since the TCP/IP protocol is integrated in all operating systems, using this protocol with 4D Server does not require any additional installation.
  • Simultaneous session and state management for 4D SQL and HTTP connections: 4D Server automatically creates and maintains a current working environment for each table/process/user combination. This session-based architecture allows each process for each user to manipulate data independently and concurrently. The SQL server of 4D Server automatically handles internal or external SQL queries. The HTTP server of 4D Server replies to HTTP requests and to SOAP requests when so configured.
  • Automatic record locking: 4D Server provides automatic record locking and release, avoiding common problems associated with modification of “in-use” records. Record locking also eliminates problems associated with page or file locking.
  • Integrated user-interface messaging system: Having originated in the desktop arena, 4D Server provides all user interface aspects associated with modern integrated development environments. For example, 4D Server can inform clients of administrative actions, such as scheduled disconnection and backups.
  • Automated start-up and disconnection methods: 4D Server automatically invokes five server database methods in response to specific events: On Server Startup, On Server Shutdown, On Server Open Connection, On Server Close Connection, and On Web Connection. The On Server Startup Database Method can automatically initialize and load any objects that may be needed throughout the rest of the session.

In addition to 4D capabilities, 4D Server provides the following features:

  • Multi-user data management: Multiple users can simultaneously perform database operations. Operations such as adding, modifying, deleting, searching, sorting, and printing records can be performed by several users on records from the same file or from different files. Data integrity is preserved through a built-in record locking system.
  • Multi-user development: Multiple users can simultaneously develop and design a database. For example, several users can edit file definitions and create and modify layouts, scripts, and procedures at the same time. The integrity of your database design is preserved through a built-in object locking system.
  • Platform independent client /server architecture: The architecture seamlessly manages database performance for both Macintosh and Windows 4D Clients. This includes concurrent multi-development across platforms, as well as a transparent interface to all the data entered and modified by 4D Client stations running in a heterogeneous hardware environment.
  • 64-bit versions: 4D Server on Windows (since version 12.1) and on Mac OS (since version 15.1) are available in 64-bit versions. 64-bit architecture allows your applications to address more RAM.
  • Windows and Mac OS-based 4D Plug-ins architecture: The Windows and Mac OS versions of 4D Server let you install both Windows-based and Mac OS 4D plug-ins on the server machine. This architecture simplifies the distribution of platform-independent 4D plug-ins. Plug-ins are transparently handled by 4D Server and 4D, no matter what the platform of the client.
  • Built-in HTTP Server: Like 4D in local mode, 4D Server and each 4D in remote mode has an HTTP engine that enables you to publish 4D databases on the Web. Your database can be directly published on the Web. You do not need to develop a database system, a Web site, nor a CGI interface between them. Your database is your Web site. You can also transform any remote 4D machine into a Web server. For more information about the built-in Web Server of 4D Server and 4D, see the section SORT ARRAY in the 4D Language Reference manual.
  • Connection Security: You can encrypt 4D Server connections. In fact, the “classic” client/server architecture can make use of TLS/SSL encryption services. For more information, refer to section Encrypting Client/Server Connections.
  • Triggers: A Trigger is a method attached to a table. It is a property of a table. You do not call triggers; they are automatically invoked by the 4D database engine each you manipulate table records (add, delete and modify). With 4D Server, triggers are executed on the server machine. Any client, whether it is a 4D or an application connected via ODBC, is subjected to the database rules enforced by the triggers. For more information about 4D triggers, see the ARRAY REAL section in the 4D Language Reference manual.
  • Stored Procedures: You can create 4D methods to be executed locally on the server machine in their own separate process or on one or multiple specified clients. Using client/server industry terminology, this functionality is called “stored procedures.” Nevertheless, 4D Server provides an architecture that goes far beyond the regular concept of stored procedures. With 4D Server, a stored procedure is actually a custom server process (or a client process, see below) that runs your code asynchronously and independently from all the other processes running on the server or client machines. With regular client/server architecture, a stored procedure executes and returns a result (synchronously or asynchronously). With 4D Server, you can start a stored procedure that runs during a whole client/server session and replies, upon request, to the messages sent by the clients. Concurrently, you can run a stored procedure that does not interact with any client, but instead synchronizes data with an SQL-based server or another 4D Server, using 4D Connectivity plug-ins or ODBC. There is no limit (except hardware and memory) to the number of stored procedures that you can run concurrently. A 4D Server stored procedure runs in its own process and therefore, like any other user process, can maintain its own private database context (i.e., current selections). In addition, the 4D language provides commands that enable client processes to read and write the process variables of any stored procedures (including BLOB variables), allowing sophisticated and flexible communication between clients and the stored procedures. In fact, using stored procedures, you can add new and custom services to 4D Server. For detailed information, see the section Stored Procedures.
  • Stored Procedures executed on client:
    With 4D Server, you can execute, from the client or the server, stored procedures on one or several other clients. Consequently, the workload can be shared between the clients and the server or applications can be built using all the communication facilities between the clients. For further information, see the Stored Procedures section.
  • Server path: The path to a server database can be saved with a user’s password. This feature allows a user to connect to a database on the server by double-clicking a .4DLink document. For more information, please refer to the Connecting to a 4D Server Database section.
  • Registering as a service: Under Windows, 4D Server can be launched as a Service.
  • Built-in backup system: 4D Server includes a complete database back-up and restore module. This module lets you back up a database during operation, without having to exit the application. Back-ups can be launched manually or automatically, at regular intervals and without user intervention. In the event of an incident, restoring and/or restarting the database can also be initiated automatically.
  • Backup by logical mirror: For critical applications, it is possible to set up a backup system by logical mirror, which permits an immediate restart if an incident occurs on the operational database.
  • Connectivity Plug-ins: Using the 4D Connectivity plug-ins like 4D ODBC Pro, both 4D Server and 4D can directly access mainframe and minicomputer databases such as ORACLE or any other ODBC database server. Information can be shared interactively between these databases. In addition, 4D is offering a 4D Server ODBC driver that will allow any ODBC client to connect and work with 4D Server.

 
PROPERTIES 

Product: 4D
Theme: Introduction

 
HISTORY 

 
ARTICLE USAGE

4D Server Reference ( 4D v16)