オープンソースカンファレンス1日目に参加してき

今日は会社をお休みして、「オープンソースカンファレンス 2011 Tokyo/Spring」に参加して来ました。
場所は早稲田大学理工キャンパス。学生だった時よりかなりきれいになっててたなぁ(((o(*゚▽゚*)o)))
カンファレンスのURLは以下です。
http://www.ospn.jp/osc2011-spring/



今日はそれぞれ聞いてきた講演の気になった内容と感想を書きたいと思います。

地方自治体における情報システム基盤の現状と方向性の調査

地方自治体はベンダーをバイネームで指名してシステムを買う事は出来ない。また購入したシステムは交換可能であり出来る限りベンダーフリーでなければならない。『情報システムに係る政府調達の基本指針(総務省)』にシステム調達について記載されている。
しかしベンダー中立性を保つ(=ベンダーロックインをしない)といっても、現状はなかなかそれが実現できていない。職員が3年で配置転換してしまう自治体独自のシステムのため、なかなかシステムに詳しい人が育ちづらい。また自治体職員が業務プロセスを明確化する事が出来ていない。そんな状況でシステム開発をしてしまい、ベンダーが業務とシステムの仕様を明確に把握し、そのベンダーでなければシステムの保守が出来ない状況に陥っている。
そんな中、システム導入に置いて成功している自治体もある。それら自治体の共通点は、CIOが奮闘し、情報システム部門と業務部門をガバメントレベルで連携させ、ビジネスプロセス明確化とシステム要件明確化を正しく行っているというという点である。

自治体でシステム入れるのは、色々と決まり事があるんですね。ベンダーロックインは行わない。知らなかったです。
私はシステム開発屋さんなのでシステムある程度詳しい立場かもしれませんが、それでもシステム的に分からない事がいっぱい。普通の人でも理解してもらえる情報システムのため、頑張る必要があるようですね。


オープンソース経済モデル〜IT産業振興に関する考察〜

オープンソースへの関わり方は3つある。使う、売る、作る。そして使う→売る→作るという立場の変化により、高コスト高経済効果という状況がある。なぜ大手企業にはオープンソースの開発をわざわざお金と人を割いて行うのか?
日立の例で解が示されました。日立は「社会・産業を支えるインフラ関連分野や情報システムの提供」がコアコンピタンスである。つまり日立の提供するシステムは社会的に広く使われ、信頼性の高いシステムでなければならない。その中で昔はメインフレーム提供で対応していたが、現在は低コストで同様の信頼性を求められている。そのときにLinuxが注目された。Linuxは無償で利用できるが、日立の求める信頼性を実現できていなかった。そこで日立はLinux開発にエンジニアを投入し、信頼性向上に係る貢献を行い、日立の利用できるLinuxが開発された。Linuxはもちろん信頼性のためだけに開発すれば良い代物ではなく、その他多くの機能の開発が必要。しかし日立は必要な部分のみを開発して使う事で、OSを全部開発するコストをかける事無く、自身の求めるOSを手に入れた。

講演中にもありましたが、オープンソースを企業で活用するにはビジネスモデルがまず必要。ビジネスモデルを実現できるオープンソースを自社も入って開発する。そうする事で自社もオープンソースも進化していける。こんなWin-Winの関係があるんですね。


Tomcat7のご紹介

Tomcat7では、Servlet3.0, JSP2.2, EL2.2の実装と、その他機能の追加改変が多数実施された。
Servlet3.0の実装では、「Easy of Development」がキーワード。Servletアノテーションを付与する事で、web.xmlへのServletの登録が不要となった。同様の事はFilter, Listenerも。カンタンな開発ではweb.xmlを記述せずに開発する事が出来るようになった。
その他機能の追加:Pluggability and Extendibilityが実装された。web.xmlを分割することができ、例えばフレームワーク用のweb.xmlと自身のweb.xmlを分ける事で、web.xmlの肥大化を防ぐ事が出来るようになった。
その他機能の追加:Programmatic configuration。実行時にServletやFilterなどを利用して使えるようになった。
その他機能の追加:JSP Container Pluggability。Jspをモジュール化して再利用可能としたとの事。すみませんよくわかりませんでした。
その他機能の追加:Asynchronous Processing。Servletで実施する重たい処理を、別スレッドで実行する事が可能になった。従来であれば、Servlet上でのスレッド作成は、コンテナがそのスレッドを管理できないため非推奨となっていたが、正式にマルチスレッドでのプログラミングがServletで実現できるようになったとのこと。
その他機能の追加:セキュリティ:Programmatic Loginをサポート。従来のForm認証からプログラミックに認証が可能に。Session Tracking。
その他機能の追加:セキュリティ:Session Tracking。従来ではあまり設定できなかったJSESSION cokkieを設定可能に。web.xmlかSessionCookieConfigクラスを利用。
Tomcat新機能:Parallel Deployment。同じコンテキストのアプリケーションを複数でプロイすることができる。古いアプリケーションを利用するユーザーはそのまま古いアプリケーションを、新規のユーザーは新しいアプリケーションにアクセスできる。これによりTomcat実行中にどんどん新しいアプリケーションをデプロイできる。
Tomcat新機能:Aliasサポート。ApacheのAliasと一緒とのこと。
Tomcat新機能:Tomcatクラスの作成。自身のアプリケーションでTomcatを実行できるようになった。
Tomcat新機能:MBeanFactoryの追加。JMX経由でTomcatコンフィギュレーションできるようになった。

色々と追加されましたが、なんといってもServlet3.0への対応。企業の業務アプリケーションにServlet3.0が入るのはまだまだ先かもしれませんが、Tomcatに実装されたのでカンタンにお試しできてありがたい限りです。


行政機関でのオープンソースソフトウェア利用はなぜ低調なのか

自治体の業務は28個あり、どこの自治体でもほとんど一緒。条例などでちょっと違うくらい。
28業務(住民情報関連、税業務、国保年金、戸籍、選挙投票、自動公費付記、福祉業務、介護保険、医療費助成、学齢簿、財務会計、人事給与、庶務事務、文書管理、統計、土木背k氏合い?、公有財産管理、総合型GiS公営住宅管理、上下水道料金、グループウェア、電子申請、電子申告、施設予約、図書館、電子調達、情報提供、システム間連携)
しかしなかなか業務プロセスの標準化が行えず、またシステム的なお話も理解できていないのが現状。
その現状を打破するために、以下ステップを実施中(現在は第1ステップくらい)。
1、業務および既存システムの仕様明確化によるベンダーロックイン状態からの脱却。→2、既存オープンソースの活用によるオープンソース化。→3、複数自治体での最適化。
自治体における業務システムのオープンソースかのメリット
業務の標準化が必須。業務効率化に対する知見集約が可能。実装に対する第三者が監査する事が可能。特定ベンダへの依存性が下がる。同一システムの共同利用で、日本全体でもコスト圧縮が可能。
クラウド化の新たなリスク
クラウドかの本質は不可視性をもった集中運用。資源割当の即時性/最適化を行うために、不可視性を許容する。だから運用する所は、運用企業に全て握られる可能性がある。HWやSWもオープン化されたなら、次はデータと運用のロックインをベンダは考える。クラウドかはデータロックインと運用ロックインも発生する可能性がある。

最初の講演と同じく、自治体のオープンソース化に関する話。行政でのオープンソース利用が低調な理由として、業務とシステムの仕様明確化が出来ない事にある事を認識しました。


Chrome, Chrome OS, Chrome Web Storeで開拓するWebアプリケーションの世界

最初はChromeOSに関するデモンストレーションでした。起動が10秒弱、アプリケーションやデータなど全てはクラウド上。アプリケーションは全てWebアプリとして実装されている。PCが変わっても同一人物でログインすれば、データを利用できる。
WebアプリケーションのUser Experience向上のため以下4つが示されていました。
1、オフライン対応。Application CacheやWeb Storageなどを利用してクライアントサイドにコンテンツを保存する。
2、細い回線でのレスポンス向上。Application Cacheを利用。従来からあるキャッシュでは変化したか否かをサーバーへ問い合わせるリクエストが必ず発生してしまう。画像の代わりにCSS3を利用。重たい処理もクライアントで。WebWorkersを利用して別スレッドで処理実行が可能。
3、UIスピード。javascriptのアニメーションの代わりにCSSのTransformを利用する。GPUを活用しCSS3D,CSS2Dを利用。javascript1.6からのArray.map, Array.forEach, Array.filterなどを活用する。
4、リッチな操作性。ドラッグ&ドロップ。デスクトップ通知(Chromeのみ)。バックグラウンドプロセスでの音楽再生や大量データダウンロード。
Chrome Web Storeについて。Hosted Applicatonと呼ばれるサーバーへアクセスして使うアプリか、Packaged Applicationというクライアント側で閉じたアプリの2種類がある。カンタンにアプリケーションを載せることができる。

ChromeOSの搭載されたPCは今年からバラバラと発売されるみたいです。またHTML5やCSS3などを使った説明を聞く事が出来て勉強になりました。でも勉強になったといっても自分で作れなきゃ楽しくない。作ってみよーっと。

Yahoo Japanにおけるスマートフォンの開発事例

最近のスマートフォンのPageViewのトレンド。2010年はじめはiPhoneAndroidは9:1だったが、現在は4:1くらい迄になっている。つまりAndroid端末利用者が急増中ということ。Androidは様々な端末があるので、Androidのシェアが伸びるに従い、実機テストが大変になる。
スマートフォン版Yahoo Japanトップページ。HTML5, CSS3を利用。Local Storage GeoLocationAPI, Touch Event, Transform, Gradientなど。
利用ライブラリは、Yahoo UI Library。jQuery, jQueryMobile, Clousuer Libraryの利用も検討中。
また色々と決めごとをしている。
UI設計のガイドライン
ポリシー:サービスを提供するときに守るべきこと
サポート環境、画像街道度、プラグイン、ページ容量、ページレイアウト、フォント、カラー文字、ジェッダー、フッター、Uフロック別基底、UI構成要素別規定、表現に関する規定

サポートブラウザ :キャリア
画面サイズ、キャッシュサイズ、マークアップグループ、一定環境を超えたら推奨環境とする。

実装ガイドライン
HTMLマークアップガイドラインCSSコーディングガイドライン、モジュール命名ガイドライン、モバイル実装ガイドラインSEO実装ガイドライン、アクセボリティガイドライン、メタ情報付与による文章の論理構造化、

品質の高いUIパーツ。スマートフォン共通テンプレート。
iOS/Androidにおいて表示の最適化を行えるテンプレートシステム。HTML5,CSS3,JS. WebStorageを利用してJSファイルをキャッシュ、最適化。設計用のビジュアルライブラリなども同時に提供。UIの仕様書(ガイドライン)も提供している。
デフォルトマークアップテンプレート、ヘッダフッタモジュール、ナビゲーションモジュール、共通のJS関数、CSSで環境判定をする共通CSSを実装、命名規則の統一など。

Yahoo!での利用技術や標準化について学ぶことができて良かった。知らない技術要素もたくさんあったから、一度は使ってみなくては。

最後に

本当はもう一つ「Rubyシンポジウム」の内容もあったのですが疲れたのでギブアップ。。
今回はオープンソースソフトウエアにフォーカスを当てていて、自分には馴染みの薄い点もありましたが、様々な情報が手に入ったので良いカンファレンスでした。明日(3/5)もあるので一日参加してみようと思います。