Frage

Wir haben eine relativ große Anwendung, die stark in Firebird (Stored Procedures, Views etc.) gebunden ist. Wir sind jetzt viele Anfragen bekommen zusätzliche Datenbanken zu unterstützen, und wir würden auch viel von der Funktionalität vom Client zum Server verschieben möchte.

scheint nun wie eine gute Zeit zu einer 3 (4) Tier-Architektur zu bewegen. Wir haben bereits bei DataSnap 2009 und RemObjects SDK / DataAbstract aussehen. Beide scheinen, wie sie würden die Arbeit erledigen, aber gibt es Vorteile / Nachteile wir achten sollten? Gibt es noch andere Frameworks, die Sie empfehlen können?

Cheers, Paul

War es hilfreich?

Lösung

Im Prozess zu einer Multitier-Anwendung bewegter Sie zwischen den Schichten unter Verwendung eines Transportprotokolls in Erwägung ziehen könnten, die Sprache / Technologie unabhängig ist (wie ein Web Service, (ich denke, tha RemObjects unterstützt das)).

Dies könnte eine Neuimplementierung einer Schicht macht einfacher später (wie wenn Sie später eine andere Version der Client-Anwendung in einem Browser / java / Silverlight machen müssen).

Andere Tipps

Ich kann empfehlen, die KBM Middleware-Komponenten von Components4Developers verwenden. Es ist ein bisschen eine Lernkurve, aber sie sind sehr flexibel und halten auch unter Einsatz in realen Bedingungen.

von einem Benutzer Kommentar ( http://www.components4programmers.com/usercomments/commentfromapowerusertoaquestion.htm )

Ändern Sie Ihre Anwendung auf Multi-Tiers mit neuen Rahmen (RM, DS, kbmMW, oder was auch immer), wird eine Menge Veränderungen in unserer Anwendungsarchitektur machen, empfahl ich damit in Zukunft zu gehen, aber Sie können das erreichen Unterstützung für Multi-Datenbank, mit anderen Produkten wie

UniDAC von DevArt (beste Komponenten für Datenbank mit direkter Verbindung). AnyDac (von derselben Firma, die RemObjects bieten. SQLDirect (hat die Unterstützung für 9 MajorDB und auch ODBC). ZeosDB (Open Source).

eine der Komponenten unter Verwendung von oben, geben Sie für die meisten großen Datenbanken unterstützen, daneben werden Sie nicht viele Änderungen vornehmen Doig und in einigen Fällen können Sie nur alte Datenbank-Komponenten mit den neuen ersetzen, und vielleicht noch einige ändern von Eigenschaften.

Allerdings wird auf Multi-Ebene zu ändern nur nicht nur machen Sie mehr Datenbanken unterstützen, aber es wird Ihre Geschäftslogik von Präsentationsschicht trennen, daher können Sie mehr Präsentationsschichten für Ihre Anwendung wie Web-Interface haben, oder intelligente Geräte.

Aber das wichtigste in der Multi-Tiers Architektur, werden Sie ein skalierbares System des wachsen mehr als das, was die Datenbank, die Sie mit der Verbindung umgehen kann, neben anderen Vorteilen, wie auch andere Sprachen mit Client-Anwendungen zu schreiben.

Für Multi-Tier-Architektur Ich empfehle auch nachrichtenorientierte Middleware angeboten werden.

Mit Message Oriented Middleware, sprachübergreifende und plattformübergreifende Anwendungsintegration kann den Peer-to-Peer oder die Publish / Subscribe-Kommunikationsmodell implementiert werden. Messaging-Systeme sind lose gekoppelt, asynchron und zuverlässig. Zum Beispiel sind sie Kernkomponenten in Java (tm) Applikationsservern wie JBoss.

Für Firebird, schrieb ich vor kurzem einen Blog-Artikel zu ersetzen Firebird-Datenbank Ereignisse, ihre Grenzen und Möglichkeiten, sie zu ersetzen mit Message-Broker-basierten Lösungen (die als Open-Source zur Verfügung stehen):

(Disclaimer: Ich bin ein Entwickler von Delphi und Free Pascal-Client-Bibliotheken für Open-Source-Nachrichtenvermittler).

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top