コンテンツとデザインの分離
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2001/05/27(日) 17:59ID:6pK8snWA<%〜%>やらprint文の嵐になってしまう。
「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。
0421nobodyさん
02/10/13 11:37ID:???MSはうまいよ、プラットフォームを作るのが。
ある程度の信頼性を確保できたうえで、最近はそれなりの規模のウェアハウスの運用にまで耐えられる環境が実現できている。
TomcatだJSPだPHPだなんて騒ぐよりも遙かにましな選択だと思うぞ。
Site ServerとかCommerce Serverなんていう中途半端なβ製品を買わせてきてしゃあしゃあとしているのは相変わらずだけど、見誤らなければ良い選択肢がある。
企業としてAppleなんてのはカスで、そこがリリースしているだけで信頼性はゼロと見ていいよ。
信頼性なんてものは、将来性と双子の兄弟みたいなもので、将来性のない製品に信頼性なんて育つはずがないの。
そんなものを採用すると、100%将来はこける。
ただでさえ存続するアーキテクチャなりプラットフォームの選択って微妙な問題なのに、わざわざ確率の低い方に賭ける意味は限りなくゼロに近い。
今までAppleが提唱してきてサードパーティーを乗りに乗せた風呂敷って全部びりびりに破けてるって事実を、もっと真剣に受け止めた方がいいぞ?
かってはApple UNIX構想が死に、DALは捨てられ、またゼロからの再構築を目論んだという経緯を持つ企業を、俺は絶対に信用しない。
WOなんて早晩くたばるよ。
OOP命ってことでそれがウリのコーダー様なら、さっさと.NETに来るべし。
ただし、しっかりと個々のアーキテクチャの勉強をする気のない似非OOPクンたちは挫折しないようにね。
最低限必要だよ、SQLを書けたりDBアーキテクチャの構造を理解し、そのクラスを効率よく扱えるテクなんて。
WO使いがあまりに生意気だから一言書かせてもらったさ。
ついでに一言、WOに対する比較なら素のASP(.NETじゃない)でもまだ上を行ってる・・・ってかまとも。
0422nobodyさん
02/10/13 11:46ID:???自分で言ってることが、よくわかってないようです。(プ
「ウリの思想は、マンセーニダ!」って感じですか。北チョソみたいですね。
.NET厨があまりに生意気なので、一言書かせてもらいました。
ついでに一言、WOと素のASPを比較している段階で、WOをほとんど知らないってことがバレバレですね。
さらに付け加えると、長文の最後に「一言書かせてもらった」なんて、日本語もよく理解できないようですね。
そういう俺は、WOに憧れるWebLogic厨です。
0423nobodyさん
02/10/13 11:59ID:???CLR? JavaVMの猿真似かい。 J#やらC#やら、節操がないよ。どうせJ++の二の舞。
もっとも、MSがCrossPlatformをまともに考えたら、C#はもしかしたら数年後に化ける可能性もあるが。
鳴り物入りでJ++を登場させ、WFCを推進し、そこに上った開発者のハシゴを、政治的な理由から
思いっきり蹴り外した経緯を持つ企業を、俺は絶対に信用しないね。
もちろん、穴は多いが、クライアント環境としてのWinは使いやすいし、Win用デスクトップアプリは
良くできてるものが多い。ゲーム環境としても、Winは最高だと思う。
しかし、サーバサイドアプリを運用する環境としては、最低最悪だな。
「開発」という側面だけに着目するから、多機能なIDEの評判などに、うまく誤魔化されてしまう。
ただし、運用開始後の多種コストを一切無視して、MS製品のみで固めるんだったら、
.NETという選択肢も有りだろうな。
0424nobodyさん
02/10/13 12:03ID:???C#とJ++ってのはそもそも比較の対象として違う。
J++ってのは単なる環境で、C#ってのは言語。
それにJ++が鳴り物入りだって解釈した開発者の気がしれんよ。
俺はまったく信用しなかった。
あんなもの過渡期の環境だって見りゃわかりそうなもんだ。
ってか、Javaって時点でMSがどこまで真剣にやるか考えてみた?
そんな梯子にうかうかのぼって行く方が間違ってんだよ。
0425nobodyさん
02/10/13 12:06ID:???うん、いかにもWOにあこがれるWebLogic厨房だわな。
それからお前みたいなアフォは開発言語だけいじれ。
「一言書かせてもらった」は正しい日本語なんだよ。
日本語喋れんようなお前ごときにいちいち訂正されたかないわい。
クライアントの前できっちり案件に関して商談できるくらいになってから日本語については語れや。
0426nobodyさん
02/10/13 12:09ID:???正:VisualJ++ & WFCってのは単なる環境で、J++とC#ってのが言語。
0427nobodyさん
02/10/13 12:12ID:???スレの趣旨に戻れや。
そもそも、.NETやWOで、どこまでコンテンツとデザインを分離できるんだ?
具体例出せるのか?
話しはそれからだ。
くだらんフレーミングはやめろ。両方とも、目くそ鼻くそを笑う、でしかないな。
0428nobodyさん
02/10/13 12:29ID:???それ、俺も興味あるな。
Webアプリで、データベースから取得したデータを、Web側に出力してやる部分を、
.NETやWOや他のツールで具体的に比較してみたい。
PHPやJSPとか今までのASPだと、テンプレート内にロジックを書けるタグがあって、
そこにSQL含めたコード書くのが普通だよね。
0429428
02/10/13 12:40ID:???条件分岐が絡むHTML生成とか、繰り返し処理(HTMLテーブル作成等)を
Webアプリでやるにあたって、MVCをきっちり分けるってできんの?
0430408
02/10/13 16:41ID:???WOF は、DB のテーブル、ビューを Java のクラスにすることができる。
ロジック(メソッド)をそのクラス内に追加することもできる。
インスタンス生成時に条件をつけて、持っているデータを変化させられる。(検索とかで使う)
Java クラスではなく、HashMap 系のインスタンスにすることも可能。
表示するページは、PHP や JSP のカスタムタグを使った時と似たような形式のHTMLと、
それに対応する Java クラスで構成される。
表示用の Java クラスにメソッドを追加すると、HTML の方でそれを呼び出すことが可能になる。
Java クラスなので、似たようなページの場合、同じクラスを使えば、手間を省ける。(もしくは継承)
ページ固有の処理はこちらに加えてる。
HTML の方は、JSP と似たようなものかな。
対応するクラスのメソッド、フィールドを呼び出せる。
リフレクションで、型に応じた処理を勝手におこなってくれる。
繰り返し処理部分は、か な り独特のロジックあり。
List List ←こういうListが、
├ HashMap ├List たくさん現れるのに最初戸惑った。
└ HashMap └List
.NETの方は、良く知りません。勉強不足です。
0431nobodyさん
02/10/14 01:13ID:???金融系とは、ドイツ銀行と、昔派遣でいっていたかいしゃが契約していた
大手都市銀行と、、、いくつかです。信頼性云々よりかは、かいはつこうりつが高かったんで、
客先評判はすこぶるよかったですよ(pure.
0432nobodyさん
02/10/14 09:42ID:???日本だとM菱銀行とかが使ってたよ。
といってもNeXT時代なのでWOじゃなくて、その前身のPDOとかだけど。
今のWOの売り方だと基幹系に採用されてるとか言っても信じられないのは
無理はない。もうそんなに先進的でもなくなっちゃったし。
0433nobodyさん
02/10/14 10:13ID:???0434nobodyさん
02/10/14 10:24ID:++3XMo/L確かに先進的でもなくなってしまったけど、WOF特有のKeyValueCodingやEOFの
一貫性つうか、エレガントさはヨソのAP鯖で似たようなのが出てこないというか
むしろ不便を強いられているというのがちょぃと納得いかないんですが。。。
0435nobodyさん
02/10/14 12:54ID:???WO並か、それ以上の製品が無いんだよなー。
お値段がやはり。。。
DB扱うWebアプリを、客のために作るんだったら、今のところWOしかねぇなぁ。。。
んで、.NETでのMVC分離の具体例が知りたいのだけれど、
暴れてたMS厨は、そういう例を出せるほどのスキルは無かったって事?
>>430も、具体例出してきたのは非常に好感持てるが、いまいち判りづらい。
0436nobodyさん
02/10/14 15:04ID:???スマヌ、もう少し続ける。
>>434
KVCやEOFを他社が真似しないのは、ひとつにはこのへんの技術が
特許でガチガチに守られてるから、ってのがある。
しかもこの特許を持っているやつらはNeXT時代に次々と別の会社に
出て行っちゃって既にAppleにはいないので、WOがライセンスで潤うという
可能性もなくなってしまっている。もったいない話なんだよなあ。
0437nobodyさん
02/10/15 09:39ID:???>>436
その特許ってのは具体的にはどれのこと?
http://www.uspto.gov/patft/index.html
0438nobodyさん
02/10/15 20:29ID:???WOに触れる人が今後増える可能性があるのならともかく、
ここを見に来る大部分の人間にとって、WOの話はコンテンツとデザインの分離の話と
何の関係もない。
0439nobodyさん
02/10/15 22:31ID:???何の関係も無いってのは、言い過ぎだと思われ。
WOに特化したコアな話題だったら当然、WOスレでやって欲しいところだけど、
WOでは、コンテンツとデザイン(というよりは、Model/Controlerと、View)が
完璧に分離できるっていうじゃん?
そこには興味あるから、今後の選択肢の一つとして、その点は知りたい。
マカ専用でもなさそうだし。Linuxでも動くんでしょ?FreeBSDではどうなの?
今、JSP+Servlet+JDBCなんだけど、なんとかしたいんだよな。
TagLibも、メンテナンスも考えたMVC分離って点では、今ひとつだし。。。
0440nobodyさん
02/10/15 23:11ID:???とはいっても、400あたりからずっとWO続きなのは正直ウザイ。
MVCとかCodeBehindとかTemplateとかカスタムタグみたいな製品や技術に
比較的非依存な話題ならいいんだけど、(他の技術にも流用できそうだから)
WOの話ははっきりいって、いくらされても他の製品や技術に流用できるようには見えん。
> WOに特化したコアな話題だったら当然、WOスレでやって欲しいところだけど、
もはやWOに特化したコアな話題だと思われるが。
0441nobodyさん
02/10/15 23:23ID:???何というか、「選民思想」みたいなのがあるな。
「先進的」とか「独特」とかいう単語を並べて自分に酔っている。
>>409なんてほぼ自己陶酔に近い。
で、マニアックなのを逆に誇っているような・・・。
とりあえず、J2EEサーバや.NET、ASPといった競合技術を子馬鹿にしたような
発言は余計だったかな?
cocoonとかの話をもっと聞きたかったな。
0442nobodyさん
02/10/15 23:35ID:???WOは、アップル(J)社内でも認知されない妾の子扱いだから、あまりよそ様の目に触れてはいかん。
選民意識は持ってていいが、外には出すな(w
つーわけで、迷惑掛けてスマソ>このスレ住民殿
興味あるなら、WOスレにウェルコメ。
0443nobodyさん
02/10/15 23:40ID:???自己陶酔ってのは、端から見て確かにキモイが、毎日使う道具だったら、惚れて使う方がよくねぇ?
包丁だって、ナマクラに文句言いながらよりは、私見でも「よくキレるジャネーカ」って思いこんだほうがいいと思うが。
J2EE/.NET/ASP共に然り。どの分野にも、極めた人間ってのはいるからな。
Perl使ってEJBも真っ青はロジック組む香具師もいるし。
駄文スマソ。んじゃ。
0444age
02/10/15 23:48ID:pfYG+Byrロジックのコンポーネント化というのはどうなのかな?
俺はPHPの中に普通にロジックをガリガリ書いてしまうほうなんだけど、(あとはincludeとか)
やっぱバイナリのコンポーネントにくるんでおいたほうがメリットはあるの?
ASP→COM/COM+
J2EE→JavaBeans/EJB
.NET→.NET Assembly
PHP→ねぇよ
って考えると、コンポーネント仕様を持たないPHPが中途半端に見えるんだけど。
ビジネスロジックのコンポーネント化についてばっさり意見を言える神の説明キボンヌ。
0445nobodyさん
02/10/15 23:51ID:???そんなにいうなら調べてみようじゃねーかと思うかでは、その技術や
背景になっている枠組への理解度が違ってくると思うのだが。
結局このスレがWO厨だらけになって他の話題が出てこないってことは、この
「コンテンツとデザインの分離」っていうトピックに興味を持つ人間の割合が
WO厨は他と比べて多いってことなんだろう。
どうせなら、なんで他の環境のやつらが熱く語ってくれないのか、ってあたりを
問題にしたいところだが。
0446nobodyさん
02/10/15 23:57ID:???> そんなにいうなら調べてみようじゃねーかと思うかでは、その技術や
> 背景になっている枠組への理解度が違ってくると思うのだが。
ここらへんは同意できるのだが
> 結局このスレがWO厨だらけになって他の話題が出てこないってことは、この
> 「コンテンツとデザインの分離」っていうトピックに興味を持つ人間の割合が
> WO厨は他と比べて多いってことなんだろう。
ただ単に他の奴等が逃げ出したのでは?
ただでさえ過疎化著しいWebProg板で、他のネタが書けないような雰囲気になってしまえば
WO以外の書き込みがなくなるのも無理はない。
ちなみに「コンテンツとデザインの分離」というトピック名称には普通興味は持たないわな。
「ロジックとデザインの分離」には興味を持つ人間も多いだろうが。
0447nobodyさん
02/10/15 23:59ID:???もちろん出来たらメリットはあると思う。てゆーかそれがやりたいと
みんな思ってるけどなかなかキレイにくるめないんだと。
問題意識とズレるかも知れないけど、Zope/CMFでやってる、
ワークフローのオブジェクト化なんてのはロジックのコンポーネントと
言ってもいいんじゃないかな。EJBでああいうことをやるのは不可能に
近いとは思うけど。
0448勝手ニ仕切ッテスマソン
02/10/16 00:29ID:wAz0M52DこれはCGI屋、PHPマンセー派、J2EEワショーイ人間、MS工房とかいった人種の壁を越える共通問題だと思うYO。
で、結局ロジックとデザインの分離方法は技術によってけっこう主流が違うんだなぁということが分かったんだけど、
だいたい以下の4パターンくらいに分類できるということなのかな?
Template型
=>Perl-CGIのHTML::Template、PHPのSmarty等
MVCデザインパターン型
=>ASP(中途半端)、J2EE(Servlet+Bean/EJB+JSP)等
カスタムタグ型
=>J2EEのJSP、ColdFusion等
Codebehind型
=>ASP.NET
XML+XSLT型
=>CocoonのXSP
(WOは知らん。特殊らしいからこの中には分類できん。)
ちょっとここらへんたたき台にしてスレの方向転換&中間まとめしてみない?
(あまり宗教対立や部落紛争を起こさぬように・・・)
0450nobodyさん
02/10/16 01:02ID:???WOの話題がNGってことは、商用製品におけるロジックとデザインの分離方法を
このスレで語るのはダメってことかい?
基本的にフリーで利用できる製品のみが対象?
WO厨ってなじられることを覚悟でパピコすると、
なぜWOの話題は嫌われるの?マイナーすぎるから?
選民意識が強いっていうのは、NGにする理由にならないと思うんだけど。
0451450
02/10/16 01:04ID:???コンテンツ(というよりロジック)とデザインの分離に関する技術的話題を扱うスレだよね?
0452nobodyさん
02/10/16 01:08ID:AoJOl8Wsどっかで、Win-PHPはCOMが使えるって言ってたよ。
でも、ASPでもCOMは避けたいねぇ。管理ウザイから。
開発環境で、似たようなアプリが増えてくると、
かなーりブルーだよ。目の前のが動いてるつもりで、
違うフォルダの古い奴が動いてたり(^^;
PHPは、やはり元々、Perl+αかつ ASPの対抗製品だから、
そんなもんじゃないすか?ネームスペースの切り方からして、
お手軽さの方が重視されてると思うし。次は、ColdFusionみたいに
Java化するんでしょ?そうなれば、Servletをアシに使えるのでは?!
0453nobodyさん
02/10/16 01:17ID:AoJOl8Ws漏れの印象としてはWOは、ASP.NETのサーバーサイドコントロールと
同じに見える。(Codebehind?)
0454nobodyさん
02/10/16 01:46ID:???現実では、WO使ってると言う話はほとんど聞きません。
0455nobodyさん
02/10/16 02:01ID:???WOユーザーでさえWOをまともに理解できてないヤツ多いんだから、
一般的開発者に語ったところで、「宣伝」「自己陶酔」「選民意識」って言われるのがオチ。
世間の見方なんて、WOユーザーとマカは同レベルでしかないんだよ。
どうせお前ら、WOF+EOFを語りたいんだろ?本スレで思う存分やろうぜ。
はい、撤収〜撤収〜
0456nobodyさん
02/10/16 02:27ID:???その分類あんまりフラットじゃないと思う。
MVC型ってたぶんStrutsかなんかをイメージしてるんだと思うけど、
それを実現するためにはテンプレートやカスタムタグの存在が基礎に
なってるわけで、並列するようなもんじゃないでそ。
J2EEとだけ言ったんでは分離もくそもあったもんじゃない。
が、しかし、なんか中間結果をまとめたいというのは禿しく賛成。
0458nobodyさん
02/10/16 21:16ID:wAz0M52D0459nobodyさん
02/10/16 21:19ID:wAz0M52D>このスレで語るのはダメってことかい?
商用製品そのものの独自思想はちょっと控えたほうがいいとは思うが、
例えばJ2EEみたいに規格があって、それに対してTomcat、JBossからWebSphere、WebLocigまで
様々な製品実装があるようなものは問題ないと思う。
ケースバイケースだな。
あまり書き込みルールみたいなのを設けると過疎化が進む。
0460nobodyさん
02/10/17 00:13ID:???特定の製品は歓迎されないよ。
で、wo使って作られてるサイトってどんなん?(jpドメイン
0461nobodyさん
02/10/17 00:15ID:???http://www.apple.co.jp/webobjects/customers.html
0463nobodyさん
02/10/17 12:09ID:???C/Sタイプのアプリも開発できて、それはSybaseと一緒にNTTの基幹システムで動いてる。
ただしそれは、NTTが事例としての引用を認めてない。
NHKも社内で使ってるが、こちらも同様。
WOスレ行くと、WOが持ってる技術特許へのリンクも見られるぞ。
0464nobodyさん
02/10/17 18:08ID:???紹介されてるサイト結構、既にcgi/aspなんかになってるやん。
http://www.ablic.net/の求人探索1/3ぐらいの確立でパラメータが
エラーとかでるよ(;´Д`)
0465nobodyさん
02/10/17 22:34ID:???みたYO. 糞マカー共がマンセーマンセーする理由がよくわかったYO(W
0466nobodyさん
02/10/20 08:58ID:???0467nobodyさん
02/10/20 13:47ID:???WO使っている連中なんてそんなもんだよ。
一昔前のMac馬鹿と同じ(藁
0468nobodyさん
02/10/20 14:32ID:9WgqBhUQそういうならWO以外のネタを出してくれ。
0469nobodyさん
02/10/20 17:15ID:qpipozpWWO厨なみに製品マンセ-して説明(洗脳?)してくれる人キボンヌ
0470nobodyさん
02/10/20 22:00ID:bYFhkOyeネタっていうか、そもそもビジネスロジック自体がページという概念から切り離せないWebアプリケーションの世界で、どうやってロジックとデザインを分離するってことを考えるのかわからん。
どのようなWebアプリケーションの環境においても、所詮クライアント環境に吐き出すものは毎回サーバが提供しなけりゃならない。
こんなモデルってのはいままであり得なかったわけでしょ?
UIが素っ気ないものでいい(究極はVT100アクセスで利用したようなキャラクタベースのコマンド)ならまだしも、高価な実装が期待されるんだから無理もはなはだしいんだよ。
どうあがいてもステートレスのサービスっていうとんでもない前提の制約がある上に、その上塗りがあるんだからどうしようもない。
そもそも分離したらWebアプリケーションとしての体をなさない世界で分離を考えること自体がナンセンス。
一番の早道は、デザイナーがコーディングに近づくのでなく、デザイナーがパーツ化したデザインと組みあがったUI部分の実体を提供して、それをコーディングする側が適切に配置できるように訓練することだよ。
デザインも断片化したコードの一部としてプログラマーが取り扱う以外ないだろうと考える。
その結果はある程度のprint構文(あるいはヒア構文)の混在は避けられないし、合理的だ。
0472太郎
02/10/20 22:22ID:CP0XcMB5情報量は知り合いの友達よりも結構多いです。
あと無料ソフト集もあるのでねダウソしてみては 。
あと、このサイトの正式タイトルを考案中ですので応募してみては。
あとアンケートにも答えてみては。
http://www31.tok2.com/home/sanche/
0473nobodyさん
02/10/20 22:54ID:???>どうやってロジックとデザインを分離するってことを考えるのかわからん。
>どのようなWebアプリケーションの環境においても、所詮クライアント環境に吐き出すものは毎回サーバが提供しなけりゃならない。
ネタですね?(w
ネタにマジレスしてよかですか?
例えば、PHPとかJSPで、デザインにSQLとか条件分岐によるHTML出力処理とかが、
バリバリに入っているという、よくあるタイプのWebアプリがあるとする。
当然、実装的には問題無いわけで(ほんとか?)、完動すると。
しかし、運用開始後に仕様変更や拡張があった場合はどう?
デザイナにHTMLテンプレート部分を担当させてたとして、
デザイナの仕事が終わらないと、コード部分も修正できないってことは無い?
同じ動作をする、暫定テンプレートを別途作るという無駄な作業する?
他にも、いろいろメリットあると思うけど。
だからこそ、JSPのTaglibとか、いろいろ出てきてるんだと思うんだが。
間違ってる?
0474nobodyさん
02/10/21 04:33ID:???それと、ロジックにHTMLが入った(php/asp)のも大差ないような気も。
ロジックの再利用ができるって意味でのタグライブリ、
デザインの再利用を(主に)するのがテンプレート技術?
0475nobodyさん
02/10/21 04:34ID:???0476nobodyさん
02/10/21 06:40ID:???だからさ、WO厨はあっちイケよ。
いらない。
>473
> だからこそ、JSPのTaglibとか、いろいろ出てきてるんだと思うんだが。
> 間違ってる?
だからさ、それが根本的解決策にはなり得ないってことは、UI&フロントエンド、ビジネスロジック、バックエンドまで一貫してごりごり設計&コーディングまでやってればわかるってことだよ。
完全に分離なんて無理だって(笑)
オープンソースが世界を変える、携帯電話で空を飛ぶってのと同レベル。
それからきみが書いていることは「そうなればいいな」ってことや「それって問題じゃん?」って提起なだけ。
指摘していることが問題じゃないなんて誰も言っておらん。
問題ではあるけれど本来解決し得ない問題もある。
だから無駄な抵抗を止めて本質を見レと言ってるのね。
>474
まさにそういうことだね。
HTMLにロジックが混在しているか、ロジックにHTMLが混在しているかってところがせいぜいなんだよ。
それ以上にも以下にもならん。
>475
再利用するっていうのは必須の発想だよね。
不可能な分離を考えるのでなく、いかに現実的な解決メソッドを編み出すかにつきると思うんだ。
0477nobodyさん
02/10/21 08:20ID:???>>476
>HTMLにロジックが混在しているか、ロジックにHTMLが混在しているかってところがせいぜいなんだよ。
>それ以上にも以下にもならん。
ここで言っているロジックって、UIのビヘイビアに関するロジック(表示ロジックと呼びますか)だよね?
で、>>470で話している、
>ネタっていうか、そもそもビジネスロジック自体がページという概念から切り離せないWebアプリケーションの世界で、どうやってロジックとデザインを分離するってことを考えるのかわからん。
この文の最初に出てくる(ビジネス)ロジックと、後の文のロジック、476の文章の結論が結びつかないんですけど?
476はビジネスロジックと表示ロジックがちゃんぽんになってませんか?
休暇申請するシステムを作るとして、
「有給休暇残日数ー有給休暇申請日が0以下の場合は、申請拒否」というルールを
プログラムにしたのがビジネスロジック。
「上のビジネスロジックの結果、拒否された場合、赤表示。認可された場合は黒表示。」
という入出力仕様をプログラムにしたのが表示ロジック。
この前提だと、ビジネスロジックはWebページと完全に切り離されて考えられるのでは?
476が言いたいのは表示ロジックのことだとすると、表示ロジックとデザインは切り離せるものじゃない、という意見には賛成。(デザインに依存してコーディングせざるを得ないだろうから)
0480469
02/10/22 00:10ID:3vYtKYtkどういうWebサイトを作る時にCocoonはメリットがあるの?
質問その2
Cocoonではどうやってロジックとデザインの分離を実現するの?(一応スレの内容に合った質問として)
質問その3
うちの職場は男しかいないんだけど、Cocoonを使って開発したらカワイイ新人の女の子が入ってくる?
0481nobodyさん
02/10/22 00:39ID:???サポートしてくれる企業ってある?
いざって時にサポートしてくれるものでないと、ビジネス用途だとむずい。
お前らの仕事だと、そこまで厳密さは要求されないのですか?
0482469
02/10/22 01:01ID:???それって、Cocoonに限らずオープンソースのソフトウエア全てにいえることでは?
PostgresSQL、MySQL、そしてApacheを導入してシステムを構築している企業なんて今時金融機関を含め山ほどあるでしょ?
Cocoonと同じApache XMLプロジェクトの配下にはXercesやXalanなんて大物もいるしね。
まぁでも不安になる気持ちは確かに分からなくもない。
俺も、Apache Web ServerよりもIBM HTTP Server powered by Apacheのほうが安心する。
0483nobodyさん
02/10/22 01:08ID:???結局、これなんだよな。。。
モノは同じでも。
0484nobodyさん
02/10/22 03:04ID:???リスクのないところにリターンはありません。
大事なのはリスクをいたずらに避けずにしっかりと計量することです。
それができない事業主体はSIerにぼったくられても仕方ありません。
0485316
02/10/22 13:25ID:???>質問その1
>どういうWebサイトを作る時にCocoonはメリットがあるの?
一言で言うと、力技でたくさんコンテンツを作る必要があるサイトだな。
Cocoon2自体は、ローテク同士の接着剤の役目を果たす。Webアプリケーションを
ごりごり作るというよりも、大量のコンテンツが並ぶサイトを構築するための
ものだ。
もちろん、ありがちなショッピングカートみたいなものを作るのも結構
簡単なんだが、それは他のソリューションでも同じように出来る。
Cocoon2が便利なのは、元ネタは殆ど同じなんだが、見せ方やら使い方が
色々で、しかもそれがべらぼうに多くて、という場合に、どんどん楽になる。
XSLTに対してすんなり入れるなら全然OKだろう。XMLのありがたみを最大限に
活かしてくれる枠組みという感じだ。
0486316
02/10/22 13:30ID:???>Cocoonではどうやってロジックとデザインの分離を実現するの?(一応スレの内容に合った質問として)
まず、Cocoon2の肝はサイトマップという仕組みにある。
サイトマップの中でコンテンツごとにパイプラインというのを定義していく。
サイトマップ自体はXMLファイルだが、これを読み込んで動的に
Servletに変換してくれるというのが秀逸だ。
さて、サイトマップに書くパイプラインの簡単な例は、こんな感じになる。
<map:pipeline>
<map:match pattern="hello">
<map:generate src="hello.xml"/>
<map:transform src="hello.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
これはブラウザからURLに、http://localhost〜〜〜/helloと指定すると、
まず、hello.xmlというファイルを読み込んで、そこにhello.xslというXSLTを
適用し、最後にHTML形式に変換して返信するという定義だ。
0487316
02/10/22 13:33ID:???実体のファイルとは関係ない。
さて、元ネタが同じで、見た目だけ変更するにはどうするか。
この場合は、もうひとつパイプラインを追加して、適用するXSLTを別個用意すればOKだ。
<map:pipeline>
<map:match pattern="hello2">
<map:generate src="hello.xml"/>
<map:transform src="hello2.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
これはサイトマップファイルに追記するだけで、on the flyでServletに
なる。どうだ、便利だと思わないか(藁
0488316
02/10/22 13:37ID:???問いだ。ここで考えてみて欲しい。コンテンツを生成するときのロジックとは
元ネタのXMLを動的に生成することだということだ。そこで、Cocoon2では
XSPというものを使う。
<map:pipeline>
<map:match pattern="hellodb">
<map:generate src="hello.xsp" type="serverpages"/>
<map:transform src="hello.xsl"/>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
こういう記述をすれば、XSPを実行できる。実行した結果、XMLがメモリ上に
生成されて、こいつにXSLTが適用されるという按配だ。
0489316
02/10/22 13:40ID:???そう、これは分業が可能だということだ。
ダミーのXMLを用意しておいて、XSLTの作成をする奴と、
そのダミーのXMLどおりのものを生成するXSPを書く奴とで別個に
作業できる。
最後に、サイトマップで合体すればOKという風になる。
しかも、それぞれは普通のエディタだけで作業可能だ。もちろん
XMLエディタや、DreamWeaverのようにXHTMLを書けるツールを使うことで
生産性をUPできる。
0490316
02/10/22 13:42ID:???ないということだ。あくまでも、元ネタとなるデータの生成にロジックを
使うわけだ。
それに独自タグは一切不要だ。何故なら、単純なXMLとXSLTをくっつけているだけだからだ。
昼飯を食うので、続きは後ほど書く。
0491316
02/10/22 13:53ID:???XSPプログラマ(M)
XHTMLデザイナー(V)
XSLTプログラマ(C)
という分担が可能になる。XSLTはちょうどSQLプログラミングと同じような
感じだから、手続き型言語におけるプログラミングとは、また風情が違う。
XSPのロジックは、Javaで記述する。Servletになるのだから当然だな。
だからJavaで出来ることは何でもOKだ。
0492316
02/10/22 13:56ID:???<map:pipeline>
<map:match pattern="hello">
<map:generate src="hello.xml"/>
<map:select type="browser">
<map:when test="imode">
<map:transform src="hello_imode.xsl"/>
</map:when>
<map:otherwise>
<map:transform src="hello.xsl"/>
</map:otherwise>
</map:select>
<map:serialize type="html"/>
</map:match>
</map:pipeline>
このように、ブラウザセレクタを使って、適用するXSLTを変更することが出来る。
だからもう、http://i.〜〜やら、http://〜〜/iなどとして、分離する必要はない。
0493316
02/10/22 13:58ID:???セッション管理や認証も簡単に実現できる。
大規模なサイトになれば、グループごとにサイトマップを分割して
マウントという機能で連結させることも可能なので、個別に開発を
進めることもできる。
0494316
02/10/22 14:07ID:???>質問その3
>うちの職場は男しかいないんだけど、Cocoonを使って開発したらカワイイ新人の女の子が入ってくる?
まず、これまでの漏れのカキコを良く読んで欲しい。どうだろうか、女の子に
任せたい部分があるはずだ。そう、HTMLの作成〜XSLTのプログラミングだ。
ここは、見せたい数の分だけ作成する必要がある。もちろん、XSLTもファイルではなく
<map:transform src="http://〜〜〜/hello_xsl"/>のようにXSLTを生成するServletを
作成して動的に生成させることも可能だが、これにも限度はある。
要するに、C/Sのシステム開発で画面周りをやる人足が一番必要となるように、
Cocoon2をつかった場合でも、画面周りの作成を担当する人間が多く必要となる。
しかし、得てして男のプログラマは、こんなところより、コードをがりがり書くことに
情熱を燃やしているはずだ。そこで、女の子の採用をする余地が生まれる。
幸いなことに、この不況のさなか職にあぶれている婦女子は多い。若い子もいっぱいだ。
そこにWebデザイナー募集初心者歓迎などと出せば、いっぱい集まってくるのは必然だ。
あとは面接して、好みの子を選べば良い。但しルックス偏重で戦力にならん奴を雇っても
それはCocoon2の責任ではないことに注意しなければならないという罠(w
0495316
02/10/22 14:11ID:???いきなり難しいテーマを与えて、ほったらかしにしておいて、出来なかったら
怒声を浴びせるなどというデリカシーのない行為は慎みたい。
残念ながらCocoon2はパブリッシングフレームワークではあるが、君の言葉の
パブリッシングまで管理はしてくれないということだ。
Cocoon2はトランザクション系のWebアプリケーションも容易に開発可能だが、
その場合、簡単な画面をたくさん、という女性を必要とする状況にはなり辛い。
特に、コンテンツ数の多い、力作業の多い案件でこそ、女性の必要性をアピール可能だ。
だからこそ、Cocoon2を適用する案件は慎重に選ばねばならないのだ(藁
0496nobodyさん
02/10/22 14:12ID:???0497316
02/10/22 14:13ID:???まあ、しかし引き続き前回のメンバーでやっているので、チャンスはあるはずだ(w
0498316
02/10/22 14:21ID:???自分でソースコードをハックすればいいだけだろ。サポートフィー払って
「仕様です」なんていわれるだけより、よっぽど早いし気が楽だ。
ワケワカらん外注のコード見て、ウンザリしながら書き直すよりよっぽど効率的だ。
俺は今や全部オープンソースで開発してる。金融系のクリティカルな部分だ。
結構実績もあるが、オープンソースだからということが理由でトラブったことは
一度もないぞ。
トラブルは全て自分たちの設計がまずかったり、要件定義がぶれていたり、とか
そういうものだ。そんなものは、自分で直すのが当然だよな。
人数も少なくて済んでいるので、顧客からも予算が押さえられたといって
喜んでもらってる。使う道具がどうだろうと自分の実力が変わるわけじゃないよ。
他人のコードを読む癖がついてない奴は、他人にメンテしてもらえないコードの
書き方しか身に着かないぞ。
それにな、困ったら誰かに助けてもらおうなんて最初から当てこんでるようでは
客にも部下にも上司にも舐められるぞ(w 女にももてないぞ。
心配するな。お前の書くコードよりは、オープンソースのブツのほうがよっぽど
しっかりしている(w そんな心配をするよりも、しっかりとアプリケーションの
設計をすることだ。
0499316
02/10/22 14:35ID:???XSPを使う。XSPの中でも特にESQLと呼ばれている機能だ。
次のようなXSPファイルを作成すればよい。
<?xml version="1.0" encoding="Shift_JIS"?>
<xsp:page language="java"
xmlns:xsp="http://apache.org/xsp"
xmlns:esql="http://apache.org/cocoon/SQL/v2"
xmlns:xsp-request="http://apache.org/xsp/request/2.0"
xmlns:xsp-session="http://apache.org/xsp/session/2.0"
>
<hoge>
<esql:connection>
<esql:pool>接続定義名</esql:pool>
<esql:execute-query>
<esql:query>
select * from テーブル名
</esql:query>
<esql:results>
<esql:row-results>
<esql:get-columns/> <== 全部の列をそのままの列名でタグ化するならこれでよい。
</esql:row-results>
</esql:results>
</esql:execute-query>
</esql:connection>
</hoge>
</xsp:page>
0500469
02/10/22 21:05ID:3vYtKYtkかなり興味湧いてきたYO!
WO厨のマンセーより具体的な中身があるから、明日会社でもう一度読み直してみるよ。
ただこれ以上Cocoon2ネタを続けるとWOの二の舞になりそうだから、
もし質問があればCocoon2スレに行くことにするよ。(そんなのあるのか?)
0501316
02/10/22 21:44ID:???興味を持って貰えて嬉しいYO
漏れは過去レスにも書いたがWOで挫折してCocoon2に流れたが、WOはいいよ。マジで。
ただ可愛い女の子と一緒に仕事できる方を選んだだけだ(藁
Cocoon2スレは残念だが今はない。ので、立ててくれたら書けることなら書くYO
しかし、漏れが書いたことがCocoon2の殆どだ。あとは雑誌の記事や書籍などを
見れば殆ど判る。つか、Cocoon2のサイトは結構ドキュメント充実してるしな。
XSLTの面白さと相性が合うならCocoon2はお薦めだ(輝笑)
0503nobodyさん
02/10/22 23:22ID:3vYtKYtk> XSPプログラマ(M)
> XHTMLデザイナー(V)
> XSLTプログラマ(C)
なの?ざっと読んだ感じでは、
> SiteMap定義者(C)
> XSPプログラマ(M)
> XSLTプログラマ(V)
みたいに見えたんだけど。
J2EEの標準MVCとの比較で書いちゃうけど、
JSPみたいにViewを動的に生成するのがXSLTだと思うし、
Servletみたいに処理を振り分けるのはSiteMapなんだよね?
あとCocoon2で開発を行うときに成果物になるのって、
SiteMap、XSP、XSLの3種類だよねぇ?
XHTMLデザイナっていうのがいまいちどこに入るのか分からないんだけど。
勘違いしてるかな俺?
0504nobodyさん
02/10/22 23:23ID:???(・∀・)イイ!! >>316 サン グッジョブ!!
漏れも仕事でXSLTとか使うことになりそうなので参考になるます。
0505469
02/10/22 23:26ID:???0506nobodyさん
02/10/23 01:09ID:???0507316
02/10/23 02:02ID:???すごくいい指摘だ。嬉しいよ。ありがとう。
さて、
> XSPプログラマ(M)
> XHTMLデザイナー(V)
> XSLTプログラマ(C)
というのは、ひとつずつのコンテンツを生成するところに関してだと思って欲しい。
例えばJ2EEだと、JSP・Servlet・Beanの組合せとかになるけど、それはつまり
ひとつのコンテンツを作るという意味だよね。
Sitemapは名前のとおり、サイト全体の地図、即ちサイト全体のコントローラなんだ。
まあFacadeとして考えればいいんだけど、Facadeの後ろに、さらにMVCがあるという
イメージで捉えて欲しい。
だから、サイト全体で考えると
Sitemap(C)
XSP+XSLT(M)
ブラウザ(V)
という風に考えればしっくりくる。Cocoon2は、ドキュメントにもあるんだが
正確には、Logic+Content+Style+Managementという分離が意識されているわけだ。
つづく
0508316
02/10/23 02:03ID:???だから、
>JSPみたいにViewを動的に生成するのがXSLTだと思うし、
>Servletみたいに処理を振り分けるのはSiteMapなんだよね?
というのは正解なんだけど、それが全てではないってことなんだ。
>あとCocoon2で開発を行うときに成果物になるのって、
>SiteMap、XSP、XSLの3種類だよねぇ?
>XHTMLデザイナっていうのがいまいちどこに入るのか分からないんだけど。
うん、実際にはXHTMLをXSLT化して利用することになるので、成果物は指摘のとおりだ。
しかし分業という点では、
XHTMLを作る→XSLT化する
↓
並行してXSPを作る→Sitemapでガッチャンコ
という風になる。このときに、デザイナにXSLTまで理解させようとすると、デザインが
複雑だったりすると大変になるので、あえて役割の違いを強調しているというわけだ。
但しこれは多分に漏れの主観なので、あんまり気にしなくても良い。
# 正確を期すならば、SerializerがVの役割を担っているというのがCocoon2の特徴だ。
つづく
0509316
02/10/23 02:05ID:???だから、
>勘違いしてるかな俺?
まったくそんなことはない。その解釈は正しい。そしてそれはCocoon1が実現していたことだ。
そこにプラスアルファの小気味良い発想が加わっているのがCocoon2ということなんだ。
その発想こそがSitemapだ。コンテンツのコントローラとしてのXSLTとは別に、
サイト全体のコントローラとしてのSitemapというものが導入されたことで、
非常に分割統治が容易になったということだな。
要するにCocoon2は、少し毛色が違うということだ(笑顔)
0511nobodyさん
02/10/25 12:58ID:???>XHTMLを作る→XSLT化する
これって自動化は出来ないんでしょうか?
上のほうに出てたTemplateタグ入れて書いてツールと押すとXSLTに変換してくれるとか。
0512nobodyさん
02/10/26 14:07ID:2YrLVkVE質問者じゃないが、とても参考になりました。
でも、ちょっと高度だなぁ。抽象化されすぎて、完成イメージが、
途中でわからなくなる。つまりデバッグが大変じゃない?
(Javaを使うだけ以上に設計命だな。曖昧じゃ作業指示できない。)
で、分業をまとめる際に、どこが尻拭いするかと考えると、結局、
ロジック作ってる奴なんで、ロジック以外は、できるだけ完成品に
近い方がうれしいなぁ。
デザイン主体のWebだと、逆に開発側がHTMLの構造(=デザイン)を
理解してないで、コード埋め込んでたりするし、ワークフローとして、
HTMLのデザイン用のコーディング工数も決して低くはない状況では
なかなか・・・。
基本的には、業務システム系の開発用途なんでしょうね。
インターネットのWebでは、せいぜいStrutsがギリギリかなぁ。
ちなみに、POSTリクエストは、誰が値を受けて、どのように制御側に
渡っていくんですか?
0513nobodyさん
02/10/26 14:12ID:2YrLVkVEあ、ちなみにデザイン側はHTMLだけで完結するように
ワークフローなら、容易に女の子採用できますよ。
というか、うちはどの部も半分近く女性がいる。
システムのレイヤーが深くなればなるほど男率が上がるので、
HTMLとかJavaスクリプトなどの上位レイヤーをいかに生かすか?
がポイント(w
0514nobodyさん
02/10/26 14:42ID:???漏れはWOでいいや。DB->Webのドラッグ&ドロップがやっぱり楽。
0515316
02/10/26 15:43ID:???まあCocoon2は複雑なWebアプリケーション向けではないってことで
理解してもらえるといいかと思う。漏れはCocoon2好きだが決して
万能だとは全然思ってないよ。
POSTでの値の受け渡しはどうも駄目らしい。上手くいかない。
GETメソッドOnlyだ。
0516316
02/10/26 15:51ID:???WOで生産性が出てるなら、Cocoon2に乗り換える必要はないと思うよ。
同様にASP.NETもそうだと思う。
XML+XSLTの組み合わせに萌えられる香具師でないとCocoon2は向かないと思う。
逆に、この辺の味を知ってしまうと、普通のRAD環境よりもむしろ楽に感じる
ようになれると思うよ。
0517nobodyさん
02/10/26 19:09ID:???によく使うと思うんだけど、XSLTをGUI的に構築できる
安価なツールってないもんですかね。
出力結果は、(X)HTML,SVG,SMILとかバラバラだから、
特定の規格に依存されるのも困るんだけど、かと言って、
汎用的すぎて難しいのも困る。(ワガママでスマソ)
0518316
02/10/26 19:30ID:???安価とはいえないかもしれないが、XMLSpyってのがあって、
http://www.xmlspy.jp/
こいつのXSLTエディタってのは結構いけてる。
http://www.xmlspy.jp/products_xsl.html
漏れは30日試用版で試してみたが、結構いいよ。
で、英語版では新バージョンが既に出ているのだが、
http://www.xmlspy.com/
名前はstylevisionに変更されたみたいだ。
http://www.xmlspy.com/products_xsl.html
上に書いた奴よりも機能強化されているみたいだから、
こっちのほうがいいんだろうね。
これの日本語版ももうすぐ出てくるようだ。
http://www.toshiba-it.co.jp/xml/component/04_xmlspy/
これの価格表を見ると、
https://xsweb.toshiba-it.co.jp/webshop/spy5_prices.asp
stylevision単独だと\59,800ということだ。
どうもパッケージ構成が良くわからんのだが、
\79,800のXMLSPY 5 Profesional Editionでも含まれている気がする。
これくらいなら、何とかできそうな価格帯のようにも思うな。
0519517
02/10/26 21:14ID:2YrLVkVEXML SPYは以前、評価版をインストールしたことがあったが、
グラフィカルなタグの構造エディタが、ちょっと辛くて、
イマイチ感だったんだが、きっとViewの設定変えれば問題
ないだろう。
XSLTのステップ実行って、すげーよさそうだな。
東芝ITも良いソフト釣ってきたね。
正直、漏れの語学力だと日本語版は必須なので、
日本語版ちょっと会社で買ってもらおうかなぁ。
0520nobodyさん
02/10/28 00:24ID:PgJcPGqE>>316の熱心な説明がイイ!
長いのでこれからじっくり読むんですけどね(w
■ このスレッドは過去ログ倉庫に格納されています