GUIのPOSシステム用のデータベース、プログラミング言語/フレームワークの提案はありますか?

StackOverflow https://stackoverflow.com/questions/191934

質問

当社には、注文および受信機能、販売および注文履歴など、多くの追加機能を備えた販売時点情報管理システムがあります。主な問題は、システムがゼロから適切に設計されていないために時間がかかりすぎることです修正を行い、お客様からのリクエストを処理します。また、現在使用しているテクノロジ(Progressデータベース、Progress 4GLの言語)では、データベース接続などのマルチユーザーライセンス料金のために、お客様にかなりのライセンス費用が発生します。

多くの議論の後、おそらく最初からやり直しているように見えます(少なくとも当面は現在の製品を維持します)。いくつかのことを探しています:

  1. 優れたGUIフロントエンドでシステムを作成します(現在はCHUIであり、アプリケーションはフロントエンドの再設計を可能にする方法で構築されていません。ビジネスロジックとGUIの階層化や分離はありません。 ..shudder)。

  2. 製品にすべての機能を含める必要がないように、さまざまな機能をモジュール化できるシステムを作成します。これにより、基本機能と低価格を希望する現在の顧客のコストを抑えることができます。ベルとホイッスルは、それらを必要とする人が利用できます。

  3. 適切なデザインパターンを使用して、いつでも製品を簡単に追加または変更できるようにします(つまり、アプリケーションまたはそのほとんどを書き換えずにデータベースを変更したり、フロントエンドを変更したりします)。 Progress 4GLコードはデータベースに対して直接コンパイルされるため、これは今日の問題です。データベースの小さな変更には、多くのコードの再コンパイルが必要です。

新しいシステムはLinuxベースで、クライアントアプリケーションが1つ以上のウィンドウボックスの機能を提供する可能性があります。

したがって、私が探しているのは、この種の製品に推奨されるデータベースやフレームワーク、プログラミング言語に関する提案です。この分野での経験がある人なら誰でも、正しい方向に私たちを向けることができたり、避けるべきことについてのアイデアを持っていることさえあります。 .NETとSQL Expressを検討しました(エンタープライズレベルのDBは必要ありません)が、それはWindowsに制限されます(とにかく知っている限り)。 Linux環境で.NETコードを記述したMonoを聞いたことがありますが、それについてはまだあまり知りません。また、JavaおよびMySqlベースの実装も検討しました。

要約すると、次のことを実行しようとしています。

  1. 製品の開発に使用するテクノロジ(Oracle、yikes!MySQL、nice)のライセンスコストを抑えます。

  2. メンテナンスとサポートが容易なソリューションを提供します。

  3. 「古い」で実行できるコンポーネントを持つソリューション。 CHUIフロントエンドを介したハードウェア。 (一部のお客様は40台以上の端末を所有しており、PCに変換するために大量の現金が必要になります)。

提案をいただければ幸いです。

ありがとう

[更新] 現在、総コスト分析を行っていることに注意してください。この質問は、「教育を受けた」カップルを提供することを目的としています。含めるまたは分析するために調べるオプション。クライアント/サーバーのセットアップに関する経験/提案を共有できる人は誰でも歓迎します(POSシステムの経験がある人だけでなく...それは単なるボーナスです)。

[UPDATE]

興味のある方は、Microsoft Dynamics NAV、LS Retail(販売時点情報管理などのプラグイン)を使用し、その上でカスタマイズ作業を行った(そして現在作業中) 。このセットアップにより、現在のシステムにはない、完全に統合されたg / lシステムを持つという追加の利点が得られました。

役に立ちましたか?

解決

最初に制約をもう少し調査することをお勧めします-特定のタイプの端末を使用してクライアントへの参照を渡します-クライアントがアップグレードに同意しない限り、これはオプションを制限する可能性があります。

これについては、さらに多くの作業が必要です。 Webフォーラムから意見を得るのは素晴らしいことですが、あなただけでなくあなたの環境も知ることはできません。

私の広範なストロークのアドバイスは、広く使用されている技術を目指すことです。このように、プラットフォームの専門知識は「ニッチ」よりも安価です。技術、そしてあなたがレンガの壁に当たった場合、それは助けを得るのがより簡単です。もちろん、交渉不可能なテクノロジーが既に顧客に導入されている場合、このアドバイスに従うことは不可能かもしれません。

2番目の提案は、「最初から書き直す」に進む前に、詳細な仕様と適切なコストの見積もりを含む完全なプロジェクト計画を完了することです。オプション。今、あなたはそれを維持するよりもシステムを書き直す方が安いだろうと言っており、書き直しにどれだけの費用がかかるのか本当に知りません。

他のヒント

言語用のJava(または、「最先端」にしたい場合はScala、サポートする方法や開発者がどのようなものであるかによりますが、さらに悪い場合もあります)

データベースのH2

GUIのスイング

理由:無料、移植可能、かなり標準。

更新:システムがクライアント/サーバー設定である必要がある部分を逃しました。私の想定では、データベースとクライアントは同じマシンで実行する必要がありました。

UIにはブラウザを使用することをお勧めします。

アプリケーションをWebアプリケーションとして整理します。

バックエンドには多くのオプションがあります。 Java + MySQLを使用できます。 Javaバックエンドは、両方のプラットフォームで実行されるため、windows / linuxの議論からあなたを救います。 JavaとMySQLの両方のライセンス費用はかかりません。 (編集:間違いなく、PHP、Ruby、Pythonなどを含むLinux&ウィンドウの両方のランタイムを持つ他の多くの言語があります)

この方法を採用する場合、ブラウザベースのフロントエンドをモジュール形式で作成するためのGoogle Web Toolkit(GWT)を検討することもできます。

ただし、注意点が1つあります。ブラウザーは、メモリー管理に関して厄介なことがあります。私たちの経験では、これはブラウザーベースのPOSを実行する上で最も重要な課題でした。ブラウザーで実行されるが、メモリ管理においてはより市民的なAdobe Flexをチェックアウトすることをお勧めします。

CHUIとは何ですか? VT端末のようなキャラクターUI?それとも3270スタイルですか?

データベースバックエンド、バックエンドビジネスプロセスの大部分を実行する中間層、CHUI / GUI /データゲートウェイのフロントエンド層の3層システムが必要なようです。

3つのレイヤーはすべて1台のマシンに常駐できます。または、さまざまなサーバーに層を配布できます。フロントエンドレイヤは、VT端末、Webブラウザ、またはカスタム作成の「クライアント」アプリケーションのいずれであっても、実際の端末を制御します。

ここでハードウェアのニーズを考慮していることを確認してください-バーコードスキャナー、キャッシュドロワー、POSデビット/クレジットターミナルなどをお持ちですか?標準のブラウザを使用している場合、これらのアイテムを確実に統合するのは難しいかもしれません。 (少なくとも、それらを処理するには特別なアプレットを作成する必要があります。)

最後に、Windowsでのシンクライアントテクノロジーの可能性を検討します。ソフトウェアを一元的にアップグレードするだけで済むため、システム管理が大幅に簡素化されます。シンクライアントPCは安価で、200ドル未満です。

Golden Code Development(www.goldencode.comを参照)には、Progress 4GL(スキーマとコード...アプリケーション全体)をリレーショナルデータベースバックエンド(たとえば、PostgreSQL)を備えたJavaアプリケーションに自動変換する技術があります。現在、非常に完全なCHUI環境をサポートしており、コードをリファクタリングしています。たとえば、変換により、UI、データモデル、およびビジネスロジックが個別のJavaクラスに分離されます。全体の結果は、オリジナルと互換性のあるドロップイン置換です(ユーザーは再トレーニングを必要とせず、プロセスを変更する必要がなく、データも移行されます)。アプリケーションサーバーと、その互換性を提供する一連のランタイムクラスを提供するため、これが可能です。自動変換の結果は、コンパイルして実行する前にさらに編集する必要があるものではありません。真のターミナルサポートが含まれているため、ハードウェアターミナルは引き続き動作します(JavaからNCURSESにアクセスするには小さなJNIライブラリが必要です)。ランタイムの残りのコードはすべて純粋なJavaです。結果のシステムではProgress Software Corpテクノロジーは使用されず、Linux上で実行されます。

少なくとも1つの変換されたシステムが既に実稼働しており、24 x 7のミッションクリティカルな環境を実行しています。これは、中規模のパイロット顧客がビジネス全体を運営するために使用する変換されたERPシステムです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top