![]() |
安藤幸央のランダウン[27]
データ中心型、簡単リッチクライアントJDNC
安藤幸央(yukio-andoh@exa-corp.co.jp)
株式会社エクサ
2005/3/2
|
「Java FAQ(What's New)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集局) |
■JDNC(JDesktop Network Components)とは?
JDNC(JDesktop Network Components)はデータを中心とした手法でリッチクライアントを開発する技術です。Swingを拡張した各種の高機能コンポーネントが用意されています。JDNCの高機能コンポーネントの機能を利用したリッチクライアントを、XMLマークアップファイルの記述で平易に開発することができます。
JDNCの利用で、J2SEとSwingの技術をベースにJ2EE(JDBC、Webサービス、etc.)を利用したWebアプリケーション環境を構築することができます。JNDCの特長を個条書きにすると以下のように整理できます。
- クライアントアプリケーション向けの高機能な部品が利用できる
- 取得したデータの並べ替え、ハイライト処理、フィルタリングなどがクライアント側で可能(高速で快適なレスポンスを提供)
- XML表記されたインターフェイス情報からGUIコンポーネントを形成
JDNCはもともとJSF(JavaServer Faces)の一部として実装される予定のものでした。現在は、JSFからリッチクライアントの部分が分離されオープンソースのJDNCプロジェクトとして開発が進んでいます。ライセンス形式はLGPL(Lesser General Public License)に基づいており、java.net(http://java.net/)でソースコードが公開されています(現在の最新版はVer.0.6)。
JDNCの一番の活躍の場としては、JSFベースで開発された既存のサーバサイドWebアプリケーションをより高速に快適に利用するためにリッチクライアント化することが考えられます。サーバサイドのビジネスロジックは既存のものを再活用し、クライアントサイドではJDNCを利用したソーティングやハイライト処理などを行うことによって、より理想的なリッチクライアント環境が構築できるのです。
![]() |
| JDNCを利用したフォームベースのアプリケーション例(FromDemo)。JDNCコンポーネントJNTableとJNFormを利用したデモアプリケーション。各フォームは入力データ形式に応じて自動生成され、フォームに値を入力するごとにフォーカスが自動的に移動する |
![]() |
| JDNCを利用したフォームベースのアプリケーション例(Tree Table Demo)。JNTreeTableコンポーネントを利用したデモアプリケーション。カラムごとのハイライト表示、ソーティングや、アイコン表示によるツリーテーブルを実現している |
JDNCの特徴は、その発祥からも分かるようにJSFを機能強化したリッチクライアント版としてイメージすることができます(実際、現在JDNC開発の中心となっているのは以前のJSF Spec LeadであったAmy Flower氏です)。JDNCベースのアプリケーションは、以下の形式で動作します。
- スタンドアローンの単独アプリケーション
- Java Web Startで起動されるJavaアプリケーション
- Java Pluginベースで動作するJavaアプレット
主に使われるのはJava Web Start形式で動作するJDNCリッチクライアントでしょう。
■JDNCのこれから
JDNCの機能の一部は、将来のJ2SE/J2EEに組み込まれることが予想されます。さらに既存のOSネイティブなアプリケーションとJavaデスクトップ・ソフトウェアを連携させるためのコンポーネントとしてJDesktop Integration Components(JDIC)もあり、JDICもJDNCとともに進化していくことでしょう。
JNDCの現時点のスペック
|
JDNCのユーザーインターフェイス記述用のXMLは本来手書きで作成するものではなく、専用のツールで自動生成されることを想定しています。つまりはJava Studio Creatorのような便利に使えるツールの充実が期待されます。JDNCの開発・バージョンアップは着実に進行しており、2005年9月には正式版1.0のリリースが予定されています(残念ながら現在のVersion 0.6では実サービスで用いるにはまだまだ実装が追いついていない個所がいくつかあります)。
JDNC 1.0ロードマップには周辺の開発ツールのことも含め、便利な各種コンポーネントの項目が目白押しです。データベースから取得した情報のキャッシングや、接続・非接続の状態を保持するコンポーネントの登場で、より複雑な条件下で利用できるリッチクライアントの構築が可能となります(ネットワークがつながるところでも、つながらないところでも利用できる、常時接続型ではないリッチクライアントは、1つの理想型です)。
|
JDNCの今後の開発予定
|
JDNCはJavaのリッチクライアントという位置付けだけではなく、リッチクライアントの開発そのものを簡素に行えることを目指したものです。
さまざまなリッチクライアント技術が登場し、使われつつある現在、よりJSFと親和性の高いリッチクライアント技術としてJDNCが台頭してくるのも間近ではないでしょうか?
■参照一覧
- JDNC (JDesktop Network Components) 公式サイト
https://jdnc.dev.java.net/
- JDNC概要
https://jdnc.dev.java.net/documentation/overview.html
- JDNC 1.0ロードマップ
https://jdnc.dev.java.net/documentation/roadmap.html
- Amy Fowler氏によるJDNC解説
http://www.javadesktop.org/articles/JDNC/index.html
http://www.javadesktop.org/articles/JDNC2/index.html
- JDNC XMLマークアップ・チュートリアル
http://javadesktop.org/jdnc/0_5/docs/tutorial/index.html
- JDNC Schema解説
http://javadesktop.org/jdnc/0_5/docs/schema/index.html
安藤幸央のランダウン バックナンバー
- 第1回 Javaを速くするための心構え
- 第2回 サーバサイドで進化するグラフィックス
- 第3回 ユーザビリティ(使いやすさ)の大切さ
- 第4回 Javaプログラマのお役立ちサイト
- 第5回 伝説のイベントJava Night
- 第6回 次世代のインターネット言語curl登場!
- 第7回 次世代を予感させるグリッドコンピューティング
- 第8回 音声はコンピューティングを変える?
- 第9回 GoogleをWebサービスから利用するAPIの登場
- 第10回 これは使える!Java風スクリプト
- 第11回 PtoPはいよいよビジネスのステージに
- 第12回 ハリウッド映画並のCGがPCに到来する日
- 第13回 知的ゲーム「Robocode」でJavaのチャンピオンに
- 第14回 海の上のJava Night
- 第15回 Java版テラリウム? ただいま開催中
- 第16回 進化したアプレット、Viewletとは?
- 第17回 Eclipse:新しい開発環境モデルの誕生
- 第18回 Webサービス、どこまで実用になっている?
- 第19回 SWTは本当に高速なGUIを実現するのか?
- 第20回 JavaOne 2003の注目トピックを振り返る
- 第21回 SIGGRAPH 2003に見るJavaの進化
- 第22回 AmazonWebサービスの可能性
- 第23回 オープンソースの検索エンジン登場
- 第24回 技術者の祭典JTC BOFとJava Night
- 第25回 リッチクライアント時代の到来
- 第26回 Eclipse 3.0のリッチクライアントとは?
- 第27回 データ中心型、簡単リッチクライアントJDNC
- 第28回 浸透する新世代のシンクライアント
- 第29回 WebプログラマはRailsに乗るべきか?
- 第30回 Ruby On Railsのチームに学ぶ仕事術
- 第31回 JavaプログラマはAjaxに乗るべきか
- 第32回 Java SE 6へ移行する理由と移行をとどまる5つの理由
- 第33回 見つけて得するソースコード専用の検索エンジン
- 第34回 Podcastでプログラマーに必要な英語をStudyしよう!
- 第35回 人気のAPI/フレームワークを作るための39カ条
- 第36回 あなたのサイトはiPhoneで見られますか?
- 第37回 バッチ処理はJavaでバッチリ?その現状とこれから
- 第38回 Cometに代表されるサーバ・プッシュ技術の復権
- 第39回 ソースコードの宝石箱、●●Forgeを見逃すなかれ
- 第40回 Webアプリ開発環境としてのSafariを知ってますか?
- 第41回 夏休みに世界へ挑戦! プログラミングコンテスト
- 第42回 開発者が知っておくべきJavaと仮想マシンの歴史
- 第43回 あなたの知らないJDKの便利ツールたち
- 第44回 時を欠ける症状−うるう秒から考えるサステナビリティ
- 第45回 IT業界で楽しく仕事をするための10カ条
- 第46回 そのWebサービスで“対価”をもらえますか?
- 第47回 IT系でも活用しなければ損。論文を読んで広がる知見
- 第48回 Webからの知見、見つけた論文の読み解き方
- 第49回 Java技術者も知っておきたい「AR(拡張現実)」
- 第50回 クラウド活用「雲活」のために押さえるべき39のポイント
- 第51回 意外と知らないバージョン表記・数字の豆知識
- 第52回 グーグルは、○○おもいっきり、テレビ
- 第53回 いま購読するべき15の開発者ブログ
- 第54回 技術者なら知っておきたい「ソーシャルゲーム」とは
- 第55回 開発者は覚えておきたいアプリストア/マーケット大全
- 第56回 売れるスマホアプリを目指せ! テスト達人への道
- 第57回 プレゼン巨人の星となるためのツールと手法のまとめ
- 第58回 ぼくらの七ボタン戦争 - Social Buttons War
- 第59回 師走を楽しもう。技術系アドベントカレンダーの魅力とは
- 第60回 GitHubをもっとソーシャルに使いこなすための7つ道具
| プロフィール |
安藤幸央(あんどう ゆきお) 1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。ホームページ: http://www.gimlay.org/~andoh/java/ 所属団体: OpenGL_Japan (Member)、SIGGRAPH TOKYO (Vice Chairman) 主な著書 「VRML 60分ガイド」(監訳、ソフトバンク) 「これがJava だ! インターネットの新たな主役」(共著、日本経済新聞社) 「The Java3D API仕様」(監修、アスキー) |
| ご意見、ご感想は掲示板へどうぞ |
| JavaコラムINDEX |
TechTargetジャパン
- EclipseでScalaプログラミングを始めるための基礎 (2012/2/10)
概要や5つの特徴を紹介し、開発環境を構築して対話型実行環境「REPL」やEclipse上でHello Worldを実行します - 並列分散処理の常識をHadoopファミリから学ぶ (2012/2/8)
並列分散処理の課題やHadoopの長所/短所、そして短所を補うHadoop関連プロジェクトの構成や概要などを簡単に紹介 - WebLogicサーバ最新版「12c」の気になる4つの特徴 (2012/1/31)
久々にメジャーアップグレードしたJavaアプリケーションサーバについて、製品担当者に軽量インストーラなどの特徴を聞いた - GitHubをもっとソーシャルに使いこなすための7つ道具 (2012/1/23)
ソースコードホスティングのGitHub周辺で便利な新サービスが続々登場しているので、まとめて紹介しよう。特に連動クラウド「fluxflex」が注目だ
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




1970年北海道生まれ。現在、株式会社エクサ
マルチメディアソリューションセンター所属。フォトリアリスティック3次元コンピュータグラフィックス、リアルタイムグラフィックスやネットワークを利用した各種開発業務に携わる。コンピュータ自動彩色システムや3次元イメージ検索システム大規模データ可視化システム、リアルタイムCG投影システム、建築業界、エンターテインメント向け3次元
CG ソフトの開発、インターネットベースのコンピュータグラフィックスシステムなどを手掛ける。また、Java、Web3D、OpenGL、3DCG
の情報源となるWebページをまとめている。