- PR -

COM化に向けてのご相談

投稿者投稿内容
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-10-12 21:30
いつもお世話に成っています。

WebアプリケーションをASP.NET+VB.NETで開発しています。

実はオブジェクト指向大好き人間が増えて、COM化を叫んでいます。

私自身はVB6での開発でやはりCOM大好き人間にかき回されてプロジェクトが遅延し余り良い印象を持っていません。

良くてクラス化までで、WindowsアプリケーションでなくWebアプリケーションで、Htmlコントロールを残しJavaScriptの処理が残るASPXで且つDBを抽出するか更新するか程度のものにCOM化する程の事が有るのか疑問に思っています。

ASP.NETに成ってCOMのバージョン管理が容易になったと聞きますが率直にCOM化のメリット/デメリットについてご意見をお聞かせいただきたいのですが!

以上

未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2003-10-13 00:05
>実はオブジェクト指向大好き人間が増えて、COM化を叫んでいます。
「オブジェクト指向が好き」で「COM化を叫ぶ」という辺りで,似非オブジェクト
指向人間と考えてほぼ間違いないと思います.普通はあれをオブジェクト指向の
範疇には入れないでしょう.

>私自身はVB6での開発でやはりCOM大好き人間にかき回されてプロジェクトが遅延
>し余り良い印象を持っていません。
この判断は正しいと思います.COMとはそういう物ですから.

ところで,「オブジェクト指向開発の落とし穴」という名著はご存じですか?
http://www.amazon.co.jp/exec/obidos/ASIN/4894712164/249-4720476-8880339

>率直にCOM化のメリット/デメリットについてご意見をお聞かせいただきたいのですが!
メリット:オブジェクト指向を使った気になって,自己満足に浸れる.
デメリット:開発が遅れる.時にはそれが原因でプロジェクトが失敗する.etc.

ご愁傷様です.
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-10-13 00:40
>ところで,「オブジェクト指向開発の落とし穴」という名著はご存じですか?
>http://www.amazon.co.jp/exec/obidos/ASIN/4894712164/249-4720476-8880339

参考に読んで見たかったですが、残念ながら在庫切れだそうです。

今回の開発は短期間なのでデメリットが大きければ今回は避けて余裕のある開発に回したいと思っているのですが!
未記入
ぬし
会議室デビュー日: 2002/03/28
投稿数: 255
投稿日時: 2003-10-14 00:15
>>ところで,「オブジェクト指向開発の落とし穴」という名著はご存じですか?
>参考に読んで見たかったですが、残念ながら在庫切れだそうです。
名著ですから,大きな本屋で探せば結構あるものですよ.

>今回の開発は短期間なのでデメリットが大きければ今回は避けて余裕のある開発に回したいと思っているのですが!
短期間でCOMを使うとなると,リスクが大きすぎる思います.
少なくとも使うメリットがあるようには思えません.
#余裕があっても難しいかもしれませんが.

ところで「COM化を叫ぶオブジェクト指向大好き人間」がもたらす問題は,二つあると思います.
1,COMを導入することによるトラブルの増大.
2,オブジェクト指向のことを知らない癖に,聞きかじった知識だけで
「オブジェクト指向を使えば,うまくいくはずだ」(しかもオブジェクト指向の
使い方を間違えている.)という根拠のない楽観論.


前者の問題だけでも十分過ぎるほど大きいですが,後者の問題は時としてそれ以上
でしょう,或いは本質的な問題は後者だけかも知れません.ですがこれについては
簡単な解決法がないのは言うまでもないでしょう.

「設計というのは時として技術的な問題以上に政治的な問題だ」
というのは今回の場合に当てはまるのでは?
#この落とし穴も「オブジェクト指向開発の落とし穴」にあったと思います.

こうなると関係者以外は無力です.私にできるのは,せいぜいCOMを使わずに
万事まるく収まることを祈ることくらいです.
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2003-10-14 00:30
引用:

NMさんの書き込み (2003-10-12 21:30) より:
WebアプリケーションをASP.NET+VB.NETで開発しています。
実はオブジェクト指向大好き人間が増えて、COM化を叫んでいます。



ここで言っているCOM化とはどういう意図で言われているのでしょうか?
機能を切り出してDLL化しようという意味ではないのでしょうか?

.NETのDLLはCOMではないので、.NETとCOMは直接は関係ありません。
既存のCOMコンポーネントをInteropにより利用することはできますけど、
そういう意味でCOM化と言われているわけではないのですよね?

共通の機能はそれだけを切り出して独立させようとする考えはごく普通のことだと思います。
.NETではレジストリに登録する必要もないですし、インストール上の面倒は特にありませんし、
必要であればDLL化すればよいと思います。
NM
ベテラン
会議室デビュー日: 2003/08/28
投稿数: 93
投稿日時: 2003-10-14 04:48
>ここで言っているCOM化とはどういう意図で言われているのでしょうか?
>機能を切り出してDLL化しようという意味ではないのでしょうか?

>.NETのDLLはCOMではないので、.NETとCOMは直接は関係ありません。
>既存のCOMコンポーネントをInteropにより利用することはできますけど、
>そういう意味でCOM化と言われているわけではないのですよね?

確かに「COM」は技術であって、オブジェクト指向に基づいたコンポーネット開発の仕様ですから、DLLのことを「COM」と言っているのかも知れません。ただ、「ビジネスロジック層」だとかどっかの文献に出ていそうな話ばかりなので?

感情論、過去の経験(こっちは欲しいかも)は別っとして、言葉を借りればプレゼンテーション層で共通性の乏しい数多くなると思うページにそこまでしなくてもと言う気持ちがあります。従って、当初の質問時に挙げた様にクラス化程度かなと思っているのですが!

今回の様なケースの場合で何か納得出来るような、COM化(DLLを含む)のメリット/デメリットをお聞かせいただけるとありがたいのですが!

最後に、私は嫌だから反対と言うのではなく、エンドユーザを含めて長期スパンでCOM化して行き資産を残して行くと言うのであれば何も心配せず賛成なのですが!
よねKEN
ぬし
会議室デビュー日: 2003/08/23
投稿数: 472
投稿日時: 2003-10-14 08:15
最初の投稿で、
> ASP.NETに成ってCOMのバージョン管理が容易になったと聞きますが

とあるので、どうも.NETとCOMをいっしょくたにされているなと思いました。

> 実はオブジェクト指向大好き人間が増えて、COM化を叫んでいます。

そこで、ここで言っている「COM化」という言葉が、
NMさんの周りの人が本当にCOM化と言っているのか、
機能をDLLなどにまとめることを主張していて、そのことをNMさんが「COM化」
と言ってしまっているのかがわからなかったので、
NMさんがどういう意味合いで「COM化」とおっしゃっているのかを問い直した次第です。

.NETのEXEやDLLはCOMではないですし、COMとも直接は関係ありません。
既存のコンポーネントを使いまわすとき以外にCOMはでてきません。

なので、
> 今回の様なケースの場合で何か納得出来るような、COM化(DLLを含む)の
> メリット/デメリットをお聞かせいただけるとありがたいのですが!

普通に作っていれば.NETでCOM化という言葉はでてきませんので、
質問自体が成り立たないと思います。

で、私の前回の投稿(投稿日時: 2003-10-14 00:30)の意図は、
「機能を切り出してDLLにまとめる」という意味でNMさんはCOM化とおっしゃってるのですよね?
という確認をしたのですけど、レスを見てどちらの意味合いでおっしゃっているのかよくわかりません(^^;

再度、下記を引用しますが、
>今回の様なケースの場合で何か納得出来るような、COM化(DLLを含む)のメリット/デ
> メリットをお聞かせいただけるとありがたいのですが!

ここでの話として「DLLにまとめる」という意味でのメリット/デメリットでよろしいですか?
今、ちょっと時間がないので投稿もここまでにします(中途半端ですいません)
ぢゃん♪
大ベテラン
会議室デビュー日: 2003/06/12
投稿数: 208
お住まい・勤務地: 都内
投稿日時: 2003-10-14 08:17
 >WebアプリケーションをASP.NET+VB.NETで開発しています。

にもかかわらず
 >実はオブジェクト指向大好き人間が増えて、COM化を叫んでいます。

という時点で、既に妙な気がするのですが……
そう主張している人たちは、はたして次のどれですか?

  1. COMや.NET Framework、およびその関係などを充分理解し、メリット/デメリットも秤にかけた上で、あえて主張している
  2. COMが好きで好きでたまらない (もしくは「.NETが嫌い」?)
  3. COMのことはよく知っているけど、.NETのことはよく知らないので、何が何でも得意分野であるCOMをねじ込みたい
  4. 単なるコンポーネントという意味でCOMと言っている(COM=【Component Object Model】という意味でなく)
  5. それ以外の理由
  6. なんとなく (←非常に有害)

なお、単なるコンポーネントという意味でCOMという略語を使うべきでないでしょう。「コンポーネント」と言えばいいのですから。

ともかくトラブルを避けるならば、聞き取り調査するとかで、そのあたりをはっきりさせておいたほうがいいと思います。
(場合によっては、開発メンバー内の再教育を実施するぐらいの覚悟、いや主張を封じるための徹底抗戦の覚悟すら必要かも……)

[ メッセージ編集済み 編集者: ぢゃん♪ 編集日時 2003-10-14 09:05 ]

スキルアップ/キャリアアップ(JOB@IT)