2010-10-01 13 views
5

Ich wurde mit dem Aufbau eines Projekts konsultiert und möchte meine Ideen von jemandem für zusätzliche Meinungen abprallen lassen.Architekturentscheidungen: Hauptseite, Forum, Blog

Der Hauptteil dieser Website ist sehr komplex und hat sehr individuelle Funktionalität, so dass es von dem, was ich gesehen habe, eher eine Webapp ist. Allerdings wird ein Blog benötigt und auch ein Forum benötigt. Dies ist der allgemeine Überblick über dieses Projekt.

Da der Hauptteil der Website eher eine Webapp ist, sollte dieses Projekt in einzelne Teile aufgeteilt werden, die von verschiedenen Frameworks und CMSs verwaltet werden, so dass jede Komponente keine anderen Komponenten einschränkt. Dies ist eine ziemlich schwierige Entscheidung zu verkaufen, weil niemand andere Frameworks und CMSs pflegen möchte, es sei denn, dies ist wirklich das Richtige für sie.

Meine Logik ist, dass, weil der Hauptteil der Website wirklich eine komplexe Webapp ist, versucht, es in ein CMS wie Drupal oder Joomla oder was auch immer zu integrieren wird Entwicklungszeit und Kosten erhöhen. Dieser Teil ist sinnvoll, wenn er mit einer flexibleren Technologie wie dem Zend Framework oder Symfony erstellt wird, im Grunde ist das ein Framework und kein CMS.

Für den Rest der Komponenten, sehe ich nicht einen Punkt der Verwendung eines Frameworks, da viele von ihnen Standardkomponenten wie ein Blog und ein Forum sind. Also für den Rest der Website, meine Optionen sind 1) alles andere mit einem einzigen CMS zu bauen, das ich kenne (sagen wir Drupal), aber da ich schon den Weg der Teilung der Seite gegangen bin, dachte ich Option 2) Warum teilen Sie die Website nicht noch mehr und wählen Sie die beste Software für jede Komponente. Drupal zum Beispiel macht kein tolles Forum. Das ist nur nicht dort, wo seine Macht liegt.

Es stellt sich auch heraus, dass die Leute, die am Schreiben der Blogs beteiligt sind, meistens nicht die gleichen Leute sind, die zu den Foren beitragen, also denke ich, dass ich mir keine Sorgen machen sollte separate Software.

Allerdings kann ich mich nicht über die Wartbarkeit dieser Website entscheiden. Auf der einen Seite denke ich, es wird schwieriger sein, 3 verschiedene Technologien zu unterhalten: Framework für die App, spezialisierte Forum-Software (Vorschläge begrüßen) und spezialisierte Blogging-Software (Vorschläge begrüßen), aber auf der anderen Seite, Ich denke, dass dies möglicherweise viel einfacher zu pflegen ist, weil ein Teil der Website viel einfacher heruntergenommen oder geändert werden kann, ohne alles andere zu beeinflussen.

Das war meine allgemeine Idee, aber ich mache mir Sorgen, dass es schwer zu verkaufen ist, weil es so aussieht, als würde ich versuchen, ein Projekt zu komplizieren. Ich denke jedoch, dass dieser Ansatz es tatsächlich vereinfacht. Also irgendwelche Gedanken dazu? Gibt es Probleme, die ich nicht vollständig in Betracht ziehe? Welche architektonischen Entscheidungen würden Sie ähnlich oder anders treffen, wenn Sie das gleiche Problem haben?

Antwort

8

Es ist eine schwierige Entscheidung in der Tat. Vor allem aber gibt es ein paar kritische Fragen, die beantwortet werden müssen.

1: Wird der Blog die volle Funktionalität der Blogging-Software enthalten, die Sie dort sehen? Oder Sie benötigen kleinere, einfachere Funktionen? Gleiches gilt für das Forum.

2: Ist es erforderlich, die Benutzerbasis über alle drei Systeme hinweg zu teilen?

3: Ist es erforderlich, dass das Design der Website auf der ganzen Linie identisch ist?

Wenn Sie die vollen Foren und Blogs benötigen, dann wäre es ratsam, mit separaten Systemen zu gehen. Wenn das erforderliche Feature-Set jedoch klein ist, kann es sinnvoller sein, es einfach zu erstellen, ohne zu viel Zeit in Anspruch nehmen zu müssen.

Wenn die Benutzerbasis geteilt werden muss, dann wäre es ein Schmerz, die Sitzungen und Benutzerbasis über drei verschiedene Systeme zu integrieren, es ist immer einfacher und reibungsloser, nur eine Benutzertabelle zu verwenden. Sie müssen das Forum und die Blogging-Plattform hacken, damit es mit den Haupt-CMS funktioniert, da wird es Probleme geben.

Wenn das Design auf diesen Systemen variieren kann, wäre es in Ordnung, aber es genau dasselbe zu machen wäre Meisterleistung und würde spezialisierte Leute für das relevante Forum und die Blogging-Plattform erfordern. Also wäre auch das Design ein Problem.

Dies ist eine sehr schwierige Entscheidung. Es wird kurzfristige Kosten gegenüber langfristigen Kosten sein. Wenn Sie denken, dass die Web-App für eine Weile da ist, stimme ich für erhöhte kurzfristige Kosten, es würde die Dinge auf lange Sicht einfacher machen.

Noch ein Hinweis: Wenn Sie Ihre Architektur modular gestalten, können Sie Ihr Forum und Blog-System als Module entwickeln, die Sie anschließen können. So können Sie die Site teilweise offline schalten.

2

Es wird viel einfacher sein, Frameworks zu pflegen, die viele Benutzer haben, die wissen, was sie tun. Es wird schwieriger, eine maßgeschneiderte App zu erstellen, die versucht, eine App, ein Blog und ein Forum in einem zu sein.

Wer auch immer die Aufrechterhaltung es froh sein, dass, wenn sie eine Änderung des Blog zu machen brauchen:

  • sie nicht brauchen
  • auf jeder der anderen Komponenten suchen
  • gibt eine Menge Dokumentation Da draußen für Ihre Blog-Engine (vorausgesetzt, Sie gehen mit einem beliebten, zWordpress
+0

Ich denke, wenn Sie es trennen, können Sie es genauso gut tun. Es ist viel einfacher, etwas beizubehalten, das nur versucht, einen guten Job als Blog zu machen, und ebenso mit einem Forum. – Skilldrick

1

Ich mag @ Sabeens Fragen.

Vorausgesetzt, die drei Komponenten werden Benutzer und Layout teilen, scheint es mir vorzuziehen, ein einziges zugrundeliegendes Framework zu haben, nicht ein mehrköpfiges Drupal-Wordpress-phpBB-Zend-Monster, in dem Sie unterschiedliche Authentifizierung und zu behandeln haben Theming-Schemata.

Aber wie Sabeen angemerkt hat, wenn das Forum und der Blog wirklich voll funktionsfähig sein müssen, dann scheint es eine Menge Arbeit zu sein, bereits erprobte Räder neu zu erfinden. Kurzfristige Kosten, aber hoffentlich mit langfristigen Vorteilen.

Verwandte Themen