Portal > Foren > Datenbanken, Server, Betriebssysteme und sonstige Programmiersprachen > Anwendungsdesign / Softwarearchitektur > Anwendungsplanung: Eine oder mehrere aufrufende/aufrufbare Dateien
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 14.06.2007, 00:13 Nach oben    #1
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard Anwendungsplanung: Eine oder mehrere aufrufende/aufrufbare Dateien

Bzgl. dieses Beitrags habe ich mal eine generelle Frage, die jetzt nur zum Teil PHP-spezifisch ist, deswegen das allgemeine Forum.

Ich habe derzeit zwei Optionen.
Entweder ich leite jegliche Request auf eine einzige index.php weiter, welche dann die Verarbeitung übernimmt oder ich habe mehrere ausführende Dateien, z.B. index.php, news.php, ... welche dann jeweils die entsprechenden Aufgaben erfüllen.

Vorteil der ersten Version scheint mir die Wartbarkeit zu sein. Heißt, dass ich Änderungen nur an einer einzigen Datei ausführen muss, um alle Sektionen erreichen zu können.
Nachteil scheint mir der zu sein, dass ich bei einem Update eine gewisse Zeit (auch wenn sie zugegebenermaßen recht kurz ist ) die komplette Anwendung still lege.
Verwende ich mehrere Dateien, die spezifische Funktionen ausführen, so sind alle Sektionen lauffähig, außer der zur Zeit zu aktualisierenden!

Basti schreibt in seinem Beitrag, dass nur ein Einstiegspunkt zur Anwendung (so habe ich es jedenfalls verstanden) verfügbar sein soll. Durchaus nachvollziehbar.
Ich würde einfach gerne Eure Meinungen zu meinen "Ideen" hören, damit ich möglichst optimal strukturieren kann .. hehe

Hoffe, dass ihr meine Gedanken soweit verstanden habt, ansonsten einfach nachfragen.

Grüße, Ben.
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 01:25 Nach oben    #2
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
Standard

Ich würde eine Bootstrap-Datei bevorzugen, aus dem Grund, wie oft macht man Updates ? Und wie lange dauert sowas wirklich ? sind 5 Minuten Offlinezeit eines kompletten Systems nicht vertretbar ab und an ?

Es ist auch mehr Aufwand ein System soweit abzukapseln denke ich, z.b. angenommen es gibt ein Newsscript, einen Blogoder eine Tutorial-Sektion, jetzt willst du diesesModule updaten, wie schauts mit der Interaktion aus, z.b. wenn du auf jeder Seite die Letzten 5 Tutorials, News pder Blogeinträge anzeigen lässt ? Wie reagiert das Modul, das du dann wohl in den Offline-mode gesetzt hast ? Hat es eine passende Schnittstelle um solche Anfragen dann auch passend einfach mit einem "zur Zeit nicht verfügbar" abzuspeisen ? Wo passiert das ? Wie viel von diesem Modul Systems muss bei sowas dann lauffähig sein (du updatest es ja gerade ) um die kommunikationfähigkeit NOCH bereitzustellen ? Weil man ja nie weis, was ein Aufruf auf irgendwas eines Moduls zurückgibt, sei es eine html-liste, xml-kram oder einfach nur ne Zahl.

Es ist wohl etwas kompliziert(er) ein System so aufzubauen, dass man Module während dem Betrieb abschalten kann, die vielleicht auch Inhalte an andere Seiten/Module des Systems liefern.

mfg
robo47
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 10:39 Nach oben    #3
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Ich würde eine Bootstrap-Datei bevorzugen, aus dem Grund, wie oft macht man Updates ? Und wie lange dauert sowas wirklich ? sind 5 Minuten Offlinezeit eines kompletten Systems nicht vertretbar ab und an ?
Wenn es zu vermeiden ist, dann würd ich da schon gerne drauf verzichten.

Deine Gedanken hatte ich in ähnlicher Form auch schon.

Zitat:
Zitat von robo47 Beitrag anzeigen
Es ist wohl etwas kompliziert(er) ein System so aufzubauen, dass man Module während dem Betrieb abschalten kann, die vielleicht auch Inhalte an andere Seiten/Module des Systems liefern.
Ich denke schon, dass es interessant ist Module bzw. eine Anwendung so zu konzipieren, dass man Module im laufenden Betrieb de-/aktivieren bzw. aktualisieren kann.
Die Frage ist nur, ob es sinnvoll ist. Man benötigt schließlich irgendwo die Information, ob ein Modul aktiv oder deaktiv ist, was wiederum Entscheidungsaufwand bedeutet, was gleichzusetzen mit Performanceverlust ist.

Hm, würde da fast sagen, dass es diesen Aufwand nicht wert ist.

Andere Meinungen?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 11:39 Nach oben    #4
Benjamin Steininger
 
Benutzerbild von robo47
 
Registriert seit: 02.06.2005
Ort: weiher im tiefsten Odenwald
Beiträge: 1.208
Standard

Zitat:
Zitat von Ben Beitrag anzeigen
Die Frage ist nur, ob es sinnvoll ist. Man benötigt schließlich irgendwo die Information, ob ein Modul aktiv oder deaktiv ist, was wiederum Entscheidungsaufwand bedeutet, was gleichzusetzen mit Performanceverlust ist.
Naja, ein simples IF, verbunden mit a) Auslesen einer Datenbanktabelle in der der Kram steht oder b) man hat den Kram in der config des Systems mit drin [die wird ja eh eingelesen], dürfte der Performance nicht so viel abbruch tun.
robo47 ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 11:49 Nach oben    #5
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Für mich wäre nur Punkt b) interessant. Da hatte ich auch gar nicht dran gedacht.

Quasi im ACP die Konfiguration(sdatei) ändern.
Eine zusätzliche Datenbankabfrage halte ich ehrlich gesagt für nicht so prall, da sie über Weg b) doch eigentlich vermieden werden könnte.

Das ist aber letztlich auch kein Kriterium für "machen" oder "nicht machen"
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 19:11 Nach oben    #6
Daniel Golowin
 
Registriert seit: 17.11.2005
Ort: Rheinland-Pfalz, Osthofen
Beiträge: 122
Standard

Hmm, eine mehrere Anzahl der im Browser aufrufbarer Dateien muss nicht darauf deuten, dass es mehrere Einstiegspunkte gibt. Entscheidend ist nur, dass sämtliche Aufrufe an der zentralen Stelle vorbei müssen.

Ob es mehrere Dateien sind, die die Kernfunktionen laden (z.B. global.php) oder ob es nur eine Datei ist, die die benötigten Funktionen lädt, ist egal. Wichtig dabei ist nur, dass Funktionen, die die Aufgaben am Ende durchführen sollen, nicht direkt aufgerufen werden dürfen.


Ich mag Anwendungen die ein Kern haben, über welchen alles abgewickelt wird, da sonst die Funktionen miteinander verflochten sind und die Wartbarkeit dadurch erschweren. Zu den Kernfunktionen der Anwendung könnte die Fehlerbehandlung gehören, auch Registry, wo Informationen zwischen gespeichert werden, evtl. auch Datenbankschnittstelle. Bei dem modularen Aufbau der Anwendung auch Funktionen zur Module Handhabung.

Da währe auch solche Funktionalität wie du schreibst Ben, nicht schwer realisierbar. Allerdings können die Kernkomponenten nicht ohne Deaktivierung des kompletten Systems gewartet werden.
dago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 14.06.2007, 19:16 Nach oben    #7
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Zitat:
Zitat von dago Beitrag anzeigen
Allerdings können die Kernkomponenten nicht ohne Deaktivierung des kompletten Systems gewartet werden.
Das ist klar und ich denke auch, dass das absolut in Ordnung geht!

Die Kernkomponenten, wie du sie nennst, sind sicherlich nicht so häufig von Änderungen betroffen, wie Features, die mit diesem Kern realisiert sind.

Ich werde auf jeden Fall eine "prepend"-Datei verwenden, einfach um sicherzugehen, dass alle Anwendungsteile die gleiche/n Basis/informationen besitzen und mit diesen arbeiten!
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2007, 16:13 Nach oben    #8
Martin Eisengardt
 
Registriert seit: 30.03.2006
Ort: Pfinztal
Beiträge: 355
Standard

Zitat:
Zitat von robo47 Beitrag anzeigen
Ich würde eine Bootstrap-Datei bevorzugen, aus dem Grund, wie oft macht man Updates ? Und wie lange dauert sowas wirklich ? sind 5 Minuten Offlinezeit eines kompletten Systems nicht vertretbar ab und an ?
noch ein Grund: *mit-Zend-Framework-Handbuch-um-sich-wirft* Das Design mit einem Bootstrap, das verschiedene Module nutzt (die in einem geschützten Lib stehen) gefällt mir generell. Und Nicht-PHP wären es DLLs...

Eine hoch integrative Seite sollte sich sowieso nicht an das sture "eine Seite, ein Script"- Konzept halten. Das ist insbesondere für die spätere Ausbaubarkeit und Wartbarkeit aufwändig, wie die Vorgänger hier schrieben.

Was das dynamische An- und Abschalten angeht. Ein Gedanke zu dem Thema: Wie oft wird sowas in der Praxis genutzt? Gerade bei Anwendungen, die hoch integrativ sind, wird das kaum genutzt. Der einzige echte Grund, der mir bislang untergekommen ist, und der so etwas erfordern kann, sind Updates von kleineren Modulen o.ä., die größere Datenmigrationen erfordern, bei dennen der Rest weiterlaufen soll. Und sowas kommt in der Praxis der typischen Webseiten wie oft vor? Selbst die ganz großen, wie eBay u.ä. machen sowas kaum. Ich denke, dass man sowas mit Blick auf den zu erwartenden Nutzen getrost sein lassen kann. Denn man kann sich bei einem vernünftigen Dependency-Tracking von zig Modulen auch ziemlich die Finger vor der Tastatur brechen. Ab 100 Modulen ist ein gezielte Wurf des Systems aus dem Hochhaus-Fenster geschickter
__________________
Open Sourcing the Online Gaming Universe
PHP/SQL/Java/C++/Assembler.
Seit Jahren Mitglied und Entwickler in einem der wohl größten Java-Projekte der Welt: http://weblogs.java.net/blog/hansmul...e_desktop.html
mepeisen ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 18.06.2007, 16:16 Nach oben    #9
Ben
Benjamin Klaile
 
Benutzerbild von Ben
 
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.516
Standard

Danke für die Einschätzung.
Ich nutze ja selbst das Zend Framework, nutze also auch eine sogenannte bootstrap-Datei, aber das heißt ja nicht, dass es dann nur eine aufrufende Datei geben kann.

Zitat:
Eine hoch integrative Seite sollte sich sowieso nicht an das sture "eine Seite, ein Script"- Konzept halten.
Verstehe ich das richtig, dass du dann auch eher für mehrere Aufrufdateien stimmen würdest?
Ben ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

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 sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
GZip-Komprimierung mehrerer Dateien mittels PHP Chr!s PHP-Programmierung 4 07.04.2007 14:10
Dateien aus SVN 1 auschecken, in SVN 2 einchecken, keine eigenen Änderungen vorhanden Ben Tools, Server, Betriebssysteme 2 21.03.2007 18:53
Cache leeren um mit file Dateien zu durchsuchen Tryzero PHP-Programmierung 12 12.03.2007 10:13
[PHP] FTP-Funktionen in PHP nutzen MrNiceGuy Tutorials 0 24.05.2006 14:18
eclipse: Editor-Verknüpfungen einzelner Dateien ezrael Eclipse 0 26.10.2005 14:57


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:16 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45