Index: [Article Count Order] [Thread]

Date:  Wed, 23 Jul 2003 12:31:02 +0900
Subject:  【オブジェクト倶楽部:2003-06号】

       ┏━━━━━━━━━━━━━━━━━━━━━━━━━━■
       ┃                         ■┃
      ●┃● ● オ ブ ジ ェ ク ト 倶 楽 部   ■ ┃
       ┃                       ■  ┃
       ┗━━━━━━━━━━━━━━━━━━━━━━■━━━┛
                          No.06 2003/07/23

■ I N D E X
┃
┣【新着記事】劇団ペケぴー発表資料「ウシー診療所」公開
┣【ツール】オープンソース捜索譚 [3]
┗【ツール】Wikiでウッキッキ [最終回]

〇━━━━━━━━━━━━━━━━━━━━━━━━━━━【新着記事】━
 〇  XP祭り 劇団ペケぴー発表資料「ウシー診療所」公開
  〇 〇━━━━━━━━━━━━━ ━━・

XP祭り2003のライトニングトークスにて、劇団ペケぴーによる発表(寸劇?)
が行われました。(劇団ペケぴーは、オブジェクト倶楽部 天野勝が主催する
劇団です)
この発表資料を公開いたします。
URLはこちら。
http://www.ObjectClub.jp/eXtremeProgramming/pekep/030718/

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━1 s t ■━
■
┗【ツール】オープンソース捜索譚 [3]

こんにちは。ko-chanです。
今週は、Jamesを使って、簡単なメールアプリケーションを動かしてみます。

前回は、JamesのインストールおよびJamesの動作テストをしてみました。
ここまで完了している人は以下の内容に進んでもかまいませんが、まだインス
トールおよび確認ができていない人は前回のメルマガをご参照の上進んでくだ
さい。

今回動かしてみるメールアプリケーションは、メールを送ると、自動で返答し
てくれるというアプリケーションです。

1.では早速ソースを書いてみましょう。

----
package sample.mailet;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.mailet.GenericMailet;
import org.apache.mailet.Mail;
import org.apache.mailet.MailAddress;

public class SimpleMailet extends GenericMailet {

  public SimpleMailet() {
    super();
  }

  public void service(Mail mail) throws MessagingException {

    //REPLYメッセージの作成
    MimeMessage response = (MimeMessage)mail.getMessage().reply(false);
    //SUBJECTの設定
    response.setSubject("Hello");
    //本文の設定
    response.setText("Your name is [" + mail.getSender().toString() + "]");

    //FROMの設定
    if (response.getFrom() == null) {
      response.setFrom(((MailAddress)mail.getRecipients().iterator().next()).toInternetAddres());
    }

    //Recipientsの設定
    if (response.getAllRecipients() == null) {
      response.setRecipients(MimeMessage.RecipientType.TO, mail.getSender().toString());
    }
    
    //送信
    response.saveChanges();
    getMailetContext().sendMail(response);
    
  }
}

---
上のように、GenericMailetを継承したメールアプリケーションを記述しコンパ
イルしてみましょう。もちろんインポートしているライブラリをクラスパスに
入れてコンパイルしてくださいね。
Jamesを利用したメールアプリケーションを作成する場合には、このように
GenericMailetを継承して作成します。このソースの解説はコメントを参照して
ください。

コンパイルが完了したら、SimpleMailet.classのみを格納したJARファイルを作
成します。

$ jar cvf SimpleMailet.jar <ディレクトリ名>


2.デプロイ
作成したメールアプリケーションを実際に動かすためには、James上にデプロイ
する必要があります。デプロイとは、適当なディレクトリに作成したプログラ
ムを配置し、またそのプログラムが動作するように設定をして、アプリケー
ションを立ち上げることをいいます。

Jamesディレクトリ配下にある、Appディレクトリに移動してください。
そこに、james.sarというファイルがあります。まず、それを適当なディレクト
リにコピーし、JARで解凍してみてください。

$ jar xvf james.sar

解凍したjames.sarのSAR-INF/libに先ほど作成したSimpleMailet.jarをコピー
しましょう。このディレクトリは、メールアプリケーションを格納するディレ
クトリと考えてください。

次に、SAR-INF/config.xmlをテキストエディタで開きます。
<mailetpackages>の中を編集します。ここには、読み込みたいメールアプリケー
ションのパッケージ名を格納します。

--
    <mailetpackages>
     <mailetpackage>org.apache.james.transport.mailets</mailetpackage>
     <mailetpackage>sample.mailet</mailetpackage>
    </mailetpackages>
--
今回は、SimpleMailetを動かしたいので、sample.mailetというパッケージ名を
設定しました。これでSimpleMailetを対象に入れたことになります。

次に、Jamesの動作を設定します。ここでは、hello@localhostというメールア
ドレスにメールが来た場合に、SimpleMailetを動かすように設定します。
<processor name="root">内に以下の要素を追加してください。

--
<mailet match="RecipientIs=hello@localhost" class="SimpleMailet"> 
</mailet>
--
これで、hello@localhostとSimpleMailetがつながったことになります。

では、この設定で、再びjames.sarを作成します。
app/jamesディレクトリにおいて、jarを利用してappディレクトリに配置しま
しょう。

$ jar cvf ../james.sar *

それでは、Jamesを起動しましょう。runを実行してください。

3.メールアプリケーションを動かそう!

Jamesが無事起動したことを確認したら、次のようなメールをJamesに対して送
ってみましょう。

to: hello@localhost
subject: <空>
本文: <空>

送信して、しばらく待って、Jamesの自分のメールボックスを確認してください。
どうですか?Helloという題名のメールが届いて居た場合は、SimpleMailetが動
作していることになります。

このように、メールアプリケーションを簡単に作成できるのが、JamesのMailet
です。自分でメールアプリケーションを作成して動かしてみましょう。

では!(ko-chan)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━2 n d ■━
■
┗【ツール】Wikiでウッキッキ [4]

Wikiでウッキッキ [最終回] - 知識共有編

こんにちは、天野勝です。
前回は、Wikiでコラボレーションする具体例を説明しました。最終回の今回は、
Wikiで知識共有をするときのヒントを説明します。

  ☆  ☆  ☆

■そのWiki生きてます?
誰でも書き込み可能ということから、Wikiをインストールするだけでうまく活
用されると思われている方が多いようです(*1)。また、インストールしやすい
がゆえに誰でも使えるけど、使われていないゾンビのようなWikiがインター
ネット上にちらほらありますね。おそらく、イントラネット上のWikiも同じよ
うな状態だったりしませんか。
こんな状態を何とかしたいですよね。
そんな時は、まずは自分からです。他人任せではだめです。
で、どうするかというと自分がファシリテータになるのです。ファシリテータ
(facilitator)とは、場を提供し、その場の目的をより効率的に達成することを
手助けするといった役割のことです。まずは、自分から情報を書き込みましょ
う。イントラネットであれば、書き込んだら関係者にメールで知らせましょう。
活発になるまでは独りよがりでもよいので、どんどん書き込みましょう。

■善の独裁者
大勢の人によって書き込まれることでWikiが活き活きしてきます。管理者に関
係なくどんどん膨らみ、まるで自己増殖するアメーバのように情報量が増加し
ていくことでしょう。しかし、ただむやみに情報量が多ければ良いというわけ
ではありません。ソフトウェア設計の原則にもある「高凝集」である必要があ
るとは思いませんか。Wiki上に散らばっている似通った情報を寄せ集めたり、
リンクしたりといった「善の独裁者」が必要です。この「善の独裁者」もファ
シリテータの一つの形態でしょう。このような人がいると、そのWikiはさらに
素晴らしいものになるでしょう。
みなさんもぜひファシリテータを目指してみてください。

  ☆  ☆  ☆

今回は、Wikiを活用した知識共有を円滑にするヒントを説明しました。これま
での説明で、Wikiの「ローテクならではの可能性」「アイデア次第、人次第」
を感じていただければ、今回の連載は成功です。(天野勝)

*1: オブジェクト倶楽部にあるWikiもその傾向が・・・

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
■
┗編集後記

こんにちは。編集人です。
XP祭り2003に参加してきました。コミュニティのイベントというのは恥かしな
がら初参加だったのですが、予想以上に活気あふれる会場にびっくりでした。

XPアンギャ東京編の申し込み受付ですが、まだ多少の空席があります。
みなさんふるってご参加ください。

さて、先週の「週刊オブジェクト倶楽部2003-05号」掲載内容について、お詫び
と訂正があります。

「今週のUMLクイズ」ですが、問題文がわかりにくい、というご指摘がありまし
た。
問題文中の選択肢
>ア. ユースケース図は、主に開発対象を分析する時に利用する。
を下記の通り訂正したいと思います。
>ア. ユースケース図は、主に要件を分析する時に利用する。
この文章では、「開発対象」という言葉の解釈に迷ってしまった方が多かった
ようです。

もう一点は、編集後記からです。
4号のメールマガジン編集後記にて、「アジャイルカンファレンス訪問記」を
次週掲載します、と予告していましたが、お断りなく、掲載中止となってしま
いました。
訪問記の方は、現在作成中の、アジャイルカンファレンス報告ページの方に、
加筆し、パワーアップして再度掲載の予定です。

(いりさ)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━--■--●--■
● ご意見、ご感想は         ⇒このメールに返信ください
〇 配信中止、アドレス変更は ⇒
http://www.ObjectClub.jp/mlmagazine_help.html
〇 免責事項、過去の記事は   ⇒http://www.ObjectClub.jp/mlmagazine.html
■ 発行:オブジェクト倶楽部 ⇒http://www.ObjectClub.jp/
■ 編集代表:平鍋  健児
Copyright (c)2003 オブジェクト倶楽部. All Rights Reserved.
powered by Eiwa System Management, Inc.