Skip to main content
QUICK REVIEW

[論文レビュー] Survey of Technologies for Web Application Development

Barry J. Doyle, Cristina Videira Lopes|ArXiv.org|Jan 17, 2008
Web Applications and Data Management参考文献 38被引用数 14
ひとこと要約

この論文は、基盤技術、外部データソースとの統合、動的コンテンツ生成の3つの次元に沿って、Webアプリケーション開発技術を調査・分類する。成熟したインfra構造にもかかわらず、ドメイン特化型の統一モデルが存在しないことが明らかになり、Webアプリケーションの特性に即した簡潔で特化したプログラミングモデルの構築が、Web開発の単純化に不可欠であると結論づけている。

ABSTRACT

Web-based application developers face a dizzying array of platforms, languages, frameworks and technical artifacts to choose from. We survey, classify, and compare technologies supporting Web application development. The classification is based on (1) foundational technologies; (2)integration with other information sources; and (3) dynamic content generation. We further survey and classify software engineering techniques and tools that have been adopted from traditional programming into Web programming. We conclude that, although the infrastructure problems of the Web have largely been solved, the cacophony of technologies for Web-based applications reflects the lack of a solid model tailored for this domain.

研究の動機と目的

  • Webアプリケーション開発における増大する複雑さと断片化に対処するために、利用可能な技術を調査・分類すること。
  • Web開発の核心的な課題、特に学習曲線の急峻さや、デザイン、ビジネスロジック、プログラミングの間の分離の欠如を特定すること。
  • 伝統的なソフトウェア工学の実践がWebプログラミングにどのように適応されたか、またどこにギャップが残っているかを分析すること。
  • フレームワーク、モデル駆動開発、ドメイン特化言語といった新興手法が、Webアプリケーション開発の単純化にどの程度効果的であるかを評価すること。
  • 既存の複雑なスタックの制限を踏まえ、Webアプリケーションに特化した、新たな単純化されたドメイン特化モデルの必要性を主張すること。

提案手法

  • 論文は、基盤技術、外部情報ソースとの統合、動的コンテンツ生成メカニズムの3つのコア次元に基づき、Web開発技術を包括的に調査・分類する。
  • 既存のフレームワークやツールに由来する分類法を用い、モデル駆動型、GUI中心型、データ中心型、MDA準拠型などの開発アプローチをカテゴリ化する。
  • CGI、スクリプト言語、.NET や J2EE といった現代のプラットフォームを含むサーバーサイド開発手法を評価し、スケーラビリティ、ポータビリティ、拡張性を分析する。
  • 作成ツール、包括的なIDE、専用言語を含むクライアントサイド技術とツールを検討し、開発の合理化におけるその役割を評価する。
  • スケーラビリティ、セキュリティ、パフォーマンス、緩い結合性といった設計圧力に基づく比較フレームワークを用い、異なる技術を評価・対比する。
  • Googleのスケーラブルアーキテクチャ、J2EE、.NET などの実世界の例や産業プラットフォームを援用し、現在のインfra構造と開発スタックの成熟度と限界を評価する。

実験結果

リサーチクエスチョン

  • RQ1現代のWebアプリケーション開発を形作る主な技術的カテゴリと設計要因は何か?
  • RQ2伝統的なソフトウェア工学の実践は、Webプログラミングにどの程度適応されたか、あるいは不十分に適応されたか?
  • RQ3成熟したインfra構造にもかかわらず、なぜ現在のWeb開発プラットフォームは依然として学習曲線が急峻で概念的障壁を抱えているのか?
  • RQ4既存のフレームワークやモデル駆動アプローチは、デザイナー、開発者、ビジネスエキスパートの間の関心の分離をどの程度効果的に支援しているか?
  • RQ5現在のWeb開発エコシステムに欠けている、スケーラブルで保守可能で生産的なアプリケーション開発を可能にするための核心的要因は何か?

主な発見

  • Webの基盤的課題(スケーラビリティ、信頼性、分散性)は、Google のような大規模システムが示すように、基本的に解決済みである。
  • 成熟したインfra構造にもかかわらず、多数の異なる技術、言語、フレームワークの存在が、生産性と保守性を損なう複雑で統一されていない開発環境を生み出している。
  • CGI のような一時的なアプローチは単純な動的コンテンツには有効だが、データやインタラクションに依存する複雑なアプリケーションにはスケーラブルでない。
  • .NET や J2EE といったエンタープライズプラットフォームは、構造化されたフレームワークによって開発を改善するが、同時に複数のパラダイムとツールを同時に習得する必要があるため、学習曲線が急で認知的負荷が高くなる。
  • 既存のツールやフレームワークは、デザイナー、ビジネスエキスパート、プログラマの間での役割分担を的確に支援する仕組みを欠いていることがしばしばである。
  • 最も重要な欠落要因は、Webアプリケーション固有の特性に即した、単純で統一的かつドメイン特化型のモデルの不在であり、これは今後の分野発展に不可欠である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。