佐藤正美氏新刊出版記念セミナー


(佐藤正美氏新刊出版記念)新T字形ER手法「TM」で始めるシステム分析セミナー  ?短納期・高品質・低投資時代への対応?

あるみたいです。
TM/T字形ER手法に興味がある方は是非。

PofEAA 7th

参加してきました。今回は発表はなしでした。

### TableDataGateway (わたなべさん)
読書会の議論でも発言させていただきましたが、TableDataGatewayは(非常に荒いレベルの)オブジェクトの設計方針について、わかりやすい指針を示しているものに過ぎないと考えます。

* 具体的な対象と照らし合わせた上での、責務の範囲 : 具体的には・・・RDBの構成要素(テーブル、カラム、複数テーブルなど)を相手にするGateway一般の中で、TableDataGatewayは、テーブル(もしくはテーブル類似のビューなど)を相手にする。責務の範囲をテーブルとする
* クライアントから見た場合のインスタンス関係。もっと言えば、アイデンティティ。:具体的には・・・TableDataGatewayは1テーブルにつき1個。(テーブルの数は簡単に数えられる(苦笑)ので、インスタンスのアイデンティティも容易に理解できる)

### RowDataGateway (和田さん)
あとで書きます。

### ActiveRecord(inoueさん)
Railsのデモが中心。やっぱRailsすげー!

ちょっと気になったのは、Railsの実行モデル。あれだけ評価・処理実行・自動生成が走るとなると、CGIでは・・・きついよね。多分。

### 議論を聞いて。
ビジネスロジックの割り当て、データアクセスの議論が混在している印象。
ここは分けて話さないとまずいっす。

せっかくファウラーたんが、整理してくれているのだから。(わかりにくいけど)

### 角谷さんの意見に同意
わからない部分を曖昧に、抽象的に触れて流すよりも、わからない部分を明確に提示し、自分が理解できている(と思っている)部分を具体的に示すほうが良いと思う。ここはそれが許される「場」であると思います。

言い方を変えれば、せっかくなんだから燃料を投下しましょうよ。
どんなに炎上しても誰かが整理してくれるし。となるかも。

### 資料(半)公開希望。
再度資料を見て、記憶を呼び戻したいので。
懇親会で酔っ払ったので、良く思い出せないというは秘密。

### 戦果
ogijun氏が蔵書の一部を販売していたので、以下の2冊を購入。

* ユースケース実践ガイド 1500yen : 最近、プロセス屋さんの世界で next ユースケースが熱いらしいので、あらためて基礎を抑えておこうかと。
* ソフトウェアエンジニアリング基礎知識体系 600yen : なんか、書き物書くときに便利そうじゃない?たとえば・・・「IEEE xxx では、?における特性として、a) ・・・性、b) ・・・性、c) ・・・性、が求められている。本ドキュメントでは、a) ・・・性の・・・について記述する。」とか。

### 懇親会

獄長!獄長!獄長!ry)

コマンドパターンとストラテジパターン

PofEAA 読書会で話題になったので。

シンタックス的に利用する機構(=多態性)が同じこの2つのパターン。
思うところをつれづれと書いてみたりする。

### コマンドパターン
* マクロでみた意味的には、そのインスタンスにコマンド実行(処理実行)に必要なデータと、ロジックを詰め込むようなイメージ。
* 必要なデータとロジックがインスタンスにパッキングされているがゆえに、1番目の処理Aと2番目の処理Bと3番目の処理Aを実行したい場合は、処理Aに対応したインスタンス+処理Bに対応したインスタンス+処理Aに対応したインスタンスをキューなどに並べておき、順次実行すればよいこととなる。
* コマンド実行のトリガを与えるクライアントが、コマンドのインスタンス以外に気を使わなくて良い点がポイント。コマンドクラスが、そのコマンド実行に必要なデータ、ロジックをカプセル化して保持しているから。
* さらに、コマンド実行を取り消す(アンドゥ)ために必要なデータと、ロジックも詰め込むようにすることで、アンドゥ処理が可能となる。
* OOPの意味的な観点でいうと、コマンドパターンは「インスタンス」に意味がある。
* 具体的には、同じMoveCommand(dx, dy)でも、new MoveCommand(5,10)と new MoveCommand(-10,20)は、処理内容が異なる。
* 多態性は、クライアントが異なるコマンド種別を統一的に実行できるために活用される。
* Command cmd = queue.getCommand(); cmd.execute()

### ストラテジパターン
* マクロで見た意味的には、ロジックをプラガブルにしたようなイメージ。インスタンスレベルで保持するデータにはあまり重きを置かれていない。
* クラスとか、インスタンスとかが本質的な意味でポイントにはならず、プラガブルな構成要素的な観点を持つものであればよい。
* OOPの意味的な観点でいうと、ストラテジパターンは「インスタンス」にあまり意味がない。
* プラガブルな機構を実現できれば、ストラテジが提供するメソッドはクラスメソッドでもかまわない。(暴論気味・・・)
* 多態性は、クライアントの統一的な利用というよりは、プラグ差し替えを実現するための機構として利用される。本質は利用形態の一元化ではなく、差し替え可能性にある。

### 最近のコマンドパターン
StrutsのActionFormをコマンドパターンとか言う人もいて、
ちょっと違和感を感じていたりもするけど、まぁいいかも。という気もする。

HTTPリクエストの内容を、1つのインスタンスにパックしており、かつ、ビジネスレイヤの呼び出しというロジックも(一応)実装しているから。上記に話とも一応対応している。

が、キューに格納されるでもなく、アンドゥ機構を提供するでもない点がちょっと引っかかるかな。コマンドパターンのご利益を活用しているわけではないということ。

executeメソッドを実装しているクラス群が何でもコマンドパターンというのは違うと思いますがね。
インスタンスにデータとロジックがパッキングされていることがポイント。
と思いますよー。と、気弱にまとめてみた。

PofEAA 6th

PofEAA’s Wiki – PofEAA読書会第6回

行ってきた&少しお時間をいただけたので、発表しました。

### サーガ
.NETエンタープライズWebアプリケーション開発技術大全 (Vol.5)”

箇条書きにて。

* 時間15分もらえた。
* OHPは5ページ進んだ
* 残り30(!)ページ
* サーガの定義について鋭いツッコミ
* いやー書籍における定義は、自分も怪しいとおもっていのたのだよねーと。(→OHP該当ページの一番下の行を見られたし)
* 補償トランザクションの補償は電話(=運用対処)
* 補償トランザクションの実現イメージ
* 純粋OLTP系処理なら黒伝+赤伝なるイメージとなる。トランザクションデータ(=取引系データ)に、通常の取引系データ(黒伝)と、打ち消し用取引系データ(赤伝)なる2種類を用意しておき、アプリ側では、赤伝が存在する場合は、黒伝がないものとして扱うようにする。など。
* ただ、ただ、大量データを扱うバッチの場合は実現方法にもう一工夫必要となりそうな気がする。
* また、正方向のトランザクションと、補償トランザクションの時間差も重要。Webサービスとの絡みで論じられるロングトランザクションは、純粋なトランザクションの観点では同様であるけれども、オンラインバッチの補償トランザクションとは、時間がカナリ異なる。
* これらの意味で、当日の議論は若干ずれていた気がする。その場では、理解した気になっていたのですが。すまぬ。>皆様
* バッチでキャッシュは怖い
* よねー。やっぱり。

### いろいろ
* yyamanoさんのPCの壁紙がカッコイイ。(覗き見したった。)
* 議論の参加者が増えていい感じ。
* 整理も必要かもと、ちょっとおもったが、ドメインモデルのあたりの話は複雑すぎて、参戦できず・・・。実装センスが弱いな。>俺

### 感謝
あれだけの大人数なのに、一体感をもって進められたのは、絶妙な座席配置に資する部分も大きいかと。ありがとうございます。>オージス軍団の方々。

→ GLADさんとkukutaniさんの工夫みたい。すばらしいです。ありがとうございます。

CONCEPTWARE/財務管理

渡辺幸三の開発支援サイト「システム設計のこと、もっと知りたい」 – レファレンスモデル

公開されたようです。

T字形ER 早稲田エクステンションセンター

> ▼ 早稲田大学エクステンションセンター 秋講座
>  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
>
>  早稲田大学エクステンションセンター(社会人向けの公開講座)の講師を、秋もやることになりました。
>
>  秋の講座は、9月30から12月9日まで、毎週金曜日の19:00から20:30までの10回の連続講座です(10月21日、休校)。

費用が非常に安価なので、個人的にT字形ERに興味があるが、会社からお金を出してもらうのはちょっと・・・という方にオススメできます。

毎回の講座後の飲み会も楽しい。

WOMeeting2005/08

出席&発表してきた。

発表資料はこちら

* WOMeeting発表資料
* WOMeeting200508 – WOWiki

なんかやたらと眠かったので、飲み会はパスさせていただいた。
行った方がよかったかな?とちょっと思ったり。

J2EE勉強会 第11回

いやー、内容の濃い5時間半だった。

### EJB 3.0

いやー、ついていけませんでした。正直。ぜんぜんEJB3を追っかけてないからなぁ。

### Next Generation J2EE Deployment

気になったとこだけ。

* データアクセスレイヤ?ビジネスロジックレイヤをつなぐデータ構造(モデル)としてドメインモデルを、ビジネスロジックレイヤ?ビジネスロジックレイヤをつなぐデータ構造(モデル)としてプレゼンテーションモデルを利用する。
* 誤解を恐れずにいうと、
* ドメインモデルはデータベースのテーブル構造に比較的近い構造のJavaクラスモデルとなる。
* プレゼンテーションモデルは、データベースのビューに近い構造のJavaクラスモデルとなる。
* かなり乱暴なものいいです。
* ドメインモデルとプレゼンテーションモデルの変換は、ビジネスロジックレイヤの背後にいるDxo(ダックスオー)が実行する。
* ドメインモデルの構造として、テーブル構造に比較的近い構造を使用する理由は、Persistence APIの存在があるため
* ドメインモデルはJavaクラスのデータ構造に関する。PofEAAのドメインロジックパターンと混同せぬよう。後者は、ロジックの割り当てに関する。
* EJB3 or Seasar2の選択は、開発元の文化によると思われる。
* 標準化を重視するかどうか。とか。

### テスティング話

結構盛りだくさんでした。早期の資料公開希望します(笑)。

社員マスタという不思議なエンティティ(第2回)

社員マスタという不思議なエンティティ(第2回)

面白いです。

XMLとスキーマ

* XMLとスキーマ
* PPL Summer School 2004

via 読書記録ChangeLog

なんだか楽しそうなことが書いてありそうなんだけど、よくわからない・・・orz.

とりあえず気になるところを引用しておく。

> スキーマと意味?
>

  • スキーマは、文書の意味を規定しない
  • >

  • XML文書全体の集合の部分集合を規定しているだけ
  • >

  • DTDに適合する文書を扱うスタイルシート、ソフトウェア、人間の総体が意味を規定する

スキーマは、世界中にあまたあるXML文書を、

* スキーマに合致したXML文書
* スキーマに合致しないXML文書

の2つに分類するだけ。

> 別の見解
>

  • スキーマは,integerすら持たないXML文書を、型情報を備えたオブジェクトへと昇華させる
    >
    • 効率は負ける
      >
    • 誤ったレイヤリングである

「誤ったレイヤリング」の「こころ」はなんだろう????

> スキーマの理論

よくわからない・・・が、楽しそう。キーワードだけ並べておく。

* 正規木文法
* 木オートマトン
* 正規文法
* 文脈自由(列)文法
* Chomsky Hierarchy
* 局所文法(local grammar)

> 課題1: スキーマの汎用化と特殊化
>

  • 広い範囲の人が合意するスキーマは複雑すぎて作れない
  • >

  • 日本の電子政府で必要な範囲の人名スキーマ

>

  • 狭い範囲の人が合意するスキーマは広範囲の情報交換には使えない
    >
    • UN/CEFACTやOASISで制定された人名(国際化)されたもの)とどう折り合いをつければいいのか?
  • >

  • 双方向変換?
  • 「広い範囲の人が合意するスキーマは複雑すぎて作れない」 うーむ・・・。

    * 「XML処理手法と理論」XML processing methodologY and formaliZation (XYZ)

    も読んでみる(否、眺めてみる)ことにする・・・とおもったら、403であくせすできんじゃんか!!!ばーかばーか > 京都大
    ケチ。