ENTERPRISE JAVA

Kitap ileri seviye Java bilgileri ve Enterprise Java Framework ’lerini içermektedir.

Kitap konuları bir Java projesiymişçesine tasarlanmıştır. Bir projede nasıl end to end gereksinimler belirlenir, tasarım ona göre yapılırsa kitapta da Enterprise Java teknolojilerin aynı şekilde ele alınmıştır.

Bir projede gerekli olabilecek frameworkler belirlenmiş ve bu frameworkler alt yapıları ile birlikte ele alınmıştır. Sadece framework incelemesi yapılmamıştır. Frameworklerin alt yapıları veya nasıl tasarlandıkları karşılaştırmalı olarak incelenmiştir. Böylece ezber tanımlardan ziyade işin özüne inilmeye çalışılmıştır.

Java frameworklerinin temeli olan reflection api, dynamic proxy ve interface yönelimli programlama gibi konular en başta incelenmiş. İncelenen her frameworkte nasıl kullanıldıklarına sık sık vurgu yapılmıştır. Böylece frameworkler temellerinden incelenmiştir.

Örneğin Jdbc, Hibernate ya da Spring Jdbc template incelenirken bu teknolojilerin karşılaştırmasının yapıldığı bir kaynak yoktur. Bu kitapta konularla ilgili örnekler hep birbirleri ile karşılaştırılarak  ya da atıfta bulunularak incelenmiştir. Yetmemiş bu konuların son proje örnekleri benzer tasarım altında incelenerek karşılaştırmaları yapılmıştır. Böylece sizlere teknolojilerin avantaj ve dezavantajları aktarılmaya çalışılmıştır.

Konu incelemeleri kötü tasarım ile başlamış ve iyi tasarım ile sonlandırılmaya çalışılmıştır. Aslında konular refactoring mantığı çerçevesinde incelenmiştir. Kötü başlayan proje bileşenleri ile konular derinlemesine incelenmiş. Konular hakkında yeterli bilgi verildikten sonra refactoring ile bir kez de güzel tasarım altında ele alınmışlardır.  Böylece incelenen konular hakkında sadece bilgi verilmemiş. Proje içerisinde nasıl kullanılmaları gerektiğine ışık tutulmaya çalışılmıştır.

Aslında kitap çalışan bir proje içerisinde ele alınmıştır. Yani tüm konular bir projenin modülü gibi düşünülerek sürekli refactoring içerisinde incelenmişlerdir. Bunun sonucunda “Çalışan bir proje nasıl olmalıdır” sorusuna yanıt aranmıştır. Örneğin bir veri tabanı katmanı ya da bir servis katmanı konu anlatımlarından sonra iyi bir tasarım altında incelenerek çalıştırılmıştır.

Bu kitap bir başlangıç noktası olarak tasarlanmıştır. İşlediği konular hakkında çok ince ve detay bilgiler vermeye çalışırken incelemediği konular hakkında da ip uçları verilmeye çalışılmıştır. Böylece Java dünyasının ikinci büyük sorusu olan “hangi teknoloji ya da framework seçilmelidir” başlığı incelenmiştir.

Bu kitap bir başlangıç noktası olarak okuyucusuna Java’daki ileri seviye konulara hakim olunduğunda her şeyin yapılabileceğini göstermeyi hedeflemektedir.

Ülkemizde henüz Enterprise Java konularını bu seviyede ele alan bir kaynak bulunmamaktadır. Yazım metodolojisi ile henüz dünya da benzerine rastlamadığımı söyleyebilirim.