2016-04-04 6 views
2

まず、タイトルが少し誤解を招いても、私はそれを説明するためのより良い言葉を見つけることはできません。モジュラーアーキテクチャー "マルチプラットフォーム"

近い将来、私は全く新しいWebアプリケーションを開発します。 Webアプリケーション自体は問題ではありませんが、私はすでにクライアントが望むものを知っています。今日は彼らのニーズに合わせて基本的なウェブサイトが欲しいが、明日はスマートフォンやタブレットもあり、モバイルアプリケーションを求めてくるだろう。最も簡単な方法は明らかに、既に計画されているすべてのプラットフォームで使用できる「良いCSS」を作成することです。 しかし、モバイルプラットフォーム(アンドロイド、アップル、ウィンドウズ)でのネイティブエクスペリエンスを提供することも良い選択であろうと思っています。これは本当にわからないことに直面しています。

私は実際にモバイルデベロッパーではありませんが、私は自分のアプリケーションをデータベース(Webアプリケーションで使用されているもの)に接続できると確信しています。このようにして、私はWebアプリケーションで行ったことをすべてやり直すことができ、両方とも一緒に働くことができます。これは、ほとんどの場合、うまくいく可能性がありますが、これは、ロジックコードをWebアプリケーションとモバイルアプリケーション(すべてのプラットフォーム用)に複製する必要があることを意味します。これは短期的には大きな問題ではありません。問題はありませんが、すぐにプロジェクトを維持することはできません。

アイデアは、片側にすべてを作成し、このロジックをWebアプリケーション/モバイルアプリケーションで使用することです。主な利点は、私がモバイルアプリケーションを使用するかWebアプリケーションを使用するかにかかわらず、私は厳密に同じプログラムを呼び出すことになります。開発と表示はすべてのプラットフォームにとって簡単になるでしょう。

私の考えは、webservicesアプリケーションを作成することです。 WebアプリケーションはWebサービスを介してすべてを要求し、モバイルプラットフォームにも対応します。 しかし、私は決してどこかでそれを見たことがないと私はこれが本当に良いアイデアであることを確認していない。あなたは確認できますか?

これは本当に良い考えですが、どのようにしてユーザーの認証&セッションを処理できますか? login/pwd以外の認証(Kerberos、CAS、LDAP、X509など)を使用したい場合は、 "webservices"側で処理することができます。 ユーザーがログイン/パスワードを確認したら、保護されたWebサービスへのリクエストを処理する、つまりユーザーを更新するにはどうすればいいですか?(すべてのリクエスト内でチケットを使用する必要がありますか)

いくつかのopensourcesアプリケーションは、彼らがどうやってそれをやったのか分かりますか?

ありがとうございます。

答えて

3

私は最善のアプローチはREST APIを使用することだと思います。ビジネスロジックを一度コードし、REST APIを理解できるクライアントを作成するだけのプラットフォームで再利用する必要があります。基本的にビューからサービスを切り離します。 あなたのWebアプリケーションで、HTTP要求を行うことができるjavascript fwkを使用することを検討してください。アンドロイド/ iosデバイスからは、RESTエンドポイントを呼び出すことができるいくつかの有用なライブラリがあります。

OAuth、SSO、または開発する言語に応じて異なるフレームワークを使用する別のメカニズムで認証を行うことができます。 セッションは、ソリューションを展開するアプリケーションサーバーによって処理されます。

回答OPコメント。 REST APIをビルドすると、基本的にアプリケーションサーバー(http呼び出しをサポートするもの)のバックエンドソリューションにデプロイされています。これは、通常は別のサーバーにデプロイされたクライアントコードから分離したことを意味します。 spring-mvc、node.jsなどのいくつかの例があります。基本的には、これらのデプロイされたサービスの唯一の責任は、ビジネスロジックから結果を得るためのすべての呼び出しを処理することです。

エンタープライズソリューションと有料ソリューションの良い例はhereです。 バックエンドの概念について詳しく知りたい場合は、thisthisが便利です。例については実際に使用するテクニックに依存しますが、cakephpにはREST API callsを処理するプラグインがいくつかあると思います。

+0

あなたの答えをありがとう、これは私が思ったものです。私はWebアプリケーションでjavascriptを使用することを考えていませんでしたが、サーバー側でcurlを使う可能性があります(私たちは仕事場でcakephpを使用しています)。主なアイデアは、APIを使用して1つのWebアプリケーションを作成することです。このAPIはアプリケーション自体の内部で使用されます(私は明確ですか?)。アプリケーションサーバーは、API側またはすべてのプラットフォーム(Web、モバイルなど)でSSOとセッションを処理することを意味します。あなたはそのように動作するアプリケーションのいくつかの例を知っていますので、私はより良い理解を得ることができますか?ありがとうございました。 – Ryuu

+0

こんにちは龍が私の応答で答える – Koitoer

関連する問題