09. September 2024

Mein aktuelles Projekt "Giants" i.e. Germany in a nutshell.

Als einer der "Urväter" von "meinestadt.de" habe ich mir - nun in der Rente ;-) - viel Zeit nehmen können und >45 Jahre erworbenes IT-Wissen (Datenbank mit Datendesign. UNIX/Linux und Sprache C) in "Giant" eingebracht.
Alle Module sind auch aus performance Gründen in der Sprache C" geschrieben und basieren auf dem Betriebssystem Linux. Zentraler Bestandteil des System ist die Datenbank ORACLE und der Zugriff auf die Daten mittels ORACLE OCI. Damit sind besonders Zukunftsfähigkeit, Sicherheit, Hochperformace, Erweiterbarkeit, Konfigurierbarkeit, Flexibilität und Portabilität gewährleistet.

Merkmale:
- multithreaded Client-Server Architektur
-
,Datenbank Oracle mit persistenten connections
  special pooling, jeder Server kann mit max. 25 open connections (sessions) starten,  d.h. kein "teures" connect
  vor "select" der Daten
notwendig, high speed bulk fetch (64K records < 1 sec),  array DML, max. 65K buffered Datensätze je select.

- Einsatz von OCI, gcc 9.3.1, shared libraries, CGI, HTML, css, javascript (gering), localStorage, shell-scripte,
  cron-scheduling
, file-caching,  - Nutzung von GEO-Daten, paginierung der Ausgaben, breadcrumb-Navigation.
- Server und Client Programme kommunizieren mittels sockets, somit können sie auf getrennten Rechnern (verteilte
  Umgebung) liegen, Verbindung erfolgt über IP-Adressen und Ports.
- alle vom Server aus der Datenbank angeforderten Daten können zudem von der command-line mit entsprechenden
  options auf  "stdout" ausgegeben werden, damit ist auch eine einfache Weitergabe der formatierten Rohdaten an
  Applets und/oder Apps möglich.
- Das konfigurierbare System (mittels Datenbankdaten, init-files und User-Einstellungen) , ist auf Hochleistung und
  Flexibilität und durch Einsatz von UTF-8 auf Vielsprachighkeit ausgelegt. Mit entsprechenden Serverfarmen lassen
  sich Speicherung und Zugriffe nahezu beliebiger Größenordnung realisieren. Antwortzeiten liegen überwiegend im
  Bereich < 1 sec
.

Ein gesondertes multithreaded Serverprogramm dient der Ausführung von Oracle Stored-Procedures Functions +
Ref-Cursor und beliebigem Select.
Die im System integrierte Suche ist mit "und" bzw. "oder" der Begriffe nutzbar. Zur Zielgenauigkeit und Beschleunigung können Begriffen bei der Suche über ein vorangestelltes "Qualifizierungskennzeichen" Bedeutungen zugeordnet werden, z.B. [  v:harry n:Titlbach ] v=vorname, n=name oder [ p:53175 ] p=PLZ.
Bei der Suchausgabe wird eine Gewichtung (diese ist bei den Suchkriterien der Urls einstellbar) der Ergebnisse und die Selektivität berücksichtigt. Benutzer können dies beeinflussen, indem sie einem Begriif +n bzw anfügen, z.B. [ blues+2 rock+5 ] oder "c++"+9, bei n=0-9.
Die Suche kann auch Phrasen enthalten, z.B."Hans Meier". Zudem können bei Und-Suche einzelne Begriffe auch mit dem Zeichen | (oder) verknüpft werden, z.B. "hans | Hansi | helmut Me_er | schulz%".
Bei einer Treffermenge >100 kann mit je 100 Datensätzen (konfigurierbar) vor- und zurückgeblättert werden.
Als wildcards sind Oracle's % (0-n Zeichen) und _ (1 Zeichen) nutzbar.

Zur leichteren Navigation in der Treffermenge der Suche können Urls mit 3 klickbaren Leisten versehen werden
1. nav     => Begriffe zur Kurzbeschreibung (Navigation)
2. wo      => BL, Ort, Strasse
3. haus# => Hausnummer auf Straßenebene

Ebenso sind an vielen Stellen zur Optik icons einsetzbar.

Nutzer können ihre Daten über Formulare selbst pflegen, s.a.w.u.

Aktuell bin ich auf der Suche nach Interessenten. Wer das Potential von Giants erkennt und das System einsetzen möchte, wird auch schnell die universellen Einsatzmöglichkeiten schätzen.

Einige Schaubilder, bei allen u.a. Daten handelt es sich um Testdaten zur Anschauung der Funktionalität.

Startseite


Bonn mit Straßen, alphabetisch
Bonn mit Straßen nach Plz sortiert
Beispiel Straße: Sylt, "An der Düne"
Urls zur Straße "An der Düne", aktive Navigationsleiste "Hausnummer"
Suche nach Sylt, aktive klickbare Navigationsleiste "nav"

 

Suche nach Sylt, aktive klickbare Navigationsleiste "wo"
Infos zur Url, löschen eines Eintrages durch "Urlbesitzer" mit [ x ]
Schlagworte zur Url, löschen mit [ x ]


Beispiel aus Suche nach Ort/Straße, blättern in der Treffermenge mit je 100 Datensätzen


Hauptkatalog, Beispiel

 

Suche in Katalogen


Regionalkatalog, Beispiel Hörnum Sylt, Straße" An der Düne"


Anzeige der Urls aus angewählter Kategorie des Regionalkataloges und der Straße


Urls können auch komplexen hierarchischen Strukturen zugeordnet werden. Mit >> lassen sich jeweils auch untergeordente Elemente in die Anzeige mit einbeziehen. Hiermit können alle Möglichkeiten der Stücklisten-Technik genutzt werden.
Beispiele für Qualifizierungskennzeichen zu Suchbegriffen (z.Zt. 3-stellig=36³, a-z,0-9=46656 Zeichen)
Beispiel Mehrsprachigkeit mit UTF-8



Benutzer können ihre Daten über Formulare  selber  pflegen !

Anmeldung der URL

 

Es können auch Nachrichten gesendet werden, mit Anzeige von Datum+Uhrzeit