Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Modular erweiterbare Userinterface - Wie am besten zu lösen? (https://www.delphipraxis.net/128913-modular-erweiterbare-userinterface-wie-am-besten-zu-loesen.html)

mh166 9. Feb 2009 12:37


Modular erweiterbare Userinterface - Wie am besten zu lösen?
 
Hallo allerseits,

auf mich kommt in absehbarer Zukunft ein recht umfangreiches Projekt zu: es soll für eine Firma ein CRM entstehen. Wie das nun immer so ist, passt halt keine vorgefertigte Lösung so richtig zu allen Anforderungen und Wünschen des Unternehmens. Also soll ein maßgeschneidertes System her; das ganze als Weboberfläche mit PHP und AJAX (dazu natürlich die üblichen Verdächtigen: HTML, CSS, MySQL, ...).

Doch nun ist ein zentraler Punkt bei den Anforderungen, dass das UI erweiterbar ist. So sollen zum einen die Prozessabläufe erweiterbar sein. D.h. bei der Neuanlage eines Kunden werden z.B. durch ein Modul noch weitere Daten abgefragt. Oder es wird noch ein weiterer Schritt mit in die Prozesskette eingefügt (z.B. eine Verifikation der Kundendaten per Mail, oder so). Aber auch die Ansichten des CRM sollen erweiterbar sein. Beispielsweise wird in der Kundenübersicht durch ein Modul noch eine Spalte "Anzahl der Kundenkontakte" eingefügt. Ebenso soll es möglich sein komplett neue Ansichten mit einzubinden, z.B. Statistiken.

Wichtig ist das v.a. deshalb, da die angebotenen Produkte zwar alle unter dem Punkt "Internetdienstleistungen" zusammengefasst werden könnnen, aber das dann oftmals schon alle Gemeinsamkeiten gewesen sind. So wird zum Beispiel Webhosting angeboten, ebenso wie das Management und Housing von Servern. Geplant ist auch ein VPN-Service auf Prepaid-Basis. Man sieht also, dass dieses CRM nach Möglichkeit sehr flexibel in seiner Oberfläche gestaltet werden soll.


Daher nun meine Frage an euch: Auf welche weise kann man diesen Anforderungen am besten Rechnung tragen? Mit welchen Überlegungen sollte man an die Sache rangehen, welche Vorgehensweisen oder Patterns sind hier zu empfehlen? Vllt. habt ihr ja selbst schon einmal etwas derartiges mit erstellt oder könnt mir Internetseiten oder Literatur empfehlen, wo ich zu diesem Thema etwas finden kann.


Besten Dank schon mal.
mfg, mh166

mquadrat 9. Feb 2009 13:45

Re: Modular erweiterbare Userinterface - Wie am besten zu lö
 
Die Prozessabläufe würde ich über ein Workflow-Management machen. Gibt in PHP schon einige vorgefertigte, aber wenn du es selber schreiben willst lohnt ggf. ein Blick auf die Windows Workflow Foundation oder als theoretischer Einstieg das Stichwort Petrinetze.

Spalten zu Grids hinzufügen ist so ne Sache. Da muss ja meist eh die Query geändert werden.

mjustin 9. Feb 2009 18:27

Re: Modular erweiterbare Userinterface - Wie am besten zu lö
 
Zitat:

Zitat von mh166
Hallo allerseits,

auf mich kommt in absehbarer Zukunft ein recht umfangreiches Projekt zu: es soll für eine Firma ein CRM entstehen. Wie das nun immer so ist, passt halt keine vorgefertigte Lösung so richtig zu allen Anforderungen und Wünschen des Unternehmens. Also soll ein maßgeschneidertes System her; das ganze als Weboberfläche mit PHP und AJAX (dazu natürlich die üblichen Verdächtigen: HTML, CSS, MySQL, ...).

Doch nun ist ein zentraler Punkt bei den Anforderungen, dass das UI erweiterbar ist. So sollen zum einen die Prozessabläufe erweiterbar sein.

Das klingt nach einem spannenden Projekt, vermutlich sollte es 'bis gestern' abgeschlossen sein ;)

Ich würde mich dem Thema von zwei Seiten nähern: Studium von Open Source-CRMs wie SugarCRM (oder vTiger), oder "kleine" ERPs wie ofbiz (http://ofbiz.apache.org/) und AdEmpiere. Diese sind sehr flexibel und erweiterbar angelegt, und bieten eine Menge Anregungen, da das Problem der UI-Flexibilität darin ja auch (mehr oder weniger gut) gelöst wurde. Und daneben 'theoretisch', siehe Buchtipps unten.

Für die Architektur wird wohl die spannendste Entscheidung, ob ein Applikationsserver wie JBoss oder Geronimo zum Einsatz kommt, und wie stark von Anfang an auf eine Art Servicelayer aufgebaut wird. Die Kommunikation der Bausteine mit dem 'Kern' ist davon stark abhängig. Auch, ob sich alles um die Datenbank dreht oder auch andere Kommunikationswege, z.B. Message Queues, direkt von Anfang an in das Konzept eingeplant werden.


Als Literaturtip schlage ich diese Titel vor:

Domain-Driven Design: Tackling Complexity in the Heart of Software
By Eric Evans - sehr lesenswert und auch sehr verständlich geschrieben

Enterprise SOA. Best Practices für Serviceorientierte Architekturen - Einführung, Umsetzung, Praxis: Best Practices für Service-orientierte Architekturen - zum Reinschnuppern
By Dirk Krafzig, Karl Banke, Dirk Slama

Patterns of Enterprise Application Architecture (Addison-Wesley Signature Series)
By Martin Fowler (auch auf Deutsch: Patterns für Enterprise Application-Architekturen) - sehr umfassende Beschreibung bewährter Lösungen für typische Probleme bei 'großen' Anwendungen

Viele Grüße

mjustin 10. Feb 2009 06:22

Re: Modular erweiterbare Userinterface - Wie am besten zu lö
 
[quote="mjustin"]
Zitat:

Zitat von mh166
auf mich kommt in absehbarer Zukunft ein recht umfangreiches Projekt zu: es soll für eine Firma ein CRM entstehen.

Als Basis für Umfangs- und Aufwandsschätzung ist ohloh.com eventuell hilfreich, da dort anhand der Codebase von Open Source Projekten der Aufwand für eine komplette Neuimplementierung geschätzt wird.

SugarCRM steht darin mit 27 Personenjahren, das als Fork davon entwickelte vTiger CRM gar auf 172 Personenjahre. Mit einem durchschnittlichen Jahresgehalt von 55000 USD käme man nach diesen Daten auf ca. 1,5 bis 9,5 Mio USD reine Entwicklungskosten. (Zum Vergleich: OpenOffice ca. 150 Mio USD).

SugarCRM bei ohloh:
http://www.ohloh.net/p/sugarcrm

vTiger bei ohloh:
http://www.ohloh.net/p/vtiger

Weitere Literaturtipps:

Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions von Gregor Hohpe und Bobby Woolf

Inhalt online: http://www.enterpriseintegrationpatterns.com/toc.html

Bibliographie: http://www.enterpriseintegrationpatterns.com/bib.html

mquadrat 10. Feb 2009 09:34

Re: Modular erweiterbare Userinterface - Wie am besten zu lö
 
Ich nehme jetzt einfach mal an, dass der Thread-Eröffner keinen App-Server benutzen wird. (BTW: Gibt's außer Zend eigentlich noch nen anderen für PHP?). In dem Fall würd ich mir mal CakePHP anschauen. Ist ein ganz brauchbares Framework, dazu ggf. JQuery UI oder MochaUI.

Das befreit dich allerdings nicht von der Frage, wie man das am geschicktensten erweitern kann. Wobei hierbei die zentrale Frage ist: Soll der Benutzer erweitern können oder ein Entwickler?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 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