Java/用語
Last-modified: 2013-04-12 (金) 08:16:53
Web
- DI / DIコンテナ
- Dependency Injection。依存性の注入。
あるクラスが別のクラスを生成する際通常はnewするが、newはせず、生成方法は
DIコンテナフレームワークに任せる方法。
DIコンテナでは生成するクラスをXMLで定義する。
DIを使う場合は必ずインタフェースを用意する。
メリット:
Bean定義ファイルで実装クラスを切り替えられるため、依存度が低下し、ロジック変更に対する影響度を極小化できる。またJnitテスト時のモック利用が容易。
コンポーネントはPOJOにできる。
- AOP(アスペクト指向プログラミング)
- ログ出力、トランザクション処理、例外処理のようにシステム全体で共通的に適用するような場合に利用可能な機能。
ソースに手を加えずに任意の処理実行時に新たな処理を加えることができる。
- O/Rマッピング
- データベースエンティティとJavaオブジェクトを対応付けるフレームワーク。
フレームワークによりJDBCのようにSQLを書かなくてもDBアクセスが可能になる。
- SOA
- エスオーエー / ソア / サービス指向アーキテクチャ
Webサービス。
ビジネスプロセスの構成単位に合わせて部品としてネットワーク上に構築し、
それぞれを連携・組み合わせて全体システムを構築する。
個々の単位をサービスと呼び、注文受付・請求処理などの単位で分ける。
新たにプロセスに組み込んだり、不要な“サービス”を外したりといった
ことが柔軟にできるのがメリット。
Oracle SOAなどの製品がある。
- Struts
- Webアプリケーションフレームワーク。
1と2系は中身はまったく別物。
Struts2ではアノテーションにより設定ファイルがさらに削減されている。
- Spring Framework
- Java開発フレームワーク。
AOPにより、クラス横断的な処理が可能。
バッチ処理機能や、テストコードを書くための機能もある。
Hibernate等のO/Rマッピングフレームワークとの連携も可能。
struts-config.xml:画面遷移を定義。
validator-rules.xml:入力値検証。
ActionForm:入力チェックするデータは一旦このBeanに格納される。
- Seasar2
- 国産DIコンテナ。
アノテーションにより設定ファイルを書く量が非常に少なくできる。
- TERASOLUNA Framework
- NTTデータが作成したWeb開発フレームワーク。
業務で利用する多様な機能がある。
Ajax, Batchフレームワークなどもある。
フレームワーク自体は無償だが、TERASOLUNA IDEというEclipse開発ツールは有償。
Excel設計書からソースコード生成が可能。
内部ではSpring、Struts1、iBatisが使われている。
データベースアクセス
- Hibernate
- O/Rマッパー。
多機能でSQL記述なしでDBアクセス可能だが、煩雑。
- iBatis
- SQLクエリをXMLに自分で記述することでJavaオブジェクトにマッピングするO/Rマッパー。
JDBCより簡潔に記述でき、コネクションのクローズ漏れなどの問題も解決される。
現在はMyBatisに移行。
MyBatisではSQL文のインタフェースメソッド(マッパー)を使うことが可能なため、
XMLで記述したIDのメソッド名をそのまま利用可能。
- Torque
- SQL文を記述せずにDBアクセス可能。