Frage

Unser Unternehmen verfügt über eine Point of Sale-System mit vielen Extras, wie Bestell- und Empfangsfunktionalität, Vertrieb und Auftragshistorie etc. Unser Hauptproblem ist, dass das System nicht richtig von Grund auf neu entwickelt wurde, so dass es zu lange dauert Bugfixes und behandeln Anfragen unserer Kunden. Auch die aktuelle Technologie, die wir verwenden (Progress Datenbank, Fortschritt 4GL für die Sprache) verursacht einiges an Lizenzkosten für unsere Kunden aufgrund mutli-Benutzerlizenzgebühren für Datenbankverbindungen etc.

Nach viel Diskussion gesucht wird, wie wir wahrscheinlich von Grund auf neu beginnen über (während das aktuelle Produkt zumindest beibehalten wird für den Augenblick). Wir suchen nach ein paar Dinge:

  1. Erstellen Sie das System mit einem netten GUI-Frontend (derzeit CHUI und die Anwendung wurde nicht in einer Art und Weise aufgebaut, die uns das vordere Ende ... keine Schichtung oder Trennung von Geschäftslogik und GUI Redesign ermöglicht. ..shudder).

  2. Erstellen Sie das System mit der Fähigkeit, unterschiedliche Funktionen modularisieren, so das Produkt müssen nicht alle Funktionen enthalten. Dies würde die Kosten niedrig halten für unsere aktuellen Kunden nach unten, die grundlegende Funktionalität und einen niedrigeren Preis wollen. Die Glocken und Trillerpfeifen würde für diejenigen zur Verfügung, die sie wollen.

  3. richtige Design-Muster Verwenden Sie das Produkt einfach hinzufügen oder einen beliebigen Teil zu machen jederzeit ändern (das heißt, die Datenbank ändern oder das vordere Ende ändern, ohne dass die Anwendung oder das meiste davon neu zu schreiben). Dies ist heute ein Problem, weil der Code Fortschritt 4GL direkt gegen die Datenbank kompiliert wird. Kleine Änderungen in der Datenbank erfordern viele Code neu kompilieren.

Unser neues System Linux basieren, mit der Möglichkeit, eine Client-Anwendung einer Funktionalität von einem oder mehreren Fenstern Box.

Also, was ich suche, ist irgendwelche Vorschläge, auf der Datenbank und / oder Rahmen oder Programmiersprache (n) könnte jemand für diese Art von Produkt empfehlen. Jeder, der Erfahrung auf diesem Gebiet hat vielleicht in der Lage uns in die richtige Richtung zu zeigen oder sogar einige Ideen haben, was zu vermeiden. Wir haben .NET und SQL Express betrachtet (wir keine Unternehmensebene DB müssen), aber das würde uns zu Fenster begrenzen (soweit ich weiß, sowieso). Ich habe für das Schreiben von .NET-Code in einer Linux-Umgebung von Mono zu hören, aber ich weiß nicht viel über ihn noch nicht. Wir haben auch eine Java und MySQL-basierte Implementierung berücksichtigt.

Um zusammenzufassen suchen wir folgendes zu tun:

  1. Halten Sie die Lizenzkosten nach unten auf die Technologie verwenden wir das Produkt (Oracle, igitt! MySQL, schön.)

  2. entwickeln
  3. eine Lösung liefern, die leicht zu pflegende und erträglich ist.

  4. Eine Lösung, die eine Komponente, die laufen auf „alte“ Hardware durch ein CHUI vorderen Ende. (Einige unserer Kunden haben mehr als 40 Terminals, die eine Menge Geld, um einen PC zu konvertieren über sein würde).

Vorschläge geschätzt würde.

Danke

[UPDATE] Ich sollte anmerken, dass wir derzeit eine Gesamtkostenanalyse durchführen. Diese Frage soll uns ein paar „gebildete“ Optionen geben, zu prüfen, in oder Analyse einzubeziehen. Wer den Erfahrungen / Vorschläge über Client / Server-Setups würde geschätzt teilen konnte (nicht nur diejenigen, die Erfahrung mit Point of Sale-Systeme haben ... das wäre nur ein Bonus).

[UPDATE]

Für alle, die daran interessiert ist, landeten wir gehen mit Microsoft Dynamics NAV, LS Retail (ein Plugin für den Point of Sale und verschiedene andere Dinge) und dann einige taten (und arbeitet derzeit an) Anpassungsarbeiten obendrein . Diese Einrichtung hat mir den zusätzlichen Vorteil ein voll integriertes g / l System, das unser derzeitiges System fehlte.

War es hilfreich?

Lösung

Ich schlage vor, Sie zuerst Ihre Einschränkungen ein bisschen mehr Forschung - Sie an einen Kunden eine vorübergehende Bezug genommen, eine bestimmte Art von Terminal - dies Ihre Möglichkeiten einschränken, es sei denn, der Kunde ein Upgrade stimmt

.

Sie brauchen viel mehr Lauferei auf, dies zu tun. Es ist toll, Meinungen von Web-Foren zu bekommen, aber wir können nicht möglicherweise Ihre Umgebung wissen so gut wie Sie.

Meine groben Zügen Rat wäre für Technologie zu zielen, die weit verbreitet ist. Auf diese Weise, Know-how auf der Plattform ist billiger als „Nische“ Technologien, und es wird einfacher sein, um Hilfe zu erhalten, wenn Sie eine Mauer getroffen. Natürlich kann diese Beratung folgendem Grund nicht möglich sein, wenn Sie bereits an Kunden an Ort und Stelle nicht verhandelbar Technologie haben.

Mein zweiter Vorschlag wäre, einen vollständigen Projektplan zu vervollständigen, mit detaillierten Spezifikationen und die richtigen Kostenschätzungen, bevor dich mit der „umschreiben von Grunde auf“ Option gehen. Gerade jetzt, Sie sagen, dass es billiger wäre, das System neu zu schreiben, als es zu halten, und Sie wissen nicht wirklich, wie viel es kosten würde, neu zu schreiben.

Andere Tipps

Java für Sprache (oder Scala, wenn Sie „bleeding edge“ werden, je nachdem, wie Sie es unterstützen planen, und was Ihre Entwickler sind wie es besser sein könnte, aber auch schlechter)

H2 für Datenbank

Schaukel für GUI

. Grund: Frei, tragbar und ziemlich Standard

Update: Verpasste der Teil, wo das System eine Client-Server eingerichtet werden soll. Meine Vermutung war, dass die Datenbank und Client auf derselben Maschine ausgeführt werden sollen.

Ich schlage vor, Sie Browser für die Benutzeroberfläche verwenden.

Organisieren Sie Ihre Anwendung als Web-Anwendung.

Es gibt Unmengen von Optionen für das Back-End. Sie können Java + MySQL verwenden. Java-Backend werden Sie von Windows / Linux Debatte speichern, da es auf beiden Plattformen laufen. Sie müssen keine Lizenzkosten für Java und MySQL. (Edit: Auf jeden Fall gibt es eine Menge anderer Sprachen, die Laufzeiten haben für Linux und Fenster einschließlich PHP, Ruby, Python etc.)

Wenn Sie diesen Weg gehen, Sie können auch Google Web Toolkit (GWT) für die Erstellung des Browser-basierte Front-End in einer modularen Art und Weise zu betrachten.

Ein Wort, obwohl der Vorsicht. Browser kann nervtötende sein, wenn es um die Speicherverwaltung kommt. Unserer Erfahrung nach war dies die größte Herausforderung Browser-basierte POS dabei Möglicherweise möchten Sie Adobe Flex, die im Browser läuft zur Kasse aber möglicherweise mehr Bürger in seiner Speicherverwaltung sein.

Was ist CHUI? Character-UI, wie in VT-Terminals? Oder sogar 3270 Stil?

Es klingt wie Sie ein 3-Tier-System benötigen - den Datenbank-Backend, eine mittlere Schicht, die den Großteil des Back-End-Geschäftsprozesses ausgeführt wird, und eine Front-End-Schicht für die CHUI / GUI / Daten-Gateway.

Alle drei Schichten können auf einer Maschine befinden; oder Sie können die Ebenen an verschiedene Server verteilt werden. Die Front-End-Schicht, die die eigentlichen Terminals steuern würde, ob sie VT-Terminals oder ein Web-Browser oder eine speziell geschriebenen 'Kunden' Anwendung.

Stellen Sie sicher, Sie darüber nachgedacht haben, die Hardware braucht hier - gehen Sie Barcode-Scanner, Kassenschubladen, POS Debit- / Kredit Terminals, et cetra haben? Wenn Sie einen Standard-Browser verwenden, kann es schwierig sein, um zuverlässig diese Elemente zu integrieren. (Zumindest sind Sie wahrscheinlich spezielles Applets gehen zu müssen, schreiben, um mit ihnen zu umgehen.)

Schließlich betrachten die Möglichkeit einer Thin-Client-Technologie auf Windows. Es vereinfacht die Systemverwaltung, da Sie nur zentral um die Software zu aktualisieren haben. Thin-Client-PCs sind billig - sub $ 200

.

Golden-Code-Entwicklung (siehe www.goldencode.com) hat eine Technologie, die Umwandlung der Progress 4GL (Schemas und Code ... die gesamte Anwendung) automatisiert ist auf eine Java-Anwendung mit einem relationalen Datenbank-Backend (z PostgreSQL). Sie unterstützen derzeit eine sehr komplette CHUI Umwelt und sie den Code Refactoring. Zum Beispiel trennt die Umwandlung die Benutzeroberfläche, das Datenmodell und die Geschäftslogik in separate Java-Klassen. Das gesamte Ergebnis ist ein Drop-in-Ersatz, der mit dem Original-kompatibel ist (Benutzer benötigen keine Umschulung, Prozesse müssen nicht geändert werden, werden die Daten migriert auch). Dies ist möglich, weil sie einen Applikationsserver und eine Reihe von Laufzeitklassen schaffen, dass die Kompatibilität bieten. Das Ergebnis der automatisierten Konvertierung ist nicht etwas, das die weitere Bearbeitung benötigt, bevor Sie kompilieren und ausführen. Echte Terminal Unterstützung enthalten ist so noch Hardware-Terminals arbeitet (es erfordert eine kleine JNI-Bibliothek zugreifen NCurses von Java). Der ganze Rest des Codes in der Laufzeit ist reine Java. Keine Progress Software Corp Technologie wird im resultierenden System verwendet und es läuft auf Linux.

Mindestens ein umgebautes System ist bereits in der Produktion, eine 24 um 7 unternehmenskritischen Umgebung ausgeführt werden. Es ist ein umgebautes ERP-System, die ihre mittelständischen Pilotkunden nutzen ihr gesamtes Geschäft zu führen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top