ラベル ウェブ・技術 の投稿を表示しています。 すべての投稿を表示
ラベル ウェブ・技術 の投稿を表示しています。 すべての投稿を表示

2011年10月2日日曜日

MarsEdit 3

MarsEdit 3 - Desktop blog editing for the Mac.


動作が不安定だったEcto3をあきらめて、MarsEditを導入してみました。


はたしてTypepadに対しても日時指定投稿は成功するのでしょうか? とりあえず、このエントリの公開を正午に設定してみようと思います。


これを、aegifの業務への復帰を記念して勢いを付けるための投資と考えるか、ストレス発散のための単なる衝動買いと見なされてしまうかは今後の活用次第というところでしょうか。


今月は最近我々も加入したJIIMAの一大イベントeドキュメントJAPANもありますし、そこにAlfrescoの会長John Newton氏を呼んだりもしているため、さらに忙しくなることが予想されます。とりあえず、このイベントについては追ってまた具体的なことをご紹介するつもりです。


(文責 Ishii Akinori IT-Coordinator)



2010年7月7日水曜日

Why A Case Management Framework?, Cheryl's Nuxeo Blog


Case Management is a hot topic these days. Several of the large ECM vendors have announced Case Management products or strategies over the last few months. But this is not a "me-too" announcement from Nuxeo.

[From Why A Case Management Framework?, Cheryl's Nuxeo Blog]

先日に引き続いてCase Managementのお話を。


Alfrescoのライヴァル、として以前ご紹介したオープンソースECMのNuxeo陣営からCase Management Frameworkが発表されています。Blogの中では、「この数カ月で大手ECMベンダが相次いでCase Managementソリューションを発表しているが、今回の発表はそれらに対する単純なフォローではない」というような旨のことが表明されていました。


基本的にはオープンスタンダードなECM基本サービスを実装したリポジトリをコアに持つ製品群ということですから(その意味でもAlfrescoの競合ですね)、こういった適用分野を絞ったソリューションというのはある種のテンプレートのような形をとることになります。AlfrescoでいうとRecord Managementが似たような発想で作られた製品ラインと言えるのではないかと思います。


あくまでCase Managementですので、これまでも特定の業界(医療など)で構築されていた業務特化型のCase Managementツールをリプレースすることを念頭に作られたフレームワークなのではないかと思われます。その意味では、それがすぐにAdaptive Case Managementを体現したものとはならないのではないか、と。特にKnowledg Workerの仕事に特化して、とか、チェックシートによるCase毎のプロセス修正などの具体的なアイデアなどについても発表資料上は言及がないようです。


ただ、やはりECM、BPMのベンダが、一つの営業戦略としてCase Managementに期待をしているという実態はあると言えそうです。


(文責 Ishii Akinori IT-Coordinator)




2010年7月6日火曜日

Adaptive Case Management


[From "Mastering the Unpredictable" presentation by Keith Swensonさん (BPMinna) : ATND]

先日、7月2日の金曜日に、Mastering the Unpredictableの主要な著者の1人であるKeith Swenson氏の講演(といってもレストランで実施されたアットホームな取り組みでしたが)イベントに参加してきました。


日本BPM協会の方などが参加されるBPM周辺の意欲的な方々による勉強会、という趣きの会で、色々と刺激を受けました。


Mastering the Unpredictableで提起されているAdaptive Case Management(ACM)は、既存のBPMが効果を出しにくい領域、ドラッカーが言うところのKnowledge Workerの生産性向上を目的とした取り組みである、とされています。これまでのBPMがプロセス中心の考え方で、予めかっちりと定義されたプロセスに、個別のデータを流しこむ形で運用されていたのに対し、ACMではデータが中心にあってプロセスの方がその都度構成される、というデータ中心の考え方になっている、という説明もありました。


具体的なシステムへの落とし込み方法について、明確な解はあるいはまだ存在しないのかもしれませんが、Keithさんが所属しているFujitsu Americaの製品では、Knowledge Workの領域に関しては厳格に定義されたBPMN(あるいはシステム側でいえばBPEL)などではなく、タスクの順番や追加・削除がある程度自由に行えるチェックリストのようなものが都度作成される、という説明がありました。確かに、明らかにルーチンワークであるような仕事でない限りは、チェックリストぐらいの表現力が適しているような気もします。


また、彼らが提唱するAdaptive Case Management以外にも似たようなアイデアが、IBMからはAdvanced Case Managementとして提案され、ForresterはDynamic Case Managementというキーワードで整理を試みている、という紹介もありました。その意味では、まだACMという略語が一般化するかどうかは分からない、という面もあるのかもしれませんが、Mastering the UnpredictableはBPMの領域でキャリアを積み上げてきた錚々たるメンバーによる著作ですし、そのインパクトはそれなりに大きいのではないかと思います。(隣接業界とは言え門外漢なので、本当によく事態を理解しているわけではないんですが・・・ ただ、この本の作者たちが既存のBPMに対する課題意識を議論した場所がAlfresco社のオフィスがある街だったらしい、というところに多少の縁を感じます)


Case ManagementはBPM業界だけでなくECMの分野からの言及も増えてきているようですので、今後も継続してリサーチをしていこうと思います。


(文責 Ishii Akinori IT-Coordinator)




2010年5月28日金曜日

もう一つ寝ると

iPadの発売日になりました。長かったです。特に発売延長が発表された後は。


少しずつ仕事のツールをMS OfficeからiWorkにシフトさせてきているので、今後はiPadだけでかなりの仕事をこなせるのではないかと期待しています。好きなツールで仕事をすることができるのが小さい会社をやっている最大のメリットであるように思います。


そういえばそろそろまじめにiPhone OSクライアントの紹介もやらなくては・・・


(Ishii Akinori IT−Coordinator)



2010年4月6日火曜日

アプリケーションドリブンをどう訳すか

Alfresco関連のドキュメントを翻訳している同僚から、Application-driven purchaseという表現をどう訳したものか、という相談を受けました。


ニュアンスとしては、「(単純なインフラの整備としてなどではなく)実現したいアプリケーションがまずあって、その必要不可欠な要素としての購入」といった意味なのではないかと思うのですが、なかなか上手い訳語が思いつきません。恐らく対語というか同じレベルの表現としてはCost-driven purchaseなんかがあるのではないか、という意見も社内では出てきたのですが、コストドリブンよりもアプリケーションドリブンの方が日本語としてはより意味が通りづらくなっているのではないかと思います。


アプリケーションという単語は、個人的には初めてコンピュータに興味を持った小学生の時に知った言葉で、当時はオペレーションシステム(基本ソフトウェア)の、それこそ対義語として語られることが多かったように思います。しかし、今、我々が英文から翻訳をするときにアプリケーションを「応用ソフトウェア」として訳すべき状況というのはほとんどありません。(応用ソフトウェアというのはあくまで、アプリケーションソフト、の訳語であってソフトという単語抜きのアプリケーションの訳語の議論に持ち出すのはおかしいのかもしれないんですが、ソフトウェア以外でアプリケーションという言葉を日本人が使うことは極めて稀だと思われるので・・・)


それでも、アプリケーションドリブンなどの形でアプリケーションという単語をカタカナで書いてしまうと、オペレーションシステムではないもの、という理解をされてしまうのではないかという気持ちが拭えませんでした。


とはいえ、アプリケーションという語自体を使わない方法を思いついたわけではなく、アプリケーション本位の投資、アプリケーションを重視した購買、アプリケーション起点の購入、など候補の中から選ばざるをえないのではないかというのがひとまずの結論です。


もう少し文脈を紹介しますと、ECMの特徴を説明する流れの中で、「高コスト」であることの説明として、アプリケーションドリブンで価格が高いという言い方をしているところで、この表現に出くわしました。単に従来のECMの価格の高さだけを指摘するのでもよいのかもしれないんですが、(そして実際私はこの部分を翻訳版から削ってしまうことすら主張したのですが)、できれば原文の意図を伝えたいということでこの議論になったわけです。


また、IT投資の分類法として、法対応などの外部要因に対する投資・インフラ整備などの守りの投資・差別化要因を生み出す戦略的な投資、などに分類するやり方がありますが(守り、の部分はインフラと基幹業務アプリのメンテナンスを分ける場合もありますね)、「Application-driven」にはある種の「戦略的な投資」というニュアンスもあるのではないかと考えました。しかし、アプリケーションを「戦略的な投資」と言い換えてしまうのは行き過ぎだと思うのでこのアイデアは取り下げました。何か良い表現が見つかるといいのですが。


(Ishii Akinori IT−Coordinator)



2010年4月1日木曜日

Apache PDFBox 1.1.0のリリース | 関口宏司のLuceneブログ


日本語の文字化け不具合の改修を含むPDFBox 1.1.0が本日リリースされた。

[From Apache PDFBox 1.1.0のリリース | 関口宏司のLuceneブログ]

いよいよ忙しくなってきていたため全営業日更新の目標をあっさり撤回して、お休みをしていましたが、そういう状態の時に限って面白そうなネタが転がっているものですね。


これはAlfrescoにも良い影響がありそうなニュースです。さっそくどういう影響がありえるのかを確認しないといけませんね。


(Ishii Akinori IT−Coordinator)



2010年3月9日火曜日

書籍「Apache Solr入門」 | 関口宏司のLuceneブログ


[From 書籍「Apache Solr入門」 | 関口宏司のLuceneブログ]

もうみなさんご存知かもしれませんが、ついつい買いそびれてしまっていたので備忘的に参照しておきたいと思います。


Alfrescoでも採用されているオープンソースの検索エンジンライブラリLuceneをベースにした検索エンジンサーバApache Solrの日本語による書籍です。執筆者の関口さんの会社ロンウィットではLuceneを中心としたコンサルティング&サポートサービスを展開されています。とくにSolrに関してはRONDHUIT Certified Solrサブスクリプションという形で独自ブランドでのサポートプログラムを用意されています。(国内のオープンソース関連サービスの事例として、参考になります)


AlfrescoにおけるLuceneの使われ方はかなり込み入ったものですので、我々もLuceneやその周辺のソフトウェアについてはよく研究しなければなりません。


(Ishii Akinori IT−Coordinator)



2010年3月6日土曜日

[速報]クラウドサービスの米RightScaleが日本への進出を表明、年内にも - Publickey


「すでに日本からRightScaleのサービスを利用している顧客もいる」とCrandell CEOは日本でのビジネス展開に期待しつつも、当初は「スモールスタートで進めるつもりだ」とのこと。

[From [速報]クラウドサービスの米RightScaleが日本への進出を表明、年内にも - Publickey]

Alfrescoのパートナーでもあるクラウドサービス企業のRightScaleが日本進出を表明しているようです。これはちょっと楽しみなニュースですね。


常々ECMとクラウドモデルというのは非常に興味深い課題設定だと考えています。これを気に国内でも事例を作れると良いのですが。


(Ishii Akinori IT−Coordinator)



2010年2月23日火曜日

Steve Jobs is a recipient of the Jim Henson Celebration Honor Award


[From Steve Jobs is a recipient of the Jim Henson Celebration Honor Award ]

趣味に走ったポストになりますがご容赦ください。


弊社の技術メンバの大多数がMac OS Xユーザであることを考えると会社とも完全に無関係なわけではありませんが、私がこのニュースに反応したくなったのは、スティーヴ・ジョブスではない方の名前に惹かれたのが理由です。(今回は受賞者の名前は日本語で書くことにしましょう)


Jim Henson Honors Awardは2005年に設立された「創造性への関与、芸術と技術の革新的な応用、他社の感化」などを評価する賞です。ジョブス氏は今回、個人に授与されるCelebrity Honorを受賞しています。Creativity Honorには映画監督のニール・ブロムカンプ氏が選ばれています。因みに昨年はあの宮本茂氏が同賞(Celebrity Honor)を受賞しています。以前はJ・K・ローリング氏も受賞しました。


Jim Hensonと言えば言わずと知れたマペットの産みの親ですが、死後もこうした形で名前や理念が受け継がれていくということは素晴らしいことだと思います。(ビジネス的にはディズニーを経由してなんだかややこしい感じにも見えてしまいますが)


#Alfrescoに関連して受賞ニュースを色々とご紹介してきた中で、珍しく個人的にも気持ちが盛り上がるニュースを目にしてしまったのでついポストしてしまいました。いや、Alfrescoのニュースに盛り上がりを全く感じないというわけではありませんが・・・


(文責 Ishii Akinori IT-Coordinator)



2010年1月30日土曜日

Gartner predicts that by 2010, the number of IT staff in the profession will shrink by 15 percent


Gartner warned IS leaders to act now to safeguard the value that business technology contributes and predicts that by 2010, the number of IT staff in the profession will shrink by 15 percent.

[From Gartner predicts that by 2010, the number of IT staff in the profession will shrink by 15 percent]

先日ご紹介した、ガートナーの2010年代予想を書いていて思いだしたのですが、2005年に同じくガートナーから、2010年までにITスタッフの数が15%減少する、という予想を出していました。米国国内で15%減、ということですね。(もう5年も経ったのか、と思うと少し呆然としてしまうものがあります)


この予想がどの程度あたっていたのかを統計値と比較して検討しようかと思ったんですが、ちょっと余裕がないので割愛します。そのうち社員研修か何かのネタにして他の人に調べてもらおうかと思います。IEEEあたりの雇用統計を見ながら、年ごとの推移をみて、リーマンショックの分を差し引いた値を出す、という感じでしょうか。こういうケースでリーマンショックだけを差し引くことの合理性とかについても検討が必要になるかもしれませんね、もし研修のネタでやるのだとすれば。


(文責 Ishii Akinori IT-Coordinator)



2010年1月28日木曜日

ガートナー、2010年以降に企業に大きな変化を与える9つのポイントを予想 - ITマネジメント - ZDNet Japan


「あらゆるIT投資の判断に対して財務と規制の両面からの監視が強まっている今、これらの影響を受けずに済む組織はほとんどないだろう」Brian Gammage氏




[From ガートナー、2010年以降に企業に大きな変化を与える9つのポイントを予想 - ITマネジメント - ZDNet Japan]

ZDNetに『Gartner Predicts 2010』の日本語での紹介記事が出ていました。



  1. 2012年までにIT資産を自社で保有しない企業は20%


  2. 2012年までに市場をリードする“クラウドアグリゲーター”の中で、インドを中心とするITサービス企業は20%


  3. 2012年までにFacebookがソーシャルネットワークの統合とウェブのソーシャル化のハブとしての役割を担う


  4. 2014年までにほとんどのITビジネスケースに、二酸化炭素(CO2)対策コストが含まれるようになる


  5. 2012年に、新しいPCの有効寿命全体を通じた温室効果ガス排出の60%は、ユーザーが初めて電源を入れる前の段階で発生する


  6. 2015年までにネットマーケティングの規制が進み、2500億ドルに上る全世界のネットマーケティング支出が統制される


  7. 2014年までに世界の成人30億以上がモバイル技術やネット技術を通じて電子取引を実行できるようになる


  8. 2015年までにモバイル環境のコンシューマーサービスにとってコンテキストが重要な役割を果たすようになる


  9. 2013年までに全世界で携帯電話がネットアクセスの最も一般的なデバイスになる


めぼしいキーワードは、クラウド、CO2、モバイル端末+Facebook、、、と言ったところでしょうか。(CO2がらみでいうと5番目の表現はこれだけ抜き出すと補足が必要かもしれません。60%というのは削減後の値で、現在では80%が製造および輸送の時点で発生している計算になるんだそうです。)


Alfrescoとの関連の強さで順位を付けるのであれば、クラウド→モバイルとFacebook(順不同)→CO2でしょうか。クラウドはエンタープライズ向けソフトウェアのビジネスに関して言えば現在でももっとも大きなテーマの1つですので説明を要しないところであると思います。モバイルについては最近特に引き合いのフェーズにおいてモバイル端末対応についての質問をうけることが多いこと、iPhone向けのスタイルシートを備えたクライアントが整備されたこと、AppStoreでAlfrescoクライアントが配信されているのを見かけたこと、などを根拠にAlfrescoとも関連があるトピックだと考えています。Facebookはかなり前からAlfrescoのアプリがあって、SURF、Webスクリプトの可能性をアピールする事例としてよく引き合いに出されています。(Enterprise 2.0なんていう言い方も盛んにされていました。)


しかし、実は個人的に(?)、残りのCO2というキーワードにもAlfrescoとは離れたところで関心を持っています。1つには大学の学部時代に所属していた研究室のテーマが関連しているということもあるのですが、それ以外にもaegifで現在関与させて頂いているプロジェクトの1つにCO2排出量に深く関与した物があるという背景があります。準備さえ整えば、そういったAlfrescoに関係していないプロジェクトの情報もご紹介していきたいので、近いうちに関連する記事を書くことになるかもしれません。


(文責 Ishii Akinori IT-Coordinator)



2009年11月11日水曜日

IT Market Clock


[From あの技術はもう寿命か?「ITマーケット時計」ガートナーが発表 - Publickey]

「ハイプサイクル」を発表しているガートナーから新しいチャートが公開されたようです。


Advantage → Choice → Cost → Replacementというライフサイクルをぐるっとまわる形の時計型のチャートです。(リンク先のPublickeyでは先進、選択肢、お手頃、リプレースという訳語をあててますね)


Advantageの定義は、時計で言えば12:00から3:00、エマージング市場から次のステージまで。需要が少ないため競争も少ない。市場でのポジションは評価対象とならず、購買活動はそれが提供する価値そのものを評価した結果でのみ実施される。


Choiceの定義は、時計で言えば3:00から6:00、初期メインストリーム市場に至るまで。需要の成長スピードはこのフェーズがもっとも高く、それに応じて価格も落ちていく。


Costの定義は、時計で言えば6:00から9:00、初期メインストリーム市場から成熟メインストリーム市場まで。コモデティ化が急ピッチで進む。購買活動は主に価格を重視して行われる。


Replacementの定義は、時計で言えば9:00から12:00、レガシー市場を通過して市場の終焉まで。購入するにしても運用するにしても技術がメインストリーム市場から外れてしまっているためコストが膨らんでいく。ビジネス要件を満たすめ多くの顧客が代替案を求めているという状況になる。


ReplacementにはCRTモニタ(ブラウン管)とWindows 2000が挙がっています。これは確かに納得できます。デスクトップPCがCostからまもなくReplacementに入ろうとしている、というのは据え置き型作業環境の優位性を信じる古いタイプの人間としては少し危機感を感じますね。(仕事上のメインマシンはMac Book Proなのですが、自宅では外付けモニタを利用してデスクトップ的に使用しています。このやり方が結局もっとも生産性が上がると思うので)


(文責 Ishii Akinori IT-Coordinator)



2009年8月21日金曜日

ガートナーのHype Cycle

ガートナーの「ハイプサイクル2009」発表。クラウド、電子ブックリーダーは絶頂期、RFIDは幻滅期 - Blog on Publickey:







ガートナーのHype Cycleあるいはハイプ曲線が発表されています。日本語での紹介記事がpublickeyに出ていたので上記のリンクはそちらにしました。



ある特定の技術がトレンドとなり普及していく過程を曲線上にマップしたもので、大抵のトレンドが、



黎明期(技術の発表直後)→流行期(注目され過大評価)→反動期(過大評価故の幻滅)→回復期(正当な評価)→安定期(製品化され普及)



というステップを踏むという世界観にたったものです。(うまく流れを掴めなかったものは回復期を迎えることなくそのままフェイドアウトするわけです)



今回のガートナーの発表では、私はIdea Managementが今まさに回復期にさしかかろうとしているという評価である点に興味をひかれました。英語圏では何か再評価の動きがあったんでしょうか? 私自身はFlying Logicのユーザですが、全然使いこなせていないので、この種のツールとの程よい付き合い方がナレッジとして一般化されつつあるのであれば、是非とも知りたいところです。



しかし、どのステージにいるか、というだけでなく、何故これらのキーワードが選ばれたのか(そしてここにないキーワードは何故選ばれなかったのか)など、興味がつきない図ではあります。音声認識が安定期にさしかかっている、という評価は英語圏だけでしか通用しない話のようにも思えるんですが・・・



(文責 Ishii Akinori IT-Coordinator)







2009年7月21日火曜日

Web版Office 2010のこと

Web版Office 2010の対応ブラウザはIE、Safari、Firefox。史上最大のJavaScriptアプリに(動画デモ付き) - Blog on Publickey — Publickey:







こんにちは。aegif 技術担当役員の石井です。



最近発表されたOffice 2010のWeb版ですが、これはECMを取り扱う者としてもOSSを取り扱う者としても無視できないニュースですね。ざっとみたところPublickeyの記事が一番参考になりそうだったので、冒頭のリンクはそのページにしました。



ZohoやGoogle Docsはブラウザによる編集環境だけでなくデータの保管環境や配信・共有のための基盤も提供しています。ブラウザ上に編集環境を実現したことそのものにも、プラットフォームへの依存度を下げたり、肥大化してしまったオフィススイートの再設計という意味である種の軽快さやユーザビリティを獲得したり、といったメリットがあると思いますが、それらは基本的に「データを預ける」ことと引き替えでしか手に入らないものでした。(「データを預ける」ことによるメリットもたくさんあり、配信・共有やデータ保護などが非常に大きな利点を生むと思いますが)



今回の発表によれば、Office 2010ではSharePointのオンプレミス(自社内で環境を保持することで、最近SaaSの対義語としてよく目にします)環境上でも動作するということなので、プライベートクラウド云々の議論すらスキップして、データを預けることなく上記のメリットを享受することができることになります。



もちろんベンダーロックインという問題は残りますが、コスト面さえ折り合いがつけば、魅力を感じる企業は多いのではないかと思います。Web版になる前の2007ですが過去バージョンより使い勝手が悪いという評価を受けることが多いようなので、OpenOffice.orgなどの互換製品だけじゃなく自社製品の過去バージョンとも競合するため、コスト面での評価は相当シビアになるはずですが。



しかし、編集環境自体がブラウザ上に実現し、作られた文書がサーバ上に保管される、という操作モデルがどのようにエンドユーザに受け容れられるのか、ですとか、そういった通常のファイルシステムとしての操作も許されないツール独自のデータ管理の機能だけで企業内のコンテンツ管理ニーズに対応できるのか、など気になる課題はまだたくさんあります。GoogleはGoogle Waveでそのあたりの操作モデル自体を抜本的に再定義することを提案していますが、今回Microsoftは(いつもの通り?)既存資産を活かすという、どちらかと言うと保守的な方向性を打ち出したことになると思います。(Officeが部分的にであれ無料で使えるということになれば、本来これほど革新的な話はないはずなのですが、この場合は比較相手が身軽すぎますね)



この対立は、オフィススイートというもっとも端末寄りの業務アプリの世界の革新と、SaaSモデルによるソフトウェアビジネスそのものの構造変化が、どの程度のスピードで行われるのかによって結果が大きく変わりそうです。我々も無縁ではないはずなので、このスピードを計測するための予測モデルや指標を考えないといけませんね。



(文責 Ishii Akinori IT-Coordinator)







2009年6月17日水曜日

ようやく策定されたECMのための共通言語 CMIS(3/3) (Insight Now!より転載)

2/3を公開してからかなり時間がたってしまいました。申し訳ありません。
#実は1度にまとめて書いているので、単純なアップロード作業のミスなのですが・・・



リポジトリのモデルや基本となるオブジェクトタイプについてはすでにご説明しているので、本稿では独自のオブジェクトタイプの実装に関する規程と、各オブジェクトに対する操作をとりまとめたサービスについてご紹介したいと思います。



カスタムオブジェクトタイプ



オブジェクトタイプは属性の組み合わせによって定義されます。CMISにおけるオブジェクトは強い型付けがなされ、未定義の属性をインスタンスレベルで後から追加するという仕組みはありません。(JCRにおけるResidual属性、WebDAVにおけるDead属性にあたるものはサポートされません。定義にない属性が検出された場合は例外として扱います)



オブジェクトタイプ自体のユニークネスを確保するため、システムからユニークな識別子をタイプIDとして割り当てます。また、オブジェクトタイプの定義にも継承による階層構造を利用できます。継承の仕組みは以下のルールに従います。



・ルートタイプは親タイプをもたない。ルートでないタイプは必ず1つだけ親タイプを持つ。
・オブジェクトタイプは(それ自体オブジェクト型のものを含む)属性の集合として定義される。属性のオブジェクト型には継承機能は適用されない。
・サブタイプには親タイプで定義されている属性がすべて適用される。何かの理由で親の属性の一部を継承したくない場合は、定義ではなく値を未設定とする。
・クエリにタイプ名を使った場合は子孫タイプのすべてが対象となる。
・ルートタイプは基本オブジェクトタイプである文書・フォルダ・関連・ポリシの4つのみ。



さらにすべてのオブジェクトタイプに共通する属性がいくつか定義されています。



・ObjectTypeId オブジェクトタイプの識別子。リポジトリ内でユニークでなければならない。
・ObjectTypeQueryName SQLクエリ内でのテーブル名。
・ObjectTypeDisplayName アプリケーションに表示される名前。
・ParentTypeId 親タイプのID。
・RootTypeQueryName ルートタイプのテーブル名。
・Description アプリケーションによるタイプの説明。使いかたなど。
・Creatable 当該オブジェクトタイプのオブジェクトを新規作成可能かどうかを判別するフラグ。
・Queryable クエリで使えるかどうかを判別するフラグ。関連クラスには適用できない。
・Controllable ポリシを適用可能かどうか判別するフラグ。
・IncludeInSuperTypeQuery 親タイプを指定したクエリの対象とするかを判別するフラグ。



文書タイプのサブタイプを定義するために、追加で以下が定義されています。



・Fileable フォルダに格納できるかどうかを判別するフラグ。関連の場合はFalse。
・Versionable バージョン管理の対象かどうかを判別するフラグ。
・ContentStreamAllowed ContentStreamを持てるかどうかを表現する。"持てない""持てる""必須"の3段階。



関連タイプ向けにも追加で以下が定義されています。
・AllowedSourceTypes ソースオブジェクトとして許可されるタイプのID。
・AllowedTargetTypes ターゲットオブジェクトとして許可されるタイプのID。



さらにカスタムの属性を定義するために、各属性項目自体が持つ属性の規定があります。



・PropertyName 属性の名前。SQLクエリのカラム名としても利用。
・PropertyId リポジトリ内でユニークなID。
・DisplayName アプリケーションで表示される名前。
・Description アプリケーションによる属性の説明。使いかたなど。
・IsInherited 親タイプですでに定義されていたかどうか。
・PropertyType 属性値のタイプ。
・Cardinality 単一の値を持つか、複数の値を持つか。
・Choices オプショナルの属性で、アプリケーションが値選択式のUIを利用できるようにする。
・OpenChoice Choices利用時に自由記入を可能にする。
・Required 必須項目にする。
・DefaultValue デフォルト値を設定。
・Updatability 属性値の変更可能性。「読み取り専用」「変更可」「チェックアウト時変更可」の3つがある。
・Queryable クエリに利用できるかどうか。
・Orderable 整列可能かどうか。
・Precision 小数値向け。精度。
・MinValue 整数値向け。最小値。
・MaxValue 整数値向け。最大値。
・MaximumLength 文字列向け。最大長。
・SchemaURI XML属性向け。スキーマのURI。
・Encoding XML属性向け。エンコーディング情報。



以上の項目を組み合わせて新しいオブジェクトタイプを作成することができます。






クエリ



CMISで定義されているクエリ文法はSQL-92を下敷きにしたものになっています。また、データ操作については特に規定されておらず、読み取り専用の「リレーショナルビュー」という位置づけのものになります。



コンテンツリポジトリの情報を組み合わせたヴァーチャルなテーブルを想定し、そこへのSELECT文による問い合わせを行うためのルールが整備されている、という状況です。具体的には、オブジェクトタイプ(とその派生タイプ)毎にテーブルが作成され、行は個別のオブジェクトを、列は属性を表現する形になります。(値がセットされていなかったり、継承を受けていない属性の値はNULLになります)



基本的には属性値のテーブルになるので、ContentStream自体への直接的なアクセス手段はこのCMIS SQLの枠組みでは定義されていません。Object IDを取得したあとでメソッド経由でアクセスすることになります。



演算子や複数の値を持ち得る属性と単一の値しかない属性の違いによる振る舞いの違いについて仕様書上には幾つかの言及があるのですが、ここでは割愛させて頂くとして、4つほど特徴的な構文(述語、関数)があるのでそれらについてだけ簡単に紹介したいと思います。



・CONTAINS([識別子],<検索文字列>) 全文検索による条件づけ。
・SCORE() 全文検索によるスコアの取得。
・IN_FOLDER([識別子],<フォルダのID>) 対象フォルダに格納されている、という条件を表現。
・IN_TREE([識別子],<フォルダのID>) 対象フォルダもしくはそのサブ(子孫)フォルダに格納されている、という条件を表現。



サービス



・共通サービス要素
 特にメソッドは定義されず、例外などが整備されています。例えば以下の例外はCMISサービス全体で共有され、各サービスともに発生させる可能性があります。
 InvalidArgmentException 引数が不正
  ConstraintViolationException 制約が満たされていない
  ObjectNotFoundException オブジェクトが見つからない
 PermissionDeniedException 権限が不十分
 OperationNotSupportedException オペレーションがサポート(許可)されていない
 RuntimeException (随時発生)
 その他特定のサービスからしかあがらないような例外も定義されています。
 ContentAlreadyExistsException 作成しようとした文書がすでに存在している
 FilterNotValidExeption プロパティフィルタの条件にあわない(属性値を取得するメソッドは、対象属性を制限する"プロパティフィルタ”という文字列を受け取ることがあります。プロパティフィルタの実体はワイルドカードである*か属性名をカンマで繋げた文字列です)
 StorageException 容量不足などのストレージエラー
 StreamNotSupportedException 対象のタイプはContentStreamをサポートしていない
 UpdateConfilctException 更新の失敗(ロックをせずに複数ユーザの更新が重複しそうになった場合など)
 VersioningException 版管理上の不整合(対象がすでに最新版でなくなっているなど)



・リポジトリサービス
 getRepositories 対象サービスエンドポイントのアクセス可能なリポジトリのリストを取得
 getRepositoryInfo リポジトリの情報を取得。名前、URI、対応している機能など
 getTypes リポジトリ内に定義されているオブジェクトタイプの一覧を取得
 getTypeDefinition 個別のオブジェクトタイプの定義を取得



・ナビゲーションサービス
 getDescendants リポジトリのツリー上子孫となるオブジェクトの一覧を取得
 getChildren ツリー上直下の子となるオブジェクトの一覧を取得
 getFolderParent 格納されているフォルダを取得。オプションによって祖先フォルダすべての一覧も取得可能
 getObjectObjectParents 対象オブジェクトを格納しているフォルダの一覧を取得(マルチファイリング)
 getCheckedoutDocuments チェックアウトされている文書の一覧を取得



・オブジェクトサービス
 createDocument 文書を作成
 createFolder フォルダを作成
 createRelationship 関連を作成
 createPolicy ポリシを作成
 getAllowableActions 対象オブジェクトに対して実行可能なCMISサービスコールの一覧を取得
 getProperties 属性の一覧を取得
 getContentStream ContentStream(ファイル実体)を取得
 updateProperties 属性を更新
 moveObject オブジェクトを(リポジトリのツリー上で)移動
 deleteObject オブジェクトを削除
 deleteTree サブツリーごとオブジェクトを削除
 setContentStream ContentStreamを割当
 deleteContentStream ContentStreamを削除



・マルチファイリングサービス
 addObjectToFolder 対象オブジェクトをさらに別のフォルダに格納
 removeObjectFromFolder フォルダから対象オブジェクトを削除(撤回)



・ディスカバリサービス
 query CMIS SQLの実行



・バージョン管理サービス
 checkOut チェックアウト
 cancelCheckOut チェックアウトの取り消し
 checkIn チェックイン
 getPropertiesOfLatestVersion 最新バージョンの属性一覧を取得
 getAllVersions すべてのバージョンを取得
 deleteAllVersions すべてのバージョンを削除



・関連サービス
 getRelationships 関連の一覧の取得



・ポリシサービス
 applyPolicy ポリシの適用
 removePolicy ポリシの削除
 getAppliedPolicies 適用済みポリシ一覧の取得



機会があれば次は実際にCMISを使った開発の簡単なチュートリアルなどを紹介したいと思います。



��文責 Ishii Akinori ITC)