Komplette Facility Management Software in HTML oder C++ ?



  • Aloha Marcus,

    vielen Dank für die ausführliche Antwort.

    Die Frage nach der Performance hat einen bestimmten Hintergrund. Ist-Zustand : nicht performant. Soll-Zustand : Performance, Performance, Performance...
    bei gleichzeitiger Stabilität, of course. 🕶
    Aber ich habe Deine Argumente in mich aufgenommen....

    Bei einer Sache muß ich noch einmal nachhaken, damit wir nicht wirklich aneinander vorbei reden.

    Definier mal Monoblock, bitte.

    Grüße

    BOA



  • Monoblock:

    a) eine große Exe
    b) diverse Com-Server/Clients, die aber so miteinander verknüpft sind, daß man einen nicht ohne den anderen starten kann, weil jeder jeden aufruft

    Bzgl Performance, behalte doch da im Hinterkopf, daß meistens eine schlechte Systemleistung durch einige wenige entscheidende Stellen verursacht wird, die die ganze Leistung verbraten, sei es wegen einer ungeschickten Implementierung, oder wegen ungünstigen Datenstrukturen. Bei der Masse des Codes ist Stabilität doch wichtiger als Performance.



  • Marc++us schrieb:

    Monoblock:

    a) eine große Exe
    b) diverse Com-Server/Clients, die aber so miteinander verknüpft sind, daß man einen nicht ohne den anderen starten kann, weil jeder jeden aufruft

    Bzgl Performance, behalte doch da im Hinterkopf, daß meistens eine schlechte Systemleistung durch einige wenige entscheidende Stellen verursacht wird, die die ganze Leistung verbraten, sei es wegen einer ungeschickten Implementierung, oder wegen ungünstigen Datenstrukturen. Bei der Masse des Codes ist Stabilität doch wichtiger als Performance.

    Es heißt ja auch in der Formel 1 :
    Es ist leichter ein zuverlässiges Auto schneller zu bekommen, als ein schnelles zuverlässig.

    Zitat : Norbert Haug oder irgendein andere Spezi..

    Ich denk dann noch einmal.

    Grüße

    BOA



  • @BOA: Nur weil du hier mal "Schnittstellen in C++" geschrieben hast: IMHO wäre das ein riesen riesen Fehler. Als Schnittstelle würde ich auf jeden Fall etwas einsetzen wo ich ein wenig Flexibilität habe was die Sprache die ich verwende um das zu Implementieren angeht, und was vor allem den Ort angeht wo das laufen soll. Also wohl entweder DCOM oder CORBA. Ggf. noch .NET Remoting. Gegen DCOM spricht natürlich dass man viele viele Ports aufmachen muss, was allerdings wieder kein so grosses Problem ist wenn man VPN Tunnels einsetzen kann, bzw. wenn sowieso alles innerhalb einer Zone läuft.

    Alternativ dazu könnte man sich ganz auf Java festlegen, dann sind eben auch alle Schnittstellen in Java (bis vielleicht auf die Schnittstellen des Hardwarelayer). Das Web Frontend würde dann mittels JSP angebunden.



  • Ich stehe mit meiner Meinung zwar entgegen den geläufigen Meinungen der IT, aber ich möchte dennoch meinen Senf dazu geben.

    Die IT verschlingt heutzutage zu viel Geld. Das liegt daran, daß jede Anwendung auf biegen und brechen mit J2EE, Corba, DCOM, SOAP oder sonstigen verteilten Technologien daher kommt. Die klassische EDV verwendet Monoblocks (wenn wir diese Begriff jetzt schon eingeführt haben). Komischerweise hat das früher auch auf den schalbrünstigen Kisten gereicht. Heutzutage scheint sich die EDV mehr mit sich selbst zu beschäftigen und unnötigen Kommunikations- und Verwaltungaufwand der Komponenten zu haben.

    Das bedeutet nicht, daß meine Software monolitisch ist, aber die Zusammenstellung der Komponenten sollte meiner Ansicht nach beim Entwickler liegen, die sich mit der Applikation auskennen und nicht bei den Administratoren. Das realisiert man durch wiederverwendbare Bibliotheken. So realsiert man Bibliotheken für die verschiedenen Aspekte der Businesslogik und die Applikationen bedienen sich dieser Module. Die Kommunikation der Komponenten untereinander verläuft dann innerhalb des Prozesses und eine häufige Serialisierung und Deserialisierung der Parameter entfällt.

    Man sollte sich gut überlegen, ob diese Technik nicht ausreicht. Die Verwaltung wird viel einfacher und im Zeitalter der Gigaherz-Multicore-Rechner für wenig Geld kann eine einzige leistungsfähige Kiste doch enorme Leistung bringen.

    Ein Technologiemix mit einem halben Duzend Programmiersprachen erzeugt auch höhere Kosten. Daher empfehle ich, die Festlegung auf eine Sprache, die alles leistet.

    Ich empfehle C++, da es alles aus der Maschine raus holen kann, was technisch machbar ist. Es bietet auf der einen Seite die Möglichkeit, Hardwarenahe zugriffe beispielsweise für Sensorzugriffe zu realisieren und auf der anderen Seite leistungefähige Features für die Strukturierung grosser Programme, wie Klassen, Templates, Exceptionhandling, Namespaces usw.

    Webapplikationen erleichtern das Deployment der Applikationen und bieten eine sehr gute Skalierbarkeit. Ajax (oder Ajaj oder Ahah oder was auch immer) sind interessante Technologien, die die Möglichkeiten der Webapplikationen weit verbessern.

    Tntnet



  • Und wie lange brauchst Du, um ein Backend für Ajax unter C++ auf dem Server zu realisieren?



  • Einfach mal auf meine Signatur schauen 😉



  • Marc++us schrieb:

    Und wie lange brauchst Du, um ein Backend für Ajax unter C++ auf dem Server zu realisieren?

    EIgentlich geht das super einfach: Witty!
    http://witty.sf.net/

    Einfach mal die Online-Demos (Examples) ausprobieren und den Code dazu anschauen. Man programmiert so, als wenn man ne normale GUI programmiert. Die Lib sorgt dann dafür, das AJAX bei raus kommt. Die witty-Website selbst ist auch mit Witty programmiert. 👍



  • tntnet schrieb:

    Einfach mal auf meine Signatur schauen 😉

    tntnet kann auch Ajax? Haste aber ne schlechte Werbung. Das tntnet für die Web-Programmierung ist, habe ich gewusst, aber Ajax? Würde ich mich mal ran halten und auf der Website mal besser vermarkten. 😉 Online-Examples wie bei Witty wären auch nicht schlecht, damit man es ausprobieren kann.



  • Artchi schrieb:

    tntnet schrieb:

    Einfach mal auf meine Signatur schauen 😉

    tntnet kann auch Ajax? Haste aber ne schlechte Werbung. Das tntnet für die Web-Programmierung ist, habe ich gewusst, aber Ajax? Würde ich mich mal ran halten und auf der Website mal besser vermarkten. 😉 Online-Examples wie bei Witty wären auch nicht schlecht, damit man es ausprobieren kann.

    Ja Du hast recht. Wäre eine Idee. Danke für den Hinweis.

    Tntnet ist im Gegensatz zu Witty nicht auf Ajax spezialisiert. Witty ist ein Ajax-Framework und da geht die Entwicklung von Ajax-Applikationen natürlich einfacher. Ich hatte den Witty-Leuten schon mal vorgeschlagen, Tntnet als Server zu benutzen, aber denen hat die GPL nicht gepasst. Ich habe vor Tntnet auf LGPL zu lizensieren. Vielleicht kommen wir ja dann zusammen.

    Tntnet kann im prinzip alles, was HTTP ist. Neben herkömmlichen Webseiten natürlich auch Ajax, XML-RPC oder SOAP. Allerdings gibt es dafür noch keine Frameworks. Aber vielleicht wird ja mal was daraus.

    Tntnet


Anmelden zum Antworten