プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。

Javaのフレームワークや共通機能(例外処理など)の設計を担当して
おります。ただ経験不足からかノウハウが無く、うまくいっておりません。

昔JSPやServletでWebシステムの画面周りのPGは経験があるのですが、
フレームワークや共通機能となると、また違う経験や発想が必要な気がしています。

オブジェクト指向、デザインパターン、Jakarta プロダクト、J2EE
など・・色々なキーワードがあるのですが、「フレームワーク設計」となると、どういった切り口から学習していくのが良いでしょうか?。
「アプリケーションアーキテクチャ設計」とも言われるようですが・・。

皆様のご経験など教えて頂けますと助かります。
よろしくお願いします。

A 回答 (3件)

フレームワーク開発の経験はありませんが、個人的感想です。



>>フレームワークや共通機能となると、また違う経験や発想が必要な気がしています。

フレームワークは、開発アプリの基盤になりますよね。ですので、「このフレームワークは、そんな使い方は、想定していません。そのプログラムでは使わないでください。」って言うはめにならないように、拡張性・柔軟性を確保しないといけませんから、大変ですね。質問者の言われるように、通常のアプリ以上の経験・発想が必要でしょう。「経験不足」と感じるレベルで、そういう箇所を担当される場合、いろいろと苦労が予想されますね。

ちなみに、「Javaよりも100倍開発効率が良い(実際は、5倍から10倍か?)」ってことで世界的に成功したRuby on Railsを真似した、Javaのフレームワークが増えているそうです。「この新しいフレームワークを使えば、大変だったXMLの記述は全く不要。その他、いろんな修正やテスト、リリース準備、保守も楽チンになるよ」っていうような、「フレームワークで生産性100倍アップ!!」というウリ・目的を考えるのが最初ではないでしょうか?

で、その大ホラ?を実現するために、いろいろと工夫するわけですね。でも、良いものは、そう簡単にはできないわけですし、質問者が仕事で作成すべきフレームワークには、納期もあると思います。なので、「不満もあるけど、今回はここまで!」っていう「見切り」がもっとも重要かもしれませんね。
    • good
    • 0

Sun認定資格


Java認定資格
http://suned.sun.co.jp/JPN/certification/javamai …

よく、「SJC-A」なんてシステム営業向けの資格だし取得しても意味無いよ、みたいな意見が見受けられますが、質問文を拝見してみて、いきなり「SJC-P」や「SJC-WC」レベルの内容から入っちゃうと、そういう風になってしまうのかな、なんて思いました。

データベース関係においても、本来はJDBCなんてJ2SEからも利用することが出来るわけなんですが、「SJC-P」ではDrivermanagerクラスやexecuteQueryメソッドなどに関する問題は一切出ませんよね(出題範囲外です)。ところが、「SJC-A」ではJNDIやコネクションプーリングとはどのような技術なのかについての理解がないと、合格はおぼつきません。

上記の公式サイトからも分かるように、「SJC-A」っていうのは、「SJC-EA」も含めた全てのJava技術の基盤となっている部分ですから、資格取得は抜きにしてもやはりそこから入っていくべきであるように思います(個人的には)。

ここから下は全て、公式サイトからコピペしてきたものです。たとえ、資格を取得する必要がなかったとしても、体系的に学べれますし、SJC-WCに関しても、サン・エデュケーション・サービスとしては、あくまでSJC-P取得者以外は受験不可といっているだけであって、SJC-WCを先に勉強してはならない、とは言っていません(たぶん)。必要となる部分のみ、かいつまんで習得していくっていうのもありかと。

http://suned.sun.co.jp/JPN/certification/sjcaobj …
セクション 2 - UML 表記
セクション 6 - Java プラットフォームと関連テクノロジー
セクション 8 - サーバーサイド・テクノロジー

http://suned.sun.co.jp/JPN/certification/compobj …
Section 11 - J2EEパターン

【ちなみに、・・・】
もしかしたら、上記の内容でも期待した回答は得られないかもしれません。そうだとしたら、あとはやはり「業務知識への理解」ですね。こればっかりはJavaとかRubyとか.NETとかにかかわらず、どうしても習得に時間の要するものです。社外秘の内容を質問されても、恐らく誰も答えられないでしょうし、それ自体がルール違反になってしまいますからね。一つ一つ着実に、というアドバイスしかありませんが。
    • good
    • 0

まずは、しっかりとした分析能力が必要かとおもいます。

文章でもよいですし、
UMLなどのモデリング手法をつかってシステム構築の対象となるビジネスロジック
を把握し、共通となるロジックやインターフェイスを抽出します。
そしてあなたが作るフレームワークや共通ロジックをを使って開発する開発者が開発しやすく、かつ直感的で処理の流れがわかるような仕組みがどのようにして実現できるかというかということを意識して設計すればよいかと思います。その際にデザインパターンなどのオブジェクト指向的な設計手法やオープンソースなどで提供されているフレームワークなどの考え方は参考になるかと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!