2016-12-08 10 views
-1

DBに接続するJava EEでWebアプリケーションを開発しました。このアプリケーションはTomcat 8にデプロイされています。このアプリケーションは、3つのレイヤーに分かれています.dbレイヤー、ビジネスレイヤー、プレゼンテーションレイヤーです。 これで、ビジネスレイヤーを使用し、プレゼンテーションレイヤーが提供するほとんどの機能を提供するRESTful APIを開発する必要があります。クライアントには、ブラウザを開いたり、APPに接続して使用したり、独自のソフトウェアからRESTful Webサービスを使用したりする2つのオプションがあります。RESTfulとJ2EE

私の質問は、RESTful APIをAPPがデプロイされているサーバーと同じサーバーにデプロイする必要があるかどうかです。あなたの提案は何ですか? そして、どのような認証をREST Webサービスに提案しますか?

ありがとうございます!

+0

同じサーバーに展開し、[OAuth](http://oauth.net/core/1.0/)を使用します。 – nobalG

答えて

2

これはかなり広い質問であり、短い回答はです。それはに依存します。

Functionnally、あなたはここに三つの部分を持っている:

  • プレゼンテーション層
  • APIインタフェース
  • バックオフィス:2つの最初のものの背後にあるビジネスおよびDB層

共通のテクニカルアーキテクチャは次のとおりです。

  • APIとビジネスとdbのレイヤー用に1つのアプリケーション、APIを使用するWebレイヤー用に1つのアプリケーション
  • すべて(API、Web、ビジネス)を同じアプリケーション上で使用します。

旧プラン良好な分離と重いロードされたアプリケーションのために興味深いものになることができます、またはあなたはjavascriptのインターフェース(OFR例をAngularJS)に移動することを計画している場合、後者は実装が簡単になります。

認証のために、APIの各要求とともに資格情報を渡す方が簡単ですが、フィルタやAOPの概念を使用してアプリケーション自体の外部で管理することを考慮する必要があります。 Spring Securityは、これがどのように可能であるかの例であり、ビジネスコードと認証および認可の間の結合が非常に緩やかです。その後、アプリケーションのコアにほとんど影響を与えずに認証方法を選択して変更できます。

+0

私はすでにAngularJS + Bootstrapインターフェイスを持っています。ユーザーはDBに保存されたユーザーデータに対して(サーブレット経由で)認証されます。ですから、認証のために:各リクエストでユーザー名とハッシュパスワードを渡したら、これはどういう意味ですか? P.S .:ユーザーは、保護されたVPN接続を介してアプリケーションにアクセスします。 –

関連する問題