Welche Programmiersprache

  • Hallo Leute! :wave:
    Ich muss ein relativ einfaches Administrationstool für eine mittelgroße Firma Programmieren, welches mittels Barcodeleser Produkte aufnehmen und verwalten kann. Also alles mögliche (Lagerstand, Lagerwert, Bezahlt, Schulden, Kunden, Bestellungen, Rechnungen drucken usw.)
    Diese Software soll auf 3 PCs laufen und auf die selbe Datenbank zugreifen.

    Nun die Frage, mit welcher Programmiersprache realisiere ich das am Besten? Ich kann daweil leider nur PHP, SQL und ein wenig Java.
    Ich würde gerne eine MySQL Datenbank benutzen.

    Vielleicht habt ihr ja irgendwelche Vorschläge?

    Danke!
    spotnik

  • Spricht ja eigentlich e nix gegen PHP&MySQL, oder?
    lediglich für den barcode reader wirst du wahrscheinlich einen client brauchen... ob dies mit java realisierbar ist kann ich nicht sagen, täte aber hier C o.ä. verwenden
    ich weis nicht genau wie die barcodereader hinsichtlich der software funktionieren, aber kann es mir wie oben beschrieben vorstellen :)

    Thomas

  • Hallo!
    Das mit dem Barcodeleser ist kein Problem.
    Naja, was gegen PHP spricht ist, dass ich damit keine Rechnungen automatisch drucken kann. Ich könnte mir mit PHP nur eine pdf-Datei erstelle lassen und die müsste ich dann "händisch" ausdrucken. Viel zu umständlich! Der Druckvorgang sollte im Hintergrund ablaufen, ohne das ich je die Seite am Bildschirm angezeigt bekomme. Ich hoffe ihr versteht was ich meine!?

    Manuel

  • Hallo!
    Das mit dem Barcodeleser ist kein Problem.
    Naja, was gegen PHP spricht ist, dass ich damit keine Rechnungen automatisch drucken kann. Ich könnte mir mit PHP nur eine pdf-Datei erstelle lassen und die müsste ich dann "händisch" ausdrucken. Viel zu umständlich! Der Druckvorgang sollte im Hintergrund ablaufen, ohne das ich je die Seite am Bildschirm angezeigt bekomme. Ich hoffe ihr versteht was ich meine!?

    Manuel

    auch das habe ich erfolgreich realisiert. Die PDFs werden auf einem Netzwerkshare abgelegt, auf den PCs (Windows) läuft ein kleines WSH-Script das die Shares überwacht und bei Bedarf automatisch ausdruckt.

  • C für so einen Client? Da würde ich eher zu Java greifen, macht keinen Sinn, sich dafür C anzutun. Oder meinetwegen Python, Ruby, irgendein komisches .NET Zeug oder sonstwas...
    Zu PHP sag ich nichts...

  • auch das habe ich erfolgreich realisiert. Die PDFs werden auf einem Netzwerkshare abgelegt, auf den PCs (Windows) läuft ein kleines WSH-Script das die Shares überwacht und bei Bedarf automatisch ausdruckt.

    Meiner Erfahrung nach führen Bastellösungen immer zu Chaos früher oder später.

    Ich würde ein Java SWT-App empfehlen zu bauen, wenn Java-Kenntnisse schon da sind. Backend einfach direkt mit MySQL via Netzwerk, oder wenns was aufwändigeres sein muss (zB irgendwelche autonomen Berechnungen machen), dann mit PHP&MySQL.

    Größere Dinge (und so ein Ding *ist* was größeres) sollte man nie mit komplett neuen Tools anfangen, da verhaut man sich zu viel wenn man falsch anfängt.

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • Meiner Erfahrung nach führen Bastellösungen immer zu Chaos früher oder später.


    Individualsoftware ist imho generell eine Bastellösung.
    Ich muss zugeben, das WSH-Skript ist aus anderen Belangen gekommen. Es gibt einen Drucker, auf dem bestimmte Dokumente ausgedruckt werden sollen. Diese werden ausgelöst, sobald bestimmte Rahmenbedinungen erfüllt sind...blabla. Aber, Chaos war vorher, jetzt nimma ;)

    MySQL, PostgreSQL, OracleSunWTF, M$SQL ist so belanglos zu fragen. Fragst 10 Leute kriegst 12 Meinungen. Mein Tipp: ist PostgreSQL ;)

    Zu: Java, PHP, C, .NET(#~*), Brainfuck, lolcode,... : Nimm die mit der du am vertrautesten bist oder du es dir leisten kannst/willst dich darin einzuarbeiten.
    Ich bin grundsätzlich ein Freund von Systemen, die dem Client so wenig wie möglich abverlangen. Der Server soll hackeln, der Client soll präsentieren.

  • Der Server soll hackeln, der Client soll präsentieren.


    bei wenigen (hier: 3) clients mag das ja stimmen, wenns mal in die richtung von hunderten clients geht gilt genau das gegenteil: mach nix am server, was der client auch kann.
    gut, vielleicht nicht wirklich alles. es gibt z.b. einige websites, die daten nur clientseitig auf konsistenz überprüren, wenn man dann javascript ausschaltet kann man interessante dinge anstellen :)

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  • bei wenigen (hier: 3) clients mag das ja stimmen, wenns mal in die richtung von hunderten clients geht gilt genau das gegenteil: mach nix am server, was der client auch kann.

    Sag das mal den World of Warcraft-Programmierern, die eifrigst gegen Cheater kämpfen :)

    [font=verdana,sans-serif]"An über-programmer is likely to be someone who stares quietly into space and then says 'Hmm. I think I've seen something like this before.'" -- John D. Cock[/font]

    opentu.net - freier, unzensierter Informationsaustausch via IRC-Channel!
    Hilfe und Support in Studienangelegenheiten, gemütliches Beisammensein, von und mit Leuten aus dem Informatik-Forum!

  • bei wenigen (hier: 3) clients mag das ja stimmen, wenns mal in die richtung von hunderten clients geht gilt genau das gegenteil: mach nix am server, was der client auch kann.
    gut, vielleicht nicht wirklich alles. es gibt z.b. einige websites, die daten nur clientseitig auf konsistenz überprüren, wenn man dann javascript ausschaltet kann man interessante dinge anstellen :)


    Jetzt wirds schon spezifischer.
    Wie du beschrieben hast, gehts mir da wirklich um den Sicherheitsaspekt.
    Wenn der Client etwas berechnet und an den Server schickt muss der Server die Berechnungen verifizieren bevor weiterverarbeitet wird. Dazu muss der Server die Sachen im schlimmsten Fall selbst neu berechnen. Damit kann man es sich am Client sparen. Wir wissen alle, dass wir keine Daten ungeprüft annehmen.
    Wenn wir hier von einer Warenwirtschaft reden, wird das erste Bottleneck die Datenbank sein. Die kann ich sowieso nicht auf die Clients auslagern. Die Postgres ist da richtig nett beim skalieren.

  • Wie du beschrieben hast, gehts mir da wirklich um den Sicherheitsaspekt.


    das meine ich ja mit "nicht alles", dass datenprüfung am server gemacht werden sollte wollte ich auch mit dem beispiel ausdrücken, das ich angeführt habe.
    ich habe eher an gewisse berechnungen gedacht, berechne ich daten oder sende ich die rohdaten gleich an den client und lasse den rechnen. sicher gibt es hier auch weitere aspekte: sicherheit, datenvolumen, etc.
    es gibt einfach situationen, wo man den server nicht mit dingen belasten soll, die der client auch sinvoll machen kann.

    "All through my life I've had this strange unaccountable feeling that something was going on in the world, something big, even sinister, and no one would tell me what it was."
    "No," said the old man, "that's just perfectly normal paranoia. Everyone in the Universe has that."

    😁😂😃😄😅😆😇😈😉😊😋😌😍😎😏😐😒😓😔😖😘😚😜😞😠😡😢😣😥😨😩😪😫😭😰😱😲😳😵😶😷

  • Hmm. Ist aber eher unüblich, dass der Client mehr Daten bekommt als er braucht. Man kann imo ruhig den Server arbeiten lassen. Der Einsatz von ThinClients ist bei Warenwirtschaftsys gar nicht so abwegig - daher auch Rechenlast evntl. auslagern (in diesem Beispiel).

    Zitat

    Wenn wir hier von einer Warenwirtschaft reden, wird das erste Bottleneck die Datenbank sein. Die kann ich sowieso nicht auf die Clients auslagern. Die Postgres ist da richtig nett beim skalieren.

    Wenn PgSQL bei 3 Clients schon in die Knie geht hätten wir ein Problem *g*

  • cool , danke alle zusammen! ich denke von der rechenlast hab ich nicht so viel probleme, es sind eben textdaten und von denen nicht arg viel.
    Meine Sorge ist das Drucken, wie ich sehe brauch ich da anscheinend echt einen speziellen Client (also nicht IE)?

    Drucken, @DomiN: es sollen Rechnungen gedruckt werden also, dann müsst ich im client die html Seite nach einem <print> tag scannen, der vom php kommt und des dann drucken (die pdf seite am server zum beispiel)

    wie klingt das? irgendwie umständlich vielleicht??

    ich möcht mit einem Link (oder Button) auf der php seite die rechnung in der datenbank speichern und drucken, ohne drucker-dialogfenster

    schönen Dank bisher°!°


  • ich möcht mit einem Link (oder Button) auf der php seite die rechnung in der datenbank speichern und drucken, ohne drucker-dialogfenster

    Wenn du den Link anklickst, dann wird ein PDF $irgendwo abgespeichert. $irgendwoanders läuft ein Programm (in meinem Fall ein wsh-script) welches $irgendwo nach neuen pdf-dateien überwacht, bei Fund druckt und danach löscht.

  • Würde auch zu einer PHP oder einer anderen (JSP, ASP .NET,...) greifen. Das Problem bei Client Applikationen ist halt, du schickst SQLs an den SERVER. Wird vielleicht bei dir nicht der Fall sein, könnte aber dann schon mal passieren, dass da jemand SQL Injection oder andere Spielerein vor hat. (Da die SQLs ja am Client prepared werden) Es gibt auch oft Befehele und unterstüzung DB-seitig sowas zu vermeiden (MySQL hat sowas wenn ich mich nicht täusche, muss aber explizit gemacht werden), sonst müsstest erst Recht einen serverseitigen Dienst laufen lassen, der dir das macht.

    Außerdem hast dann noch das Problem, dass du einen (meherere) User anlengen musst und damit kann dann schon viel Unfug betrieben werden (vor allem da entweder den Usern diese Daten bekannt sein müssen oder in irgendeiner Form (Registry, Files, ODBC) am Client gespeichert sein müssen, Serverseitig nicht, da steht alles in deinem PHP/JSP/APS .NET -file oder sonst wo, und es braucht auch niemand anderer außer dein Server darauf zuzugreifen.

    Es wäre aber auch eine Kommunikation mit Java/C oder einem anderen Client möglich und der übergibt dann parameter fürs schreiben an eine Serverpage (PHP/JSP). Der Client könnte dann einfach nur Lese-Rechte auf die Datenbank haben. Mit C/Java könntest dann auch schön auf Drucker/Barcodescanner zugreifen. Selbst bei Thin-Clients wäre das nicht schlimm da diese dann am Server-Laufen( das einzige Problem sind dann die lokalen Geräte, falls die nicht mitgemappt werden)

    mfg Schakal

    mfg Schakal

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!