December 2009 - 投稿

さて。前回の NetAdvantage Silverlight for Data Visualizatoin のブログに続いて、今度はLOBのほうのCTPについてのブログを連投します。

 

CTPはここからダウンロードできますので実際にソースコードや動作を確認しながら見てください。

(こちらはあくまでCTP版になるので、製品リリース時には仕様変更がある可能性があります。もちろん、製品版にはさらに多くのコントロールが含まれる可能性があります)

 

NetAdvantage Silverlight LoB 2010-CTPに含まれるコントロール

 

xamWebRibbon (ザムウェブリボン)

Ribbon-1 

これはご覧のとおり、SilverlightむけのOffice2007スタイル Ribbonコントロールです。

LoB(業務アプリ)をターゲットとすると使い易いメニューの提供は必須になってくるので、Office Fluent UI に準拠したリボンの必要度はかなり高いと思います。

 

xamWebGrid の新機能

今回、xamWebGrid(ザムウェブグリッド)にも多くの機能強化が予定されています。CTPで公開されている3機能を紹介します。

新機能その1ー行ごとの詳細テンプレート

Grid-1

多くのご要望にお応えすべく、xamWebGrid に行レベルの詳細テンプレート機能が追加されます。

 

新機能その2ーアンバウンド列サポート

データソースにバインドしない列や、計算結果などを表示するための列をグリッドの列レイアウトに追加できるようになります。

 

新機能その3ーWCF RIA Servicesインテグレーション

WCF RIA Services に含まれる DomainDataSource をxamWebGridでも使えるようになります。

なお、RIA Servicesインテグレーションのサンプルは、その他のサンプルとは別のソリューションファイル(LobCtpRiaSampleBrowser.sln)に含まれています。こちらの動作を確認するためには Visual Studio 2008 において WCF RIA Services が動作する環境が必要になるのでご注意ください。

 

Persistence Framework (パーシステンスフレームワーク)

「グリッド上でユーザーが設定した列固定やソートの情報を保存することはできないか。」こういった質問はよく伺っていたのですが、今回そのあたりの実装の手間を大きく軽減するフレームワークとして、Persistence Frameworkが追加されます。この機能を用いると、Dependency Object に関する状態のセーブ・ロードを最小のコードで実現できます。もちろんInfragisticsのコントロール以外でも使用可能です。

たとえば以下のようなコードで、2つのグリッド間の状態(グルーピングやソートなど)をMemoryStream経由でコピーしています。ここでは単純にコントロール単位ですべての依存プロパティをコピーする例ですが、もちろん特定のプロパティ名やTypeに応じた処理も可能です。

PF-1

 

Zip圧縮・解凍フレームワーク

NetAdvantage Silverlight LoB 2009.1のExcelエンジン同様、LoBにおける重要シナリオを簡単に実現するための機能強化といえるのがこのZipフレームワークといえるでしょう。これはご想像どおり、Silverlight単体で完結するZip圧縮・解凍ライブラリーです。クライアント上のZipファイルを開いたり、または複数ファイルを圧縮したりといった作業がSilverlight上で完結する上、Deflate圧縮やプロテクト付きパスワードなどにも対応しています。

 

どうでしょうか。リボンやグリッドといったコントロールの追加をはじめ、Ria Services 上で使いやすくなったり各種フレームワークが追加されたりと、いよいよ現場レベルでも始動をはじめた Silverlight開発をサポートする機能を豊富に取り揃えています。もちろん製品版にはさらに多くの機能を予定していますので、今後の展開にもご期待していただきつつ、まずはCTPをチェックしてくださいね。

つい先日、NetAdvantage Silverlight for Data Visualization 2009 Volume.2 のリリース情報をブログしたばかりの気もするのですが、はやくも次バージョンのCTPの準備ができてしまいました(笑)

今回のCTPには、NetAdvantageのSilverlightコントロールの両方のラインナップ、つまり NetAdvantage Silverlight LOB と NetAdvantage Silverlight for Data Visualization の両プラットフォームにおいて発表されました。今回はDataVisualizationのCTP情報をお知らせします。

なおCTPはここからダウンロードできます。

(こちらはあくまでCTP版になるので、製品リリース時には仕様変更がある可能性があります。もちろん、製品版にはさらに多くのコントロールが含まれる可能性があります)

 

NetAdvantage Silverlight for Data Visualization 2010-CTPに含まれるコントロール

 

xamWebPivotTable (ザムウェブピボットテーブル)

クロス集計やドリルダウンをサポートした多次元解析用ピボットテーブルです。SQL Server Analysis ServicesやXMLAに準拠したOLAPプロバイダーと接続して、ユーザーにドラッグ&ドロップでの自由なクロス集計や分析機能を提供することができます。

サンプルを実行すると、初期状態では地域×年度のクロス集計テーブルが表示されています(下図)。

Pivot-1

ここにたとえば Sales Reason列による集計を加えてみましょう。右に表示されている列一覧から、集計エリアまたはテーブル上の列ヘッダに列をドラッグ&ドロップすることで、自動的に再集計を行います。

Pivot-2 

従来、こういった作業はExcelで行ったり、専用のパッケージを導入されたりといったケースが多かったと思いますが、xamWebPivotTableを使えばSilverlightアプリケーションの中に高度な分析機能を加えることができます。業務/BIアプリのSilverlightへのマイグレーションは最近の「旬」と言えますが、その中においても目玉機能または重要な付加価値としてアピールポイントになるのではないでしょうか。

 

xamWebDataChart(ザムウェブデーターチャート)

そして、新しいチャートコントロールもデビューします。xamWebDataChartの一番のポイントは「数百万のデータポイントを一瞬で表示」というように大量データの処理が非常に高速な点です。xamWebPivotTableと組み合わせて、財務チャートなどの大量データ処理やその中でのズーム機能などを活用することができます。

DataChart-1

 

これまで、NetAdvantage Silverlight DataVisualizationというとマップやタイムラインのようなアイデア系コンポーネントが多かったのですが、今回はすこし毛色の異なるコントロールのアナウンスでした。つづいて、NetAdvantage Silverlight LOB についてもブログします。

前回までNetAdvantage Silverlight LOB の新機能情報をご紹介しましたが、今回は Data Visualization の最新情報です。

(ちなみにLOBについてはCodeZine リッチクライアントエキスパート上のxamWebGridに関する記事も公開中ですよ~)

 

近日中にリリースされるこの NetAdvantage Silverlight Data Visualization 2009 Volume2 の機能強化点は以下の通りです。

 

1.xamWebMapが大きくパワーアップ

2.xamWebBulletGraphコントロールが登場

3.xamWebChart,xamWebTileViewの機能が強化

 

まずはxamWebMapの機能強化点からみていきます。

前バージョンでは、Shapeファイル フォーマットを使った地理的情報の描画と、それに対するデータの投影のみをサポートしていたxamWebMapなのですが、今回、ジオイメージ・インテグレーション機能が加わりました。これにより、MicrosoftのBing Mapsや CloudMade, OpenStreetMap といった既存のWeb API と連携して地図情報を表示することができるようになりました。

さらに既存のシェープファイルサポートについても、本バージョンからSqlShapeReaderクラスが追加されたことで、SQL Server2008の空間データ型を活用できるように拡張されています。

 

※ Bing Mapsと連携して、インフラジスティックスジャパンの事務所のまわり(いわゆる裏原)を表示してみたところ。

BingMapsと連携 

このスクリーンショットのように Bing Maps を例にとって手順を簡単に紹介します。あらかじめこちらでBing Maps の開発者アカウントを作成してキーを発行してください。

通常通りSilverlightアプリケーションを作成し、Web参照の追加にてBing Maps の ImageryService を追加します。

(追加するアドレス:http://dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc?wsdl

サービス参照の追加

これでImageryService WebAPI を使う準備ができたので、あとはコーディングです。

まずはリクエストを構成して、

コード1 

サービスから応答があった際にxamWebMapのMapTileSourceに設定。

 

コード2 

と、まあこんな感じでxamWebMapでBing Mapsを取り扱うことができます。

またxamWebMapの複数レイヤー機能を使えば、こういったWebAPIとシェープファイルを併用することもできます。この辺の詳しい手順はあらためてBlogか記事にまとめたいと思います。

 

次はxamWebBulletGraphです。

ブレットグラフって言ってもあまり聞き慣れないかもしれませんが、下のスクリーンショットのようなものです。

一見ゲージのようですが、単一の指標値を表示するだけではなく、目標値や見込み値、比較値などの表現が可能になるため、エンタープライズ ダッシュボードの中でKPIの表現によく使われます。

ブレットグラフ1

ブレットグラフ2

 

その他、xamWebTimeLineのアンチコリジョン機能(ラベルを重ならないように配置する)や、xamWebChartの十字線表示などの機能強化が含or fまれています。数日中にリリースとなりますので、ぜひオンラインサンプルやトライアル版でお試しください。