| 

.NET C# Java Javascript Exception

9
Hi,

ich bin zur Zeit mit der Aufgabe betreut, ein uraltes Delphi-Programm "in die neue Welt" zu portieren, sprich komplett neu zu schreiben.

Dabei handelt es sich um eine spezielle Kundenlösung die sich aus einer Standard-Software heraus über ein Jahrzehnt entwickelt hat (Delphi 3, Paradox-Datenbank). Es ist eine Art ERP-System mit dem alle Prozesse eines Reiseunternehmens unterstützt. Wir reden insgesamt über 500.000 Datensätze aller Art und bis zu 10 Usern.

Seit Jahren verfolge ich die Entwicklung unter .Net aus der Ferne und habe viel über WPF, MVVM, IOC, NHibernate, Prism, MEF, usw... gelesen und auch schon probiert. Vieles hat Vorteile, manches auch Nachteile

Die Frage die mich schon seit Wochen quält: Wie schreibt man eine solche Anwendung am Besten. Wir Komplex baut man die Anwendung ohne zu übertreiben und sich ins Akademische zu verlieren. Gerade WPF im Rahmen einer reinen Client-Anwendung (kein Browser) und MEF/Prism bei einer NICHT verteilten und wenigen Änderungen unterworfenen Anwendung erscheinen mir wie "mit Kanonen auf Spatzen zu schiessen...".

Könnt ihr mir "echte", ausgereifte Standard-Software nennen, die wirklich auf Bassis dieser Frameworks erstellt worden sind und sich am Markt durchgesetzt haben? Einfach nur um ein Gefühl zu bekommen wie sich diese dann am Ende anfühlen? (Usability, Geschwindigkeit, Wartbarkeit, ...)

Bin gepannt auf eure Antworten ...

Schönen Tag allen! :-)
News:
02.11.2011
adeptus 61 4
3 Antworten
2
Ich stand vor dem gleichen Problem und habe vieles ausprobiert. Für eine sinnvolle Lösung muss man die bisherige Anwendung analysieren und benötigt eine Roadmap für die neue Software.
Irgendwann kam ich zu dem Entschluss, dass professionelle Hilfe von außen sinnvoll ist. Dafür gibt es auch einen Beruf und nennt sich Technologieberater ;o)
Aus meiner Erfahrung kann ich nur sagen, dass dieser Entschluss sehr viel Zeit, Nerven und damit auch Geld gespart hat.
Dieser Berater ist auch hier bei codekicker aktiv. Falls ich Werbung machen darf, nenne ich gerne seinen Namen.

Zum zweiten Teil deiner Frage verstehe ich nicht genau, was du mit "Standard"-Lösungen meinst.

Zu MEF kann ich noch sagen, dass nicht mit Kanonen auf Spatzen geschossen wird. MEF ist leicht zu erlernen, komfortabel im Einsatz und abstrahiert z.B. den BusinessLayer vom DataAccessLayer. Somit ist ein einfacher Austausch des Datenzugriffs gegeben.

Edit:
Den SharePoint-Part habe ich aus meiner Antwort rausgenommen. Passt beim erneuten Durchlesen nicht hier rein.
02.11.2011
Jürgen Luhr 6,9k 1 8
Mag der genannte Technologieberater eigentlich Eisbären? ;)
Nicolai Schönberg 03.11.2011
Kann sein :)
Jürgen Luhr 03.11.2011
1
Erstmal danke für die aufschlussreiche Antwort!

"Standard"-Software: Eine Software die ohne Änderung an vielen Kunden der gleichen Branche (Reisebüros, Taxi-Betriebe, Bibiotheken, wasauchimmer...) ausgeliefert wird und die durch Customizing dann ggf. noch angepasst wird.

Sharepoint ist in WPF geschrieben? ok... Schauen wir mal wie's so aussieht.

Ja, MEF ist wahrscheinlich wirklich als OR-Mapper gesetzt.

Aber MVVM? IOC-Container? WPF?

Wie hast Du denn das letztendlich gelöst? Welche Frameworks hast Du eingesetzt?
02.11.2011
adeptus 61 4
1
Sharepoint ist soweit mir bekannt ist komplett in .NET geschrieben, welche UI-Technologie dahintersteckt weiß ich nicht. Da haben wir uns missverstanden.
MEF ist KEIN OR-Mapper! http://msdn.microsoft.com/en-us/library/dd460648.aspx
Ich setze folgendes von "oben" nach "unten" ein:
Silverlight mit MVVM -> WCF -> BusinessLayer mit MEF -> DataAccessLayer mit EntityFramework.
Das ergab sich aus den Produktanforderungen und kann auch ganz anders aussehen. Da spielen z.B. öffentliche Schnittstellen eine Rolle usw.
Jürgen Luhr 02.11.2011
Als ich das letzte Mal mit Sharepoint zu tun hatte, basierte der UI-technisch auf ASP.NET. Ich glaube, grundsätzlich hat sich daran seitdem nichts geändert, auch wenn inzwischen wohl Unterstützung für Silverlight hinzugekommen ist. Was prinzipiell auch geht: eine eigene WPF-GUI auf die Sharepoint-APIs (-> Webservices) draufsetzen. Aber das ist hier ja nicht gemeint.
Matthias Hlawatsch 02.11.2011
Ups, da habe ich Kürzel durcheinander gebracht, verdammt! :-)

-> DataAccessLayer mit EntityFramework != MEF ;-)

Ich dachte an das EntityFramewok als OR-Mapper.
adeptus 02.11.2011
1
Andere Idee die auch nicht deine Frage beantwortet: Muss es denn wirklich .NET sein? Wenn sowieso schon viel Code in ObjectPascal vorliegt würde ich lieber diesen verbessern und auf neueren Stand bringen, als noch einmal von vorne anzufangen.
03.11.2011
m.fuchs 1,6k 7
Habe ich natürlich auch schon in Erwägung gezogen und mir Delpxi XE2 angeschaut, aber ich wollte auch das Ganze nutzen um meine Fähigkeiten in C# deutlich zu erweitern...
adeptus 03.11.2011

Stelle deine .net-Frage jetzt!