AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Archiktekturmuster für Server-Dienst?

Ein Thema von dust258 · begonnen am 17. Apr 2011 · letzter Beitrag vom 17. Apr 2011
Antwort Antwort
dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#1

Archiktekturmuster für Server-Dienst?

  Alt 17. Apr 2011, 14:45
Hallo Leute,
ich arbeite im Moment an meinem Abschlussprojekt (Fachinformatiker - Anwendungsentwicklung). Ich habe mich für einen serverseitigen Signaturdienst entschieden, der PDF-Dateien mit Hilfe eines Zertifikates mit einer Signatur versieht.

Im Grunde genommen müssen also folgende Punkte abgearbeitet werden:
1. Der "Auftrag" zur Signatur kommt aus einer Tabelle in der Datenbank (Pfad + Boolean "Signiert")
2. Die Pdf-Datei wird in einen MemoryStream geladen
3. Hash-Wert aus dem PDF erzeugen
4. Signatur mit Hilfe des Zertifikates und einer Komponente die Signatur erstellen
5. Signatur an das PDF im Memorystream anfügen
6. Das nun signierte PDF abspeichern (neuer Pfad, das "alte" PDF wird nicht überschrieben
7. Das Feld "Signiert" auf true stellen

Jetzt stellt sich mir (besonders bei einem Abschlussprojekt) natürlich die Frage eines passenden Architekturmusters. In der Berufsschule und in den meisten Büchern, die ich gelesen habe, wird man ja absolut auf MVC getrimmt. Ich bin mir nicht sicher ob das hier indiziert ist... Eine View in dem Sinne gibt es nicht (ggf. das Log im Windows-Ereignisprotokoll).

Bei meinen Recherchen bin ich auf das "Pipes and Filters" Prinzip gestoßen (http://de.wikipedia.org/wiki/Pipes_und_Filter) was IMO genau mein Problem behandelt. Ich würde also meinem Dokument, in Form eines Records, in verschiedenen Klassen (Filter) die benötigten Daten hinzufügen und am Ende in einer Datei zusammenfügen.

Meine Fragen:
1. Ist MVC in diesem Fall wirklich nicht angebracht?
2. Kennt Jemand von euch "Pipes and Filters" und würde ich das Prinzip mit der oben beschrieben Weise richtig anwenden?
3. Haltet ich "Pipes and Filter" noch für Zeitgemäß? (Meine Beschreibung stammt aus einem Buch von 1998)
4. Kennt ihr alternative Architekturmuster die ich mir anschauen könnte?
  Mit Zitat antworten Zitat
r2c2

Registriert seit: 9. Mai 2005
Ort: Nordbaden
925 Beiträge
 
#2

AW: Archiktekturmuster für Server-Dienst?

  Alt 17. Apr 2011, 15:44
Hallo,

1. Ist MVC in diesem Fall wirklich nicht angebracht?
Ja MVC passt hier sowas von überhaupt nicht. MVC ist gut für GUIs, GUI-Frameworks, u.ä. hier aber absolut frahl am Platze.

Zitat:
2. Kennt Jemand von euch "Pipes and Filters"
Ja. Siehe hier: http://www.christian-rehn.de/2010/10...pe-and-filter/

Zitat:
und würde ich das Prinzip mit der oben beschrieben Weise richtig anwenden?
Jooaa... möglich. Übertreibs aber nicht. Ein Filter als Datenquelle, eine zum Signieren und eine Datensenke. Für deine 7 Schritte 7 Filter zu verwenden ist absolut überdimensioniert.

Zitat:
3. Haltet ich "Pipes and Filter" noch für Zeitgemäß? (Meine Beschreibung stammt aus einem Buch von 1998)
Ja. Definitiv. Habs ja selbst grad eingesetzt. Die ganzen bekannten Patterns sind Anfang bis Mitte der 90er Jahre dokumentiert worden, aber nur sehr wenige davon (wenn überhaupt welche) sind obsolet geworden. Die Beispiele aus den Büchern sind heute vielleicht nicht mehr immer passend, aber die Patterns sind immer noch aktuell.

Zitat:
4. Kennt ihr alternative Architekturmuster die ich mir anschauen könnte?
Ich würde nicht auf biegen und brechen ein Muster nehmen. Klar Muster sind toll und es macht was her, wenn du sagen kannst, dass du eins verwendet hast (zumindest sofern es passt), aber Muster sind nicht alles. Versteh mich nicht falsch, ist bei ein großer Fan von Patterns. Ich find die Dinger ausgesprochen praktisch, aber nur weil etwas gut ist, heißt das noch nicht, dass mans in allen Lebenslagen einsetzen sollte. Das ist übrigens auch ein Pattern. ein Anti-Pattern, und nennt sich Golden Hammer.

Bei der Auswahl der passenden Architektur solltest du dich fragen, inwieweit das Programm weiterentwickelt wird. Ich kenn jetzt dein programm nicht, aber ich könnte mir vorstellen, dass es um weitere Funktionen erweitert werden könnte, die PDFs verändern. Also nicht nur signieren, sondern auch verschlüsseln, drucken, verkleinern, zusammensetzen, aufteilen, den Text extrahieren, etc. In so einem Fall böte sich Pipe&Filter tatsächlich an, da du mit PDF ein allgemeines Datenformat hast. Außerdem kann es Sinn machen am selben PDF mehrere Operationen hintereinander auszuführen. Pipe&Filter passt also.

Auf der anderen Seite kann es sein, dass dein programm her für weitere Dateiformate (nicht nur PDF) erweitert wird. Oder andere kryptographische Operationen durchführen können soll. Bei einer Entwicklung in diese Richtung hast du kein allgemeines Datenformat. Hier erscheint mir Pipe&Filter eher weniger passend.

Bedenke außerdem, dass das kein allzu großes Programm sein sollte. Das, was du beschriebst ist in wenigen hundert Zeilen (bei Minimalanforderungen sogar < 100 LOC) erledigt ist. Wenn du jetzt mit ner überdimensionierten Architektur kommst, hast du nix gewonnen, aber an Übersichtlichkeit und Klarheit verloren. Der Schuss ginge nach hinten los.

Definitiv kann ich dir also nichts raten, weil ich zu wenig über deine Aufgabe weis. Überlege dir einfach, welche Vor- und Nachteile bei den verschiedenen Ansätzen hättest.

mfg

Christian

P.S.: Du schreibst ja selbst, dass es sich um ein Client-Server-System handeln soll. Das ist auch schon ein Architekturmuster.
Kaum macht man's richtig, schon klappts!
  Mit Zitat antworten Zitat
dust258

Registriert seit: 18. Aug 2008
62 Beiträge
 
#3

AW: Archiktekturmuster für Server-Dienst?

  Alt 17. Apr 2011, 16:49
Das hilft mir weiter

Das Programm ist wirklich nur für PDFs, aber das mit den Weiteren Funktionen ist durchaus wahrscheinlich. Und nachdem ich den Artikel gelesen habe bin ich mir ziermlich sicher das Pipes and Filters hier perfekt passt. Ich denke für meine Planung sind 3-4 Filter (2 für Datenquelle und Datensenke) optimal. Alles andere wäre wirklich überdimensioniert.

D A N K E
Jetzt kann ich mit Ruhe planen ^^
  Mit Zitat antworten Zitat
Delphi-Phil

Registriert seit: 22. Jun 2007
410 Beiträge
 
#4

AW: Archiktekturmuster für Server-Dienst?

  Alt 17. Apr 2011, 17:58
Hallo,

Wir haben bei uns eine Lösung zum signieren und verschlüsseln von PDF-Dateien entwickelt und im Einsatz.
Wenn deine Lösung später produktiv und zuverlässig im Einsatz sein soll, solltest Du Themen wie Ausfall des Systems mitten im Prozess der Verschlüsselung oder Signatur beachten.

Bei gezielten Fragen kann ich, auf Grund der Erfahrung in den Themen, gerne helfen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2020 by Daniel R. Wolf