2. Maßgeschneiderte Software-Lösungen im Internet
Wir entwickeln gerne hochwertige, maßgeschneiderte Web-Anwendungen, gerne
basierend auf Open-Source-Bausteinen:
eigenständige PHP-Anwendungen oder
eingebettete PHP-Module in statischen Seiten
typischerweise basierend auf MVC-Frameworks
Typische Arbeitsteilung:
Webdesigner + SW-Entwickler
Redakteure
(passive) model - view - controller
/ web / information / technology / 2
3. Content-Pflege
10% statische Inhalte
Manuelle Pflege der Views:
durch SW-Entwickler
90% statische Inhalte
Content-Management:
durch Redakteure
/ web / information / technology / 3
4. Stand-Alone-Anwendung
10% statische Inhalte
URL rewriting (mod_rewrite)
Front-Controller (index.php)
MVC-Start (bootstrapping)
routing, dispatch
controller: action
process request
change model
render view
Pflege durch Programmierer
http://www.mvc.de/modul/controller/action
/ web / information / technology / 4
5. Eingebettete Widgets
90% statische Inhalte
statische Seiten
mit eingebetteten Widgets
Pflege statischer Inhalte
durch Redakteur
Einbindung der Widgets
durch Redakteur
Pflege der Widgets
durch Programmierer
/ web / information / technology / 5
6. Statische Seite mit Widgets
90% statische Inhalte
URL der statischen Seite http://www.kunde.de/thema/seite.php
mehrere Widgets/Seite möglich
eigenständige MVC-Fenster
widget-controller
widget-model
widget-view
Einbettung der Widgets und
Parameter-Übergabe im CMS
an vordefinierten Blöcken
(Platzhaltern)
/ web / information / technology / 6
7. 2 CMS-Beispiele
CMS
CMS-Widget-Einbindung
Redakteur
OpenText (RedDot) publiziert Seiten
FirstSpirit
Publizierung auf Web-Server
Web-
Server
User
/ web / information / technology / 7
8. Beispiel OpenText
Seite mit eigenständigen Widget-Modulen
direkter Seitenaufruf,
kein URL rewriting
MVC-Start je Modul (bootstrapping)
direkter Aufruf der controller-action
Kunde_Controller_RedDotMultiple::start('de.kunde.www', $options);
controller: action
process request
Seite
change model
render widget-view
Ausgabe ist auf Widget beschränkt
http://www.kunde.de/thema/seite.php
/ web / information / technology / 8
9. Beispiel FirstSpirit
View mit eingebetteten Widget-Subviews
URL rewriting (mod_rewrite)
Front-Controller (index.php)
MVC-Start (bootstrapping)
eigens routing, action-stack, dispatch:
Suche und Analyse der ini-Datei,
Vorab-Ausführung aller Widget-Controller
controller: action
action-
process request stack
change model
render subview to placeholder
render view mit view-Variablen und subviews
<?php echo $this->placeholder('kalzium-rechner'); ?>
http://www.kunde.de/thema/seite.phtml, http://www.kunde.de/thema/seite.ini
/ web / information / technology / 9
10. ini-Datei
Parameter-Übergabe an Widgets
Redakteur
fügt Widget als neuen Absatz ein
und wählt Parameter
CMS
erzeugt ini-Datei für alle Widgets
parallel zur view-Datei
http://www.kunde.de/de/thema/seite.html,
http://www.kunde.de/de_1/thema/seite.ini view
[widgets]
account-login.active = true
gewinnspiel.active = true
gewinnspiel.params.gewinnspielDatenschutzUri = "http://www.bla.de"
ini-Datei
/ web / information / technology / 10
11. Typo3 ?
CMS mit Extensions ?
Generierung auf Web-Server in Echtzeit
Caching
CMS mit Extensions
eigene T3X (Typo3 Extension API),
„Zend Framework Integration T3X“
oder eigenständige Widget-Module (s.o.)
CMS (Phoenix) +
Neos = 80% Flow (MVC-Framework)
Neos mit Flow: CMS + MVC-Framework
Flow mit Neos: MVC-Framework + CMS-Modulen
/ web / information / technology / 11
12. Diskussion
Vielen Dank für die anregende und fachkundige Diskussion
und die neuen Ansatzpunkte!
Reverse Proxy
https://www.varnish-cache.org/,
https://www.varnish-cache.org/trac/wiki/ESIfeatures
Content Assembly in Templates
Edge Side Includes language http://www.w3.org/TR/esi-lang
<esi:include src="URI" /> <rde-dm:include content="URI" …
RedDot LiveServer (Content-DynaMent)
Symphony CMS http://getsymphony.com/ XSLT templating, take external XML
Content Repository
Apache Jackrabbit: implementation of Java Content Repository (JCR)
Alfresco und Sophora CMS (subshell gmbh) nutzen JCR
Content Management Interoperability Services (CMIS)
/ web / information / technology / 12
13. Kontakt
Büro:
Siemensstr. 8A, 61352 Bad Homburg, Tel.: 06172 / 4988554
http://www.dmr-solutions.com
mailto:info@dmr-solutions.com
Auszug aus der Kundenliste:
http://info.engelhorn.de - engelhorn Gruppe Mannheim
http://www.niederspannungskatalog.de - ABB STOTZ Heidelberg
http://www.wdv.de/ - wdv Corporate Publishing Bad Homburg
Weitere unter http://www.dmr-solutions.com/de/references/
Wie können wir Sie unterstützen?
/ web / information / technology / 13