TERASOLUNA for .NETフレームワーク概説

.NET開発でもオープンソース・フレームワークを使おう

株式会社NTTデータ
技術開発本部 ソフトウェア工学推進センタ 
立見 博史
2008/09/30
Page1 Page2 Page3 Page4

TERASOLUNA Server Framework for .NETの特徴

 Server FrameworkはASP.NETを拡張した、Webシステム(以下、Web版)、スマート・クライアント型システム(以下、Rich版)の開発に必要な機能を備えたフレームワークです。主にASP.NETのプレゼンテーション・レイヤの機能を大幅に強化しています。しかし、ASP.NETのアーキテクチャを大きく変更するようなフレームワークではないため、ASP.NETでの業務システム開発において、本当に必要な機能のみをユーティリティ的に利用できることが特徴です。

 Web版とRich版のそれぞれに分け、先ほどのClient Frameworkと同じ「アーキテクチャ図」と「その機能概要」という形式で説明します。まずはWeb版について。

TERASOLUNA Server Framework for .NET(Web版)のアーキテクチャと機能

図6 TERASOLUNA Server Framework for .NET(Web版)のアーキテクチャ概要

プレゼンテーション・レイヤ

  • WA-01 画面遷移管理機能
    ページ設定ファイルに定義したページ情報に従って、画面遷移を行う機能です。ソース・コードをリビルドすることなく、遷移先画面を変更できます。画面間の依存関係を疎にします。

  • WA-02 画面遷移保証機能
    トークンを使い、URLの直接入力などに伴う不正なアクセスを防ぐ機能です。更新系の処理などで画面遷移の順番を保証したい場合に使います。

  • WA-03 エラー画面遷移機能
    アプリケーション内で未処理の例外発生時に、任意のエラー画面に遷移する機能です。標準のASP.NETではHTTPステータス・コードによるエラー画面の切り替えはできますが、例外の種類に応じたエラー画面の切り替えはできません。エラー画面遷移機能では例外の型に応じたエラー画面遷移を実現します。

  • WA-04 二重押下防止機能
    Submitボタンが押下された際に画面内のすべてのSubmitボタンを無効(disable)にして、ボタンの二重押下によるリクエストの二重送信を防止する機能です。

  • WC-01 セッション管理機能
    セッション情報をライフサイクル・レベルで一括管理する機能です。セッションを個別に追加していくと、必ず消し忘れが起こります。そこで、ライフサイクル・レベルという概念でセッションを管理することで、セッションの消し忘れを防ぎます。

  • CM-02 入力値検証機能
    Client Frameworkでの説明と同様。

ビジネス・レイヤ

  • CM-04 ビジネス・ロジック生成機能
    ビジネス・ロジック・クラスのインスタンスを生成する機能です。ビジネス・ロジック生成機能では、ビジネス・ロジックのインターフェイスとファクトリのみを提供しています。実際に利用する場合には、ビジネス・ロジック・インターフェイスを実装した業務共通ビジネス・ロジックを基底クラスとして作成し、各ビジネス・ロジックはこの基底クラスを継承して実装するようにします。ビジネス・ロジックでコネクション管理やトランザクション管理などの複雑な処理が必要な場合は、基底クラスで実装します。

データ・レイヤ

  • WC-02 SQL文管理機能
    設定ファイルに定義したSQL文を取得する機能です。ソース・コードをリビルドすることなくSQL文を変更できます。パフォーマンス・チューニングなどでSQL文を変更することが予想される場合に有効な機能です。

システム共通レイヤ

  • CM-01 メッセージ管理機能
    Client Frameworkでの説明と同様。

  • CM-03 ログ出力機能
    Client Frameworkでの説明と同様。

 続いてRich版を説明しましょう。

TERASOLUNA Server Framework for .NET(Rich版)のアーキテクチャと機能

図7 TERASOLUNA Server Framework for .NET(Rich版)のアーキテクチャ概要

ビジネス・レイヤ

  • WB-01 リクエスト・コントローラ機能
    クライアント・アプリケーションからの要求に対してサーバでビジネス・ロジックを実行し、結果をクライアントへ返却する機能です。

  • WB-02ファイル・アップロード機能
    クライアント・アプリケーションからアップロードされたマルチパート形式のデータやファイル(バイナリ)を受け付ける機能です。

  • WB-03ファイル・ダウンロード機能
    クライアント・アプリケーションへファイル(バイナリ)を送信する機能です。

  • CM-02 入力値検証機能
    Server Framework(Web版)での説明と同様。

  • CM-04 ビジネス・ロジック生成機能
    Server Framework(Web版)での説明と同様。

データ・レイヤ

  • WC-02 SQL文管理機能
    Server Framework(Web版)での説明と同様。

システム共通レイヤ

  • CM-01 メッセージ管理機能
    Client Frameworkでの説明と同様。

  • CM-03 ログ出力機能
    Client Frameworkでの説明と同様。

まとめ

 今回は.NETでの業務システム開発におけるフレームワークの必要性、フレームワークに求められる条件、オープンソース・フレームワークのTERASOLUNA for .NETについてお話ししました。

 .NETでの業務システム開発においても、フレームワークはもはや必須となっています。TERASOLUNA for .NETも業務システム向けフレームワークとして、皆さんの開発に大いに活用してください(編集部の方針で、今回の記事のページ・ビュー(PV)が高ければ、画面遷移機能の活用法など続編の記事も考えています)。End of Article


 INDEX
  [TERASOLUNA for .NETフレームワーク概説]
  .NET開発でもオープンソース・フレームワークを使おう
    1..NET Frameworkだけの業務システム開発で起こり得る問題
    2..NETでの業務システム向けフレームワークに必要な“3+1”の条件
    3.オープンソース・フレームワーク「TERASOLUNA for .NET」とは?
  4.「TERASOLUNA for .NET」のサーバ側の特徴と機能

インデックス・ページヘ  「TERASOLUNA for .NETフレームワーク概説」


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間