Announcement

Collapse
No announcement yet.

Browserbasierte Lösung?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Browserbasierte Lösung?

    Hallo,

    ich beschäftige mich mit dem Thema "webbasierter Anwendungen". Mir sind die diversen Technologien (z.B. ASP, ASP.NET, Java Servlets, WebServices, usw.) zwar theoretisch bekannt, jedoch fehlt mir eine fundierte Übersicht, die alle wichtigen Aspekte behandelt. Könnt ihr mir gute Einstiegsquellen nennen?

    Als Entwicklungswerkzeug kommt Delphi 5 bzw. 6 (u.U. auch 7) Enterprise in Betracht. Andere Werkzeuge sind natürlich nicht ausgeschlossen, sie hängen eben von der Technologie ab.

    Ich weiß, ein sehr umfassendes Thema. Bin für Eure Hinweise, Meinungen, usw. dankbar.

    Gruß<br>
    Stephan

  • #2
    Für webbasierte Anwendungen fehlt dir noch das Stichwort: "IntraWeb" http://www.atozedsoftware.com/intraweb/.

    Ist eine Technik, mit der man in Delphi (Version für Java gibt es auch und für .NET ist es im Beta-Test). Mit dieser Technik kann man Weboberflächen fast so entwickeln wie man es mit Delphi bei herkömlichen Oberflächen gewohnt ist

    Comment


    • #3
      Kein Problem. Gib mir 5 Jahre Zeit und ich schreibe dir ein Buch dazu ;-) <br>
      Aber mal im Ernst, einen solchen Überblick kann es nicht geben, da die Web-Technologien zum Teil auch nur wenig vergleichbar sind, d.h. man vergleicht Äpfel mit Birnen.<br><br>
      Es sei denn du hast eine konkrete Ausgabenstellung im Hinterkopf, die du gelöst haben möchtest und suchst die beste Technologie dazu.<br>
      Wenn das so ist, dann schreib uns was über deine Aufgabenstellung, dann können wir konkreter werden.<br><br>

      Gruß<br>
      Andreas Ullman

      Comment


      • #4
        Hi Andreas,

        danke für dein offenes Wort! Ich kenne die Komplexität dieses Themas, die Technologieinnovationen tun ihr übriges...

        Der Grund ist relativ simpel. Eine Anwendung, mit Delphi5/BDE entwickelt, soll nun webfähig gemacht werden, das heißt, man möchte gerne einen Browser als Frontend. Dazu möchte man sich zuerst einen Überblick über die diversen Technologien verschaffen, um dann zu beurteilen, welche Wahl gegenwärtig die sinnvollste ist.

        Bringt man das Thema Plattform-/Webserverunabhängigkeit ins Spiel, führt fast kein Weg an Java (Servlet/JSP) vorbei. Ich selbst vermag noch nicht genau zu beurteilen, inwieweit dies überhaupt eine Anforderung darstellt bzw. ob dies der richtige Weg ist. Die Lösung soll Frühjahr 2004 fertig sein, also besteht noch gehörig Zeit. Ich möchte nur nicht zu diesem Zeitpunkt dastehen und mir sagen müssen: Hättest Du ASP.NET/ADO.NET -> WebForms verwendet, dann könntest Du Deine Lösung jetzt auch mit Apache unter Linux laufen lassen. Aber ich kann mir auch vorstellen, mit der Forderung ranzugehen, dass die Lösung (gegenwärtig) nur unter IIS läuft. Und somit hätte einen Grund auf .NET zuzugreifen. Dies hieße aber auch auf Visual Studio.NET zuzugreifen. Ich hätte damit kein Problem, aber andere eventuell schon.

        Nicht zuletzt wird Ende des Jahres die komplette Anwendungsarchitektur umgestellt (serverseitige Verarbeitungsprozesse, nur noch Unterstützung von SQL Servern), somit möchte man jetzt eine Lösung die einfach, schnell und trotzdem gut funktioniert, um sich dann später in aller Ruhe zu überlegen, was man verwendet. Du siehst, eine Menge Aspekte, die mich begleiten.

        Stepha

        Comment


        • #5
          Sorry, noch ein kleiner Zusatz.

          Ich würde auch unter Umständen bei Borland Delphi bleiben wollen, somit käme man zu IntraWeb. Da ich Delphi 7 nicht habe (sondern wie viele auf 8 warten), kann ich nicht sagen, was diese Lösung wert ist. Zur Not müsste man halt Delphi 7 anschaffen. Was bedeutet aber die IntraWeb-Lösung genau: Auf welchen Webservern kann sie eingesetzt werden? Auf welchen Plattformen steht sie zur Verfügung?

          Und last but not least stellen WebServices sicher eine allumfassende Möglichkeit dar, bei der man keinerlei Einschränkungen in punkto Client hätte, sprich entweder nativ oder browserbasiert spielt dann keine Rolle mehr. Aber hier sind die Problem von WebServices, deren Stabilität und Interkompatibilität hinreichen bekannt. Damit bliebe dann wieder das Visual Studio.NET übrig, um WebServices zu erstellen

          Comment


          • #6
            Hallo,

            die Option <i>ASP.NET</i> würde ich nicht sofort ausschließen, zumal man über <i>http://www.asp.net/webmatrix/</i> eine kostenlose IDE sowie ein kostenloses Einführungsbuch als PDF-Datei bekommt, um mal "reinschnuppern" zu können. Da ASP.NET auch mit <i>Delphi for .NET</i> geschrieben werden kann, stehen alle Optionen offen

            Comment


            • #7
              Hallo Stephan,

              Falls Du D6 hast, kannst Du ja die Evaluierungsversion unter http://www.atozedsoftware.com/IntraWeb/Download/Evaluation.html herunterladen und mal damit herumspielen.

              Intraweb funktioniert mit IIS und Apache und kann auch Stand-Alone (ohne Webserver) laufen (für Entwickeln und Debug sinnvoll). Ebenfalls läuft Intraweb unter Linux

              Comment


              • #8
                Hallo,

                danke für die guten Antworten!

                @Andreas Kosch

                <i>Da ASP.NET auch mit Delphi for .NET geschrieben werden kann, stehen alle Optionen offen.</i><br>
                ASP.NET sehe ich persönlich auch weit vorne, nur was mache ich, wenn als Anforderung eine gewisse Plattform- und Webserverunabhängigkeit ins Spiel kommt. Die Theorie zu .NET ist toll, nur die Praxis sieht etwas anders aus. Ich habe nichts dagegen, mit .NET zu arbeiten (auf Delphi 8 warten und hoffen, dass Borland der große Wurf gelingt, ansonsten mit den Visual Studio.NET arbeiten), aber v.a. die Plattformunabhängigkeit ist immer ein Thema. Fazit: Egal mit welcher Entwicklungsumgebung, entscheide ich mich für .NET entscheide ich mich für Windows und IIS. Mal Hand aufs Herz: Glauben Sie, dass .NET praktische Plattformunabhängigkeit (allen voran Linux) erreichen wird und wenn ja, wann?

                @Bernhard Geyer

                <i>Intraweb funktioniert mit IIS und Apache</i><br>
                Damit wären wohl die wichtigsten Webserver in der Praxis abgedeckt.

                <i>Ebenfalls läuft Intraweb unter Linux</i><br>
                Läuft eine unter Delphi 7 entwickelte IntraWeb-Lösung unter Linux? Falls nein, was müßte man tun, um diese Lösung auf Linux laufen lassen zu können

                Comment


                • #9
                  Halo Stephan,

                  Wenn es unter Linux laufen soll, so muß es natürlich mit Kylix kompiliert werden.

                  Infos über die "Stoperfallen" kannst Du <a href="http://www.atozedsoftware.com/IntraWeb/FAQ/Linux.html">hier</a> finden

                  Comment


                  • #10
                    Hallo,

                    &gt;...dass .NET praktische Plattformunabhängigkeit (allen voran Linux) erreichen wird und wenn ja, wann?

                    wenn man dem Prinzip des "kleinsten gemeinsamen Nenners" folgt ist dieser Stand im Projekt MONO bereits Heute erreicht. Allerdings macht das überhaupt keinen Sinn, da wesentliche Klassen des .NET Frameworks nur dann zur Verfügung stehen, wenn die Module auf einer Server-Version von Windows 2000/2003 laufen. Und solange Linux (bzw. MONO) diese "Lücken" auf der Linux-Seite nicht füllen, wird es in .NET diese gravierenden Unterschiede immer geben.

                    Das "Neue" an .NET liegt doch darin, dass nun die Leistungsmerkmale der Betriebssysteme Windows und Linux (u.a.) in der vollen Bandbreite der Softwareentwicklung direkt miteinander verglichen werden können (bisher war der Vergleich immer nur in Teilbereichen möglich). Und da die Kosten für das Betriebssystem selbst verglichen mit den vollständigen Projektkosten in der Regel unter den Tisch fallen (nicht ohne Grund bietet MS nun eine reine Webserver-Version für Windows 2003 an), "gewinnt" zukünftig das System, das die zeitaufwendige (und kostenintensive) Softwareentwicklung am effektivsten unterstützt. In der heutigen schnelllebigen Zeit meine ich dabei nicht nur die Fähigkeiten der Klassenbibliothek, sondern vor allem auch den Umfang und die Qualität der Dokumentation. Und allein die Handvoll der <i>ASP.NET Starter Kits</i>-Beispielprojekte macht doch auf drastische Art und Weise deutlich, dass ASP.NET eine völlig andere "Gewichtsklasse" ist :-

                    Comment


                    • #11
                      Hallo,

                      @Andreas Kosch

                      Ich gebe Ihnen recht was .NET angeht. Ich persönlich finde die Philosophie, die dahinter steht hervorragend. Nur was machen Sie, wenn in der Praxis die Forderung einer gewissen Unabhängigkeit gestellt wird. Und genau da schlägt die Stunde von Java. Wie hatte dies jemand in diesem Forum bereits einmal ausgedrückt: "Ich hasse diesen zwangaften Versuch einer Uniformierung mit Java". Dem gebe ich vollkommen recht. Wie kann es im heutigen Technologiezeitalter sein, dass man bei Unabhängigkeit sich dem Diktat einer(!) Sprache unterwerfen muss. Genau da wiederum schlägt die große Stunde von .NET, wenigstens bzgl. (weitestgehender) Sprachunabhängigkeit.

                      Und wie sieht es bei webbasierten Anwendungen aus? Obwohl ASP.NET sicher eine andere Gewichtsklasse darstellt, so wird man um den IIS nicht umhinkommen. Was macht man mit denjenigen, die z.B. Apache einsetzen (der, und das muss man eingestehen, eine recht große Verbreitung aufweist)? Betrachte ich IntraWeb, klingt das auch toll. Soll die Lösung aber unter Linux laufen, so muss sie mit Kylix kompiliert werden. Zwei Entwicklungssysteme für zwei Plattformen!
                      Viele könnten behaupten, das ist des Guten zuviel.

                      Wie soll nun ein Fazit lauten? Sich auf die Windows-Plattform konzentrieren und mit .NET arbeiten? Dem Kunden klar machen, dass ein Windows-Server als Applikationsschicht besser geeignet ist als Linux? In der Praxis interessiert es doch niemanden, wie viele Starterkits oder WYSIWYG-Editoren zu irgendwelchen Webtechnologien existieren. Dies interessiert den Entwickler. Den Anwender/Kunden interessiert aber die Lösung. Ich bin kein Java-Experte, aber ich denke, jemand der auf diesem Gebiet reichlich Erfahrung hat, wird Ihnen sagen, dass eine Java basierte Form auch nicht viel länger an Implementierungszeit mit sich bringt, als z.B. eine mit WebForms entwickelte ASP.NET-Lösung. Herrscht somit nicht eine gewisse Diskrepanz zwsichen dem, was in der Praxis oftmals gefordert wird und dem, was die High-End-Enwicklungspakte leisten (können/wollen)

                      Comment


                      • #12
                        Hallo,

                        &gt;..so wird man um den IIS nicht umhinkommen.

                        nein - der IIS ist nicht zwingend! Microsoft liefert mit <i>Cassini</i> sogar den Sourcecode für einen Webserver aus, der ASP.NET auch ohne IIS ausführen kann. Jeder Prozess (also auch eine mit Delphi 7 geschriebene EXE) kann die .NET CLR "hosten" und somit ASP.NET in seinem eigenen Prozess ablaufen lassen. Das folgende Minimal-Beispiel für Delphi 7 (Win32, nicht Delphi.NET!) demonstriert dies - der Prozess der Win32-EXE richtet als Host einen Bereich (Application Domain) ein, um dort eine .NET-Anwendung (einfaches Windows Form) auszuführen:
                        <pre>
                        uses
                        mscoree_TLB, // Common Language Runtime Execution Engine 1.0 Library (mscoree.tlb)
                        mscorlib_TLB; // Common Language Runtime Library (Version 1.0) (mscorlib.tlb)

                        var
                        aCoreHost : ICorRuntimeHost;
                        aDomainSetup : IAppDomainSetup;
                        aSetup : IUnknown;
                        aAppDomainIU : IUnknown;
                        aAppDomain : _AppDomain;

                        procedure TForm1.ButtonStartClick(Sender: TObject);
                        var
                        swDir : WideString;
                        aPWC : array [1..10] of WideChar;
                        begin
                        aCoreHost := CoCorRuntimeHost.Create;
                        aCoreHost.Start;
                        aCoreHost.CreateDomainSetup(aSetup);
                        aDomainSetup := aSetup as IAppDomainSetup;
                        swDir := 'C:\Konferenzen';
                        aDomainSetup.Set_ApplicationBase(swDir);
                        aCoreHost.CreateDomainEx(StringToWideChar('OSDomai n', @aPWC, 10), aSetup, nil, aAppDomainIU);
                        aAppDomain := aAppDomainIU as _AppDomain;
                        aAppDomain.ExecuteAssembly(EditAssembly.Text, nil);
                        end;
                        </pre>

                        &gt;Dem Kunden klar machen, dass ein Windows-Server als Applikationsschicht besser geeignet ist als Linux?

                        Es reicht aus, dem Kunden die Alternativen und die Auswirkungen (Leistungsfähigkeit und Kosten) gegenüberzustellen und ihm die Wahl zu überlassen :-)

                        Der <i>Windows 2003 Server Web Edition</i> soll ca. 400 US$ kosten - daher wird wohl kein Kunde etwas dagegen haben, eine 2. Kiste für ASP.NET (IIS) daneben zu stellen, wenn das restliche Web mit Apache laufen soll

                        Comment

                        Working...
                        X