トップページphp
1001コメント548KB

WebObjects

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/11(金) 15:31ID:JvnwbOkk
ってどうなの?
0522ヲッカーな名無しさん01/12/31 19:33ID:???
このスレにも冬厨到来か。
ま、冬の風物詩だ。厨もその他もマターリ逝こう。
正月はコタツでWOと戯れるのもまた一興。
0523名梨さん ◆FkWCoMC. 02/01/01 02:47ID:???
うむ。俺も正月はこれ一色になりそうだ。
0524名梨さん ◆FkWCoMC. 02/01/01 02:51ID:???
>>515,>>521
うん、確かにな。。アップルが出してるドキュメントは英語が
殆どだから、それなりの覚悟をして読んでみること。
それよりは>>521さんのおっしゃる通り、オーム社の本読んだ方がいい。
0525名梨さん ◆FkWCoMC. 02/01/01 03:31ID:???
>>524
英語が殆ど→ × 英語が多い→ ◎ 訂正スマソ

5、6時間連続でWOを触って疲れた。。 このスレを見ると他のスレみたいに情
報サイトのまとまったカキコがないみたいだから、ここで書いてみる。
新スレ立てるときとかに貼って貰えれば嬉しいっす。
WOの情報源って昔よりは増えたらしいけど結構探すのに苦労したなぁ。。

---------本家アポー社関連サイト--------------
「Apple社WebObjects本家サイト」
http://www.apple.co.jp/webobjects/
「WOリソースディレクトリ」
http://www.apple.co.jp/webobjects/directory.html
「WebObjects日本語技術マニュアル」
http://www.apple.co.jp/webobjects/wo_docs_j.html
「WOサンプルコード」
http://www.apple.co.jp/webobjects/samples.html
「WebObjects 5 Developer Documentation(英語)」
http://developer.apple.com/techpubs/webobjects/webobjects.html

----------書籍(WO開発者なら読んだ方がいい)---------------------
「WebObjectsアプリケーション開発ガイド」←判りやすくオススメ
http://www.ohmsha.co.jp/data/books/contents/4-274-06439-5.htm
「WebObjects実践ガイドブック」
http://books.softbank.co.jp/isbn/1156/index.html

-------メーリングリスト----------------
「WebObjects-jp Mailing List 」
http://www.tech-arts.co.jp/macosx/webobjects-jp/ml.html
「WebObjects-jp Mailing List過去ログ検索」
http://www.tech-arts.co.jp/macosx/webobjects-jp/search.html

-----------その他----------------------

「コラム:倉橋浩一,じつはWebObjectsで飯食ってます」
http://www.zdnet.co.jp/macwire/column/kurahashi.html

他に付け加えるべきものがあったらよろしく。
0526名梨さん ◆FkWCoMC. 02/01/01 03:32ID:X9mvWlM4
あげておく。
052751502/01/01 03:34ID:???
レスどうもありがとうございます。

オーム社とソフトバンクの本は、もうすぐ読み終わります。
WOは独学してるんですが、自分がたてた独学コースとして

オーム社・ソフトバンク社の本→appleのドキュメント読む→ML・BBSの過去ログ読み漁る→洋書2冊読む

みたいなのを考えてるんですが、それで例の洋書の2冊って
どのくらいの人を対象に書かれたものかな?と思ったもので。

#といっても今まで洋書なんて読んだ事ないんだけど。(´д`;)ダメジャン
#でもそこまでしたいと思わせるほどWOに魅力が(´д`;)ハァハァ
0528しんぷる02/01/01 07:33ID:K+bw+5be
>>527
#でもそこまでしたいと思わせるほどWOに魅力が(´д`;)ハァハァ

激しく同意。
あとよかったら見てね。って最近忙しくてニュース以外の更新とまってます。
あとascii modeで転送しちまって画像が壊れてます(爆
http://shinshin.com/webobjects/
0529名無しさん@お腹いっぱい。 02/01/01 16:04ID:???
session().defaultEditingContext().revert();
って、たとえばどんなときに使えるんですか?
どんな場合に使うべきなんでしょうか?
EditingContextの編集結果を破棄したい場合?
0530名無しさん@お腹いっぱい。02/01/01 18:21ID:???
>>529 こういう場合だ

$file = 'test.csv';
open (IN,"<$file");
@data = ;
close (IN);
$base = '';
for (0..$#data) {
@gyo = split(/\,/, @data[#_]);
$base.='';
}
$base.='
';
$base.=join("
", @gyo);
$base.='

';
0531名無しさん@お腹いっぱい。02/01/03 15:50ID:???
>>530

冬厨ハッケン!

だから、ageるなっちゅうに、、、
0532りお02/01/03 17:53ID:???
あけましておめでトゥー

>>525
http://www.senmeisha.co.jp/cgi-bin/WebObjects/WebConductor
ここからダウソできるサンプルも結構役に立つぞ。
ただしパスワードがかかってる。ヒントはここのスレにある(ワラ

>>529
ちゃんと書籍読んだりしたか?思いつきで質問するなよ、ゴラァ(`Д´)
と新年早々喧嘩腰ではなんなので答えるぞ。

お察しの通り、revert()はeditingContextにレジストされている
更新可能なEO群を破棄するメソッドだ。

たとえば、画面操作を続けていった最後の確認で
「保存する。本当にいいか? キャンセル/OK」 と出て、
キャンセルを押した時にrevertを押せば、更新内容をすべてパァにして
モトの画面に戻るという時に使ったりするな。

session().defaultEditingContext()に更新すべき内容がレジストされてっか
どうかをチェックしたい時はinsertedObjects、updatedObjects、deletedObjectsを使ってナカミを確認するのがフツーだ。

revert()は、editingContextの内容を全部パァにするんだが、それが
イヤで、editingContextにレジストされているある特定のEOだけを
破棄したい場合は、

場合は……なんだっけ(爆
0533りお02/01/03 18:08ID:20JEtP/c
>>532
思い出した(´Д`;)
チェックしていないが、これでイケるはずだ。
editingContextから指定したEOのレジストをキャンセルする。
(キャンセルっつーか、破棄って言い方が正しいかモナー)

EOEditingContext ec = this.session().defultEditingContext();
EOGlobalID gid = ec.globalIDForObject(eo); // "eo は任意のEO"
if ( gid != null )
ec.invalidateObjectsWithGlobalIDs( new NSArray( gid ) );

どうでもいいが、これは自己責任でやれ(w

あと、editingContextに変更内容があるかどうかを確認するには、
hasChanges()で確認することができる。
(inserted〜の3つはどの種類の更新内容かを確認するときに見るやつだな)

それじゃ、今年も良いWebObjectsライフが送れるように(´∀`)。
0534名無しさん02/01/03 18:36ID:???
>>532

思いあたるパスワードためしまくったけど駄目だった。
なんなんだー!
0535●~*02/01/03 19:48ID:???
sageだ。
0536名梨さん ◆FkWCoMC. 02/01/03 20:24ID:???
じゃあ整理しなおし。引き続き付け加えるべきものがあればよろしくです。。

---------本家アポー社関連サイト--------------
「Apple社WebObjects本家サイト」
http://www.apple.co.jp/webobjects/
「WOリソースディレクトリ」
http://www.apple.co.jp/webobjects/directory.html
「WebObjects日本語技術マニュアル」
http://www.apple.co.jp/webobjects/wo_docs_j.html
「WOサンプルコード」
http://www.apple.co.jp/webobjects/samples.html
「WebObjects 5 Developer Documentation(英語)」
http://developer.apple.com/techpubs/webobjects/webobjects.html

----------書籍(WO開発者なら読んだ方がいい)---------------------
「WebObjectsアプリケーション開発ガイド」←判りやすくオススメ
http://www.ohmsha.co.jp/data/books/contents/4-274-06439-5.htm
「WebObjects実践ガイドブック」
http://books.softbank.co.jp/isbn/1156/index.html

-------メーリングリスト----------------
「WebObjects-jp Mailing List 」
http://www.tech-arts.co.jp/macosx/webobjects-jp/ml.html
「WebObjects-jp Mailing List過去ログ検索」
http://www.tech-arts.co.jp/macosx/webobjects-jp/search.html

-----------その他----------------------

「コラム:倉橋浩一,じつはWebObjectsで飯食ってます」
http://www.zdnet.co.jp/macwire/column/kurahashi.html
「WebObjects Programming」
http://shinshin.com/webobjects/
「千明社サンプルコード(パスワードプロテクトあり)」
http://www.senmeisha.co.jp/cgi-bin/WebObjects/WebConductor

sageてsageていきますw 今年もよろしくです〜
0537リオ様、本書いてください02/01/03 20:27ID:???

                           - 、   - 、
                 _,, -― "⌒ヽ-、   ヽ    \
           -=≡ ,,-"        i ヽ    ヽ  ヽ.ヽ
         -=≡   /      ,,-ヽ  .i  i     i   i ii
       -=≡   ./ /    /  i  |.i  |     |   i ii
      -=≡   / ./、Д , )./     | '⌒/⌒)(_ヽ  !   ! !!
      -=≡    | |/ ̄∨/      ゙ -/ /-⌒) i
     -=≡, 〜⌒| | ⌒l/ /          | | ヽ (ヽi  ぐるんぐるん
     -=≡ー-ヽ | | | | /        .| |  し' (         i i
     -=≡   ./ノ|)  |         | |_∧、_つ    i | i
     -=≡  (__|  |.| .|        / | ´Д`)       .i i l
⌒ヽ   -=≡    !  ヽ \      /     /    /  / //←>>1
 ⌒ヽ   -=≡   ヽ  \ ヽ、    /     /   /  / .'
  '"⌒ヽ  -=≡    \  ⌒ヽ⌒ン     /   _,,-'' ,,-"
  ヽ   ヽ、_-=≡     \       ,, -" _,, - '' - "
    )__ノ⌒    -=≡    ゙ ー---- "
 ー"   ゴロゴロロロ・・・
0538ヲッカーな名無しさん02/01/03 20:31ID:???
上の方のログにあったが、初心者向けにコレもいいのでは?

MDOnline : WebObjects 5とOpenBaseを使ってみる
http://www.zdnet.co.jp/macwire/0108/03/c_openbase.html
http://www.zdnet.co.jp/macwire/0108/07/c_openbase.html
http://www.zdnet.co.jp/macwire/0108/09/c_openbase.html
http://www.zdnet.co.jp/macwire/0108/10/c_openbase.html
http://www.zdnet.co.jp/macwire/0108/11/c_openbase.html

sageでな、sageで。
0539ヲッカーな名無しさん02/01/03 20:32ID:???
>>537
をを、俺も、りおタンにWO本書いて欲しいぞ。
つーか、WO使いによる、WO使いのためのWebサイト作るってのもいいんじゃないかな。
0540名梨さん ◆FkWCoMC. 02/01/03 20:42ID:???
>>538
おぉ、(・∀・)イイ!ねぇ。 俺もDB初心者だから読み直してみる。
>>461を質問したのは俺なんだがいまだに悩んでる。。

仕事始めまでに何とか解決せねば。。
0541りお02/01/03 21:11ID:20JEtP/c
>>539
おいこら、勝手に本を書くとか書くな(w
そのうち、誰か出すだろう。おれっちは海で溺れた美女にマウストゥマウスを
施すライフセィヴァ的存在でいいのだ(←意味不明
おまえら、さやかタンが溺れたらおれっちに譲れよな(`Д´)

>>540
なんだ、おめぇ、おれっちが書いた答えじゃ満足できねぇのか?
どこまでできて、どこがダメなのか、ちょっとコード付きでもいいから
なんか書け。6日まで休みだから、つきあってやる。

どうでもいいけど、WebConductorってかっこいいネーミングだな。
地球を輪切りしてるし(ワラ
0542名梨さん ◆FkWCoMC. 02/01/03 21:25ID:???
>>541
スマソ。。今試行錯誤の最中。。
movies.eomodeldで試してるから、少々お待ちを。。
0543ヲッカーな名無しさん02/01/04 02:34ID:???
何の因果か、M$の$QL $server 2000にWO5つなげなきゃならなくなったのだ。
海外でも、これ、あんまりうまくいってないんだよね?確か。
応急処置的なんだけど、使える目処が付いたので、状況報告。

[General Info]
DB : $QL Server 2000 + SP1
JDBC Driver : http://www.inetsoftware.de/English/Produkte/JDBC_Overview/ms.htm
for WO5 Runtime : i-net SPRINTA
for EOModeler : i-net UNA 2000
CLASSPATHは、UNAをSPRINTAより先に認識するように設定

[EOModeler Info]
URL : jdbc:inetdae7://<DB-Server>:<Port#>?database=<DB-Name>&charset=Ms932
Driver : com.inet.tds.TdsDriver

ExternalTypeが、nvarchar、nchar、ntextあたりの情報をClassValueに
ハメてくれないので、とりあえずNSStringを設定。
datetimeは、NSCalendarDateになるんだが、書き込み時にEOから変換できず
エラーになるので、是非は別として、とりあえずこれもNSStringに。
(これでEOmodeler上でCustom Formatting使えばいいかな?)

っつー感じ。これよりいい方法あったら、情報クレクレ。
0544寝正月 de WO02/01/04 23:22ID:???
簡単な掲示板もどきを作ってます。
Main.woでメッセージの一覧/書き込みをしていて、
別画面でメッセージの削除をやろうとしてます。

そこで質問なんですが、

Main nextPage = (Main)pageWithName("Main");
restableDisplayGroup.setSelectedObject(mResRecord);
restableDisplayGroup.delete();
restableDisplayGroup.dataSource().editingContext().saveChanges();

return nextPage;

これでMainの画面のページを呼ぶとdeleteしたはずのオブジクトが残ります。
#一旦nullを返して改めてMainを呼ぶとちゃんとdeleteされてる

これは本当にdeleteされるのは要求/応答ループの最後の時、の理解で
あってます?>識者のみなさま
0545りお02/01/05 00:22ID:buiLiY79
>>544
なんでpageWithNameしたあとにdisplayGroupの削除してんの?

restableDisplayGroupって、Mainじゃなくって別のページで
(削除するページ?)使ってるやつか?

なんか、よくわからんけど、
そのサンプルじゃ、deleteしたハズのオブジェクトが残るとは思うが。
0546名無しさん@お腹いっぱい。02/01/05 16:23ID:gn/14Se0
WOに興味あるんだけど、WOって普通のサーブレットコンテナとして
使うことは可能かどうか教えてくれくれ。

今あるJSPとか作り直すのは面倒なので、そのまま流用して新規分を
WOで作っていこうと思うんだが、わざわざ2つも別個にサーバ立てるのも
どうかと思うんでなー。よろしく頼む
0547ヲッカーな名無しさん02/01/05 16:54ID:???
>>546
サーブレットコンテナとしては使えない。
サーブレットが出現する以前から存在している技術だからね。
ただ、ロジックをうまく作ってあれば、サーブレットのしくみにとらわれない範囲での流用は可能だと思うけど。
ただ、今あるモノを流用するよりも、思い切ってWO用に作り直した方が簡単だったりすることが多い。
0548名無しさん@お腹いっぱい。02/01/05 17:27ID:gn/14Se0
>>547 ありがとう。よしゃ作り直すか。

もうひとつ教えて欲しいんだが、ページ間の遷移を一元管理
する仕組みはあるんだろうか? 最近Cocoon2でまとめて管理
するのに慣れているので、ページごとに遷移のコードを書くのは
やってられんのだ。よろしく頼む。
0549ヲッカーな名無しさん02/01/05 18:08ID:???
>>548
それも繭2使うよりも、簡単だと思うよ。
ページ自体をオブジェクトとして扱うから、
遷移したいページのオブジェクトを作って、それを返してあげるだけ。
たとえば、元のページから次のページに飛ぶときは、
  NextPage nextPage = (NextPage)pageWithName("NextPage");
  return(nextPage);
みたいなメソッド作って、それをSubmitボタンなりハイパーリンクの属性として、
ツール上でドラッグ&ドロップしてやる。
NextPageから元のページに戻るときも同じような感じ。
Session管理も自動だから、ServletやJSPでめんどくさいことやってたのがアホらしくなるよ。
0550ヲッカーな名無しさん02/01/05 18:17ID:???
>>548
WOで作るユーザアプリって、構造が非常にスキーリしてるんだよ。
使うクラスも、表現悪いかもしれないが、こんな感じで階層化されてて、
わかりやすく使える。

Application class
{
  // そのアプリのインスタンス自身が使うオブジェクトとかを置く
  Session class
  {
    // このセッションで使いたい変数やオブジェクトを置く。管理は自動。
    Main class
    { 
      // 最初に起動するページを構成するアプリ
    }
    Other Page class
    {
      // 他のページを構成するアプリ
    }
  }
}

で、ソース+動的Webページ作成ツール+DBオブジェクト化ツールという
組み合わせ下で実現されるドラッグ&ドロップで可能な開発環境を利用すると、
ページ遷移も効率良いし、DBとの連携も楽ちんてわけ。
UIとオブジェクト間の接続も、直感的にできる。
0551ヲッカーな名無しさん02/01/05 18:18ID:???
上、各クラスは実際には、別のクラスファイルとして分離してる。
Application.java、Session.java、Main.javaってな具合で。
0552ヲッカーな名無しさん02/01/05 18:36ID:???
そーいや、WO5からEJBコンテナが搭載されるって話だったけど、いつになるんだろうな(w
まーカリにそんなもの搭載されても、EOFしか使わないと思うけど。
でも、EJBとEOFの連携がスマートにできるんなら、すでにEJB資産持ってるところには
メリットあるのかもな。
0553りお02/01/05 18:51ID:8Z4mTWL5
ところで、囲碁がはやってるんだってな。

>>552
そうだったよな、確か次のバージョンから、なんていうのをリリースノートだったか、
OmniのMLだったかADC Newsだったかでみたことある。
つーか、EJB使うんだったらEOFの方が良いと思われ。
0554名無しさん@お腹いっぱい。02/01/05 18:53ID:???
>>549-551 サンクス。特に>>550はすごくわかりやすい。感謝
今、日本語ドキュメントを落としてきて、順番に読み始めた
ばかりだが、カナーリshockだよ(w すごく良さそうだ。

俺はマク持ってないので、気軽にトライアル出来ないから(ちょっと
入用で\70kが出せないんだ)、教えてクンになっててスマソ。

WOはほんとにRADだな。WebのRADって感じだ。生産性が高いっていう
理由がわかる気がするよ。今までの俺の苦労は一体、って感じだな(鬱
もう少しドキュメント読んで勉強してみるよ。
0555ヲッカーな名無しさん02/01/05 19:02ID:???
>>554
教えてクンでもいいと思われ。漏れも、今でも教えてクンなDQNなWOユーザだし(w
技術的に高度なことは、りおタンが導いてくれると思われ(ワラ
Winでも開発はできる。漏れはWin2Kでやってるよ。
ぜひ\70kを捻出して買ってくれ。損は無いと思われ。
0556名無しさん@お腹いっぱい。02/01/05 21:50ID:???
EJB関連の技術って、何故その技術が必要になったのか? という
当初の動機を忘れて名前が独り歩きしてしまいがちだ。
WOはそういう状況への強烈なアンチテーゼになるな、とここ最近の
やりとりを見ていて思った。

まあそれとは全然別口で、Entity Beanの中にはDBと対応していないもので
なかなか便利なものがあるので(EOFでもentityとtableがequalでないように)、
そういうのが使えるようになると嬉しいからEJB対応はして欲しい。
DBに関係するところは全部EOFにやらせちゃうけどね。
055754602/01/05 22:58ID:???
>>555 ありがとう。ほっとするよ(w
来月には金の目処がつきそうになったので是非買ってみる。
見てるとヤパーリEOFは良さげだな。ぜひ使いたいぞ。
WOFは何となくASP.NETを連想した。

まぁ繭2とXSLTでかなり楽できるようになっているのだが、
スタイルがまた全然違うので、上手く組み合わせられれば
俺としては最高だな。でもWOのURLの形式は萎えた。まぁ
dearcardsを見ると隠蔽は出来そうなので大丈夫だろう。
0558ヲッカーな名無しさん02/01/05 23:10ID:???
>>557
んむ?SessionIDに萎え〜なのか?(w
善し悪しは別として、Cookieに入れることもできるよ。
あと、URLに埋まってるとはいえ、確か1回こっきりとかのSessionID使えるので、
アプリに負担をかけずに事実上の成りすましとかを防ぐ方法があった気がする。
りおタンかだれか、フォロー頼む。
055954402/01/05 23:32ID:???
一晩寝たらアホな勘違いしてると気が付きました。
失礼しました。
0560461=名無しにします02/01/05 23:53ID:???
>りお様
遅レスすまそ、今方針変更中。

>>461について
WORepetitionでDBからデータをフェッチして表示させる。
画面には「レコードを追加」「変更」「削除」「上の内容をDBに反映」
ボタンがある。

WORepetitionで表示する段階において、返ってきたデータを書き込み
可能にするのではなく、「DBに反映」ボタンを押したときに表示された
データをDBに反映することにする。

objectsFromRawRowについては簡単なサンプル作ってみたら
基本的にはうまくいったので頑張ってみます。
056154602/01/06 00:19ID:???
>>558 そう、萎え〜(w

いやcookieレスだとああなるのは承知だが、単純にあんな
長いのがブラウザに表示されると、やっぱりシロートさんから
するとちょと引かれる。つぅか過去に何度も「これ何とか
ならんのか」と客に言われたよ。ダイレクトメールの宛名シールに
顧客IDとか印刷していると、いかにも「管理してます」って
感じがして嫌われるのと同じ理屈だな(w
まぁ何とか方法があるということが判れば、否定的になることも
ないし、ずっとドキュメントを今日は読みつづけているんだが、
かなりWO萌え〜になっているので、そんなにマイナスにはならんと
思ってる。
0562名無しさん@お腹いっぱい。02/01/06 01:18ID:???
安直には、フレームにしてurl欄から隠しちゃう、てな方法を良くやる。
だいたいがurl長いの気にしてるのなんてクライアントの担当者ぐらいで
エンドユーザでないことが多いので、根本的解決になってなくても
ひとまず安心させることが出来ればOK、みたいな。
0563りお02/01/06 01:42ID:IxnaJif0
>>558
たれぱんだが好きだと逝っていた人のサイトに逝けばサンプルソースがある。だけど4.5でのみ動作確認らしいが。

Application.javaとSession.javaをいじって独自のSessionID振る
やりかたもあるのだが、ちょぃと、それをいってしまうとジョー氏に
あぼーんされてしまうのでがむばって作ってみてくれ。

とはいっても、JSP-Servlet-EJBの組み合わせでセッション管理するよっか
ラクなんでセッション管理はどうだっていいと思っているのだが(←いいのか、おぃ(´Д`;)
0564りお02/01/06 01:45ID:IxnaJif0
>>560
なにやら大変そうだが(w
ぶっちゃけた話、EOFも万能じゃないんで(←問題発言 、

遠回りなやり方で実現できるかもしれないから、がむばってクレ.
0565461=名無しにします02/01/06 01:51ID:???
>>564
なんで任意のSQLを流すと結果がエンタープライズオブジェクト
にならないのか。。激しく納得いかないながら頑張ってます(w

EOFが全くわかってないど素人のいう事なんで気にしないでください。。
056654602/01/06 02:05ID:???
>>562 同じ手を俺も良く使う(w

単純な疑問なのだが、EOFでいわゆるhdr-dtl関係のようなものを
表示するようなときに、レコード件数が多いと遅くならないのかな?
いつも最低でも10万件以上はぶん回すことになるので、この辺気になる。
indexとか勝手に作ってくれるんかの〜。
EOFの性能について、ざっくりと教えてくれくれ。
0567りお02/01/06 02:17ID:IxnaJif0
>>566
faultというカラクリを使うことで回避している。
リレーションシップ先のオブジェクトは一気に読み込まず、
実際に表示するときだけ裏側ではSQLを投げている。
なんでルートとなるテーブルの内容だけは最初は
全部読み込む必要はあるが、その後のパフォーマンスは
悪くない。
(どうでもいいが、EOFでやるよりはずっと速い)

indexは何のindexなのかはわからんが、RDBMSのレコードが
EOに変換されるけど、それぞれのEOには完全にユニークな
ID(EOGlobalID)が割り振られる。セッション内では完全にユニークになる。
ハズしていたらスマソ.
(ん?検索が速くなるためのindexのこと?)

眠くなってきたので寝るか。
0568りお02/01/06 02:18ID:IxnaJif0
>>567
補足。ルートとなるテーブルのレコード全部を読み込むような書き方だった。スマソ
ちゃんと検索条件やソート条件を付けていれば、全然OKよん。
0569りお02/01/06 02:19ID:???
>>567
もういっちょ補足。寝る前だから間違いおおいな(´Д`;)←読み返せよ

EOFでやるより速い→EJBでやるよりは速い
057054602/01/06 02:29ID:???
>>567 サンクス。なるほど。>>568は納得。当然だわな(w

>(どうでもいいが、EOFでやるよりはずっと速い)

これ気になるな。ということは、faultってのはEOFのメリットは
あんまり得られないということなのかな? EOFデブガイドの
舞台裏の事情ってのを読めば良いのかな。さすがに疲れたから
今日は寝るわ。

>(ん?検索が速くなるためのindexのこと?)

そのつもりだった。よぉわからん書き方でスマソ

他にも気になる点がいくつか出てきたのだが、また追々
質問させてくれ。まずはamazonで王蟲の奴を注文してくるわ。

はよ2月にならんかのー。ブツをはよ買いたいのー。
057154602/01/06 02:31ID:???
>>569 補足サンクス。入れ違いだたよ。

EJBとの比較なら納得だ。これで気持ちよく寝れそうだ(w
0572名無しさん@お腹いっぱい。02/01/06 04:54ID:???
>>567
ヲイラ、そのfaultという概念がなかなか理解出来ずに苦労した。
わかったときには、EOFすげーっ、って叫んでた。
0573りお02/01/06 09:14ID:o0Q6h3Pt
>>572
faultはWebObjects4.5だったか4.0から導入された機能(厳密にはEOFのバージョン3.0か?)だ。
それまで似たような機能が搭載されていたかどうかわからんけど、
10年築き上げられてきただけはある、と感じる機能だったりもする。
0574名無しさん@お腹いっぱい。02/01/06 13:19ID:???
>>573
Faultingの仕組みはEOF1からあったような・・・。
ただしfault済みEOをobjectFaultWithPrimaryKey:で
さらにfaultしようとするとハングる(無限ループ)という代物だが。
10年かけて〜ってのは同感だけど、EOF1とEJBを比べてもやっぱり
先進的だと思う。
057554602/01/06 16:54ID:???
オーム社の書籍を買ってきた。PDFをディスプレイ越しに
読み続けるよりずっと楽になった(w

ひょっとすると思ったより早くWOを入手できそうなので
それまでじっくりと予習しておくよ。早く実物を触って
みたい。
0576名無しさん@お腹いっぱい。02/01/07 11:33ID:tiSDVFTA
簡単な質問なんですが、今度、WebObjectsを採用します。
稟議中で、購入前なんですが、パッケージには紙のマニュアルは、
付属してますか?
実は、前もって勉強するのにAppleのサイトにある、PDFを印刷するか迷っているだけ
のことなんです(紙の枚数は社内制限煩いので)
どっちにせよ、印刷する必要あるならPKG手許にくる前に印刷するのですが。
以上、よろしくお願いします。
0577名無しさん@お腹いっぱい。02/01/07 12:18ID:/3NAZrUn
>>576
紙のマニュアルは全く付いていないので、今のうちに印刷しておいた方が
いいでしょう。全部印刷すると膨大な量になるけどねー。
0578576‏_02/01/07 14:05ID:???
>>577
解りましたありがとうございます。
HPのPKG箱見ると、微妙な厚みなのでしたが、みなメディアですか。
0579名無しさん@お腹いっぱい。 02/01/07 14:16ID:???
>>578
隙間がほとんどだよ(ワラ
一応、印刷物も入っているが、実際の開発には役立つようなものではない。
インストールマニュアル以外は、全て英語だ。
0580名無しさん@お腹いっぱい。02/01/07 16:05ID:???
>インストールマニュアル以外は、全て英語だ。
この営業姿勢は日本で売る気がないと見られてもしかたがないね。
こう言うと「英語も読めないような奴はWebObjects使うな」とか言い出すアホが
出そうだけど、エンジニアの一人よがりの発想だよな。
サポート体制なんかを見ても殿様商売ばかりが目につく。
なんとかならんのか。
0581名無しさん@お腹いっぱい。 02/01/07 18:42ID:???
>>580
どーにもならんだろ。
元々、アポージャパソ自体が開発系のスキルやノウハウを企業として持ち合わせていない。
すべて米国におんぶにだっこ。
一応売る姿勢はあるようだが、結局はアイマクとかパワーブッコなんかの箱売りとかわらん。
米国から仕入れて売るだけ。売り切りってとこだろ。
アポー信者なら英語が読めて当たり前っていう企業姿勢。
こんなドキュソ営業所にはそもそも頼る拠り所も無し。
それでもWOは使いたい(w
0582461=名無しにします02/01/07 20:57ID:y2J8K6f8
>りお様
>>461
>EOModelerでFetch Specificationを作って、任意のSQL
>をEOUtilityで丸投げすると戻り値はNSDictionaryだよね。
>これは不変の連想配列と同じで、中の要素の書き換えができない。
>これをなんとか書き換え可能にしたうえで、WORepititionで
>表示する方法はないかのぉ。。

と質問したのだけれども、りお様のヒント(objectsFromRawRowメソッドを使え)
を一応できたので報告します。

以下のソースは
1 DBからのフェッチはCustomerエンティティからfirstname,lastname,cityのみをフェッチ
2 任意のSQLを投げるFetchSpecification名を"CustomerFetch"とした。
3 CustomerエンティティのJavaクラスであるCustomerクラスは作成済み
4 WORepetitionのList属性にはCustomerオブジェクトのNSMutableArrayをバインド
  Item属性にはCustomerオブジェクトをバインド
5 Mainコンポーネントの初期化の際にフェッチしてWORepetitionで表示させた

ことを前提にしてお読みください。
0583461=名無しにします02/01/07 21:10ID:y2J8K6f8
>りお様その他住民の皆様

下手糞なソースだが大目に見てくれれば嬉しいっす。。

// Mainコンポーネントの初期化
public Main(WOContext context) {
super(context);
// データをフェッチする(返ってくるのはNSDictionaryのNSArray)
EOEditingContext ec = this.session().defaultEditingContext();
NSArray tmpRecords = EOUtilities.objectsWithFetchSpecificationAndBindings(ec,"Customer","CustomerFetch",null);
    // NSArrayをEnumerationに変換する
Enumeration e = tmpRecords.objectEnumerator();
    // レコード件数、エンタープライズオブジェクトの配列を定義
int intCnt = 0;
int intRecordKensuu = tmpRecords.count();
EOEnterpriseObject customerArrays[] = new EOEnterpriseObject[intRecordKensuu];
// Enumerationの中身を見て、一つ一つをEOに変換し配列に叩き込む
while(e.hasMoreElements()){
NSDictionary tmpDict = (NSDictionary)e.nextElement();
EOEnterpriseObject customer = EOUtilities.objectFromRawRow(ec,"Customer",tmpDict);
customerArrays[intCnt] = customer;
intCnt++;
    }
// customerRecords(CustomerオブジェクトのNSMutableArray)を得る
customerRecords = new NSMutableArray(new NSArray(customerArrays));
}
0584461=名無しにします02/01/07 21:23ID:y2J8K6f8
>>583のソースを元にWORepetitionをMainコンポーネントで
表示させたところ特に問題なく表示できました。

objectFromRawRowメソッドを使った変換についてですが、
attribute名は小文字のままだったのだけど問題なく変換できた模様。

このあとデータのInsert、Delete、Updateのメソッドを書き加え、実行し
たところ、InsertObject、savechanges等のメソッドも問題なく実行でき、
DBも正常に更新できました。

りお様が>>466で仰っていた
>モデル側のattribute(メソッド)名と、DBのテーブル名が大文字で
>一致させていないとこのメソッドは使えない。

という問題は発生しなかった模様。。。OpenBaseのエンティティ、
そしてそれから生成するJavaクラスには一切手を加えていなかった
からです。

私の環境は、窓2k、WebObjects5.0(アップデート無し)、DBはOpenBaseでした。
0585りお02/01/07 21:30ID:9VS0o9oZ

たぶん、問題ないと思う。OpenBaseだけでは動いたのか?
PostgreSQLだとかOracleではどうだろうか??
DBから返ってきたカラム名が全部大文字になるから、上記のサンプールは
使えるかなぁ?(使えなかったら、DB名とEO名にちょっと細工が必要になるな)

ソースサンキュ
0586461=名無しにします02/01/07 21:38ID:y2J8K6f8
>>585
俺が試したのは今のところOpenBaseだけっす。。
本当の環境はPostgresqlなので、明日試してみます。

りお様のobjectFromRawRowのヒントのおかげです。
明日Postgresqlでうまくいったら本当に嬉しいんですけどね(w
0587名無しさん@お腹いっぱい。02/01/08 05:49ID:???
WO5.1の詳細キボーン
0588名無しさん@お腹いっぱい。02/01/08 06:55ID:???
なにそれ? SFで発表されるの?
0589ヲッカーな名無しさん02/01/08 12:24ID:???
5.1じゃ、JSP連携やEJBサポートがある模様。
既存システムともシームレスに連携可能か?
最強のアプ鯖になったカモ

http://www.apple.com/webobjects/
0590461=名無しにします02/01/08 15:02ID:j1QFRbLM
>りお様
>>586の件ですが、Postgresqlでも動きましたよ。
リレーションシップを貼った先のオブジェクトも参照可能でした。

>>589
そうみたいだね。すごいアプリケーションサーバになるよ。これ。
英語読める人は以下を参照
「What's new In WebObjects 5.1」
http://developer.apple.com/techpubs/webobjects/WOWhatsNew.pdf
「Post-Installation Guide」
http://developer.apple.com/techpubs/webobjects/PostInstall/PostInstall.pdf
0591名無しさん@お腹いっぱい。02/01/08 17:10ID:???
WO5.1ならJavaMailとの連携もWO鯖1本で運用できるってことですね。
WOの弱いことろを補完しあっていけるのかな。
誰か、ここらへんの連携についてHPとかで取り上げないかな?
↑>りおタン、しんぷるさん
0592名無しさん@お腹いっぱい。02/01/08 17:13ID:???
ちなみに、590の「What's new In WebObjects 5.1」は日本語でも書いてありました。
今度のWO付属マニュアルは期待できるかも。

ADCでダウンロードしてくだされ〜>Apple
0593名無しさん@お腹いっぱい。02/01/08 19:27ID:???
AppleStoreでうぷぐれーどキット売ってるよ
0594名無しさん@お腹いっぱい。02/01/08 19:33ID:???
>>593
うん、2500円で売ってる。(または19.95ドル)
早速うpしたいのぉ。。
0595りお02/01/08 19:48ID:???
バグがとれねぇ・・・・
0596名無しさん@お腹いっぱい。02/01/08 21:08ID:???
早速注文>5.1
0597名無しさん@お腹いっぱい。02/01/08 23:37ID:???
woaをサーブレット化できるのと、JSPからwoをインクルード出来るのの
どっちが嬉しいかな・・・
JSP+EOFみたいなこともできるようです。漏れは使いたく無いが。
JNDIやEJBコンテナの機能はExoLabのを使ってるみたいね。
bean framework作ったらテンプレート吐いてくれるのとかはWOっぽい。

>>595
漏れはデバッグこそプログラマが真価を発揮する場だと思ってるので、
バグがとれない時は不謹慎かも知れないけど、こう思うんだ。
バグよ、もっと深まれ、と。
0598名無しさん@お腹いっぱい。02/01/09 00:48ID:???
5.1には入力支援ついたの?
0599りお02/01/09 19:42ID:MgDAs+gn
やっとバグとれた。誰だこのクラス図かいたやつは(w

>>597
たしかにその通りだ。全然不謹慎じゃない。

>>598
ついていない。WOというよりは、開発環境のことだな。
マイクロソフトの製品みたいに、InteliSense機能があるといいよな、確かに。
おれっちはよくタイプミスをするから、コンパイルエラーの9割はタイプミスだ(w

っつーか、なんでことえりとやらはこんなにバカなんだ。マックユーザーは
こんなんで満足しとるんか?(みんなATOKつかってんのか?

JSPやEJB対応って、なんか、意味あんの?>>WO5.1
一応世間様の標準になりましたってところか?
0600名無しさん@お腹いっぱい。02/01/09 23:19ID:???
ということは、今までのスタイルで開発されるんですね?
純粋なWOアプリということですか? >りおタン
0601名無しさん@お腹いっぱい。02/01/09 23:52ID:???
JSP対応は、JSPからカスタムタグでWOComponentを呼べるってモノ。JSPエンジン
にはTomcatなどを使う必要がある、だったと思う。WOでreusableなサブ
コンポーネントを作りまくってたが、今後はJ2EEに移行したいという
ところには嬉しいかも。そんな奴が居ればな(藁

逆にビジネスロジックは全部EJB化しちまったYO!というところが、
ページはWOで作りたいということなら、EJB対応は使えると思う。

WOがServlet化できるのは、>>546みたいなケースで、かつ運用的に
アプリサーバ2種類も立てたくないってところで有効かも。

bean frameworkは、DBをガシガシ検索するような用途じゃ無くて(それだったら
EOF使えばよい)、「ちょっと一部ステータスを永続化できちゃったりもする
リモートサービス」みたいな感じで使えば面白いんじゃないかと思う。
>>556が言ってるものに近いかな?

あと、使い方とは関係無しに、「キーワードに敏感な」顧客や上司相手に
WOをプッシュしやすくなるというメリットは十分考えられる。標準では
J2EE対応のかなりの部分をオープンソースソフトウェアに負ってる部分が
やや不安だが、他のJ2EE製品に差し換えて使うこともできることも出来る
ようなので、フリーウェアなど使えん、と言われたらWebLogicと組み合
わせて使う提案などすればよいかも。

漏れもobejctとかそういうのばっかさー>コンパイルエラー
入力支援は、ProjectBuilderのバンドルを自分で作れば、Escで候補表示
して選択、みたいなことは出来なくはなそうだが・・・・めんどくさそう。
誰か作ってくれー。
0602名無しさん@お腹いっぱい。02/01/09 23:58ID:Gf7UPwSv
>>591
ttp://www.omnigroup.com/mailman/archive/webobjects-dev/2001-June/010216.html
0603名無しさん@お腹いっぱい。02/01/10 00:08ID:0bJ7/qwM
WebObjectsのエディタはどうにかならないの?
辛い。外部エディタの登録機能が欲しい。

Javaは秀丸。HTMLはDreamweaverを使いたい。。。
060454602/01/10 00:50ID:???
ついにWO注文したぜ。届くのが待ち遠しいよ。
でも発注した次の日にco.jpが落ちてて、復活したら5.1になってて鬱だ(w

>>601
>WOがServlet化できるのは、>>546みたいなケースで、かつ運用的に
>アプリサーバ2種類も立てたくないってところで有効かも。

すごく嬉しいぜ。やっぱ触れたくないものもたくさんあるからな(爆
アポーありがとうって気分だ。あとは徐々にWOで侵食していくだけだな。

で、5.1のPDF一通り見たけど、すごくいい!期待度高いな。
オプソであることも俺はぜんぜん気にならん。EJBは無視するので
1.1でも十分だ。使わんからな。

あと、俺は普段JBuilder使いなので、入力支援やデバッグやJUnitがないと
辛いのだが、その辺の外部ツールとの連携に今後は期待だな。でもまぁ
それを補って余りあるものだと期待してるよ。
0605名無しさん@お腹いっぱい。02/01/10 04:25ID:???
>>599
> JSPやEJB対応って、なんか、意味あんの?>>WO5.1

稟議書書きやすくなった(w
0606名無しさん@お腹いっぱい。02/01/10 08:21ID:???
どうにも分からなくなったので、少し助言ください(´д`)

アプリケーション開発ガイドの10章のリスト10.5をやってるんですが、
this.session().defaultEditingContext().deleteObject( event ); の部分で
eventがEOではなくcom.webobjects.appserver.WOComponent.Eventに
なってしまい、ビルドエラーになってしまいます。
eventは、Event event; でインスタンスを生成し、
EventはEOGenericRecordのサブクラスとして定義してます。

Eventを他のEOに置き換えるとエラーが発生しないので、
eventに何か問題が・・・?と思ってるんですが(´д`)
0607りお02/01/10 10:14ID:uKB4+/oT
>>605
なるほどな(w
>>606
・他のカスタムEOクラスでも同様の問題がおきるか?
・EOモデラーを開いて、トップグループをクリック。右部分の詳細に、
 クラス名やテーブル名が表示されるが、カスタムEOのクラス名が
 正しいかどうか(作業の手違いでEOGenericRecordのままになっているときがある)
・考えにくいが、eventという名前が凶じゃないのか?(w

こんなところか。がむばってくれ。
0608りお02/01/10 10:19ID:uKB4+/oT
>>606
結果をあとで教えてくれ。ちょっと気になる。
どうしてもダメだったらプロジェクトを固めて
どっかのあぷろーだにウプしといてくれ。
0609りお02/01/10 10:25ID:uKB4+/oT
>>590
化石レスすまん。そうか、ぽすぐれでもウマく逝くか。んー、
おれっちがrawRowForSQLを実行した時は帰ってくるカラム名が全部
大文字だったから、こりゃ扱いが面倒だなとはおもってたんだが。
ともあれ、これでソースコード中にガンガンSQLを書くことができる、っつーことだな。
(全然進歩がないな、それって(w

EOFももうちょっと背伸びしてSQL扱いやすくすりゃーいいのになー。
(ユニオンくえりとか、クロス集計とか、副問い合わせとかグループ集計だの。
っつーても、自分でクラスつくりゃーいいんだが。誰かつくって暮れ)
061060602/01/10 19:56ID:???
>りお様
>・他のカスタムEOクラスでも同様の問題がおきるか?
Event以外のカスタムEO(Person, Seminar等)に置き換えるとビルドエラーは出ません。
>・EOモデラーを開いて、トップグループをクリック。右部分の詳細に
エンティティは全てカスタムEOクラスに定義し、.javaファイルも生成しています。
EOGenericRecordのまま残ってるものはありません。
・考えにくいが、eventという名前が凶じゃないのか?(w
typoのことでしょうか?これは何度も確認してるので問題ないかと(´д`)

本書の章を書いただけでしたが、ここでのEventエンティティは
Meeting, Seminarの抽象クラス(Abstractにチェック入り・親子関係定義済み)に
なってます。(この2つのクラスは、○○ extends Event { でEventクラスを継承。)

他のEOとの違いはこれだけなので、ここがクサイと考えてるんですが。
あぷできるところ見つかったら、プロジェクト揚げてみます(´д`)
0611名無しさん@お腹いっぱい。02/01/11 01:09ID:???
りお様じゃないが
>typoのことでしょうか?
じゃなくてクラス名にEventを使うのがマズいということと思われ。

ビルド時のエラーならモデルは関係なくてソースコードでしょう。
アプリケーション開発ガイドのまんまでコンパイルエラーが出るんなら、
アプリケーション開発ガイドがホントにWOF5に対応してるのかが怪しい。
自分で書いたところでエラーが出るんなら、import書くところで横着
してimport com.webobjects.appserver.*とせずに、クラス一こずつ
書いて行けば直るんじゃないのかなー。
見当違いならゴメソ
0612名無しさん@お腹いっぱい。02/01/11 03:55ID:J99rPYGf
>>606
割り込み
アプリケーション開発ガイドはWO4.5対応なのでWO5でやると結構はまります。
けっこう変わっているみたいです。
該当部分は素直に別名に変更してください。(Event -> EventNameなど)
ちなみに、ほかにも9章とかではまるので、InfoCenterで適宜調査してください。
0613名無しさん@お腹いっぱい。02/01/11 11:19ID:???
http://sawayaka.mariansela.com
http://sawayaka.mariansela.com
http://sawayaka.mariansela.com
0614りお02/01/11 11:29ID:A82TChGW
↑さやかたんの写真をあつめたWebSiteだと勘違いしたのは、おれっちだけ?
061560602/01/11 14:46ID:???
Eventのクラス名を変更したら通りました!
WOComponent.Eventっていうのがあったんですね。

>>612
例外とかその他でも結構ハマりました(´д`)
オーム社のサイトで5.0のサポートしてくれてもいいのになぁ。
本のオビに書いてある『最新版5.0にも対応』って
ちょっとウソ入ってる?とか思ったり。

あと、もう一つ質問なんですが、
開発環境がWinの時、OpenBaseからEOModelを生成する時に
『No reason provided.』が出て失敗するんですが、
これって少し前に話題に出た、JDK1.1.x互換のJDBCドライバと
関係があるんでしょうか?
MLの過去ログ漁ったんですが、具体的な解決方法が挙がらないまま
終わってたので。

ためしにOpenBase JDBC1.1 Driver Clientを入れてはみたんですが、
変わりませんでした。(入れた気になってるだけなのかも(´д`))
0616名無しさん@お腹いっぱい。02/01/11 15:12ID:???
>>615

No reason provided.ってP40に書いてあるよ
061761502/01/11 15:44ID:???
>>616
それを動くようにしたいんですが、無理なんでしょうか?

MacのOpenBaseは動くがWinのソレは動かないって事は
WO自体は無実で、悪いのはWinのOpenBaseだから
Mac持ってない場合はOpenBaseの使用はあきらめて、
Linux等にMySQLやPostgreSQL入れてテストするのが妥当でしょうか。
0618ヲッカーな名無しさん02/01/11 16:00ID:???
>>617
スレの上のほう読んだ?
MySQL for Win32を使う方法が出てるよ。
0619名無しさん@お腹いっぱい。02/01/11 19:48ID:???
開発環境は、Macの方がよくできている。
Winのは使いづらいよ。。。
0620名無しさん@お腹いっぱい。02/01/11 21:09ID:???
そうかなあ。Winというか、PBWO環境はあれはあれで
良く出来てると思うけどなあ。
フォルダ->ファイル->クラス->メソッドって辿って行けるし。
Macのはファイルのツリーとメソッド一覧が分かれてるのが
つらいときがタマにある。
どのへんが使いづらいすか? >>619
062161902/01/11 23:22ID:???
>>620

ぱかぱかウィンドウが開くのが嫌いなんです。
Macだと1つにまとまっていて、ソース編集するときだけ
別ウィンドウが開くのが気に入ってる。
あと、ツリー形式に表示されているのも構造化されているのが
一目でわかるし○。
■ このスレッドは過去ログ倉庫に格納されています