Sektör Görüşleri
JEE Platformu, Kurumsal Uygulamalarda Framework Karmaşası ve Oracle ADF

Java bugün dünyada en yaygın olarak kullanılan uygulama geliştirme platformudur.
Bilgisayarlardan, cep telefonlarına kadar 7 milyardan fazla cihazda java uygulaması çalışmaktadır. Java platformu, kurumsal yazılımlardan oyun yazılımlarına, BlueRay teknolojisinden, mobil yazılımlara kadar çok geniş bir yelpazede kullanılmaktadır. 9 milyondan fazla uygulama geliştirici Java kullanmaktadır. Dünyada yaklaşık 14 milyon uygulama geliştiricisinin olduğunu göz önünde bulundurursak Java'nın ne kadar yaygın olduğu kolayca görülebilir.
Java SE platformunun üzerine inşa edilen JEE, sağladığı API ve runtime ile bu büyük ölçekli modern uygulamaların veya diğer adıyla kurumsal uygulamaların temel ihtiyacı olan, üretken, ölçeklenebilir, güvenli ve çok katmanlı mimari altyapısı sunmaktadır. Bu standart altyapı üzerinde çalışan uygulamalar bazı temel fonksiyonlara ihtiyaç duyarlar. Framework'ler de tam burada devreye girer ve işlem kontrolu, veriyi ilişkisel nesnelerden uygulama nesnelerine dönüştürme, iş akış kontrolu ve güvenlik gibi standart, temel ihtiyaçlar için bize bu iskeleti veya şablonu sağlarlar.
Yeni bir web tabanlı uygulama geliştirirken ihtiyaç duyulan altyapıyı oluşturmak ve gerekli fonksiyonları sağlamak için birkaç seçeneğimiz var;
1. Hey şeyi en baştan oluşturup kodlamak;
Çok özel amaçlı uygulamalar için düşünülebilir ancak bu seçenek çok fazla zaman ve kaynak kullanımı gerektiren ve riskli bir yaklaşımdır.
2. Daha önceden yazmış olduğumuz uygulamadan kopyalayıp yapıştırmak.
Bu seçenek ancak geliştiricilerin önceki uygulamalara yeni eklentiler yapılıyorsa makul olabilir.
3. Bir veya birkaç framework kullanıp uygulamayı onların üstüne inşa etmek.
Tekerleği yeni baştan icat etmek pek mantıklı olmadığından bugün modern kurumsal uygulamalar geliştirirken neredeyse hep aynı seçenek cevap oluyor. Dizayn aşamasında ilk cevap aranılan soru artık hangi framework kullanılacak sorusu. Java platformunda yazılım geliştirmeye başladığım 2002 yılından beri hiç framework kullanılmayan web uygulaması bir elin parmaklarını geçmez.
Kaç tane Java Framework sayabilirsiniz?…
Bugün bu noktada çok alternatif var. Expresso, JPublish, Struts, Tapestry, Tiles, Hibernate, Spring, Seam, JSF, Cocoon, Wicket… yüzlerce farklı seçenek. Bir framework neden diğerinden daha iyi? Hangi framework ile yola çıkmak doğru olur? Doğru kararları vermek için kendimize ilk önce doğru soruları sormalıyız.
- Framework, uygulamamız için gerekli standart altyapı ve uygulamanın ihtiyaçlarının ne kadarını karşılıyor?
- Arkasında güçlü kurumsal ve kullanıcı grup desteği var mı?
- Öğrenmek ve kullanmak için hangi basamaklardan ilerlenmeli?
- Ne kadar açık ve standart?
- Sektördeki diğer standart uygulamalar ile doğal entegrasyonu var mı?
- Uygulamanın diğer katmanlarında kullanılacak teknolojiler ile entegrasyonu ne kadar kaynak ve zaman gerektiriyor?
- Daha ne kadar yaşayacak?
Bu sorulara verilecek cevaplar aslında seçeneklerin sanıldığı gibi çok da fazla olmadığını gösteriyor. Bugünlerde ortada dolaşan bu frameworklerin çoğunu aslında kurumsal uygulamalarda kullanmak, patlak lastikle otoyola çıkmak gibi. Bir sonraki benzinliğe varabilir misiniz? Belki…
Oracle Application Development Framework
Modern web tabanlı uygulamalar genellikle Model/View/Controller yani MVC tabanlı çok katmanlı mimariye sahiptirler. JEE uygulaması geliştirirken, database katmanı modellemesinden (EJB, Hibernate,…), UI/son kullanıcı katmanına kadar (JSP, JSF,…) hangi framework kullanılacak sorusunun cevabını bulmak bizi bazen felç edebilir. Standart bir JEE Framework olan Oracle ADF, kullanıma hazır olarak sunduğu altyapı servisleri ile uygulama geliştirmeyi inanılmaz kolaylaştırır. Uygulama geliştirme yaşam döngüsünün tüm adımlarında, uçtan uca sunulan bu altyapı, uygulamanızın ihtiyaç duyduğu tüm iskeleti sağlar. Yani veritabanı katmanı, kullanıcı arabirim (UI), uygulama navigasyonunun kontrolü ve yönetilmesi katmanı gibi tüm katmanlarda gerekli olan tüm iskelet/fonsiyonalite daha başlarken elinizin altındadır. Oracle ADF’in sunduğu bu uçtan uca çözüme kayda değer başka bir alternatif framework yok dersek yanlış olmaz.
Oracle ADF, temel olarak 4 katmandan oluşur:
İş Servisleri Katmanı: Bu katman farklı kaynaklardaki veriye erişimin sağlandığı ve iş mantığının tanımlandığı katmandır.
Model Katmanı: İş katmanı üzerine inşa edilmiştir ve View Kontrol/Denetim katmanlarında farklı teknolojiler kullanılmasına imkan tanır
Kontrol/Denetim Katmanı ise uygulamadaki iş akışlarının ve navigasyon mantığının tanımlandığı katmandır.
View (Kullanıcı Arabirim) katmanı, son kullanıcının kullanabileceği ekranların oluşturulduğu katmandır.
Bu katmanların tümünde, Oracle ADF istenilen teknolojinin kullanılmasına olanak sağlar. EJB, örneğin iş servisleri katmanında Web servisleri, JavaBeans, JPA, Toplink kullanılabilirken, View katmanında, JSF, JSP, ADF Faces kullanılabilir.
Oracle ADF, endüstri standartlarında (Java, XML, …) oluşturulmuş, her standart Java uygulama sunucusu üzerinde koşturulabilen, SQL92 uyumlu her veritabanı ile çalışabilen ve açık kaynak kodlu bir JEE framework olmasının yanı sıra WebLogic uygulama sunucusu ile ücretsiz olarak kullanılabilir. Sürükle bırak mimarisi ile çok kolay ve hızlı uygulama geliştirme yapılabilir. Oracle ADF, sektörde Oracle JDeveloper 11g ile doğrudan desteklenen ve kullanılabilen tek taslaktır. JDeveloper tarafından sağlanan sihirbazlar ve menüler bu süreçte inanılmaz kolaylık sağlamaktadır.
Oracle JDeveloper ADF uygulamalarını geliştirebileceğiniz modern, gelişmiş ve sofistike bir uygulama geliştirme platformudur. Sektördeki lider uygulama sunucusu olan WebLogic JDeveloper ile entegre olarak paketlenmiş halde gelmektedir. JDeveloper ve ADF ile uygulamanızı geliştirirken, aynı anda WebLogic üzerinde test/debug edebilirsiniz. Bu güçlü kombinasyon kurumlara Servis Odaklı Mimari (SOA) mimarisi ile çevik uygulama geliştirme imkanı sunar.
Modern uygulamalarda, Web 2.0 kullanıcı arayüzleri zengin içerikleri son kullanıcıya sunmanın vazgeçilmez parçası oldu. ADF Faces RC, kullanıcıların ihtiyaç duyduğu bu tip sayfaları için çok zengin web component/öğeleri sağlarken Web 2.0 standartlarının çok üzerine çıkmayı başardı.
Oracle ADF gelecege giden yol …
Oracle, ADF Framework teknolojisini sürekli olarak destekliyor ve güncelliyor. WebCenter Suite gibi Oracle orta katman ürünleri artık ADF ile yazılıyor. Arkasındaki kurumsal destek ile üretken, standart altyapı sunarken, çevik uygulama geliştirmek için uygulamaların uçtan uca tüm altyapı ihtiyacını tek bir noktadan sağlıyor. Oracle ADF, uygulamanın karmaşık teknolojik altyapısından sıyırarak sizi artık “nasıl yapacağım” değil “neyi yapacağım” noktasına getirerek kaynaklarınızı daha etkin kullanmanızı sağlayacaktır.