2016-04-29 11 views
1

私は支払いメッセージングミドルウェアを実装しようとしており、Erlang/OTPを使用するオプションを検討したいと考えています。 このアプリケーションは、カード取引を処理するためにEFT決済ネットワークとコア・バンキング・システムとのインターフェースとして銀行業界で使用されます。Erlangの決済システムへの使用

次のタスクを実行する責任を負うことになります。

  1. は ISO 8583のメッセージフォーマットを使用して(VISAとMasterCardなどの)外部ネットワークと通信します。
  2. 金融取引を表すソケット(HEX、BINARY、EBCIDIC) で大量のデータを受信します。
  3. 受信したデータを解析/デコードします。
  4. 検証のためにデータベースをチェックしてください。
  5. お客様のPINを検証するためのホストセキュリティモジュールとのインターフェイスとその他のセキュリティチェックが です。
  6. コール
  7. ISO 8583フォーマット明らか

に応答 メッセージを配合することによってバック外部インタフェースに応答XMLやウェブサービスを介してコア・バンキング・システムに要求を送信し、そのようなアプリケーションが同時でなければならないと数秒以内にトランザクションを処理するのに十分速い。
ここで私の質問は、Erlangはこのタイプのアプリケーションを実装するための良い選択ですか? Erlangはシステムパフォーマンスに影響を与えずに文字列処理を効率的に処理できますか?

前述のように、ネットワーク上で受信したデータをデコードするためには、多くの文字列操作があるため、erlangが完全に適合するかどうかはわかりません。

+0

アプリケーションに何らかの永続性が必要ですか? – ibizaman

答えて

0

Klarnaについて聞いたことがありますか?彼らはこの目的のためにErlangを正確に使用しています。彼らはErlangコミュニティでかなりactiveです。また、GitHub repositoriesをチェックアウトすることもできます。

  1. Erlangは、プロトコルを実装して外部リソースと通信するのに最適なツールです。
  2. Erlangは、プロトコルを実装し、外部リソースと通信するのに最適なツールです。
  3. Erlangはプロトコルを実装するのに最適なツールだと言いましたか?
  4. Erlangでは問題ありません。Erlangでは、高性能でスケーラブルなデータベースもいくつか実装されています。
  5. Erlangにはセキュリティ対策を実装する機能があります。たとえば、sensitiveフラグを設定すると、プロセスのすべてのデバッグ情報とトレース情報が無効になり、メッセージキューなどの状態が表示されなくなります。より高い標準のためには、常にCで書かれたコードとOSレベルの保護を使用することができます。 Erlangは外部リソースとの通信に最適なツールだと言いましたか?
  6. XMLはErlangでもサポートされています。
  7. Erlangはプロトコルを実装するのに最適なツールだと言いましたか?

その他の質問:

  • 同時かつ十分な速さ - チェック。
  • このタイプのアプリケーションを実装するのに適しています - Klarnaに聞いてください。
  • ハンドル文字列処理効率的にシステムのパフォーマンスに影響を与えることなく - 私はバイナリでiolistより文字列を処理するためのより良いシステムを知らない - チェック
1

あなたの質問は何とかISO 8583を処理する処理テキストを意味することを意味します。アーランはtwo different waysでテキストを表します

  1. List - 個々の文字のリンクリストです。より多くのスペース(各要素はcharと次の要素へのアドレス)をとり、長いテキストの処理は遅くなりますが、機能的言語ではlists are the basic types以降は非常に扱いが簡単です。

  2. Binary - stored in memory - C/C++の配列に似ていますが、はるかに良いsupport for processing and pattern matchingの配列です。

両方ともタイプsupport Unicodeincluding UTF-8)です。

Erlangは、生のテキスト処理(Perlは間違いなく優れています)では優れていませんが、Erlangはテキストプロトコルを含むさまざまなプロトコルを効率的に実装して処理することに優れています。これは、プロトコルがいっぱいであるhandle data in telecommunicationシステムにエリクソンによって発明されました。コアErlangライブラリOTPには、最も一般的なプロトコルのハンドラを実装する膨大な量のモジュールが含まれています。ASN.1Base64CorbaLDAP、HTTP、SNMP、TCP、UDP、SCTPなどがあります。

明白な理由でテキストメッセージを処理する最も一般的なメッセージングシステムのいくつかは、Erlang:RabbitMQ,EMQTT,ejabberdで書かれています。

Gihubのフォークを持つlibrary to process ISO 8583もあります。1st fork,2nd forkです。

おそらくErlangを選択する最も重要な理由は、プロトコル実装のためのサポートではなく、拡張の能力です。 Erlangはシステムプロセスとは異なるown processesを実装しています。 Erlangは、数百万のジョブを同時に処理するために、適度なCPUで何百万ものプロセスを作成することができます。それが他の中でWoogaWhatsAppでどのように使われているかを見てください。

関連する問題