ENTERPRISE JAVA KİTAP KAPSAMI

Eclipse

Java geliştirme ortamı olarak nasıl kullanılır. Kısayolları ve ileri seviye kullanım şekilleri incelenmiştir.

Xml

Java ile doğrudan ilgili olmayıp Java teknolojilerinin tamamında kullanılan bir araçtır. Java dünyası ve kitapta birçok yerde kullanıldığından temel düzeyde incelenmektedir.

Java Xml Parser

Java’da xml işlemleri incelenmiştir. Örnek projeler geliştirilirken Eclipse IDE özelliklerinden yaralanma incelenmektedir.

Maven

Java projelerinin yönetiminde kullanılan araçtır. Oldukça popüler bir araç olan Maven komut satırından nasıl kullanılacağı incelenmektedir.

Eclipse & Maven

Eclipse – Maven ilişkisini  ele alınmıştır. İleri serviye eclipse ve maven bilgileri taşıyan örnek projeler ile tek maven projesi ile 100’lerce projenin nasıl yönetilebileceği incelenmektedir.

Interface Yönelimli Programlama

Object Oriented Programming yapısına Java dünyası için ileri seviye bilgiler ele alınmaktadır. Design Patterns’in ve esnekliğin temeli olduğundan incelenmesi elzemdir. Kitabın bu noktadan sonraki tüm konularındaki örnekler bu metodolojiye sahip olacak şekilde incelenmektedir. Her konunun sonundaki örnek proje interface dönük olarak tekrar ele alınarak güzel tasarım örnekleri incelenmeye çalışılmıştır.

Reflection API

Ülkemizde çok az bilinip kullanılmayan ancak tüm Java Framework’lerinin temelini tasarım şablonları ile birlikte oluşturulan yapıdır. Reflection Api ve içerisindeki Java Dynamic Proxy bilinmeden ne Hibernate ne de Spring frameworkü tam anlaşılamayacaktır. Bu frameworkler sadece ezberlenecektir. Bu frameworkler anlatılırken reflection ve proxy’e oldukça çok atıf yapılarak birlikte incelenmektedirler.

Annotations

Neredeyse Java Framework’lerinin yönetilmesi artık sadece anotasyonlar üzerindedir. Reflectin ve Proxy gibi bu konunun da bilinmesi elzemdir.

Java Enum ve Constant

Core Java olsa da gözlerden uzak bir konudur. Parametrik yapılar için oldukça yararlıdır. Enum, constant arasındaki farklar incelenmiş. Fark incelemesinde eclipse debug yöntemi kullanılarak debug özelliği ele alınmıştır. Örnek projede interface karşı programlama, reflection api, anotasyonlar kullanılarak basit bir loglama api geliştirilmiş. Böylece bir api ya da framework nasıl geliştirilir sorusu incelenmektedir.

Loglama

Log4j2 framework ile loglama nasıl yapılır. Projelerde loglamanın önemi ele alınmıştır. Bunların yanında proje isimlendirmede seviyelendirme yapısı incelenmektedir.

Jdbc

Java database işlemleri tek tek incelenmiştir. Aşama aşama refactoring yapılarak iyi bir tasarım ile Jdbc yetenekleri ele alınmıştır. Bu bölüm sonunda güzel tasarım ile geliştirilen Dao katmanı ilerideki bölümlerde Hibernate ve Spring ile karşılaştırılarak özün özü incelenmektedir.

Hibernate

ORM nedir? Hangi şartlarda kullanılmalıdır. Hibernate   JPA implementasyonu ele alınmıştır. Özellikle Hibernate Lazy Loading vb konularındaki yanlış anlaşılmalara sebep olan tanımlamalara dikkat çekilmiştir.  Java Dynamic Proxy hakkında bilgi sahibi olunmadan Hibernate bilgisi daima eksik kalacaktır. Bu nedenle tüm örnekler proxy konusu ile birlikte incelenmektedir. Jdbc ile karşılaştırılarak aralarındaki farklar da incelenmektedir.

Soap Servis

Web servis bileşenleri, Wsdl yapısı ve Servis endpoint gibi kavramlar en ileri seviyede ele alınmaktadır. Contract First ve Contract Last yaklaşımı detaylıca ele alınmaktadır. Service interface ile Java interface kavramı karşılaştırılması yapılarak güzel tasarlanmış service interface yapısı incelenmektedir. Servis incelemeleri yapılırken Jax-Ws kullanılmaktadır.

Rest Servis

Rest bir servisi tasarlamak geliştirmekten zordur. Bu bağlamda iyi bir restful servisin sahip olması gereken bileşenler derinlemesine incelenmektedir. İnceleme http metodlardan tutunda Resource tanımı ve Hateoas gibi bileşenlere kadar tüm rest dünyasını ele almaktadır.

Web Servisler

Servis konuları ele alınırken özellikle bir servisin sahip olması gereken ve kesinlikle sahip olmaması gereken bileşenler incelenmektedir. Bu bileşenler örnekler ile tek te açıklanmaktadır.
Dependency Injection
Bağımlılıklar Spring frameworke girilmeden Java ile incelenmektedir. Bu bölümde reflection ve dynamic proxy ile birlikte basit bir dependency injection mekanizması kurulmaktadır. Böylece dependency injection mekanizmasının tam olarak ne olduğu incelenmektedir. Doğrudan Spring gibi bir framework ile dependenc injection incelemesi konunun anlaşılmasında yetersiz kalacaktır.

Spring Framework

Spring framework nedir ne değildir. Neden ortaya çıktı? Dependency injection mekanizmasının çalışması birden çok interface ile birlikte ele alınmaktadır. Spring yaşam döngüsün nasıl çalıştığı ve yetenekleri incelenmektedir. Spring hem xml hem anotasyon konfigürasyon altında incelenmektedir.

Spring AOP

Aspect Oriented Programming nedir? Gerçekten de İlgiye Yönelik Programlama mıdır? Bir metod yapacağı işi tamamlamak için ilgi mi duyar endişe mi duyar? Refelction ve Dynamic Proxy ile ilişkisi nedir? Bu bölümde Java Dependency injection ve Spring Dependency injection karşılaştırılması da ileri düzeyde yapılmaktadır. Bu bölüm kitap boyunca incelenen teknolojilerin meyvesinin alındığı ilk duraktır. Çok dikkatli incelenmelidir.

Transaction

Transaction mekanizmasının sahip olması gereken özellikler incelenmektedir.

Spring Jdbc Template

Jdbc ile yapılan işlemler Spring Jdbc Template altında birebir ele alınmakta ve Jdbc ile karşılaştırılmaktadır. Böylece gerçekten bir frameworke ihtiyacımız olup olmadığı incelenmektedir. Spring’in transaction mekanizmasına yaklaşımı ele alınmaktadır.

Spring Hibernate Template

Hibernate, Spring altında incelenmektedir. Bu inceleme ile kitaptaki çalışan web projesinin ilk adımı atılmaktadır.

Spring MVC

Model View Controller tasarım şablonu incelenmektedir. Spring’in bu şablonu gerçeklemesi ve kullandığı bileşenler derinlemesine ele alınmıştır.

Çalışan Proje

Spring MVC örnekleri gerçekten çalışan bir projeye hazırlık olarak tasarlanmıştır. Bölümdeki son örnek proje ile çalışan bir örnek projenin nasıl olabileceği resmedilmiştir.