4th dimension
4th Dimension è un database relazionale, scritto da Laurent Ribardiere a metà degli anni 80 e ancora oggi prodotto e manutenuto dalla società francese 4D SAS.
Nato su Macintosh è disponibile dal 1993 anche su Windows; oltre al motore del database include anche la gestione dell'interfaccia e un linguaggio con molti comandi e la possibilità di plugin esterni per aggiungere funzionalità di videoscrittura, fogli di calcolo, connessione dati nativa a Oracle, MySQL, eccetera.
È inoltre incluso un webserver (negli anni scorsi la società aveva comprato la Starnine, produttrice del famoso web server Webstar per Macintosh, poi ceduta a Kerio).
Conta come programmatori molti consulenti in diverse società dove viene spesso utilizzato come middleware (software per le necessità operative dell'utente che non può richiedere funzioni particolari ai grossi sistemi informativi aziendali), ma è difficilmente inquadrabile nel mercato perché si pone a metà strada fra i database puri (Oracle, MS Sql, etc) e i database integrati in interfacce semplici (come Access o FileMaker).
Spesso è quindi usato in monoutenza per usi particolari, ma conta anche installazioni strategiche con centinaia di client e siti web[1]. Ad esempio, in Italia esistono pacchetti scritti in 4d per:
- per la gestione delle librerie[2]
- per i centri di assistenza riscaldamento e condizionamento[3]
- per le strutture alberghiere[4]
- per gli studi dentistici[5]
- per le agenzie di modelle e casting[6]
- per l'analisi obiettiva delle partite di calcio[7]
- per gestione musei e gallerie d'arte[8]
- l'ERP 2.0 per la piccola e media impresa[9]
- per la completa gestione aziendale[10]
- Il CRM per l'automazione della forza vendita e l'assistenza pre e post vendita[11]
- per creare e mantenere un sito Web aziendale[12]
Indice |
Standard supportati[13] modifica
- possibilità di generare applicazione pubblicabili su Mac App Store[14]
- engine SQL aderisce allo standard SQL-92, con alcune limitazioni e alcune funzioni aggiuntive[15]
- supporto all'SQL Pass-through, comunicazione diretta con data source esterni
- esecuzione diretta script PHP 5.3 con interprete compilato FastCGI
- supporto XML versione 1.0 con la libreria Xerces di Apache Foundation, sia lo standard DOM (Document Object Model) che il SAX (Simple API XML), la notazione XPath (per il DOM) e le trasformazioni tramite XSL style sheets (eXtended Stylesheet Language)
- gestione di quattro tipi di Metadati per le immagini: EXIF, GPS, IPTC e TIFF
- gestione del forma SVG ((Scalable Vector Graphics), sia come visualizzazione che creazione e modifica
- supporto dell'architettura standard XLIFF (XML Localization Interchange File Format) per la localizzazione dell'interfaccia
- supporto dei WebService, sia come server che come client: generazione automatica del WSDL (Web Service Description Language) come server e interpretazione degli stessi per la generazione del codice client, supporto dei protocolli SOAP (versione 1.1 e versione 1.2), RPC (Remote Procedure Call) e DOC (Document-oriented)
- il Web Server è compatibile HTML 1.1, supporta documenti XML, la tecnologia WML (Wireless Markup Language), il protocollo SSL (Secured Socket Layer)
- supporta le CGI e può essere chiamato tramite CGI da altri web server
- utilizzando il web server sui client è possibile realizzare facilmente il Load Balancing
- disponibilità di un 4D AJAX Framework, per creare pagine web collegate e distribuite dal server 4D
- disponibilità di un 4D for Flex, che permette alle applicazioni Flex di collegarsi direttamente al server 4D
- supporta le chiamate via ODBC con driver nativo anche per Macintosh
- supporta le chiamate via PDO_4D da PHP
- supporta chiamate dirette server to server con altri server 4D
- può interrogare altri database via protocollo ODBC e OCI (Oracle Call Interface)
- comandi per interrogazione server posta POP3 e IMAP, Internet Message Access Protocol, Version 4 revision 1 (IMAP4rev1)
- comandi per l'invio di posta tramite server SMTP, con allegati, destinatari, destinatari in copia CC (Carbon Copy) e in copia nascosti BCC (Blind Carbon Copy), autenticazione (CRAM-MD5, LOGIN, PLAIN), commenti
- comandi per la gestione diretta dei server FTP (File Transfer Protocol)
- comandi di basso livello TCP/IP, UDP, utility come Ping e Name resolver
Compatibilità e requisiti minimi modifica
Il fatto di essere multipiattaforma lo slega spesso da tutte le problematiche di installazione e di requisiti hardware e software, è cioè molto indipendente da librerie, driver o versioni del sistema operativo.
I requisiti minimi della versione corrente[16] sono:
| Windows | Macintosh |
|---|---|
| Pentium IV | iMac MacIntel |
| Windows Vista, Windows XP | Mac OS 10.5.8 e successivi |
| 1 GB RAM (2 GB raccomandato) | 1 GB RAM (2 GB raccomandato) |
| Risoluzione schermo 1280 × 1024 | Risoluzione schermo 1280 × 1024 |
Caratteristiche del database[17] modifica
Dimensione del file dei dati: illimitato (limite del sistema operativo)
Numero di Tabelle: 32767
Numero di Campi per Tabella: 32767
Numero di Record per Tabella: 1.000.000.000
Numero di chiavi Indice per Tabella: 128.000.000.000
Dimensione campo Alpha: 255
Dimensione campo Text: 2GB
Accesso al data file a 64-bit
Composite Index: indicizzazione simultanea di valori da campi diversi (per esempio, Nome e Cognome).
Keyword Index: indicizzazione a parola, per ricerche full-text.
Cluster Index: indicizzazione specifica per campi con valori ripetuti (per esempio, i Booleani)
Tipi di dati[18] modifica
| 4D SQL | Descrizione | 4D |
|---|---|---|
| Varchar | Testo alfanumerico | Text o Alpha |
| Real | Numero a virgola mobile nel range di +/-1.7E308 | Real |
| Numeric | Numero fra +/- 2E64 | Integer 64 bits |
| Float | Numero a virgola mobile (virtualmente infinito) | Float |
| Smallint | Numero fra -32 768 and 32 767 | Integer |
| Int | Numero fra -2 147 483 648 e 2 147 483 647 | Longint, Integer |
| Int64 | Numero fra +/- 2E64 | Integer 64 bits |
| UUID | Numero di 16-byte (128 bits) contenente 32 caratteri esadecimali | UUID Alpha format |
| Bit | Un campo che contiene solo TRUE/FALSE o 1/0 | Boolean |
| Boolean | Un campo che contiene solo TRUE/FALSE o 1/0 | Boolean |
| Blob | Fino a 2 GB; qualsiasi oggetto binario tipo grafici, altre applicazioni o documento qualsiasi | Blob |
| Bit varying | Fino a 2 GB; qualsiasi oggetto binario tipo grafici, altre applicazioni o documento qualsiasi | Blob |
| Clob | Testo fino a 2 GB di caratteri. Questa colonna (campo) non può essere indicizzato e non è salvato dentro il record. | Text |
| Text | Testo fino a 2 GB di caratteri. Questa colonna (campo) non può essere indicizzato e non è salvato dentro il record. | Text |
| Timestamp | Data e Ora, Data nel formato 'YYYY/MM/DD' e Orario nel formato 'HH:MM:SS:ZZ' | Date e Time gestiti separatemente, con gestione automatica |
| Duration | Orario nel formato 'HH:MM:SS:ZZ' | Time |
| Interval | Orario nel formato 'HH:MM:SS:ZZ' | Time |
| Picture | Immagine fino a 2 GB | Picture |
NCHAR e NCHAR VARYING non sono supportate. I diversi tipi di campi numerici sono convertiti in automatico.
Storia[19] modifica
La versione corrente è la '4D v13', certificata Windows Vista, Windows Server 2008 e Mac OS Intel 10.5 Leopard, 10.6 Snow Leopard e 10.7 Lion.
| Anno | Versione | Note |
|---|---|---|
| 1984 | ABCBase | |
| 1985 | 4D v1 | |
| 1986 | 4D v2 | |
| 1987 | 4D v3 | |
| 1989 | 4D v4 | Utilizzo della stessa base dati da più utenti - Compilatore |
| 1992 | 4D v5 | Ambiente client-server integrato |
| 1995 | 4D v5.5 | Versione multipiattaforma Mac OS e Windows |
| 1997 | 4D v6 | Server Web integrato |
| 1999 | 4D 6.5 | 4D 6.5.9r2 l'ultima versione disponibile della 6.5.x |
| 2000 | 4D 6.7 | 4D 6.7.4 l'ultima versione disponibile della 6.7.x |
| 2001 | 4D 6.8 | Certificata Mac OS X (6.8.5) ; la 6.8.6 l'ultima versione disponibile della 6.8.x |
| 2003 | 4D 2003 | XML, Web Services e Compilatore Integrato; la 2003.8r2 l'ultima versione disponibile della 2003 |
| 2004 | 4D 2004 | Interfaccia rivisitata; integrazione dei comandi ODBC, 4D Customizer, 4D Backup e 4D Engine; la 2004.7 build 3 l'ultima disponibile (certificata MacIntel e Vista). |
| 2007 | 4D v11 SQL | Nuovo database engine, SQL integrato, supporto di Unicode, gestione SVG, tool di manutenzione integrato, area web,... |
| 2010 | 4D v12 | Integrazione motore PHP, accesso a multipli database esterni, Server a 64Bit, SVG Area, campi RichText, nuove possibilità di stampa, nuove funzioni delle Listbox, ... |
| 2012 | 4D v13 | Nuovo Web Server engine, nuovo visualizzatore web integrato e multipiattaforma, strumenti avanzati per gli sviluppatori ... |
Note modifica
- ^ Il segreto di 4d. URL consultato in data 7 giugno 2009.
- ^ MacBook. URL consultato in data 7 giugno 2009.
- ^ Clima. URL consultato in data 7 giugno 2009.
- ^ MacHotel. URL consultato in data 7 giugno 009.
- ^ G.S.O. Gestione Studio Odontoiatrico. URL consultato in data 9 giugno 2009.
- ^ Ebooking. URL consultato in data 18 marzo 2011.
- ^ Panini Digital Soccer. URL consultato in data 3 novembre 2011.
- ^ 4d Opere, usato presso lo GNAM, Galleria Nazionale d'Arte Moderna di Roma . URL consultato in data 4 novembre 2011.
- ^ Symbio l'ERP 2.0. URL consultato in data 1 novembre 2011.
- ^ Cosmo - il Gestionale. URL consultato in data 1 novembre 2011.
- ^ Fylon - il CRM. URL consultato in data 1 novembre 2011.
- ^ Spider - Il gestore Web. URL consultato in data 1 novembre 2011.
- ^ 4D v12 - Features. URL consultato in data 18 marzo 2011.
- ^ 4D apps in the Mac App Store. URL consultato in data 3 novembre 2011.
- ^ Principles for integrating 4D and the 4D SQL engine. URL consultato in data 3 novembre 2011.
- ^ 4D v12 SQL - Minimum Requirements. URL consultato in data 18 marzo 2011.
- ^ Caratteristiche del database engine. URL consultato in data 7 giugno 2009.
- ^ Principles for integrating 4D and the 4D SQL engine . URL consultato in data 3 novembre 2011.
- ^ Genealogia dei database relazionali. URL consultato in data 7 giugno 2009.
Collegamenti esterni modifica
- Sito ufficiale di 4d Francia
- Sito ufficiale 4d in inglese
- Sito di Italsoftware, distributore italiano
- Sito di Sviluppo4d, una comunità italiana di sviluppatori 4d indipendente
- Forum multilingue dedicato agli sviluppatori 4d
|
|










