Projekt in PHP oder lieber C++ ?



  • Hallo,

    ich werde für mein Abschlussprojekt eine Datenbank für Akkordlohnabrechnungen mit umfangreicher grafischer Oberfläche programmieren (es sollen mehrere Ansichten dargestellt werden, Berechnungen, Daten eingelesen werden, aus Eingabefeldern zurückgeschrieben, und das aufgeteilt auf mehrere Register)

    gelernt habe ich C++ mit Borland Builder 5, mySQL mit XAMPP, HTML

    umsetzen würde ich das allerdings mit PHP, MySQL und Zend, wobei die Daten ausm ERP in DB2 vorliegen 😢

    haltet Ihr das für eine gute Lösung? wie schwer/aufwendig wird es sich die nötigen Kenntnisse in PHP und Zend für das Projekt anzueignen?

    danke im Voraus



  • Von Zend weiß ich nichts, aber wenn du mit C++ und der Borland VCL vertraut bist, warum dann PHP nehmen?

    Plattformunabhängigkeit brauchst du ja wohl nicht und schneller fertig wirst du auch nicht werden. Nimm also deine Brot und Buttersprache.



  • Ich behaupte mal, wenn du programmieren kannst (grade C oder C++), dann ist der Sprung zu einer anderen Sprache klein.
    Was du aber nicht unterschätzen solltest: der Sprung Gui-Anwendung zu Web-Anwendung kann schwer sein.
    Damit hatte ich meine Probleme (von Gui(C++) -> Web mit Asp.Net(C#)). Die Sprache war schnell gelernt.

    Gibt es denn einen zwingenden Grund nun zu PHP zu wechseln?

    Jeder Tipp wird falsch sein: Ich würde es in C++ machen (sofern es nicht einen guten Grund für PHP gibt bzw. einen Grund gibt eine Web-Anwendung zu machen).

    Ich habe fast 3 Jahre Web-Anwendungen gemacht: nie wieder! 😉



  • Hi,

    "mit umfangreicher grafischer Oberfläche" spricht doch schon alleine für C++Builder. Eine bessere Unterstützung wirst Du da kaum finden, höchstens vergleichbar noch Delphi, aber das ist ja auch von Borland.
    Wenn es um Lohnberechnungen geht, dann würde ich noch einen anderen Gesichtspunkt ins Auge fassen, nämlich die Manipulierbartkeit bzw. Minipulationssicherheit. Wenns um Lohn und Geld geht, sehe ich das als den wichtigsten Gesichtspunkt an.
    Scriptsprachen bieten immer eine Möglichkeit, das irgendwie zu knacken. Eine compilierte Exe ist dagegen ein Ding im Ganzen wo man (außer Superprofis) nichts dran manipulieren kann.
    Außerdem Sprachen lernen ist Schnick und Schnack. Aber was nutzt Dir die Sprache allein. Guck Dir doch mal ein größeres Projekt im Quelltext an und vergleiche mal, wieviel davon ist die Sprache selber, und wieviel machen die einzelnen Bibiotheksfunktionen, die Du bei einer neuen Sprache kaum in der gleiche Form wiederfindest und bei jeder neuen Sprache erst wieder neu lernen must.

    Gruß Mümmel



  • muemmel schrieb:

    Scriptsprachen bieten immer eine Möglichkeit, das irgendwie zu knacken. Eine compilierte Exe ist dagegen ein Ding im Ganzen wo man (außer Superprofis) nichts dran manipulieren kann.

    Begründung?



  • An das Skript kommst du ja normal nicht ran. Du siehst doch nur die Ausgabe des Skripts.
    Um dran zu kommen und es zu Manipulieren müsstest du an den Server ran...
    Da stell ich mir ne Exe, die du ja "in der Hand" hast leichter zu manipulieren vor.



  • Hi,

    Mal kurz auf nen Schwatz in den Serverraum und ne Tasse Kaffee vorbeigebracht... Wenn de Adminna mal kurz weg ist ran ans Ding.
    Scripte sind von der Sache her immer manipulierbar. Ob der einzelne nun ran kommt oder nicht sei dahingestellt. Im Zweifelsfalle wirds schwer, zu beweisen daß da keiner ran konnte. Ne Exe kann dagegen bei Bedarf sogar selbst über eine Kontrollsumme testen, ob sie unmanipuliert ist.

    Gruß Mümmel



  • Und Skripte kann ich nicht hashen?



  • muemmel schrieb:

    Hi,

    Mal kurz auf nen Schwatz in den Serverraum und ne Tasse Kaffee vorbeigebracht... Wenn de Adminna mal kurz weg ist ran ans Ding.
    Scripte sind von der Sache her immer manipulierbar. Ob der einzelne nun ran kommt oder nicht sei dahingestellt. Im Zweifelsfalle wirds schwer, zu beweisen daß da keiner ran konnte. Ne Exe kann dagegen bei Bedarf sogar selbst über eine Kontrollsumme testen, ob sie unmanipuliert ist.

    Gruß Mümmel

    Da wirst du die Logindaten brauchen.
    Ausserdem machst du dich dann nicht nur an einem Skript zu schaffen, sondern an fremden Eigentum und dein Handeln hat u.U. Konsequenzen auf andere Dinge...
    Insgesamt ne gefährliche Sache.

    Die Exe kann ich manipulieren und im schlimmsten Fall die Datenbank (der Exe) zerschießen (nicht aber anderen Datenbanken beeinflussen oder den Server).

    Die Exe kann ich in Ruhe betrachten und mit ihr rumspielen - das ist in einem Serverraum auch nicht unbedingt gegeben 😉

    Nur, weil das Skript im Klartext (auf einem Server) rumliegt und die Exe etwas kryptisch aussieht, ist sie nicht sicherer.



  • Auch ich würde dir raten das ganze in C++ zu machen, wenn es nicht wirklich wichtige Gründe dafür gibt das ins Web auszulagern.
    Du musst grade bei der GUI Oberfläche im Web bedenken, dass du auf mehrere Browser testen musst und gegebenenfalls CSS Hack Dateien für die einzelne Browser anlegen. Das macht wirklich kein spaß und kostet unter Umständen sehr viel Zeit, glaubs mir, ich kann da ein Lied davon singen.



  • muemmel schrieb:

    "mit umfangreicher grafischer Oberfläche" spricht doch schon alleine für C++Builder. Eine bessere Unterstützung wirst Du da kaum finden, höchstens vergleichbar noch Delphi, aber das ist ja auch von Borland.

    .NET oder WPF.

    Das Argument mit Borlands VCL galt nur bis vor 4 Jahren, ist aber überholt.



  • muemmel schrieb:

    Hi,

    Mal kurz auf nen Schwatz in den Serverraum und ne Tasse Kaffee vorbeigebracht... Wenn de Adminna mal kurz weg ist ran ans Ding.
    Scripte sind von der Sache her immer manipulierbar. Ob der einzelne nun ran kommt oder nicht sei dahingestellt. Im Zweifelsfalle wirds schwer, zu beweisen daß da keiner ran konnte. Ne Exe kann dagegen bei Bedarf sogar selbst über eine Kontrollsumme testen, ob sie unmanipuliert ist.

    Gruß Mümmel

    OffT:Du hast absolut nix kapiert. Mit der Denke kommt man zu den
    berühmten Security-By-Obscurity Ansätzen.

    OnT:
    Nix von beiden, ist beides dreckiges Gefrickel. Nimm C# oder Java.



  • danke für die vielen Antworten 🙂 Sicherheit spielt erstmal keine Rolle, da das Programm von einer Kollegin aus der Perso benutzt werden soll um die gebuchten Daten zu kontrollieren und "besondere" hinzuzufügen. Wir benutzen ThinClients und eine gut abgeschotteten Server Raum.

    Die Oberfläche kann ich mir momentan mit einem Browser besser vorstellen wie mit C Builder5. Was ich nicht weis ist wie ich die Datenbank innerhalb C++ bearbeite (der Schulunterricht hat leider nach Vererbung aufgehört) kann ich da auch SQL Code einbauen wie mit PHP (hab ich bis jetzt auch nur gelesen) ?

    sry aber da ich in der Art noch nie was Programmiert habe kann ich mir das Momentan leider nur schwer vorstellen 😞

    ist die Einarbeitungszeit in C# oder Java nicht noch aufwendiger wie bei PHP? habe damit noch nie etwas gemacht



  • Der MySQL-Api kannst du auf jeden Fall SQL-Statements übergeben. Für DB2 müsstest du halt in der Doku der verwendeten API nachsehen.



  • gochtel schrieb:

    ist die Einarbeitungszeit in C# oder Java nicht noch aufwendiger wie bei PHP? habe damit noch nie etwas gemacht

    Ja, aber die Einarbeitungszeit hält sich in Grenzen.
    Ich würde nach diesen Kriterien entscheiden:
    Soll es schnell fertig sein und ein Webinterface ohne viel Grafikgedöns haben: PHP
    Soll es eine Standalone-EXE für eine spezielle Plattform sein: C++
    Soll es eine professionelle Webanwendung werden: Java oder C#

    Bei PHP weiß ich allerdings nicht, wie kompliziert eine DB2-Anbindung ist. Mit MySQL läuft PHP aber spitze.



  • guenni81 schrieb:

    Auch ich würde dir raten das ganze in C++ zu machen, wenn es nicht wirklich wichtige Gründe dafür gibt das ins Web auszulagern.

    C++ und Web sind ja keine Wiedersprüche. Da gibt es doch das eine oder andere System, mit dem man das machen kann.

    Dennoch muß ich sagen, daß eine umfangreiche grafische Oberfläche mit Webmitteln eher schwieriger ist, als mit einer normalen GUI Anwendung.



  • Andromeda schrieb:

    schnell fertig sein und ein Webinterface ohne viel Grafikgedöns haben: PHP

    Zeit habe ich ab Montag ca. 5-7 Tage 😞

    Toll aussehen soll das ganze nicht, eher zweckerfüllend:
    (es sollen mehrere Ansichten dargestellt werden, Buttons um Berechnungen, Datensätze anzeigen, Daten eingelesen werden, aus Eingabefeldern zurückgeschrieben, und das aufgeteilt auf mehrere Register(wiederholt sich aber dort einiges,...)

    ist das wirklich in HTML/PHP so schwierig? reicht da nicht für jedes Register eine eigene Seite und als Menü mittels Frames zwischen den Seiten/Register umschalten!? Buttons gehen auch abe wie mach ich die Ansichten auf die Tabellen?

    Andromeda schrieb:

    Bei PHP weiß ich allerdings nicht, wie kompliziert eine DB2-Anbindung ist. Mit MySQL läuft PHP aber spitze.

    wie aufwendig ist es die DB2 in MySQL umzuwandeln?



  • gochtel schrieb:

    Andromeda schrieb:

    Bei PHP weiß ich allerdings nicht, wie kompliziert eine DB2-Anbindung ist. Mit MySQL läuft PHP aber spitze.

    wie aufwendig ist es die DB2 in MySQL umzuwandeln?

    Das weiss ich nicht. Wenn du schon was für DB2 hast, dann könnte es schwer werden, wegen unterschiedlicher SQL-Dialekte.
    Mit PHP kannst du aber auch eine DB2 ansprechen: http://de.php.net/ibm_db2
    Wenn du nur ein paar Tage zeit hast dann ist PHP genau das Richtige. Damit gehts ratz-fatz



  • hätte gern die DB2 in MySQL umgewandelt bevor ich diese in meienm Programm verwende, kennt da jemand zufällig ein geeignetes Tool?


Anmelden zum Antworten