TERASOLUNA for .NETフレームワーク概説高品質なWindowsアプリケーション構築ポイント株式会社NTTデータ技術開発本部 ソフトウェア工学推進センタ 立見 博史 2009/01/06 |
![]() |
|
|
|
■TERASOLUNA for .NETの応用例
●非同期処理の実行
ここまではTERASOLUNA for .NETを使ったスマート・クライアント・アプリケーション開発について見てきました。EventControllerを利用してサーバとの通信処理を行っていましたが、この通信処理は同期実行でした。このため、画面上のボタンを押下して、サーバとの通信結果が画面に反映されるまでの間、ユーザーは画面を操作することができません。多くの処理はこのような同期実行で問題ないのですが、通信処理に長い時間がかかるような場合では、通信中にもユーザーが画面の操作を継続できる方が好ましいはずです。
例えば、アップデートなどで容量の大きなファイルをダウンロードするWindowsアプリケーションを考えてください。[ダウンロード]ボタンを押した瞬間アプリケーションが固まってしまい、ダウンロードが終わった後にようやく操作できるようになるといった作りのものがたまにあります。
これは通信処理を同期実行した結果なのですが、このように画面が固まるのを防ぐためには、通信処理を非同期(バックグラウンド)で実行します。もう少し正確にいうと、UIスレッドとは別のスレッドで通信処理を実行します。このような非同期実行では、複数のスレッドで連携して処理を行わなければならないため、実装の難易度が飛躍的に上がってしまいます。
TERASOLUNA for .NETでは、このような非同期実行も標準でサポートしています。先ほどのスマート・クライアント・アプリケーションでのEventControllerの実装を以下のように変更します。
|
|
| 非同期実行の実装(TERASOLUNAあり) |
この際の処理の流れをまとめたのが次の図です。
![]() |
| 図5 非同期実行の動作イメージ図 |
実装を見ていただくと分かると思いますが、複雑な非同期実行も非常に簡単に実現できます。このような複雑な処理の隠ぺい化もフレームワークとして大切な役割です。
●さまざまな形態のWindowsアプリケーションでの利用
また、スマート・クライアント・アプリケーション以外の、クライアント/サーバ型システムやローカル・データベースにアクセスするアプリケーションにおいてもTERASOLUNA for .NETを活用することができます。
どのようなアプリケーションでも、入力値検証の実施、ビジネス・ロジックの実行(データベース・アクセスも含む)という流れは普遍です。既存のTERASOLUNA for .NETの機能を生かし、一部を拡張することで、同様の仕組みを利用してWindowsアプリケーションを開発することができます。
![]() |
| 図6 TERASOLUNA Client Framework for .NETを利用してローカルDBにアクセスする場合のアーキテクチャ・イメージ |
■まとめ
今回はTERASOLUNA for .NETがどのようにして保守性の高い、高品質なWindowsアプリケーション開発をサポートするのか、ということについて解説しました。どのような業務システムにおいても、TERASOLUNA for .NETが狙わんとしている思想については参考になるはずです。皆さんの業務システム開発においても、ぜひTERASOLUNA for .NETやその思想を大いに活用してください。
■Appendix TERASOLUNA Server/Client Framework for .NETの導入方法
TERASOLUNA for .NETは、SourceForge.jpのTERASOLUNAのサイトから入手可能です。
サイト上部の[ダウンロード]→[リリース一覧]を選択し、[Server Client Framework for .NET]パッケージの中から入手したいファイルをダウンロードしてください。
2008年12月15日時点での最新バージョンは2.1.0.1で、プログラム・コード、ブランク・プロジェクト、ドキュメントなどすべてのファイルを含むパッケージは「terasoluna-server-client4n-all_2.1.0.1.zip」となります。導入手順はサイト上のWikiをご覧ください。![]()
| INDEX | ||
| [TERASOLUNA for .NETフレームワーク概説] | ||
| 高品質なWindowsアプリケーション構築ポイント | ||
| 1.保守性が高く、高品質なWindowsアプリケーションの開発 | ||
| 2.TERASOLUNA for .NETを活用<しない>スマート・クライアントの開発 | ||
| 3.TERASOLUNA for .NETを活用したスマート・クライアントの開発 | ||
| 4.TERASOLUNA for .NETの応用例 | ||
| 「TERASOLUNA for .NETフレームワーク概説」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




