Blog
MVCに組み込まれた新しいWebサイトで代理店がパフォーマンスを向上させた方法
By Vaclav Kamenicek
Kenticoは、Model-View-Controller(MVC)アーキテクチャを採用することに恥ずかしがり屋ではありません。これは、パートナーとクライアントがこれまでになく迅速かつ簡単にプロジェクトを遂行できるようにするための動きだからです。
コンポーネントベースの方法論であるMVCは、時の試練に耐えてきました。その高度にスケーラブルで持続可能なフレームワークは、私たち全員を将来にわたってよく見ます。個別の設計と機能により、チームは同時に作業して驚くべきデジタルエクスペリエンスを作成し、能力とスピードで競争に打ち勝つことができます。
また、MVCを使用して、並外れた高性能のWebサイトを作成することで、継続的に使用できる柔軟で再利用可能なモジュラーコンポーネントのライブラリを作成することもできます。
しかし、私たちの言葉だけを信じてはいけません。
KenticoゴールドパートナーであるDiscoverITの開発責任者であるTonyBarnettは、優れたソリューションを可能な限り迅速かつバグなしで提供することの重要性を認識しています。
ITがMVCを採用していることを発見する
Tonyと彼のチームは最近、MVC開発アプローチを使用して、長年のクライアントであるAdventistRiskManagement® 、Inc。(ARM)をKentico EMS 11(ASP.NETWebフォームを使用してPortalEngine上に構築)からKentico EMS12に移行しました。
セブンスデーアドベンチスト教会と世界中の省庁の公式保険およびリスク管理会社であるARMは、Webサイトのパフォーマンスを向上させ、継続的なサポートを確保するために、Kenticoの最新バージョンに更新することに同意しました。
「このプロジェクトをユニークなものにした理由の1つは、クライアントが機能、コンテンツ、およびデザインを同一に保ちたいということでした。彼らは、Kenticoのバージョンのアップグレードとパフォーマンスの向上に集中したかっただけです。」
したがって、プロセスの大部分(および重要な課題)は、すべての主要な機能と機能、および2017年にKentico EMS 11で開発されたすべての主要な統合、および有機的に成長したもの(そして定期的に)それ以来。
Discover ITは、PortalEngine内のすべてのページタイプを標準のKenticoページタイプを使用してMVCに複製することを決定しました。新しいWebサイトのサイズが大きいため、チームはKenticoインポートユーティリティを利用してデータをプルし、古いCSSとJavaScriptを可能な限り使用しました。
DiscoverITがPortalEngineよりもMVCでの作業を好むことは間違いありません。
「PortalEngineを使用すると、開発の一部、特にKentico Macrosを使用すると、少し不透明になる可能性があります。何が起こっているのか正確にはわからず、デバッグが難しい場合があります。しかし、それはもはや事実ではありません。 MVCタイプのアーキテクチャを使用している場合、そこで何が起こっているかを正確に確認してデバッグを行うことができ、アスペクトの開発ライフサイクルをスピードアップできます。」
MVCは翻訳と多言語コンテンツを容易にします
このウェブサイトの本質的な特徴は、地域固有である必要があり、地域ごとに異なるコンテンツを表示する必要があることでした。各地域には、言語の独自のサブセットを持つ独自のマイクロサイトがあります。ホームページなどの一部のコンテンツは、すべての言語に翻訳する必要があり、適切なコンテンツを適切な人々に表示する最大のタスクの1つになりました。
言うまでもなく、translations.comとの統合は歓迎された機能でした。膨大な量の翻訳を処理するために、彼らは各実世界の文化をKentico文化にマッピングすることができ、各地域の言語は文化によって表されます。
「つまり、北米部門、つまり英語版はen-usで表されます。これは、北米部門でどの文化を見ているかとは無関係です。 Unity IOCコンテナーを使用して、基本的にすべてのカルチャ情報をすべてのさまざまなコントローラーに注入しました。」
チームがWebフォームに対して享受した重要な利点の1つは、APIリクエストを処理するためにページ全体のライフサイクルを実行する必要がないことでした。
「元々、国セレクターで国を選択した場合、その国で利用可能な言語のリストを返すために、ページが作成されていることを理解するために、ページ全体のライフサイクルを実行する必要がありました。しかし、MVCを使用すると、それをAPIとして提供できます。リクエストを受け取り、それらの言語を決定するために必要なロジックを実行し、モデルを構築して提供します。」
関心の分離により、MVCの制御が強化されます
Discover ITは、MVCがフロントエンドとバックエンドの実装をより明確に分離していることを発見しました。
「フロントエンドの開発者は、フロントエンドのレンダリング方法をより細かく制御できます。彼らは実際にそのレイアウトを制御し、必要なコンポーネントやフレームワークをポータルエンジンと比較してはるかに柔軟に使用できます。ポータルエンジンは、フロントエンド開発の観点から非常に制限される可能性があります。」
さらに、MVCによって生成されたフロントエンドコード(およびそれに含まれるコード)は、はるかにクリーンで軽量であることがわかりました。
PortalEngineとMVCのパフォーマンスの比較
ARM Webサイトは、Azure仮想マシンとAzureSQLデータベース上のデータベースでホストされたままでした。
成功を測定するために、サーバーのパフォーマンスを3回測定しました。再構築前、サーバーのアップグレード後、および再構築後。
ビルド中、Discover ITは純粋なMVCアプローチを使用し、Google PageSpeed Insightsなどのツールを使用して、サーバー側とフロントエンドの両方でパフォーマンスのボトルネックを特定しました。さらに、Discover ITは、Kenticoのドキュメントを定期的に調査し、Kenticoのサポートを頻繁に使用しました。これらのサポートは、「非常に喜んで支援し、非常に迅速に対応できる」と考えています。
Kentico、MVCアプローチの採用、およびサーバーの更新を組み合わせた結果は印象的です。再構築後、一部のコンポーネントは、古いWebサイトと比較して平均3.6倍速くロードされています。
さらに、新しいWebサイトの立ち上げ以来、ARMのトラフィックは増加しています。ページビューは、3,676ビューから13,413ビューに265%増加しました。 Discover ITは、トラフィックが増加しても、パフォーマンスの向上による恩恵を受けていることを喜んでいます。
MVCとポータルエンジン:評決
古いWebサイトのビルドは完了するのに6か月かかりましたが、この新しいMVCビルドはわずか3か月で、多くのテストが含まれています。
TonyとDiscoverITのチームは、プラットフォームが成熟し、現在のテクノロジーを採用し、開発者の関与とクライアントを満足させているおかげで、MVCへの移行がKenticoにとって適切であると考えています。
「MVCを使用すると実装時間が短縮されるだけでなく、Webフォームの使用についてトレーニングを受けた大学を卒業する開発者が少ないため、開発者を雇う際の関連性がはるかに高くなります。また、MVCを使用することに満足して喜んでいる人もたくさんいます。フレームワーク。
チームは結果に満足しており、Portal EngineからMVCへの切り替えがさらに簡単になり、Kenticoの将来のバージョンでより使いやすいURLルーティングと自動翻訳がページビルダーで機能することを楽しみにしています。
Tonyは、MVCの使用に関する全体的な経験について尋ねられ、次のように述べています。
「これはまさに一種のグローバルな実装であり、単一のマーケティングチームが地球上のどこにでも合わせた地域の言語でコンテンツを作成し、そのコンテンツをすべて完全に翻訳してSEOに最適化することができます。」
MVCがKentico12を使用して開発を強化する方法の詳細をご覧ください。