Datafora - Dataphor

Datafor
Pierwsze wydanie 2001
Wersja stabilna
3.0 / luty 2012 ; 9 lat temu ( 2012-02 )
Napisane w C#
Platforma .NET Framework
Rodzaj Serwer bazy danych
Licencja BSD
Strona internetowa alphora .com /dataphor

Dataphor to prawdziwie relacyjny system zarządzania bazami danych ( RDBMS ) o otwartym kodzie źródłowym ( RDBMS ) i towarzyszące mu technologie interfejsu użytkownika, które razem zostały zaprojektowane w celu zapewnienia wysoce deklaratywnego tworzenia aplikacji. Dataphor Server posiada własny silnik pamięci masowej lub może być wirtualnym lub federacyjnym systemem DBMS, co oznacza, że ​​może wykorzystywać inne silniki baz danych do przechowywania danych.

Dataphor jest chwalony za przestrzeganie zasad relacyjnych, bardziej niż jakikolwiek produkt SQL.

Przegląd

Deklarowanym celem Dataphor jest próba podniesienia poprzeczki automatyzacji podczas tworzenia i utrzymywania złożonych aplikacji. Pierwotnie określany jako framework, Dataphor zapewnia więcej platformy do tworzenia oprogramowania, wraz z własnymi paradygmatami programowania i interfejsu użytkownika.

Dataphor jest ogólnie podzielony na dwa komponenty: Dataphor Server i Dataphor Frontend. Celem Dataphor Server jest dostarczenie ustandaryzowanego języka i środowiska wykonawczego do definiowania, manipulowania i integralności danych aplikacji. Frontend zajmuje się dynamicznym wyprowadzeniem interfejsów użytkownika i ich prezentacją w cienkim kliencie Windows lub sieci Web.

Dataphor nie używa SQL jako podstawowego języka baz danych, ponieważ SQL rzekomo narusza ważne zasady modelu relacyjnego . Dataphor za D4 język opiera się na zasadach Christopher J Data „S i Hugh Darwen ” s Tutorial D , ale z Pascal -jak imperatyw składnia.

Chociaż Dataphor głosi, że jest prawdziwie relacyjny, zawiera koncepcję wartości NULL , którą można znaleźć w SQL, co wielu twierdzi, że jest przeciwwskazane przez model relacyjny. Jednak NULL i kwestia zarządzania brakującymi informacjami są nadal przedmiotem dyskusji.

Oprócz tego, że Dataphor Server koncentruje się na zarządzaniu danymi, Dataphor zawiera narzędzia, które umożliwiają prezentację interfejsów użytkownika przez "cienkich" klientów Windows i Web. Dataphor wykorzystuje możliwości wnioskowania relacyjnego kompilatora Dataphor, aby umożliwić wyprowadzenie kompletnych formularzy GUI bezpośrednio z modelu danych. Unikalnym aspektem „wyprowadzania” interfejsu użytkownika Dataphor jest to, że może on być oparty na dowolnym wyrażeniu relacyjnym (zapytanie), a nie tylko na tabelach podstawowych.

Naprawdę relacyjny

Dataphor dąży do teoretycznej zgodności z zasadami relacyjnymi. Próbując trzymać się zasad Trzeciego Manifestu , odeszli w kilku miejscach od tego, do czego dążył Trzeci Manifest, ale nie w miejscach, które były pogwałceniem 12 zasad Codda . Np. zawierały wartości null, ale twierdzą, że mają do nich systematyczne traktowanie.

Podczas gdy wiele systemów zbudowanych na SQL sromotnie zawodzi w odniesieniu do zasady Codda 9 „Niezależność danych logicznych”, aplikacje Dataphor mogą automatycznie zmieniać się, gdy zmienia się warstwa logiczna. Np. gdy do systemu dodawana jest nowa kolumna, nie jest potrzebne żadne dodatkowe opracowanie, aby było to nowe pole widoczne dla użytkowników do przeglądania lub edycji.

Opinie ekspertów na temat Dataphor

Hugh Darwen odniósł się do D4 jako do godnego uwagi projektu w swoim przemówieniu zatytułowanym The Askew Wall . Chris Date odnosi się do Dataphor jako produktu, który jest próbą wdrożenia Trzeciego Manifestu. Fabian Pascal nazywa Dataphor „prawdziwie relacyjnym” i „przewyższa SQL”

Historia

W 1999 roku firma Softwise Inc , twórca systemów punktów sprzedaży , odkrył , że w kółko pisze ten sam kod, i szukał narzędzia do automatyzacji swoich aplikacji bazodanowych. Nie znaleźli aplikacji, która robiłaby to, co chcieli, więc stworzyli oddział swojej firmy, nazwali go Alphora i wyznaczyli kilku programistom, aby zbudowali takie narzędzie. Tym narzędziem stało się Dataphor. Mówi się, że jest to pierwszy prawdziwie relacyjny system DBMS od czasu IBM Business System 12 . Rozwój Dataphor rozpoczął się na krótko przed 2000 r., a wydanie 1.0 miało miejsce w 2001 r.

Na początku 2008 roku nazwa Alphora i produkt Dataphor zostały przejęte przez Database Consulting Group , założoną przez pierwotnych architektów Dataphor, którzy opuścili Softwise w 2007 roku. Po przejęciu Dataphor został ponownie licencjonowany jako open source na podstawie licencji BSD .

Technologia

Dataphor wykorzystuje Microsoft .NET Framework i jest w całości napisany w C#. Poniżej znajduje się podsumowanie różnych komponentów technologicznych Dataphor:

Serwer Dataphor

Serwer Dataphor składa się z kilku komponentów, w tym:

  • Interfejs na poziomie wywołania - zarządzanie sesjami, harmonogram procesów itp.
  • Katalog słownika danych — zawierający wszystkie tabele, widoki, operatory, ograniczenia, odwołania i inne obiekty schematu.
  • Skaner D4, analizator, emiter i kompilator.
  • D4 Runtime - w tym przetwarzanie relacyjne i skalarne
  • Warstwa integracji pamięci masowej - tłumaczenie w czasie rzeczywistym na różne dialekty SQL

Języki

Podczas gdy Dataphor obsługuje smak SQL, który nazywają "RealSQL", D4 jest preferowanym językiem do użycia w Dataphor, D4 obsługuje instrukcje DDL i DML . Zapytania D4 wyglądają jak wyrażenia algebry relacyjnej z wypisanymi nazwami operatorów. Na przykład:

Instrukcja SQL Równoważne oświadczenie D4
SELECT * FROM User select User
SELECT * FROM User NATURAL JOIN Department select User [[natural join|join]] Department
SELECT DISTINCT Name FROM User select User over { Name}
Składnia

D4 ma składnię podobną do Pascala . Przykładowy kod D4 jest zwykle napisany w UpperCamelCase , który jest również szeroko stosowany w systemach Pascal i Delphi .

Podobnie jak większość języków zapytań, D4 ma język definicji danych (DDL) i język manipulacji danymi (DML). D4 ma również język imperatywny dla kodu proceduralnego.

Język definicji danych

DDL dla Dataphor ma wiele podobieństw do innych DBMS, ale z wyraźnie pascalowskim akcentem. Wiele dozwolonych operacji DDL, takich jak ograniczenia, pozwala na użycie relacyjnych instrukcji deklaratywnych , które zdaniem wielu są lepsze od operacji w stylu proceduralnym używanych w SQL .

Język manipulacji danymi

Składnia DML na pierwszy rzut oka może wydawać się podobna do składni SQL , ale ze względu na bliższe powiązania D4 z algebrą relacyjną , składnia ma czystszą definicję i większość użytkowników woli ją od SQL.

Język imperatywny

Język imperatywny w D4 jest pod wieloma względami niezwykle podobny do Pascala. Największą różnicą jest to, że D4 umożliwia również uruchamianie instrukcji DDL i DML w zwykłym kodzie proceduralnym.

Historia

D4 został nazwany na cześć podobnie brzmiącego Dataphor, systemu używającego tego języka. Minął jakiś czas po tym, jak te nazwy zostały ustalone, że jego twórcy odkryli samouczek D i miał zbieżność z tą nazwą. Od czasu odkrycia Samouczka D i Trzeciego Manifestu twórcy używali Trzeciego Manifestu jako przewodnika przy tworzeniu Dataphor i D4. Od tego czasu Hugh Darwen w swoim przemówieniu zatytułowanym The Askew Wall odniósł się do D4 jako do godnego uwagi projektu .

Sfederowany aparat pamięci masowej

Chociaż Dataphor ma własny silnik pamięci masowej, może również łączyć się z innymi systemami RDBMS i używać ich jako silnika pamięci masowej. Dataphor może używać następujących DBMS jako silników pamięci masowej:

Dataphor może uzyskać dostęp do Oracle, IBM Db2, Microsoft SQL Server, PostgreSQL, MySQL i dowolnego innego silnika pamięci masowej za pomocą jednego zunifikowanego języka.

Biblioteka frontendowa

Biblioteka Dataphor Frontend zapewnia dostarczanie dynamicznie pochodnych lub wstępnie zaprojektowanych formularzy statycznych. Biblioteka jest udostępniana jako standardowy zestaw funkcji D4 (nazywanych operatorami w D4), takich jak Form ('<biblioteka>', '<nazwa>') i Wyprowadź ('<wyrażenie D4>', '<typ formularza>') . Wynikowe formularze są opisane w dialekcie XML zwanym dokumentem formularza Dataphor (DFD). Opis formularza jest wysokopoziomowy i składa się z ogólnego opisu aspektów interfejsu użytkownika, ponieważ obowiązują one niezależnie od platformy klienta.

IDE Dataphoria

Dataphoria to zintegrowane środowisko programistyczne dla:

  • Edycja D4
  • Wykonanie ad hoc D4
  • Tworzenie, edytowanie i dostosowywanie (dziedziczonych) formularzy
  • Zarządzanie bibliotekami
  • Analizowanie planów wykonawczych

Klient Windows

Klient Windows Dataphor jest cienkim klientem w tym sensie, że nie jest wstępnie zaprogramowany dla konkretnej aplikacji. Klient Windows nawiązuje połączenie z serwerem Dataphor, z którego (poprzez D4) żąda definicji formularzy i koordynuje manipulację danymi aplikacji. Dokumenty DFD są interpretowane jako konkretne kontrolki Windows Forms , ale z zachowaniem koncepcyjnego modelu DOM DFD.

Klient sieciowy

Dataphor Web Client to podstawowa implementacja klienta Dataphor, który jest manifestowany jako aplikacja internetowa ASP.NET. Podobnie jak klient Windows, klient sieciowy łączy się i żąda formularzy i danych zi instancji serwera Dataphor. Zamiast synchronizować DFD z kontrolkami systemu Windows, klient sieci Web renderuje kod HTML wyświetlany w przeglądarce. W ten sposób „Klient” sieci Web jest klientem względem serwera Dataphor, ale serwerem względem końcowej przeglądarki internetowej.

Zewnętrzne linki

Bibliografia