Smalltalk - Mehr als nur eine Sprache

Smalltalk - Mehr als nur eine Sprache

Posts 1-5 of 5
  • Frank Winkler
    Frank Winkler
    The company name is only visible to registered members.
    VW 2.5.1 und Application Server möglich?
    Hallo,

    bis ca. 1998 habe ich eine ST-Anwendung mit VW 2.5.1 und ObjectStore als Datenbank entwickelt. Diese Anwendung wird tatsächlich heute noch eingesetzt - und ich warte sie in meiner Freizeit. Das System läuft in drei Niederlassungen eines Büros - allerdings mit drei DB-Servern.
    Aus diversen Gründen ist keine Portierung auf eine aktulle ST- bzw. DB-Version geplant. Der Hauptgrund hierfür dürfte letztlich sein, dass man so was nicht als Hobby mit 10-20 Stunden in Monat umsetzen kann.
    Der Chef hätte aber seit einiger Zeit gerne einen "Datenaustausch" zwischen den Büro-Datenbanken. An diesem "Projekt" bastele ich nun schon seit geraumer Zeit und befürchte, das auch noch länger zu tun. Da der letztlich realisierbare Umfang eines solchen Austausches nicht allumfassend sein kann, denke ich doch immer mal über Alternativen zu einem solchen, in ST programmierten und auf Dateien beruhenden Austausch nach. Am besten wäre natürlich, die drei Datenbanken zu einer zusammen zu führen, die in einem Büro läuft, aber von den Mitarbeitern aller drei Büros genutzt wird. Das Zusammenführen ginge sicher, problematisch wird die Nutzung der zentralen DB von allen drei Büros aus.
    Die erste Variante war, sich testweise vom Image in einem Büro direkt zur Datenbank eines zweiten Büros zu verbinden. Technisch hat das grundsätzlich funktioniert - ist aber daran gescheitert, das alles viel zu langsam war, so dass man damit nicht arbeiten konnte.
    Die zweite Variante war mein Vorschlag, eine Citrix-Umgebung aufzubauen. Das wurde vom Büro-Inhaber aus Kostengründen abgelehnt.
    Jetzt ist mir noch eine dritte Möglichkeit eingefallen, die möglicherweise naiv ist, aber ich möchte trotzdem mal nachfragen: gibt es eine Möglichkeit (ein Tool), um eine bestehende VW 2.5.1-Applikation auf einem Application Server laufen zu lassen und das ganze auf diese Weise in der o.g. Umgebung verfügbar zu machen? Falls jemand hierfür eine Idee hätte, würde ich mich über eine Antwort sehr freuen. Danke im Voraus!

    Viele Grüße!
    Frank

    PS: nur mal am Rande - bei allen Vorteilen, die eine moderne Entwicklungsumgebung wie Eclipse gegenüber dem doch sehr einfachen VW 2.5.1 hat macht es mir doch immer wieder unglaublichen Spaß, zu sehen, wie viel einfacher manche Dinge in diesem Uralt-System gehen, verglichen mit dem Java-Zeugs... :-)
    This post was modified on 12 Oct 2009 at 10:33 am.
  • Helge Nowak
    Helge Nowak    Premium Member
    The company name is only visible to registered members.
    Re: VW 2.5.1 und Application Server möglich?
    Hallo Frank,

    ich hätte auch erstmal den Versuch mit Remote Clients und einer zentralen Datenbank versucht. Hat ja auch geklappt. Aber warum war der remote Zugriff zu langsam? Zu wenig Bandbreite? Zu große Datenmenge? Zu häufige Zugriffe (Netzwerklatenz)? Wenn Du das weißt, kann man da vielleicht ansetzen.

    Ansonsten: Citrix oder Windows Terminal Server sollten funktionieren.

    Was stellst Du Dir unter einem "Application-Server" vor? Ein Tool, das auf magische Weise eine Desktop-Anwendung in eine Server-Anwendung verwandelt? Das sind genau Citrix & Co.

    Je nach Art der Anwendung kannst Du natürlich versuchen, eine Web-GUI auf Deine Anwendung aufzusetzen. Aber das hängt von den Anforderungen der User an Ergonomie usw. ab. Und natürlich von der Architektur der Anwendung. Das dürfte eher aufwendig werden.

    Ich halte ein Update auf die aktuelle VisualWorks-Version für die beste Lösung. Neben Unterstützung für neue Hard- und Software gibt es vor allem neue mögliche Architekturen, z. B. verteilt mit Opentalk oder Webanwendungen mit Seaside. Und die neuen Tools werden Dir sicher auch gefallen. Wegen einer Aufwandsabschätzung wende Dich einfach an uns: Cincom. Wir machen solche Updates bei unseren Kunden seit Jahren (logisch, oder?).

    Liebe Grüße
    Helge
  • Frank Winkler
    Frank Winkler
    The company name is only visible to registered members.
    Re^2: VW 2.5.1 und Application Server möglich?
    Hallo Helge,

    danke für Deine Antwort. Was alles aus Kosten- / Zeitgründen nicht geht, hatte ich ja schon geschrieben, wiederhole aber gerne noch mal:
    - die Portierung auf neue VW-Version - da brauche ich keine Aufwandsschätzung, um zu wissen, dass ich mit 15 Std./Monat Jahre brauchen würde;
    - eine Xitrix-Lösung - ist dem Inhaber schlicht zu teuer (auch wenn ich das für das beste halten würde und ihm das mehrmals empfohlen habe)

    Warum das mit den Remote Clients nicht geklappt hat, weiß ich leider auch nicht genau, ich vermute, es wird wohl eine zu geringe Bandbreite gewesen sein.

    Helge Nowak schrieb:
    Was stellst Du Dir unter einem "Application-Server" vor? Ein Tool, das auf magische Weise eine Desktop-Anwendung in eine Server-Anwendung verwandelt? Das sind genau Citrix & Co.
    Um ehrlich zu sein, so was in der Art hatte ich erhofft. Ich kenne Oracle Forms ein wenig und da gibt es genau so was (schon seit weingstens 5 Jahren): die Möglichkeit, die normalen Forms-Masken in einer Webanwendung zu nutzen ohne neu programmieren zu müssen. Die fmb-Dateien müssen halt nur mit einem anderen Compiler compiliert werden. Und meine Hoffnung war, dass es vielleicht eine VM geben könnte, die ein ganz normales VW-Image webfähig macht. Zumindest vorstellbar wäre das für mich... Citrix und Co. ist eigentlich was ganz anderes., oder?

    Viele Grüße!
    Frank
  • Helge Nowak
    Helge Nowak    Premium Member
    The company name is only visible to registered members.
    Re^3: VW 2.5.1 und Application Server möglich?
    Hallo Frank,

    wenn Dein Kunde es so lange verabsäumt hat, die notwendigen Updates seiner Basissysteme durchzuführen, muß er jetzt in den sauren Apfel beißen. Aber es ist ja nur ein einmaliger Aufwand, der naturgemäß nicht durch das Standardkontingent Deiner Dienstleistungen von 15 Stunden/Monat abgedeckt werden kann. Damit können aber auch alle anderen denkbaren Alternativen nicht abgedeckt werden: allein Deine Recherche kostet doch schon mehr!

    Hinsichtlich der Leistung der remote Clients: hier hilft nur Messen und Experimentieren. (Wieder eine Aufgabe, die sich nicht in dem vorgegebenen Rahmen von weniger als einer Stunde Arbeit pro Arbeitstag bewältigen läßt.)

    Wenn es manchmal auch anders aussieht, die Magie hat in der IT noch keinen Einzug gehalten. Es fallen immer Aufwände an. Das, was Dein Kunde wünscht, ist eine Umstellung der Architektur seines Systems. Das ist in Smalltalk einfacher als in anderen Technologien, es bleibt aber ein zu leistender Aufwand: analysieren, designen, umsetzen, testen. Das muß er einsehen.

    Zur Technologie von Applikationsservern:

    Eine VM hat nichts mit Webfähigkeit zu tun. Sie ist die Ausführungsumgebung (Just-in-Time Kompilieren, Speicher verwalten ...) für den (Smalltalk-, Java-, .NET- usw.) Code. Daher muß ich Dich leider enttäuschen: "VM austauschen, fertig", so einfach geht es nicht.

    Citrix und Windows Terminal Server sind "Screen Scraper". D. h. es läuft eine Instanz einer Desktop-Anwendung auf dem Server, GUIs und Events werden auf den Client übertragen. Hier sind keine Änderungen am Programm notwendig.

    Oracle Forms ist eine 4GL für Datenbankanwendungen, also reine CRUD-Anwendungen. Solche Anwendungen lassen sich leichter auf die Seiten-orientierte Internetarchitektur übertragen. Typische Web-CRUD-Anwendungen bestehen ja nur aus "Forms". Komplexe Client-seitige Logik gibt es nicht. Was Oracle bei dem von Dir geschilderten Neukompilieren macht, weiß ich nicht. Vielleicht haben sie einen Browser-Plug-In oder erzeugen HTML/JavaScript-Code.

    Mit AJAX & Co. kommt jetzt zwar wieder etwas Logik auf die Seite des Clients, aber am Prinzip ändert das nichts. Und kompliziert ist es auch. Es sei denn, man verwendet z. B. Seaside ;-)

    Da Du Smalltalk und ObjectStore als Technologien ausgesucht hattest, gehe ich davon aus, daß die Anwendung Deines Kunden aber nicht in die simple CRUD-Kategorie fällt. Es wird wohl komplexe Daten und ebensolche Logik geben, sowie ausgefeilte und intelligente GUIs. Das läßt sich nicht, oder nur mit viel Aufwand, auf eine Web-Architektur übertragen. Selbst wenn man ein ungefähres Äquivalent hinbekommt, müssen sich die Benutzer erheblich umstellen. Ihre Produktivität - und damit die Akzeptanz - geht in den Keller.

    Weiterhin wird Deine Anwendung wohl ein Rich-Client, also auf Single-User-Betrieb ausgelegt, sein. D. h. es gibt keine Multi-User-Logik in der Anwendung. Aus dieser Client-Anwendung muß erst einmal eine Server-Anwendung gemacht - also umprogrammiert - werden.

    Wie gesagt, machbar ist das. Und weil es Smalltalk ist, ist es einfacher machbar als wenn es Java, C++ oder ähnliches wäre.

    Dein Kunde braucht eine Entscheidungshilfe, die Nutzen, Aufwände, Kosten und Risiken auflistet, damit er sie gegeneinander abwägen kann. Das kann nur aufgrund einer Analyse der Anwendung erfolgen. Und dabei helfen wir gerne ;-)

    Liebe Grüße
    Helge
  • Marten Feldtmann
    Marten Feldtmann
    The company name is only visible to registered members.
    Re^3: VW 2.5.1 und Application Server möglich?
    Schon wieder so ein Projekt. Kein Geld ausgeben, aber neue Anforderungen einbringen :-((. Man sollte nicht vergessen, dass der Umstieg von VW 2.5.1 auf VW 7.x.y Dich dann auch in den neuen Bezahlmodus von Cincom versetzt - also "quasi" Runtime-Lizenzkosten jedes Jahr anfallen würden.