Zum Inhalt springen

PHP5 - Architektur, ORM, SOA & Co


Empfohlene Beiträge

hu,

einmal mehr grübele ich über die Architektur innerhalb meiner PHP-Anwendungen.

Derzeit setze ich ein Data-Abstraction Layer (DAL) ein, um Datenbasis und Verarbeitungslogik zu trennen. An sich ein schönes O/R-Mapping.

Datenbeispiel:

Ich verwalte Bestellungen und zu jeder Bestellung einen Kontakt (Name, adresse etz.)

Situation:

Nun ist der schöne fall eingetreten, das ich die gleichen Daten an verschiedenen stellen speichere.

denn, es ist ein Archiv. Ändern dieser Daten darf dort nicht erfolgen. Wg. Rechnungsstellung unsw.

Live-Daten werden unter bestimmten Bedingungen in das Archiv verschoben.

Somit verhindere ich eine Änderung der Kontaktdaten für bereits abgearbeitete Bestellungen. Da darf sich ja nix mehr ändern.

Problem:

Jede Entity-Klasse weis, welche Tabelle ihre Daten enthält und in welcher Art (spaltennamen) sie abgelegt sind.

Was wieder dazu führt, das ich für das Archiv eigene Entity-Klassen anlegen muss, die Ablagestruktur unterscheidet sich geringfügig.

Letztlich ist die Struktur für Bestellung und Kontakt aber die gleiche.

Archiv-Bestellung und Live-Bestellung haben beide eine Getter-Methode um an den Kontakt zu kommen.

Idee:

ein wenig von SOA (Service Oriented Architecture) inspiriert, eine Trennung zwischen EntityBean und DataBean.

So das meine verarbeitungslogik wirklich nur Daten hat (Bestellung inklusive Getter Methode)

aber die Frage wie die Daten aussehen, wo sie abgelegt sind unsw. getrennt abgelegt ist.

Ich frage dann eine Service-Klasse "gib mir alle bestellungen", diese liefert mir Databeans aus dem Live-bestand. Oder ich Frage "gib mir archivierte bestellungen" die mir Objekte der Gleichen Bestellungs-Klasse liefert, allerdings aus dem archiv.

Frage:

Jemand Erfahrung damit, Ideen ?

ich hake jetzt noch an der Konkreteren Umsetzung.

Die Getter-Methode der Bestellung muss ja, abhängig davon ob sie archiviert ist oder nicht, auch den Kontakt anders anfragen. ... oder der Service der die Kontakte verwaltet, liefert den Kontakt anders, je nachdem wer fragt.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...