2017-08-31 13 views
1

時間の経過に伴って機能が追加され、時間の経過とともに進化するエンタープライズシステムを構築しようとしています。Angular + ASP.Net Core:Plugin Architecture

私はUIのAngularを使用してASP.Net Coreマイクロサービスアーキテクチャと一緒に行く予定です。既存の角度コードを変更せずに新しいモジュールを導入する方法を示すサンプルを見つけることができません。

私はMEFのような技術を使用して、時計や負荷シェルフォルダにDLLをドロップする伝統的なのWinFormsアプリケーションでこれを行うことができました。

Angularフレームワークを使用したそのような例はないようです。だから、私は次のようなアーキテクチャを達成することさえ可能かどうか不思議でした。

enter image description here

ModuleシェルがレンダリングできるとServiceは、アプリケーション自体で使用されているロジック・サービスであり、角度のファイルを提供asp.netコアサービスです。

私はthis postを見た、それは私がやりたいことに近いですが、私は、これは議論されても、適切なソリューションであるかどうかわからないです。

任意のポインタをいただけれ。

+0

ASP.NETコアモジュールは角型シェルで実行されていますか?私はそれが意味をなさないかどうか分からない。 –

+0

@ MathieuRenda:はい、Angular Shellでレンダリングされたモジュールに適用できるUIの部分があります – Kiran

答えて

0

私は角度とASP.NETコア、ABPを利用したプラグインアーキテクチャを実装してみました:https://github.com/chanjunweimy/abp_plugin_with_ui

基本的に、私は別の角度のアプリケーションを使用して、角度のプラグインを開発し、その後、私は動的にそれらを一緒に追加します。私はそれを達成する方法について

詳細情報:

私は2角度-CLIアプリケーションは、1はメイン角度CLIアプリケーションであり、他のプラグインの角CLIアプリケーションです。 Angular-cliプラグインアーキテクチャのアプローチで直面している問題は、それらをどのように統合するかです。

今のところ、私は両方のアプリケーションでng-buildを実行し、それらをASP.NETコア2.0サーバーでホストされた "wwwroot"フォルダに入れました。

abp_plugin_with_uiは、バックエンドとAngular cliの両方を含むプラグインを開発するリポジトリです。バックエンドでは、フロントエンドが複数の角度cliアプリケーションを使用して開発されたaspnetboilerplateフレームワークを使用しました。プラグインアプリケーションと統合メインアプリケーションを持っている

、我々は、(我々は、同様のプラグインアプリケーションのhrefに変更する必要があることに注意してください)アプリケーションの両方で「NG-ビルド」を実行する必要がありますし、我々は移動メインアプリケーションの "wwwroot"フォルダに、プラグインのangi cliアプリケーションの組み込みコンテンツを追加します。このすべてを達成した後、 "ng build"によって生成された静的ファイルをホストするASP.NET Core 2.0 Webアプリケーションを提供するために "dotnet run"を実行できます。このアプローチでは、プラグインAngular UIアプリケーションは、Angular UIアプリケーションとは独立しています。これらは、IFrameを使用して接続されています。

は最近、私たちは多分「NgModule」をダウンロードし、代わりに動的にそのモジュールを作成するのに優れていることを意味し、その場でコンポーネントを作成することができることに気づきました。このオプションは、プラグインUIがメインのアプリケーションUIに直接統合されるため、より優れています。私はまだこの方法を試しています。

@brunoが提案したもう1つの選択肢は、代わりにSOAでUIを開発することでした。つまり、UIをプラグインに分割しないで、独立したサービスとしてモジュールに分けることができます。 UIで表示するビューを管理するのに役立つ、いわゆる「IT/Opsクライアント」が必要です。メインUIは、「IT/Opsクライアント」が表示したいものを示すフレーム/テンプレートです。この方法で、これらのサービスを登録し、使用するサービスを選択することができました。これはマイクロサービスのアーキテクチャであり、あなたが望むものに近づけないかもしれません。マイクロサービスの専門家Udi Dahanは、これについてブログに投稿しています(リンク:http://udidahan.com/2014/07/30/service-oriented-composition-with-video/