8

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

多くの議論の後、おそらくゼロからやり直すことになりそうです (少なくとも当面は現在の製品を維持しながら)。私たちはいくつかのことを探しています:

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

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

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

私たちの新しいシステムは Linux ベースで、クライアント アプリケーションが 1 つまたは複数の Windows ボックスから機能を提供する可能性があります。

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

要約すると、次のことを行う予定です。

  1. 製品の開発に使用するテクノロジーのライセンス コストを抑えてください (Oracle はいいですね! MySQL はいいですね)。

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

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

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

ありがとう

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

[アップデート]

興味のある方のために説明すると、最終的に Microsoft Dynamics NAV、LS Retail (POS およびその他のさまざまなプラグイン) を使用し、その上でいくつかのカスタマイズ作業を行いました (現在取り組んでいます)。この設定により、現在のシステムに欠けていた、完全に統合された g/l システムを持つという追加の利点が得られました。

4

5 に答える 5

2

言語用のJava(または「最先端」になりたい場合はScala、それをどのようにサポートする予定であるか、および開発者がどのようなものであるかに応じて、より良い場合もあれば悪い場合もあります)

データベースの H2

GUIのスイング

理由: 無料で、ポータブルで、かなり標準的です。

更新: システムがクライアント サーバー セットアップである必要がある部分を見逃しました。私の仮定は、データベースとクライアントは同じマシンで実行する必要があるというものでした。

于 2008-10-10T15:51:49.403 に答える
1

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

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

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

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

ただし、注意が必要です。ブラウザは、メモリ管理に関して厄介な場合があります。私たちの経験では、これはブラウザー ベースの POS を実行する上で最も重要な課題でした。ブラウザーで実行される Adob​​e Flex をチェックアウトすることをお勧めしますが、メモリ管理がより一般的である可能性があります。

于 2008-10-10T15:52:21.197 に答える
1

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 システムです。

于 2010-08-26T18:04:11.000 に答える
1

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

これについては、さらに多くのレッグワークを行う必要があります。Web フォーラムから意見を得るのは素晴らしいことですが、私たちはあなたの環境をあなたのように知ることはできません。

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

私の 2 番目の提案は、「最初から書き直す」オプションを使用する前に、詳細な仕様と適切なコスト見積もりを含む完全なプロジェクト計画を完成させることです。あなたは今、システムを保守するより書き直したほうが安上がりだと言っていますが、書き直すのにいくらかかるかはわかりません。

于 2008-10-10T16:04:48.707 に答える
1

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

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

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

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

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

于 2008-10-10T17:14:09.037 に答える