hmm: JSP Frontend, Webseite entwickeln, herangehensweise

Hi Leute,

ich habe mir auf einem VM Server Tomcat eingerichtet. Ich habe bereits eine Webseite mit PHP und Contau gebastelt, aber dass arbeiten mit php gefällt mir nicht. Macht es Sinn das Backend vom Frontend einer Webseite komplett mit Java/JSP zu basteln?

Fertig habe ich bisher:

  1. Zwei Tools mit GUI in JavaScript
  2. Einen Webservice in PHP den ich gerne gegen einen Java Webservice austauschen würde. (bei Zeiten... auf meiner PHP Seite habe ich bereits paar Registrierte Nutzer dessen Daten ich übernehmen müsste)
  3. Zwei Java Anaysetools ohne GUI

Ich würde gerne mittels Java (ich benutze jsp und Maven, Tomcat7, außerdem habe ich auf dem Server Ubuntu installiert und kann dort jede beliebige Software installieren), folgendes schaffen:

  1. Eine einfache Hauptseite basteln.
  2. Einen Registriertbereich basteln. Hat sich dort jemand registriert, soll er eine EMail mit Bestätigungslink bekommen.
  3. Einen Bereich programmieren in den man kommt, wenn man sich auf der Webseite anmeldet hat und auf der man zu den Analysetools wechseln kann, die wiederum unter Subdomains zu finden sind.

Gibt es dafür gratis Java Templates oder andere Vorlagen? Sollte ich ein CMS verwenden?

Oder einfacher gefragt: Könnt Ihr mir paar Empfehlungen und Hinweise geben wie man mit dem Backend eines Frontends beginnt? Ich hab mir schon ein paar Skizzen gemacht wie es aussehen soll, weiß aber nicht ob ich jetzt alles per Hand programmieren sollte oder ob man Tools oder Vorlagen verwendet.

MfG hmm

  1. Aloha ;)

    ich habe mir auf einem VM Server Tomcat eingerichtet. Ich habe bereits eine Webseite mit PHP und Contau gebastelt, aber dass arbeiten mit php gefällt mir nicht. Macht es Sinn das Backend vom Frontend einer Webseite komplett mit Java/JSP zu basteln?

    Meiner Meinung nach: nein. Sowas macht dann Sinn, wenn du einen Dienst anbietest, der nicht nur als Webdienst, sondern auch auf anderen Plattformen eingesetzt wird. Dann kannst du die Geschäftslogik (im Sinne von MVC) mit Java erarbeiten und mit jeder beliebigen GUI versehen, zum Beispiel für die Web-Inkarnation deines Dienstes jsp/HTML (Model: Datenbank, typischerweise MySQL oder eine ähnliche relationale Datenbank, View: jsp als Template-Engine, die eine HTML-GUI erzeugt und Controller: dein Java-Code, der die Geschäftslogik abbildet).

    Ich bin sehr kritisch, was JSP und seinen Nutzen für reine Websites angeht (wie gesagt - für native Multiplattform-Dienste sieht das anders aus).

    Neben den rein sympathischen Vorbehalten, die ich gegenüber JSP habe, kommt noch folgendes unstrittig dazu: jsp als eigenständige Sprache ist hoffnungslos überholt. Es gibt inzwischen mit den JavaServer Faces (JSF) ein jsp-Framework, das den quasi-Standard für Java-basierte Webseiten darstellt. Wenn es schon Java sein muss, würde ich dir eher raten, das zu nutzen. Die Informationsquellen für Problemstellungen, die dir begegnen dürften, sind bei jsp (vor allem im Vergleich zum quasi-Webstandard php) mehr als dürftig. Die Chancen, aktuelle Entwicklungen mitnehmen zu können, wirst du also eher mit JSF finden.

    Fertig habe ich bisher:

    1. Zwei Tools mit GUI in JavaScript
    2. Einen Webservice in PHP den ich gerne gegen einen Java Webservice austauschen würde. (bei Zeiten... auf meiner PHP Seite habe ich bereits paar Registrierte Nutzer dessen Daten ich übernehmen müsste)
    3. Zwei Java Anaysetools ohne GUI

    Was spricht denn dagegen, den PHP-Webservice zu behalten und die Analysetools aus diesem heraus aufzurufen? Mittels exec hast du ja auch aus PHP heraus einen möglichen Zugriff auf Java. Natürlich ist der nie (zumindest mit keinem mir bekannten Mittel) so tief integrierbar wie in jsp, so viel ist klar. Analysetools hört sich jetzt aber nicht so an, als ob das wirklich nötig wäre. Abgesehen davon können - gerade Analysetools - ja auf die selben Daten zugreifen, die auch deinem Webdienst zur Verfügung stehen, nämlich durch Nutzung derselben Datenbank.

    Ich würde gerne mittels Java (ich benutze jsp und Maven, Tomcat7, außerdem habe ich auf dem Server Ubuntu installiert und kann dort jede beliebige Software installieren), folgendes schaffen:

    1. Eine einfache Hauptseite basteln.
    2. Einen Registriertbereich basteln. Hat sich dort jemand registriert, soll er eine EMail mit Bestätigungslink bekommen.
    3. Einen Bereich programmieren in den man kommt, wenn man sich auf der Webseite anmeldet hat und auf der man zu den Analysetools wechseln kann, die wiederum unter Subdomains zu finden sind.

    Gibt es dafür gratis Java Templates oder andere Vorlagen? Sollte ich ein CMS verwenden?

    Ich kenne kein CMS für jsp, hab mich aber auch noch nie damit befasst. Und "Java Templates" lässt mich vermuten, dass du von falschen Voraussetzungen ausgehst. jsp mag Java nutzen und es wird de facto Java-Code verwendet, es gibt aber gravierende Unterschiede. jsp ist mehr Template-Engine als Programmiersprache, die für Programmabläufe sinnvollerweise auf Java-Klassen zugreift... Das steht auch im Unterschied zu PHP. PHP ist ursprünglich eigentlich auch vor allem Template-Engine, hat aber viele Kompetenzen dazugewonnen und ist dadurch heute mehr als eine Templateengine, für gewöhnlich stellt PHP auch die Geschäftslogik zur Verfügung. Während es bei PHP üblich ist, Funktionen oder ganze Klassen mittels PHP umzusetzen, sind Funktionen, die im jsp definiert sind, meines Erachtens nach mindestens unüblich.

    Oder einfacher gefragt: Könnt Ihr mir paar Empfehlungen und Hinweise geben wie man mit dem Backend eines Frontends beginnt? Ich hab mir schon ein paar Skizzen gemacht wie es aussehen soll, weiß aber nicht ob ich jetzt alles per Hand programmieren sollte oder ob man Tools oder Vorlagen verwendet.

    Im Endeffekt verfährst du nicht viel anders als mit PHP, mit dem Unterschied, dass du die Klassen/Objekte deiner Analysetools dann direkt im jsp instanziieren kannst und auf ihre Methoden zugreifen kannst.

    So allgemein ist es sowieso schwierig, dir auf die Frage zu antworten, ohne dafür Romane zu schreiben, die weder dich noch mich sonderlich weiterbringen.

    Grüße,

    RIDER

    --
    Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
    # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
    1. danke!

      meine php (und co.) webseite sieht nicht mehr gut aus, ich würde gerne neu anfangen und meine beiden analysetools und meinen java code passend einfügen.

      jetzt frage ich mich wie ich das am leichtesten mache, am liebsten würde ich alles in Eclipse zusammen basteln und direkt im tomcat hochladen.

      ich stelle mir folgendes vor:

      1. Einfache Hauptseite mit einem von mir gewählten Hintergrundbild (habe ich auf dem Rechner) a) Man sollte ich Registrieren können b) Es sollte einen Loginbereich geben c) einen bereich wo Neuigkeiten vorgestellt werden, sollte es auch geben

      2. nachdem man sich eingeloggt hat sollte man auf die beiden javascript tools klicken können die bereits GUI's haben. Außerdem sollte man auf die Java Analyse klicken können die noch eine GUI braucht. Wie baue ich die GUI für meine Java Analyse? Mache ich das in "Java"?

      Ich würde mich gerne vorallem auf das Zusammenspiel von Datenbank, Backend und Frontend konzentrieren und dafür eine weiterentwicklungsfähige Vorlage für das Frontend verwenden.

      Im Prinzip brauche ich ein CMS, ein Template und muss zusehen, dass ich die Übersichtbehalte und meine Java Sachen is Templaze integrieren kann. Ich weiß gerade nicht, wie ich damit am besten anfange.

      1. Aloha ;)

        meine php (und co.) webseite sieht nicht mehr gut aus, ich würde gerne neu anfangen und meine beiden analysetools und meinen java code passend einfügen.

        Darstellung und Aussehen ist eine Frage der Client-Technologien HTML/CSS/JavaScript - da trägt ein Wechsel der serverseitigen Sprache in keiner Weise zu einer Verbesserung bei. In einzelnen Fällen sogar zur Verschlechterung, weil du keine Routine mit der neuen Sprache besitzt. Ich warne davor, rein aus Prinzip eine neue Sprache ausprobieren zu wollen. Kann man zum Spaß natürlich machen, allzu viel erwarten sollte man sich davon aber nicht so schnell.

        jetzt frage ich mich wie ich das am leichtesten mache, am liebsten würde ich alles in Eclipse zusammen basteln und direkt im tomcat hochladen.

        Kannst du mit JSP/Java ja auch.

        ich stelle mir folgendes vor:

        1. Einfache Hauptseite mit einem von mir gewählten Hintergrundbild (habe ich auf dem Rechner) a) Man sollte ich Registrieren können b) Es sollte einen Loginbereich geben c) einen bereich wo Neuigkeiten vorgestellt werden, sollte es auch geben

        Das meiste davon ist HTML/CSS und damit identisch zur PHP-basierten Lösung. Es kommt lediglich die Verarbeitung der übermittelten Formulardaten dazu, die sich von PHP zu JSP zwar in der Form, nicht aber in der Herangehensweise unterscheidet.

        1. nachdem man sich eingeloggt hat sollte man auf die beiden javascript tools klicken können die bereits GUI's haben. Außerdem sollte man auf die Java Analyse klicken können die noch eine GUI braucht. Wie baue ich die GUI für meine Java Analyse? Mache ich das in "Java"?

        Nein, eine GUI baust du mit dem GUI-Tool, also HTML/CSS/JavaScript unter Unterstützung der verwendeten Template-Engine (jsp). Wenn in deinem Java-Code GUI-spezifisches landet, dann ist konzeptionell erstmal was schiefgelaufen. jsp/Java setzt "by design" auf MVC oder vergleichbare Architektur, die drei Bereiche GUI (HTML/jsp), Geschäftslogik (Java) und Persistenzschicht (mySQL) sind dabei sinnvollerweise recht strikt zu trennen.

        Ich würde mich gerne vorallem auf das Zusammenspiel von Datenbank, Backend und Frontend konzentrieren und dafür eine weiterentwicklungsfähige Vorlage für das Frontend verwenden.

        Mir scheint wieder, dass du nicht genau verstehst, was jsp tut. jsp ist eine Template-Engine. Sie setzt (ganz ! genau ! wie ! PHP) gewisse spezifische Daten in eine vorgefertigte HTML-Schablone ein und das gibt dann in Summe das Frontend. Der Unterschied zu PHP liegt im "Backend" (ich würde Geschäftslogik dazu sagen) - während du in PHP typischerweise auch dieses in PHP realisierst benutzt du nicht JSP dafür, sondern Java. (In PHP würdest du aber hoffentlich die Geschäftslogik auch mit Klassen und Methoden realisieren und die GUI - das Frontend - prozedural zusammenschrauben; auch hier ist also vieles vergleichbar.) Während du in Java objektorientiert programmierst, programmierst du in jsp (obwohl es natürlich objektorientiert ist) in einem sehr prozeduralen Stil. Eben so wie in PHP gewöhnlich auch, wenn man das HTML-Dokument zusammenschraubt.

        Als Richtlinie, falls du dich an eine MVC-Struktur halten möchtest (was ich dir wirklich nachdrücklich empfehle, denn genau dafür ist jsp gemacht): Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht. Umgekehrt hast du auch dann was falschgemacht, wenn dein jsp einen Datenbankzugriff vollführt.

        Dein jsp ruft Java-Objekte auf, diese interagieren mit der Datenbank. Das Resultat der Objekt-(Methoden-)Aufrufe setzt dein jsp in HTML um, welches an den Browser ausgeliefert wird. Wenn Daten von außen bei deinem jsp ankommen nimmt dein jsp diese Daten, prüft eventuell noch Plausibilität, behandelt offensichtliche Fehler, formatiert die Daten je nach Notwendigkeit um und reicht diese dann an die entsprechenden Java-Methoden weiter, die dann in der Geschäftslogik aufgrund der Daten tun, was getan werden muss.

        Im Prinzip brauche ich ein CMS, ein Template und muss zusehen, dass ich die Übersichtbehalte und meine Java Sachen is Templaze integrieren kann. Ich weiß gerade nicht, wie ich damit am besten anfange.

        Du solltest dich mit den Grundlagen der jeweiligen Technologien beschäftigen. Bei Rückfragen helfen wir gerne weiter. Die Beschäftigung damit können wir dir aber nicht abnehmen, selbst wenn wir es wollten.

        Grüße,

        RIDER

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
        1. @@Camping_RIDER

          Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht.

          Auch hier lässt sich die Parallele zu PHP ziehen: Sobald in deinem PHP-Code HTML auftaucht, hast du was falsch gemacht.
          Bspw. bei <?php echo '<p>' . $foo . '</p>'; ?> oder <?php echo "<p>$foo</p>"; ?>

          HTML-Code gehört in die Template-Engine (die in diesem Fall auch mit PHP läuft):
          <p><?php echo $foo; ?></p> oder kurz <p><?= $foo ?></p>

          Darin kann es auch einfache Kontrollstrukturen geben (Abfragen, Schleifen – vorzugsweise in der alternativen Schreibweise), genau die Mächtigkeit, die eine Template-Engine wie Smarty auch bietet:

          <?php if isset($foo): ?>
            <p><?= $foo ?></p>
          <?php endif; ?>
          

          LLAP 🖖

          --
          „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
          „Hat auf dem Forum herumgelungert …“
          (Wachen in Asterix 36: Der Papyrus des Cäsar)
          1. Aloha ;)

            Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht.

            Auch hier lässt sich die Parallele zu PHP ziehen: Sobald in deinem PHP-Code HTML auftaucht, hast du was falsch gemacht.

            Nein, vollkommen falsch. So einfach kannst du die Parallele eben nicht ziehen. Sobald in deinem Java-Code HTML auftaucht hast du was falsch gemacht. Nicht "sobald in deinem jsp-Code HTML auftaucht...".

            In jsp ist es durchaus gelegentlich vertretbar, HTML-Code zu verwenden. Und da PHP die Funktion von Java und jsp übernimmt kann man hier definitiv keinen so einfachen Vergleich ziehen.

            Bspw. bei <?php echo '<p>' . $foo . '</p>'; ?> oder <?php echo "<p>$foo</p>"; ?>

            HTML-Code gehört in die Template-Engine (die in diesem Fall auch mit PHP läuft):
            <p><?php echo $foo; ?></p> oder kurz <p><?= $foo ?></p>

            Darin kann es auch einfache Kontrollstrukturen geben (Abfragen, Schleifen – vorzugsweise in der alternativen Schreibweise), genau die Mächtigkeit, die eine Template-Engine wie Smarty auch bietet:

            Vollkommen richtig, der Sache nach hast du ja auch Recht. Es ist nur eben die Parallele, die an der Stelle nicht zieht - weil du dazu PHP auf den Teil einschränken müsstest, der ausschließlich Geschäftslogik darstellt, und dazu auch wieder davon ausgehen müsstest, dass ein entsprechendes Pattern eingesetzt wird. In PHP kann man MVC o.ä. einsetzen, muss das aber nicht (anders als mit JSP, wo alles andere nicht der Architektur entspricht). Also vorsicht mit den zu einfachen Vergleichen.

            Z.B. ist es in PHP - selbst wenn man MVC verwendet - oftmals gar nicht so ganz so eindeutig abzugrenzen, wo die Grenze zwischen View und Controller liegt, also auch gar nicht so einfach abzugrenzen, wo der Einsatz von HTML nun legal ist und wo eher nicht. Und wenn man kein MVC verwendet und das auch nicht möchte, da kann man gar keine so rechte Aussage treffen.

            Ich bin kein Freund davon, ohne rechte rationale Begründung Leuten vorzuschreiben, wie sie ihren Code zu gestalten haben - schon gar nicht aufgrund abstrakter Prinzipien. Man kann gerne begründete Empfehlungen abgeben, mehr aber auch nicht.

            Grüße,

            RIDER

            --
            Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
            # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
  2. Moin!

    Die Antwort vom Camping_RIDER wäre noch zu ergänzen:

    Ich weiß ja nicht, was Du vor hast. Aber PHP kannst Du an jeder Ecke für absurd niedrige Preise hosten lassen, bei JSP oder JSF ist das genau nicht der Fall. Solltest Du also nicht neben der Webseite noch weitere Frontends unterstützen wollen oder müssen, dann könnte es ein teurer Weg sein.

    Jörg Reinholz

    1. danke!

      ich brauche erstmal eine Grundlage für mein Frontend wo ich meine Backendsachen und meine beiden JavaScript Tools einfügen kann. Die beiden JavaScript Tools haben zusammen fast 15k Zeilen Code, mein Java Backend hat noch mehr, dazu kommen noch paar Sachen in MySql und noch paar andere Skripte. Das würde ich gerne alles in einem "Start Frontend" unterbringen und im Anschluss das Frontend ausbauen.

      Und ich würde gerne mit Tomcat arbeiten... wie fang ich an?

      1. Aloha ;)

        ich brauche erstmal eine Grundlage für mein Frontend wo ich meine Backendsachen und meine beiden JavaScript Tools einfügen kann. Die beiden JavaScript Tools haben zusammen fast 15k Zeilen Code, mein Java Backend hat noch mehr, dazu kommen noch paar Sachen in MySql und noch paar andere Skripte. Das würde ich gerne alles in einem "Start Frontend" unterbringen und im Anschluss das Frontend ausbauen.

        Und ich würde gerne mit Tomcat arbeiten... wie fang ich an?

        Moooooment!

        JavaScript-Tools? Du schriebst Java-Tools...

        Du weist aber schon, dass...

        Außerdem ist das das erste mal, dass du von einem "Java Backend" schreibst.

        In der Summe würde ich dir empfehlen, dir zunächst selber ganz genau im Klaren darüber zu sein, was du willst. Nur wenn du das einwandfrei und unschwammig formulieren kannst, können wir dir hier wirklich helfen. Ansonsten bleibt das auf beiden Seiten ein reines Stochern im Nebel, typischerweise mit ungünstigen Konsequenzen.

        Grüße,

        RIDER

        P.S.: @Matthias Apsel - du hättest deine Signatur nicht ändern sollen. Wusste ich doch, dass das auch heutzutage noch nötig ist zu betonen :P

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
        1. Danke ^^

          Also, ich habe das hier:

          1. Eine Webseite auf der Contau läuft mit viel php Code usw. die mir optisch nicht gefällt.
          2. Zwei JavaScript Tools mit GUI (ich meine JavaScript nicht java an dieser stelle)
          3. einen Webservice in PHP
          4. Ein Java Backend -> Mein "Hauptprodukt" (sofern aus mir kleinem Studenten irgendwann mal nen Unternehmen wird oder sowas :D)

          Das Java Backend braucht eine GUI die irgendwie zur Webseite bzw. zu meinen JavaScript Guis passen sollte... Wenn ich jetzt auf meine derzeitigen Webseite ne neue Vorlage raufknalle.... und dann ne Unterdomain verlinke auf meinen Java-Server.... usw. ... wär dass dann nicht ziemlich vermorkst und unübersichtlich? Ich hätte gerne eine saubere Lösung und nichts zusammen geschipptes wo ich selber irgendwann nichtmehr druchblicke...

          1. Aloha ;)

            1. Eine Webseite auf der Contau läuft mit viel php Code usw. die mir optisch nicht gefällt.
            2. Zwei JavaScript Tools mit GUI (ich meine JavaScript nicht java an dieser stelle)
            3. einen Webservice in PHP
            4. Ein Java Backend -> Mein "Hauptprodukt" (sofern aus mir kleinem Studenten irgendwann mal nen Unternehmen wird oder sowas :D)

            Vor allem Punkt 4 ist relevant - und das hattest du bisher nicht deutlich gemacht. In dem Fall greift wahrscheinlich (!) das, was ich geschrieben hatte. Du hast vermutlich also einen Fall, in dem ein feststehendes Java-Programm ("Backend") mit unterschiedlichen GUIs (zunächst die Homepage, später vielleicht eine App o.ä.) versehen werden soll, oder die zumindest darauf basiert, dass der Java-Code eine in sich geschlossene Einheit bildet, die dann von jsp auf das Format Webseite abgebildet werden kann.

            In dem Fall ist jsp schon die richtige Wahl (mit der Einschränkung, dass JavaServer Faces vielleicht sinnvoller zu benutzen wäre - das kann ich aber mangels genauer Kenntnis von JSF nicht einschätzen und genau wie im Fall von jQuery/JavaScript gilt natürlich immer, dass das Framework grundsätzlich genauso geeignet ist wie die zugrundeliegende Sprache, um ein Ziel zu erreichen).

            Du solltest dich nun mal grundsätzlich in jsp einarbeiten und dir darüber klar werden, wie einzelne Konzepte mit jsp umgesetzt werden können - gerne auch immer im Blick darauf, welche Konzepte du aus PHP schon kennst (wie gesagt - sie sind grundsätzlich ähnlich).

            Grüße,

            RIDER

            --
            Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
            # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
            1. hm, okay. danke.

              ich habe einen teampartner der gerne ein cms verwenden möchte. und auf meiner alten webseite ist contau drauf, alternativ könnten wir worldpress installieren.

              ich habe gerade geschaut und primär gefällt mir zb diese template: http://de.wix.com/website-template/view/html/1723?originUrl=http%3A%2F%2Fde.wix.com%2Fwebsite%2Ftemplates%2Fhtml%2Fall%2F9&bookName=create-master-new&galleryDocIndex=3&category=all&metaSiteId=

              arbeite ich am besten mit meinem alten webpacket auf dem meine alte webseite liegt und verlinke mit unterdomains auf meinen java-server. oder wäre es besser, wenn ich dieses oder andere templates auf meinen java-server knalle und dort alles aufbaue?

              wenn ich das richtig sehe, habe ich pi mal daumen im fall des java backends:

              frontend der webseite <-> eingebettete javascript gui <-> jsp <-> java <-> datenbank ?

              1. Aloha ;)

                Tut mir leid, ich kann nur nochmal betonen:

                In der Summe würde ich dir empfehlen, dir zunächst selber ganz genau im Klaren darüber zu sein, was du willst.

                Bisher weist du - bzw. schreibst du - nur davon, was du hast. Was du willst, weist du im Grunde noch gar nicht genau. Außer eben, dass Java ein Fixpunkt ist. Was ein guter Anhaltspunkt wäre, tatsächlich JSP zu verwenden.

                Die Erkenntnis, was du genau willst, kannst du von uns aber gar nicht erhalten. Wir kennen die Systeme nicht[1], wir wissen nicht, wie sich der Aufwand eines um-/neuschreibens auf jsp im Vergleich zu einer Einbettungs-Lösung in eurem Fall aufwiegen lässt. Wir wissen nicht, ob du/ihr über die nötigen Kenntnisse und Ressourcen verfügt um entweder das eine oder das andere bevorzugt oder schneller hinzubekommen. ... Kurz gesagt: Wir können dir in dem Fall keine letztendliche Empfehlung aussprechen.

                Eckpfeiler wurden ja von mir und bezüglich der nötigen Vorkenntnisse auch vor allem von woodfighter ausführlich beschrieben.

                Was jetzt auf eure Situation am besten anwendbar ist, müsst ihr im Team derer, die konkret Ahnung von euren individuellen Randbedingungen hat, entscheiden.

                Wenn euch zu dieser Entscheidung Grundlagenwissen fehlt, dann kann ich nur immer wieder empfehlen, sich zuerstmal in die Grundlagen einzuarbeiten und nicht auf gut Glück ins kalte Wasser zu springen. Macht euch mit den Grundlagen von jsp und den Unterschieden zu php vertraut. Wenn dabei konkrete Probleme oder Rückfragen auftreten, dann können wir sehr sicher erfolgreich beim Verständnis helfen.

                Es gibt bei dieser Entscheidung, soviel jedenfalls als Resümee, kein klares richtig oder falsch. Ihr müsst unter Kenntnis aller Randbedingungen eine individuelle Entscheidung treffen.

                Grüße,

                RIDER

                --
                Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
                # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[

                1. Und keine abstrakte Beschreibung der Welt wird daran was ändern ;) ↩︎

              2. Moin!

                frontend der webseite <-> eingebettete javascript gui <-> jsp <-> java <-> datenbank ?

                Ja. Die Crux am MVC ist, dass mit jedem unterschiedlichem Scope neu bestimmt wird, was davon Model, View oder Controler ist.

                oder wäre es besser, wenn ich dieses oder andere templates auf meinen java-server knalle und dort alles aufbaue?

                Das kommt ganz darauf an, wie die Daten fließen. Wenn Du vermeiden kannst, dass Daten mehrfach über das Internet "geschaufelt" werden, dann alles auf einen Server. Auch ist die Ausfallrate zu multiplizieren: Hast Du zwei Server, die nur zu 90% verfügbar sind, dann beträgt die Gesamtverfügbarkeit 0.9*0.9=81%. Also ist - bei Nichtexistenz anderer Gründe (von denen es aber viele geben kann) - ein Server (oder eine Gruppe zur Lastverteilung/Ausfallvermeidung) für genau ein Gesamtsystem stets die bessere Wahl.

                Jörg Reinholz

                1. Aloha ;)

                  Ja. Die Crux am MVC ist, dass mit jedem unterschiedlichem Scope neu bestimmt wird, was davon Model, View oder Controler ist.

                  Naja - Model ist ja sehr klar umrissen. Das ist die Persistenzschicht (Datenbank oder Dateigrab), maximal noch zusätzlich der Systemteil, der ausschließlich Daten ins Datengrab "schaufelt" (danke für das Bild :D).

                  Recht hast du vor allem hinsichtlich View und Controller. Es ist zwar so, dass manche Dinge ziemlich zweifellos einem der beiden zugeordnet werden können, aber gerade die Grenze verschwimmt sogar bei beibehaltenem Scope naturgemäß stark.

                  Mit unterschiedlichem Scope (d.h. dann weniger des ursprünglichen "Views" im Scope zu haben) wird sich nur der Anteil der View verschieben und der Controller kleiner beziehungsweise größer werden - da das Model fix definiert ist und definitiv keine Inversion in den Rollen auftritt ist die Variation eher beschränkt.

                  Grüße,

                  RIDER

                  --
                  Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
                  # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
        2. Hallo Camping_RIDER,

          P.S.: @Matthias Apsel - du hättest deine Signatur nicht ändern sollen. Wusste ich doch, dass das auch heutzutage noch nötig ist zu betonen :P

          Es gibt leider keine dynamischen Signaturen mehr, //@Christian Kruse

          Bis demnächst
          Matthias

          --
          Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
  3. Moin!

    Ich würde gerne mittels Java (ich benutze jsp und Maven, Tomcat7, außerdem habe ich auf dem Server Ubuntu installiert und kann dort jede beliebige Software installieren), folgendes schaffen:

    1. Eine einfache Hauptseite basteln.
    2. Einen Registriertbereich basteln. Hat sich dort jemand registriert, soll er eine EMail mit Bestätigungslink bekommen.
    3. Einen Bereich programmieren in den man kommt, wenn man sich auf der Webseite anmeldet hat und auf der man zu den Analysetools wechseln kann, die wiederum unter Subdomains zu finden sind.

    Gibt es dafür gratis Java Templates oder andere Vorlagen?

    Allgemein gilt: Je spezieller die Wünsche sind um so wahrscheinlicher gibt es keine Templates oder andere Vorlagen. Die weiteren Wünsche "gratis" und "Java" machen das noch unwahrscheinlicher. Allerdings kommt es stark darauf an, wie weit Du den Begriff Template fassen willst.

    Fertig habe ich bisher:

    1. Zwei Tools mit GUI in JavaScript
    2. Einen Webservice in PHP den ich gerne gegen einen Java Webservice austauschen würde. (bei Zeiten... auf meiner PHP Seite habe ich bereits paar Registrierte Nutzer dessen Daten ich übernehmen müsste)
    3. Zwei Java Anaysetools ohne GUI

    Oder einfacher gefragt: Könnt Ihr mir paar Empfehlungen und Hinweise geben wie man mit dem Backend eines Frontends beginnt? Ich hab mir schon ein paar Skizzen gemacht wie es aussehen soll, weiß aber nicht ob ich jetzt alles per Hand programmieren sollte oder ob man Tools oder Vorlagen verwendet.

    Ich habe wohl heute einen schlechten Tag und kann dem nichts entnehmen, was mir helfen würde, Dir zu antworten.

    Jörg Reinholz

  4. Tach,

    da ich beim Schreiben unterbrochen wurde, werden andere vermutlich schneller gewesen sein, aber ich schick's mal trotzdem ab.

    aber dass arbeiten mit php gefällt mir nicht. Macht es Sinn das Backend vom Frontend einer Webseite komplett mit Java/JSP zu basteln?

    Wenn dir PHP nicht gefällt, würde ich erstmal in Richtung Python, Ruby oder Perl schauen. Java als Backend macht meiner Meinung nach nur Sinn, wenn du entweder mit deinem Backend auf vorhandene Java-Bibliotheken (z.B. eine nur in Java vorhandene API) zurückgreifen musst oder bereits den größten Teil der notwendigen Kenntnisse hast.

    Ich würde gerne mittels Java (ich benutze jsp und Maven, Tomcat7, außerdem habe ich auf dem Server Ubuntu installiert und kann dort jede beliebige Software installieren), folgendes schaffen:

    1. Eine einfache Hauptseite basteln.
    2. Einen Registriertbereich basteln. Hat sich dort jemand registriert, soll er eine EMail mit Bestätigungslink bekommen.
    3. Einen Bereich programmieren in den man kommt, wenn man sich auf der Webseite anmeldet hat und auf der man zu den Analysetools wechseln kann, die wiederum unter Subdomains zu finden sind.

    Das klingt nach einer eher kleinen Aufgabe, die in ein paar Stunden zu erledigen sein sollte; das PHP-Loginsystem aus dem Wiki erfüllt alle Anforderungen an das Backend dafür. Wenn du dich mit Java/JSP/Tomcat noch nicht ausreichend auskennst, wird das für eine vernünftige Lösung eher Einarbeitungszeit im Monatebereich kosten. Ich würde damit rechnen, dass man sich mindestens in MVC (oder ein daraus abgeleitetes Schema); JSP; Servlets; der verwendeten Servlet Engine; wenn man mit Datenbanken arbeiten möchte JDBC, dann vermutlich auch einem O/R-Mapper wie Hibernate; und dann vernünftigerweise ein Framework wie Struts, Spring oder zahlreiche andere, die sich dann um den größten Teil der vorher gelernten Dinge kümmern. Ein simples Loginsystem mit Spring sieht dann auch erstmal relativ einfach aus, solange man nichts daran ändern will.

    Gibt es dafür gratis Java Templates oder andere Vorlagen?

    Das Wort Template ergibt in diesem Zusammenhang keinen Sinn, wenn du Java und Templates in einem Satz verwendest fällt mir nicht viel mehr ein als Generics und sosnt steht das Wort quasi für Designschablonen für Webseiten-Frontends, was dann mit Java wieder nichtmehr viel zu tun hat.

    Sollte ich ein CMS verwenden?

    Sofern du eins brauchst, ja; für die obig genannte Aufgabe wäre das ziemlicher Overkill, die meisten in Java entwickelten Dinge, sind eher für große Strukturen entwickelt, solange du die Userbasis in deinem Unternehmen nicht in einer LDAP-Struktur unterbringen musst, ist das vermutlich zu klein.

    Könnt Ihr mir paar Empfehlungen und Hinweise geben wie man mit dem Backend eines Frontends beginnt? Ich hab mir schon ein paar Skizzen gemacht wie es aussehen soll, weiß aber nicht ob ich jetzt alles per Hand programmieren sollte oder ob man Tools oder Vorlagen verwendet.

    Man entwirft ein Modell der Applikation, plant die nötigen Views und denkt darüber nach, wie die Controller aussehen, die das ganze verbinden.

    mfg
    Woodfighter

    1. Hm, ich kann in Java alles im Backend machen was ich machen will. Java ist quasi genau mein Ding, davon weiche ich nicht ab.

      Die Komunikation im bezug auf die Analysen mit Java Backend müssten wohl so ablaufen:

      User <-> Frontend <-> Java <-> Datenbank (die von einem anderen Java Prozess befüllt wird, unabhängig vom User)

      Angenommen ich mache ein PHP Frontend. Mit was mache ich dann die GUI für das Java zeugs? Und wie sorge ich dafür, dass diese GUI optisch nicht zusehr von den GUI's meiner JavaScript Tools abweicht? (würde ja sonst scheiße aussehen...)

      1. Aloha ;)

        User <-> Frontend <-> Java <-> Datenbank (die von einem anderen Java Prozess befüllt wird, unabhängig vom User)

        Angenommen ich mache ein PHP Frontend. Mit was mache ich dann die GUI für das Java zeugs? Und wie sorge ich dafür, dass diese GUI optisch nicht zusehr von den GUI's meiner JavaScript Tools abweicht?

        Machst du nicht - du machst dann tatsächlich bei diesem Systemaufbau (wenn das "Java" für dich ein Fixpunkt mit nicht-marginaler Funktionalität ist) das Frontend komplett mit jsp. Setze hier jsp statt Frontend ein und füge noch die tatäschlichen Frontend-Techniken ein, dann wirst du wahrscheinlich glücklich damit.

        Also:

        User <-> HTML/CSS/Javascript <-> jsp <-> Java <-> Datenbank

        Grüße,

        RIDER

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
      2. Aloha ;)

        Und...

        Angenommen ich mache ein PHP Frontend. Mit was mache ich dann die GUI für das Java zeugs? Und wie sorge ich dafür, dass diese GUI optisch nicht zusehr von den GUI's meiner JavaScript Tools abweicht? (würde ja sonst scheiße aussehen...)

        angenommen, du würdest das wirklich tun, also wirklich ein PHP Frontend benutzen (was wahrscheinlich eher keinen Sinn macht, dann würdest du wahrscheinlich so vorgehen:

        User <-> HTML/CSS/Javascript <----> php
                                        ^
                                        L___________include__________> jsp <-> Java <-> Datenbank
                                        (statisch generierter Inhalte)
        

        Aber wie gesagt - da fehlt dann wieder der Grund, überhaupt PHP (also eine zweite Template-Engine und Serverinfrastruktur) zu nutzen, wenn der Java-Teil schon so umfangreich ist.

        Grüße,

        RIDER

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        # Facebook # Twitter # Steam # YouTube # Self-Wiki # Selfcode: sh:) fo:) ch:| rl:) br:^ n4:? ie:% mo:| va:) js:) de:> zu:} fl:( ss:) ls:[
      3. Hej hmm,

        leider bin ich zu selten hier, um deine Programmier-Kenntnisse einschätzen zu können. Daher nimm es mir bitte nicht übel, wenn ich mich irre. Mich irritieren in Deinen Postings ein paar Dinge. Einerseits behauptest du:

        Java ist quasi genau mein Ding, davon weiche ich nicht ab.

        Das klingt nach ziemlich viel Erfahrung!

        Die Komunikation im bezug auf die Analysen mit Java Backend müssten wohl so ablaufen:

        User <-> Frontend <-> Java <-> Datenbank (die von einem anderen Java Prozess befüllt wird, unabhängig vom User)

        Das und andere Fragen/Aussagen hier klingen zögerlich und unsicher. Auch der Wunsch nach "fertigen" Lösungen deutet eher auf wenig Erfahrung hin.

        Es gibt Unterstützung (im PHP-Bereich z. B. ZEND-Frame-Work u. a.), die Dir eine Menge Arbeit abnehmen können, nachdem du gelernt hast, sie zu beherrschen.

        Eine zusammenklickbare Fertiglösung ist das aber nicht.

        Das ist auch prinzipiell nicht möglich. Hier wurde ja bereits erwähnt, dass Templates händisch erstellt werden. Daher ist es auch egal, ob Du das Backend mit Java/JSP umsetzt und das Frontend mit PHP. Du musst eh für beides eigene Templates bauen.

        Wenn Dir das bisher nicht klar war, solltest du allerdings wirklich schauen, ob es nicht doch eine Fertiglösung tut - also ein CMS von der Stange, dessen Möglichkeiten du ggfs. missbrauchst, um zu Deinem gewünschten Ergebnis zu kommen (z. B. Beiträge in Wordpress oder Nachrichten in TYPO3 so verschlagwortest, dass du im Frontend mit (vorgefertigten) Suchanfragen, sinnvolle Ergebnisse bekommst).

        Ob das für Deinen Zweck reicht, weiß ich nicht. Es ist auch keine wirklich saubere Lösung und kann nicht wirklich eine Geschäftslogik abbilden.

        Es hat aber einen wesentlichen Vorteil gegenüber einer selbst gebauten Anwendung: Sicherheit!

        Gerade eine Nutzerverwaltung ist komplex und sicherheitsrelevant. Wenn Dir Nutzerdaten verloren gehen, kommst du in Teufels Küche!

        Angenommen ich mache ein PHP Frontend. Mit was mache ich dann die GUI für das Java zeugs? Und wie sorge ich dafür, dass diese GUI optisch nicht zusehr von den GUI's meiner JavaScript Tools abweicht? (würde ja sonst scheiße aussehen...)

        Wenn ich so etwas lese, würde ich Dir die Nutzerverwaltung eher nicht zutrauen. - Wie gesagt, wenn ich mich irre, hau es mir einfach um die Ohren. ;-)

        Dazu kommt: auch ein GUI zu bauen hat ja viel mehr mit Konzeption (also mit Nutzerführung, Usability, On-Page-SEO, Accessibility, Conversion usw) zu tun, als mit Technik. Die Beherrschung von HTML und CSS, eventuell JavaScript sind da eher die Voraussetzungen, als die eigentliche Arbeit.

        Auch aus diesem Grund, kann die Verwendung eines vorhandenen CMS nützlich sein, da es bereits gute Voraussetzungen mitbringt, damit du dich auf das Konzept konzentrieren kannst. Die benötigten Elemente für das Backend (Nutzerregistrierung, DB-Konzept, Rollen-Management usw) und das Frontend (Menüs, Inhaltsbereiche, Formular-Assistenten) sind ja in der Regel bereits vorhanden. Du musst diesen Rahmen "nur" noch sinnvoll befüllen.

        Ob eines der am Markt erhältlichen CMSe deinen Anforderungen genügt, weiß ich freilich nicht. Problem: auch mit diesem CMS wirst du dich wieder auseinander setzen müssen.

        Das gilt umso mehr, wenn das verwendete CMS (wie z. B. TYPO3) eigentlich selbst nciht mehr als ein Framework ist - dass dir dafür die größtmögliche Freiheit gibt. Gerade darum ist TYPO3 aber wiederum mit erinem hohen Einarbeitungsaufwand verbunden.

        Bei Wordpress fällt im Gegensatz dazu der Einstieg recht leicht - um dann aber individuelle Anwendungen damit zu entwicklen, muss auch dieses System wieder bis in die letzte Ecke kennen - vor allem seine Beschränkungen.

        Kurz gesagt (ohne Dir den Mut nehmen zu wollen), egal wofür du dich entscheidest: RTFM!

        Ein Fertig-Lösung für genau Dein Problem wird es nicht geben...

        Marc

  5. Hi Leute,

    ich habe mir auf einem VM Server Tomcat eingerichtet. Ich habe bereits eine Webseite mit PHP und Contau gebastelt, aber dass arbeiten mit php gefällt mir nicht. Macht es Sinn das Backend vom Frontend einer Webseite komplett mit Java/JSP zu basteln?

    Ich habe ein Framework entwickelt, damit kann derjenige, der damit Webanwendungen produziert, dies wahlweise mit Perl oder PHP machen. Einzelnen Seiten am Back- oder Frontend ist es nicht anzusehen, ob sie mit Perl oder PHP erzeugt wurden, sie fügen sich nahtlos ineinander. Und letztendlich genügen in den meisten Fällen zum Programmieren mit diesem Framework Grundkenntnisse.

    Oder einfacher gefragt: Könnt Ihr mir paar Empfehlungen und Hinweise geben wie man mit dem Backend eines Frontends beginnt?

    Mein Framework unterscheidet nicht zwischen Backend, Frontend, PRC's oder Webservice. Inhalte sind nicht an URL's gebunden, genausowenig wie Zugriffskontrolle. Mein Framework bindet Subklassen an URL's und allein eine Konfiguration entscheidet darüber, was die Subklasse macht: Backend oder Frontend, XML-RPC, SOAP, Rest oder andere Webservices. Oder ob ein bestimmter URL Content nur auslieferrt oder auch entgegennimmt.

    Beispielsweise sieht Ottonormaluser auf /ankara.html weiße Kaninchen, ein Benutzer der Gruppe root hingegen kann auf derselben Seite auch schwarze Schafe einstellen odr einen Shop betreiben.

    Optimal freilich ists Du entwickelst alles nur in einer Programmiersprache. Es lohnt sich jedoch, darüber nachzudenken, Templates so einzusetzen, dass sie unabhängig von der Programmiersprache und auch unabhängig von der Templateengine sind.

    Auffi gehts ;)

  6. ok, ich hab nochmal gründlich nachgedacht. was haltet ihr von folgendem vorgehen:

    gegebene habe ich neben dem ganzen code:

    1. ein komplettes webpacket mit domain etc., hier kann ich nix selber installieren und java geht hier nicht -> server1

    2. eine vm auf der ich alles installieren kann was ich möchte -> server2

    ich könnte meinen ganzen javascript und php code zusammen mit einem neuen schöneren template in meinen server1 tun und mein java backend in meinen server2. beide server könnten über eine mysql datenbank kommunizieren, die auf meinem server2 läuft. ein webservice der leider notwendig ist, würde dann auf server1 laufen und gegebenenfall anfragen an die mysql datenbank stellen.

    user <-> frontend <-> server1 <-> mysql job datenbank

    auf dem server2 loopt ein java timer alle paar sekunden über die job datenbank und startet java analysen, sofern ein entsprechender eintrag in der job datenbank dies verlangt. das ergebniss der analysen wird dann wieder in die job db geschrieben und vom frontend ausgelesen und in die gui geschrieben.

    der user kommuniziert dann mit dem zeug auf meinem server1 und java analysen werden auf meinem server2 durchgeführt, meinen tomcat auf server2 kann ich dann auch abschalten.

    was haltet ihr davon? leider weiß ich nicht, "ob man das so macht" oder ob man das anders lösen sollte

  7. Kennt jemand zufällig einen gratis Gui Builder für JavaScript? Wo ich mir einen JavaScript Gui zusammenklicken kann?

    1. Tach,

      Kennt jemand zufällig einen gratis Gui Builder für JavaScript? Wo ich mir einen JavaScript Gui zusammenklicken kann?

      du meinst einen HTML/CSS/JS-WSYWIG-Editor?

      mfg
      Woodfighter

      1. jo. was verwendet man da am häufigsten?

        1. Tach,

          jo. was verwendet man da am häufigsten?

          keine, HTML bzw. HTML-Templates werden meist von Hand geschrieben.

          mfg
          Woodfighter