2017-11-19 8 views
0

私は新しいプロジェクトに関わっています。私はプロジェクトの大きな写真について聞きたいと思います。私は、私たちのウェブサイトサービスのための新しいユーザーインターフェイスを構築するつもりです。現在、Hibernateを使用して必要なすべてのRest APIを実装しています。アプリケーションアーキテクチャの構築方法は?

私たちが使用している技術は、フロントエンド用の角度です。私はAngular2を使って小さなアプリケーションを構築しました。これはTomcatサーバー上でサービスされるように実装されています。私が開発した方法は、開発者が普通にやっているのと同じくらい一般的です。すべてのコンポーネントは、要求を受け取るタイスクリプト、RestAPIを呼び出し、Rest APIからJSONオブジェクトを取得し、JSONを操作し、テンプレートを使用して結果データを表示するタイプスクリプトで書かれています。これらのタイスクリプトファイルはwebpackを使用してjavascriptに変換され、それらのjavascriptファイルはtomcatにデプロイされます。

しかし、調査の結果、パフォーマンスの点でnodejsがtomcatの代わりに広く使われていることが分かりました。nodejsはtomcatを使用した場合よりもはるかに優れています。したがって、私はHibernateに基づいたRestAPIでバックエンドが構築されているプロジェクト・アーキテクチャーに適した良い例を探しています。しかし、それはまだ簡単に見つかりません。私はRestapIをnodejから呼び出す方法を考えていますが、私は確かではありませんが、いくつかの良い方法を見つけようとしましたが、うまく見つけられませんでした。平均スタックについては多くのリソースがありますが、私の場合はそうではありません。

達成しようとしていることについていくつかアドバイスをいただけますか?ベストプラクティス、オープンソース、そして私が構築しなければならないアーキテクチャーに関する何らかの詳細な説明を与えますか?

+0

ノードアプリケーションは、REST API、アングルアプリの静的ファイルサーバー、またはその両方ですか? APIを既に持っていて、フロントエンド用の角度アプリケーションを使用したいのであれば、静的ファイル(html、js、&css)を提供するためにノードアプリケーションを使用しましたが、S3を使用するよりコスト効率の高い方法を見てきました(または他のストレージソリューション)を使用してファイルをホストします。 – wickdninja

+0

私はあなたの言うことを部分的に理解していますが、角度コンポーネントはRestAPIを呼び出してJSONオブジェクトを受け取ってブラウザに表示するので、nodejのデータベースに接続する必要はありません。RestAPIは必要なすべてのJSONオブジェクトをフロントエンド側応用。だから...もしこれが私のアプリケーションの仕組みであるならば、スタティックファイルがある場所に置くことによってjavascriptファイル(typescriptから切り取られた)を提供するのが適切な方法です。これが適用される良い例がありますか? –

答えて

3

これは非常に広い質問ですが、必要なのは、あなたの残りのWebサービスバックエンドがtomcatコンテナではなくnode.js上で実行されることです。ノードでは、主にexpress(ウェブアプリケーションとapiの両方)またはrestify(主にWebサービスapi)を使用します。そして、他にもたくさんのものがあります。 ORMの場合は、Hibernate以外の何かを使う必要があります(実際にはJava固有のものです)。 node.jsには数多くの人気のあるORMフレームワークもあります。しかし、MEANについて言えば、MongoDBはNoSQLデータベースであり、リレーショナルDBではありません。それ以外の場合は、アーキテクチャー上、Java(tomcat、hibernate、...)でできることは何でも、node.jsで実行できます。

0

FrontEndの場合、JavaScriptにコンパイルした後、サーバから静的ファイルを提供するだけで十分です。 仮想ディレクトリが行います。

+0

ああ、私はちょっと理解しています、あなたが説明したような良い例が含まれています。 –

+0

@Anna私はこのリンクが役立つと思います:http://acdhirr.blogspot.co.il/2013/11/tomcat-7-virtual-directories.html?m=1 Angularプロジェクトを編集した後、** dist **フォルダを仮想ディレクトリにコピーし、このフォルダに設定を指定します。 –

+0

はい、Tomcatにデプロイするのに問題はありませんでしたが、今回はnodejsをアプリケーションのコンテナにしたいと思います。それは私が望むものです。 –

関連する問題