2017-09-28 11 views
0

私はサーバーを1台のマシン上で実行し、Webアプリケーションを別のマシン上で実行しています。 ウェブアプリケーションにイベント情報を渡してブラウザに表示する必要がありますサーバーとWebアプリケーション間のAPI

現在、この方向に情報を渡す仕組みがあります。 WebアプリケーションはJSONでフォーマットされたMap<String,String>を受け取ります。

私の質問は、サーバーがこれらの文字列をどのように解釈するかです。 両側は文字列の意味を知る必要がありますが、各面に重複した定義があるだけでよいでしょう。 これは

がどのように私は私が持っていない、好ましくは、任意の実装や言語

に縛られない、共通の場所にメッセージとコードのフォーマットを定義することができます...良いアイデアのように見えるしていません。このトピック上の任意の情報を見つけることができた(あなたがいずれかを知っていれば)ので、関連するページへの

をリンクを送ってください、私も場合は良いAPIの設計と実装

答えて

1

上のリソースのための勧告を聞いて喜んでいますよサーバは同じ言語で書かれているので、共通のコードライブラリをセットアップして両側で同じデータ構造。これらのデータ構造の責任は、それらが同じ概念モデルを表しているにもかかわらず、包含するサーバーの性質上、実際にはかなり異なる可能性があることに注意してください。例えばバックエンドサーバーは、データベースとのやりとりやセキュリティチェックの実行などの作業を行いますが、フロントエンドはユーザー入力とメッセージの書式設定を検証している可能性があります。とにかく常に良いことではありません。

同じ言語でない場合は、それらを別々にコーディングすることをお勧めします。ある言語から別の言語にクロスコンパイルしたり、両方の目的言語にコンパイルできる形式を選択することもできますが、それは過度です。

これは、分散(別名マイクロサービス)アーキテクチャとモノリスの間のトレードオフの1つです。利点は、サービスのそれぞれがより小さく、より機敏であることです。欠点は、あなたが努力を複製することに終わることができるということです。正解はありません。

関連する問題