Einfaches Client/Server-System à la SAP?



  • Du wirst zu vieles in einen Topf 😉 Es ist erstmal sehr unwahrscheinlich, dass man mit .NET oder J2EE in einer Sackgasse landet, das sind erstmal nur sehr allgemeine Frameworks, mit denen man alles machen kann. Wenn mit der Zeit neue Ideen entwickelt werden, können sie in die Frameworks integriert werden. .NET hat sich z.B. recht schnell weiterentwickelt und es wurden interessante Konzepte wie Linq oder PLinq aufgenommen. Natürlich könnte man aber darüber diskutieren, ob die ganzen Produkte an sich überleben, solche Diskussionen hatten wir ja schon. So gesehen wärs dann zukunftssicherer, alles "von Hand" in C++ zu implementieren. Was du ja auch machen kannst. Mir gings eigentlich primär überhaupt nicht um die Programmiersprache/Framework, sondern um dein Grundkonzept und die Architektur.
    Ich sags dir nur, weil ich das alles auch schon selber durchgemacht habe. Auch oft mit "kleinen" Eigenentwicklungen angefangen, bis das alles immer schneller ausgeartet ist und ich bei jeder kleinen Änderung alles umbauen musste und irgendwann auch einsehen musste, dass die Idee an sich nicht ausgereift war. Ich will dich nicht davon abhalten, was zu schreiben oder zu lernen. Aber du solltest dir viel mehr Zeit nehmen, über dein Konzept nachzudenken. Versuch das im Detail durchzudenken, fang nicht einfach an zu implementieren. Du wirst (hoffentlich) merken, dass das nicht der Weisheit letzter Schluss ist.



  • Ich sags dir nur, weil ich das alles auch schon selber durchgemacht habe....

    Ja, Danke. Freundlich gemeinte Hinweise nehme ich gerne zur Kenntnis :xmas1:

    Bezüglich der Konzepte: Eine Zeit lang war das Konzept "wir speichern nur die letzten beiden Ziffern der Jahreszahl" ganz gut, bis kurz vor dem Jahr 2000 alle die Panik bekamen....
    Oder: "Mehr als 640 kByte werden sie nie brauchen"....
    Später: 32 Bits werden lange für die Speicheradressierung ausreichen. (Warum noch findet man jezt ständig x86- und x64-Versionen?)

    Ich will damit sagen, daß so wie manche heute irgendwen belächeln, wegen dem was vor 10-20 Jahren programmiert wurde, werden die gleichen Leute in 10-20 Jahren von anderen belächelt werden. Klopft euch also nie zu viel auf die Schultern!
    Wenn man immer alles früher gewußt hätte, hätten ja schon die alten Römer auf Computern gearbeitet....



  • Fletcher schrieb:

    Ich will damit sagen, daß so wie manche heute irgendwen belächeln, wegen dem was vor 10-20 Jahren programmiert wurde, werden die gleichen Leute in 10-20 Jahren von anderen belächelt werden.

    Ja schon, aber was du machen willst wäre in etwa so, wenn du jetzt sagen würdest, niemand braucht mehr als 640KB Speicher, obwohl alle schon längst wissen, dass es nicht wahr ist 😉 Wenn alle schon ein Stück weiter sind, macht es keinen Sinn, komplett von vorne anzufangen, ohne zu verstehen, was die anderen schon erreicht haben. Aber fang ruhig einfach mal an, du willst ja was lernen, und das wirst du wohl auf jeden Fall.



  • Um ehrlich zu sein:
    mach das ganze mit PHP und Symfony.

    Das ist sehr einfach und du hast innerhalb eines produktiven Wochenendes einen funktionierenden Prototyp.



  • Fletcher schrieb:

    Ich will damit sagen, daß so wie manche heute irgendwen belächeln, wegen dem was vor 10-20 Jahren programmiert wurde, werden die gleichen Leute in 10-20 Jahren von anderen belächelt werden. Klopft euch also nie zu viel auf die Schultern!
    Wenn man immer alles früher gewußt hätte, hätten ja schon die alten Römer auf Computern gearbeitet....

    Du hast von der Materie keine Ahnung...
    Du interpretierst diese Sachen allesamt komplett falsch.

    PS:
    Niemand erwartet dass Software die man jetzt schreibt 1:1 in 20 Jahren noch modern ist. Aber wenn das Design der Software gut ist, dann laeuft sie in 20 Jahren noch - mit entsprechenden Anpassungen natuerlich, die aber eben durch das gute Design moeglich waren.

    OS X wird gemeinhin als ein sehr modernes Betriebssystem gesehen. Aber das Design von OS X enstammt direkt aus NeXTSTEP, welches 1989 released wurde. dh das Design von OS X ist bereits mehr als 20 Jahre alt und immer noch Top.

    Der Kernel von Windows wurde 1993 veroeffentlicht - dh auch hier ist das Urdesign 20 Jahre alt.

    Es gibt unzaehlige solcher Beispiele - gutes Design ist insofern zeitlos, als dass es sich an alle gegebenheiten anpassen laesst.



  • mach das ganze mit PHP und Symfony.

    Das ist einmal eine vernünftige Antwort - Danke, werde ich mir anschauen.

    Du interpretierst diese Sachen allesamt komplett falsch.

    Vielleicht interpretierst du ja nur mich falsch....



  • Fletcher schrieb:

    Du interpretierst diese Sachen allesamt komplett falsch.

    Vielleicht interpretierst du ja nur mich falsch....

    nein, tue ich nicht.

    schau nochmal auf mein edit pls.



  • Ok, den Edit habe ich vorher nicht gesehen.
    So gesehen hast du recht; Microsoft hätte sich also z.B:. die Metro-Oberfläche in Windows 8 sparen können.

    "Symfony" ist, wie ich auf Wikipedia sehe, ein "Web-Application-Framework". Und wenn ich unter "Web-Application-Framework" nachschaue, steht dort ein interessanter Satz: Der Datenbankzugriff aus dem GUI heraus wird in der Informatik generell kontrovers betrachtet. Tja, deswegen ist hustbaer wahrscheinlich etwas giftig geworden.

    Sollte ich also merken, daß "Symfony", oder etwas vergleichbares, das ist was ich eigentlich programmieren möchte, kann ich es mir ja sparen. Wichtig ist aber, daß mit Frontendanwendung die von mir schon geschilderten Besonderheiten (personalisierte Short-Keys und Phrasen oder ähnliches) umsetzbar sind.



  • Symfony ist erstmal auch nur ein Framework, deine Anwendung musst du schon selber schreiben. Aber solche Frameworks sind entsprechend durchdacht und zwingen dich mehr oder weniger, deine Anwendung sauber aufzubauen.
    Das mit den Shortcuts ist jetzt kein Feature eines Frameworks. Ist doch klar, dass eine Webanwendung nicht ganz dasselbe wie eine Desktopanwendung ist. Vieles kann man aber ähnlich und vor allem ähnlich bequem machen. Shortcuts kann man mit JavaScript schon realisieren. Man kann das sicher auch konfigurierbar machen, musst dich halt selber drum kümmern. Sollte aber kein Akt sein.



  • Ist doch klar, dass eine Webanwendung nicht ganz dasselbe wie eine Desktopanwendung ist.

    Ja, klar. Welchen Part Symfony nun erfüllt konnte ich noch nicht ausmachen.
    Mich würde einmal die Desktop-Anwendung (kompilierte EXE) und deren Möglichkeiten interessieren.

    Zur Info: Die Terminal-Emulator Software an meinem Arbeitsplatz war folgende http://www.gar.no/en/products/glink-for-windows/features



  • Fletcher schrieb:

    Ja, klar. Welchen Part Symfony nun erfüllt konnte ich noch nicht ausmachen.
    Mich würde einmal die Desktop-Anwendung (kompilierte EXE) und deren Möglichkeiten interessieren.

    Symfony ist dein Backend.
    Es bietet dir aber zusammen mit einer guten JavaScript Library alles was du fuers Frontend brauchst.

    Das coole daran:
    Datenbank Modell, View, Kommunikation zwischen Client/Server, etc. ist alles bereits fix und fertig.

    Ob es jetzt Symfony oder Rails oder sonstwas ist, ist dabei egal.

    Du brauchst keine exe Datei fuer den Client - das macht der Browser schon. Der Browser ist der ideale Client fuer sowas - denn die Leute kennen ihn, er wird konstant weiterentwickelt und er nimmt dir enorm viel Arbeit ab.

    Aber du haengst dich gerade an einem Client Feature auf. Sowas ist uninteressant. Wenn deine Plattform steht - dann sind Client Features trivial hinzufuegbar.

    PS:
    Vergleiche dein System mal mit Facebook. Auf einer abstrakten Ebene natuerlich und du wirst sehr viele Gemeinsamkeiten finden.



  • Danke für die Erläuterungen.

    Du brauchst keine exe Datei fuer den Client - das macht der Browser schon.

    Tja, dann bringt mir Symfony doch wieder nichts was nach meinem Geschmack wäre.
    Die gängigen Browser sind für Webseiten konzipiert und dieses Konzept halte ich für professionelle Anwendungen im professionellen Umfeld nicht geeignet. Die Art und Weise wie man auf ebay oder amazon herumdaddeln kann ist vielleicht für den Privatnutzer ausreichend, aber müßte ich den ganzen Tag hauptberuflich auf so einer Plattform arbeiten würde ich krank werden.

    Ganz anderes Beispiel: Online-Casinos
    Wer meint, daß er dort mitspielen möchte (trotz der Tatsache daß man dort langfristig immer nur verliert), muß sich meistens eine Desktop-Software herunterladen (compilierte exe), wo z.B.: der Roulette-Tisch grafisch besonders schön dargestellt wird und man oftmals per direktem Tastenzugriff Aktionen tätigen kann. Das wäre dann ein dezitierter Browser mit sehr eingeschränkten Möglichkeiten, weil es hier nur ums Roulette-Spielen geht, aber dieses gebotene User-Handling wirst du mit einem Browser und Java niemals erreichen; sonst würden diese Desktopanwendungen gar nicht angeboten werden, wenn es mit dem Browser auch funktionieren würde.

    Nocheinmal: Bei meinem Vorhaben geht es in erster Linie um gute haptische Interaktion mit dem User. Transaktionen müssen auch im lauten, dreckigen, vibrierenden Bergwerk mit nur einer Hand (manchmal ohne Maus!) getätigt werden können.





  • Fletcher schrieb:

    Die gängigen Browser sind für Webseiten konzipiert und dieses Konzept halte ich für professionelle Anwendungen im professionellen Umfeld nicht geeignet.

    Das ist falsch.
    Der aktuelle Trend geht dazu immer mehr ins Web zu legen - weil es unheimlich praktisch ist.
    Man kann ganze Office Anwendungen als Webapp laufen lassen.

    Der Browser kann alles was notwendig ist. Du kannst sogar notfalls mit OpenGL die Grafik machen wenn dir wirklich langweilig ist.

    Nocheinmal: Bei meinem Vorhaben geht es in erster Linie um gute haptische Interaktion mit dem User. Transaktionen müssen auch im lauten, dreckigen, vibrierenden Bergwerk mit nur einer Hand (manchmal ohne Maus!) getätigt werden können.

    Und nocheinmal:
    Der Browser hat deine erste Anlaufstelle zu sein.
    Der Browser kann mehr als du denkst.

    Gerade wenn du Bergwerk sagst, spricht wieder unmengen fuer den Browser - denn ein Touchlayout dass auf allen Geraeten laeuft, ist im Web trvial.

    Das coole ist ja, dass du billigsdorfer Hardware nehmen kannst, es ist komplett egal was - denn ein Browser laeuft sicher darauf. Aber ob es jetzt Android oder ein Windows CE ist, ist komplett egal. Sogar irgendwelche Custom BSDs waeren kein Problem: es braucht nur einen Browser und den hat man ueberall.

    Aber wozu rede ich mir hier den Mund fusslig... Du scheinst alles eh besser zu wissen.



  • Nochmal (und zusätzlich zu dem was Shade of Mine gesagt hat): man kann auch im Browser über JS shortcuts definieren.



  • Ist OK, ich nehme alles zur Kenntnis.
    Soll der Thread dazu führen, daß ich mir C++ und SQL gleich gar nicht näher anschaue? Egal für welchen Zweck?

    Wegen dem Quake 2 im HTML5-Browser: "Toll", das dorthin portierte Spiel läuft auf einem aktuellen Computer gerade einmal so schnell wie es bereits auf der im Jahr 1997 verfügbaren Hardware lief. Ich habe Quake 2 damals gespielt, und habe es rein zufällig vor ein paar Monaten wieder mit einem High-Res-Mod gespielt, wo es natürlich dank heutiger Hardware auf jeden Fall mit 60 FPS lief.

    Der Browser kann mehr als du denkst.

    Das kann ich aber auch als Gegenargument verwenden - Stichwort: Sicherheitslücke. Ja, ich weiß - bei einer selbst "zusammengepfuschten" Anwendung gibt's erst recht Sicherheitslücken, nur weiß ich dort wo sie höchstens sein können aufgrund der beschränkten Möglichkeiten.

    Man kann ganze Office Anwendungen als Webapp laufen lassen.

    Du meinst sicher Office 365; ich kenne es nur vom Namen her. Ich kann mir aber nicht vorstellen daß dort VBA-Makros funktionieren.



  • Fletcher schrieb:

    Soll der Thread dazu führen, daß ich mir C++ und SQL gleich gar nicht näher anschaue? Egal für welchen Zweck?

    Mach was du willst.

    Wegen dem Quake 2 im HTML5-Browser: "Toll", das dorthin portierte Spiel läuft auf einem aktuellen Computer gerade einmal so schnell wie es bereits auf der im Jahr 1997 verfügbaren Hardware lief. Ich habe Quake 2 damals gespielt, und habe es rein zufällig vor ein paar Monaten wieder mit einem High-Res-Mod gespielt, wo es natürlich dank heutiger Hardware auf jeden Fall mit 60 FPS lief.

    Wenn du das neue super Modern Warefare MMORPG schreiben willst, dann empfehle ich dir nicht den Browser als Client.
    Quake sollte dir zeigen, dass der Browser weit mehr kann als du denkst. Aber das willst du nicht einsehen, oder?

    Der Browser kann mehr als du denkst.

    Das kann ich aber auch als Gegenargument verwenden - Stichwort: Sicherheitslücke. Ja, ich weiß - bei einer selbst "zusammengepfuschten" Anwendung gibt's erst recht Sicherheitslücken, nur weiß ich dort wo sie höchstens sein können aufgrund der beschränkten Möglichkeiten.

    Man kann ganze Office Anwendungen als Webapp laufen lassen.

    Du meinst sicher Office 365; ich kenne es nur vom Namen her. Ich kann mir aber nicht vorstellen daß dort VBA-Makros funktionieren.

    Diese 2 Absaetze sind so dumm, dass ich mich hiermit ausklinke.



  • Fletcher schrieb:

    Um native Windows-Anwendungen zu schreiben, habe ich mir einmal den Windows-SDK runtergeladen. Dort ist C++ enthalten (und nur C++); es wird schon einen Grund haben warum das so ist.

    Als kleine Anmerkung: Seit ~2007 ist das .NET-Framework Bestandteil des Windows SDKs.


Anmelden zum Antworten