AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

3-Schichtenmodell

Ein Thema von day · begonnen am 24. Mai 2004 · letzter Beitrag vom 2. Jun 2004
Antwort Antwort
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#1

3-Schichtenmodell

  Alt 24. Mai 2004, 23:56
Hallo

Ich versuche gerade ein 3-Schichtenmodell aufzubauen. Leider ist das Thema in meinem Buch relativ kurz gehalten. Kennt jemand einen guten link oder sonstige hilfreiche infos darüber?

danke
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#2

Re: 3-Schichtenmodell

  Alt 25. Mai 2004, 11:36
Moin, moin

Da Du Dich im Bereich Datenbanken befindest fällt mir spontan die 3 Ebenenarchitektur des Datenbestandes nach ANSI SPARC ein. Aber vielleicht meinst Du auch eine
bestimmte Arbeitsteilung von Komponenten. Hm, präzisiere Deine Frage...

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#3

Re: 3-Schichtenmodell

  Alt 26. Mai 2004, 22:32
Hallo

Also ich versuche eine Schnittstelle zu einer Datenbank zu implementieren. (möchte nicht direkt mit den komponenten darauf zugreifen). Jetzt weiss ich aber noch nicht so genau wie ich das realisieren soll. Hat da jemand eine idee??

Mein erste gedanke waren objekte welche die einzelnen tabellen repräsentieren und die daten in listen speichern. Aber mir fehlt da noch irgendwie der durchblick (oder eben die zündende idee)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.201 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: 3-Schichtenmodell

  Alt 27. Mai 2004, 08:23
Schau dir mal die Infos zum Bridge-Pattern an. Dieses Pattern wird zwar meist zur Abstraktion des Oberflächenzugriffs (Anwendung soll unter Windows, XWindows, ... laufen) verwendet, kann aber Prima zur Kapsellung der Datenbankzugriffsschicht verwendet werden (um auch noch DB-Unabhängig zu werden).

Zusätzlich kannst Du (wenn dein 3-Schichten-Modell darauf abziehlt die DB-Zugriffsschicht auf einen gesonderten Rechner (Server) zu legen) Techniken wie SOAP/Web Services, DCOM/COM+ oder ähnliches verwenden.
  Mit Zitat antworten Zitat
Benutzerbild von Tonic1024
Tonic1024

Registriert seit: 10. Sep 2003
Ort: Cuxhaven
559 Beiträge
 
RAD-Studio 2009 Ent
 
#5

Re: 3-Schichtenmodell

  Alt 27. Mai 2004, 09:32
Hi...

Ich muss mschaefer recht geben. Ein bissel mehr infos wären schon net schlecht. Oft macht ein 3-Schichtenmodell (Ich gehe mals davon aus, dass du Datenbankzugriffsschicht, Datenverarbeitungschicht, und Anwendungsschicht meinst) auch garkeinen sinn, weil sie doch ein wenig aufwendig ist und einer gewissen Planung bedarf. besonders wenn du bidirektional arbeiten willst/musst.

Häufig wird die Zugriffsschicht in eine DLL ausgelagert, damit man sie je nach DBMS austauschen kann und die Applikation unabhängig bleibt. Diese Datei kann auch wie schon gesagt wurde komplett auf einem Server liegen, dann müssen noch andere Paramete berücksichtigt werden. - Hab ich persönlich noch nicht gemacht (UDF's zählen nicht, oder?!?)

Die Datenverarbeitungsschicht wird dafür benutzt die Daten, die von der Zugriffsschicht kommen so aufzubereiten, dass sie für den Benutzer einen Sinn geben (Brutto/Netto - Einzel-/Endpreis Berechnungen etc). Die letzte Schicht stellt das Userinterface dar, dass wenn sich der User einmal daran gewöhnt hat beibehalten werden kann, auch wenn sich alles andere ändert.

Ich persönlich neige dazu (zumindest bei kleineren Projekten) zumindest diese Beiden Schichten zusammenzufassen. Es ist nämlich ein nicht zu Unterschätzender Mehraufwand sich eine Schnittstelle auszudenken, die genau auf eine Schicht passt, die auch erst ersonnen werden will... 8)

Ich hoffe ich habe dein Problem überhaup richtig verstanden

ein paar links:
klick(pdf)
noch'n PDF
sehr Umfangreiches PDF

Bye

Tonic
Der frühe Vogel fängt den Wurm, richtig.
Aber wird nicht auch der frühe Wurm vom Vogel gefressen?
  Mit Zitat antworten Zitat
Benutzerbild von mschaefer
mschaefer

Registriert seit: 4. Feb 2003
Ort: Hannover
2.032 Beiträge
 
Delphi 12 Athens
 
#6

Re: 3-Schichtenmodell

  Alt 27. Mai 2004, 09:49
Moin, moin,


Es hört sich etwas so an als wolltest Du mal versuchen mit der abstrakten Darstellung aus einem allgemeinen Datenbankbuch direkt mit Datenbanken zu arbeitet. Das Ebenenkonzepte nur so ungefähr existieren und oft verschwimmen das ist leider Realität.

Du kannst aber durchaus probieren mit einfachen Datenbanken direkten Zugriff aufzubauen um die Funktionsweise besser Kennenzulenren. So ganz einfach ist dies auch nicht, aber Du kannst einen Blick auf folgende Routinen werfen, die direkten Zugriff auf DBase Dateien liefern.


http://delphi.icm.edu.pl/ftp/d30free/dbf.zip

Grüße // Martin
Martin Schaefer
  Mit Zitat antworten Zitat
woki

Registriert seit: 29. Mär 2003
563 Beiträge
 
Delphi 2006 Architect
 
#7

Re: 3-Schichtenmodell

  Alt 27. Mai 2004, 10:34
Hi,

das, was du an Infos gibst ist wirklich sehr knapp. Im Zusammenhang mit Delphi und diesem Thema solltest Du dir mal Das TClientdataset und COM+ anschauen und vielleicht auch nach dem Stichwort 'Microsoft Transaction Server' suchen, auch wenn der jetzt unter COM+ mitläuft.

Bei der Suche könnten auch die Begriffe 'Three Tier' und 'Multi Tier' hilfreich sein.

Grüsse
Woki
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#8

Re: 3-Schichtenmodell

  Alt 27. Mai 2004, 21:53
danke für eure informationen.

Es ist eben schwierig das ganze zu erklären, da ich selber noch nicht genau weiss in welche richtung es gehen soll. Ich versuche eine Schnittstelle zu erstellen, die eine Datenbank (MSSql) abstrahiert. Über diese schnittstelle soll es möglich sein daten zu lesen und zu schreiben. Ich werde mal eure vorschläge durchsehen und mal schauen was sich daraus ergibt. Auch für weitere Anregungen bin ich immer offen .

gruss
  Mit Zitat antworten Zitat
raeschnix

Registriert seit: 11. Jan 2004
Ort: Momentan in Umschulung
13 Beiträge
 
#9

Re: 3-Schichtenmodell

  Alt 29. Mai 2004, 13:35
Hi!

für mich hört sich das ein wenig nach dem Prinzip wie es in der Web-Entwicklung eingesetzt wird. Es ist angelehnt an die 3 Tier Architektur und man könnte es grob ungefähr so beschreiben:

"Präsentation" - Schicht -> Hier wird nur das Ergebnis angezeigt. Also Front-End
"Applikation-logic" - Schicht -> Hier steckt die Logic des Programms. Also Back-End
"Datenbank" - Schicht -> Hier wird der Zugriff auf die Daten geregelt.

Dabei ist zu beachten, das eine Trennung der Schichten(In Deinem Fall der Units) sauber von statten geht, also mit Übergabe Funktionen oder Prozeduren arbeiten. Die Präsentationsschicht kennt dann keine Datenbank-Steuerelemente und ist somit modular aufgebaut. In Delphi könnte man zum Beispiel den Datenbank Zugriff in der Datenbank-Schicht von z.B ADO auf BDE umstellen ohne die anderen Units modifizieren zu müssen. Du musst halt das Prinzip ein bissl abstrahieren, aber ich denk so in etwa könnte es sein was Du Dir vorstellst oder ?

Gruss
raeschnix
  Mit Zitat antworten Zitat
day

Registriert seit: 10. Mai 2004
223 Beiträge
 
#10

Re: 3-Schichtenmodell

  Alt 2. Jun 2004, 23:19
Hallo

Besser hätte ich es mit den drei schichten nicht vormulieren können. Momentan bin ich eben daran die unterste schicht am designen (definition der schnittstellen). Ist aber eben gar nicht so einfach.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz