2. ADF ile Uygulama Geliştirme

PaylaşTweet about this on TwitterShare on FacebookEmail this to someoneShare on Google+Share on LinkedInShare on TumblrShare on RedditPin on PinterestDigg thisFlattr the authorShare on StumbleUponBuffer this page

Jdeveleper ve ADF developer’a detaylarla çok fazla uğraşmayıp uygulama mantığına yoğunlaşma imkanı sağlar. Siz sürükle bırak ile ilgili işlemi yaptığınızda jdeveloper gerekli metadaları oluşturarak sizi bu dertten ve yükten kurtarır, tabi her yazıda bahsettiğim gibi çok özel ihtiyaçlarımız için detaylara inip ide nin otomatik oluşturduğu kodlara, tanımlamalara müdahale etmemiz gerekecektir.

Genel bir ADF ile uygulama geliştirme adımları şu şekildedir;

●     Creataing application

●     Modeling DB object

●     Creating Use Cases

●     Desingning app contol and navigation

●     Creating business components

●     User interface with JSF

●     Binding UI components

●     Security

●     Testing and debugging

●     Deployment

Creating Application:

create_application_adf

Uygulamamız için vereceğimiz bir isim ve source file larımızın kaydedileceği dizini verdikten sonra jdeveloper seçtiğimiz application tipine göre gerekli kaynak dosyalarını, konfigürasyon dosyalarını ilgili alanlara organize bir şekilde kaydedecektir.

Üstteki şekilde göreceğiniz üzere uygulmamız için application type’ı Fusion Web Application (ADF) olarak seçtim bu sayede jdeveloper view için ADF Faces, page flowlar için ADF Controller ve business service ler için ADF Business component kulanılacak şekilde, jsf ve adf konfigürasyon dosyalarını oluşturacak. Uygulamamızı oluşturduktan sonra jdev bize aşağıdaki gibi bir ekran sunacaktır, burada uygulama geliştirirken ilerleyeceğimiz adımlar tek tek sıralanmıştır, istersek buradan tek tek adımları takip ederek ide nin bizi yönlendirmesini sağlayabilir ve uygulamamızı geliştirebiliriz.

show_overview_adf

Sol tarafta projects altında uygulamamızda bulunan projeleri görebiliriz, default olarak gelen Model projesi altında uygulamamızda kullanacağımız business service ile alakalı kaynak kodlar, viewcontroller projesi altında ise ADF faces view layer ile alakalı kaynak kodlar bulunur. Tabiki buraya ihtiyacımıza ve proje tasarımımıza uygun şekilde yeni projeler ekleyebiliriz, Model ve Viewcontroller isimlerini değiştirip kendi standartlarımıza uygun isimler verebiliriz.

Modeling DB Object:

Jdeveloperdan db nesnelerimizi offline db veya projemizden offline db gibi görünen xml dosyaları şeklinde alabilir ve bunlar üzerinde istediğimiz işlemleri gerçekleştirebiliriz. Bu şekilde jdeveloper a çektiğimiz db nesneleri xml dosyaları olarak saklanır.

Creating Use Case:

Jdeveloper içerisinde bulunan UML modeler ile uygulamamız için gerekli user case leri oluşturabiliriz.

Designing Application Control and Navigation:

UML modeler ile çizdiğimiz use case lerden sonra artık uygulamamız için ihtiyaçlar ortaya çıkmaya başlamış demektir. Artık uygulamamız için flow yani akışları tanımlamamız gerekmektedir. JSF te bu navigation flow olarak isimlendirilmekteydi ancak Fusion web application için task flow olarak isimlendirilmektedir. Task flowlar içerisinde visual activity olduğu gibi nonvisual activity lerde bulunmaktadır, örneğin managed bean içerisinden bir metod çağırımı veya başka bir task flow u çağıran yapılar oluşturulabilmektedir. ADF Fod demo uygulaması içerisinde bulunan bir task flow görüntüsü şu şekildedir;

task_flow_adf

Creating data model (for accesing data with business components):

Business akışımızı uygulamamıza business component şeklinde dahil etmek için izleyeceğimiz adımlar şu şekildedir;

·         Uygulamamızda kullanacağımız tablolar için Entity Object ler oluştururuz ve bunlar üzerine gerekli business ve validation kurallarını tanımlarız.

·         Oluşturduğumuz Entity Object lerini view layer ı için kullanıma açmak için View Object ler oluştururuz. Bu view objectler entity object leri ile çalışır ve onlar üzerinden update, query gibi işlemleri yapmamızı sağlar. Bu nesneleri view layerında kullandığımıza göre kullanıcılarımıza bazen static verilerde göstermek isteyebiliriz bu durumda read-only view objectler oluşturabiliriz.

·         Oluşturduğumuz view object ler için application module oluşturarak uygulama geliştirme öncesinde bir view layer oluşturmuş oluruz. Bu sayede oluşturduğumuz data modeli kontrol etme şansını elde etmiş oluyoruz.

İstersek oluşturduğumuz bu servisi web service şeklinde remote çağırımlara uygun hale getirebiliriz.

User Interface with JSF:

Oluşturduğumuz page flowlar üzerinde bulunan sayfa iconuna çift tıklayarak ilgili JSP sayfasını oluşturabiliriz. Sayfayı oluştururken istersek sayfamızı .jsp uzantısı yerine xml tabanlı jsp yani .JSPX uzantılı olarak oluşturabiliriz. Eğer jsf tabanlı xml tanımlama teknolojisi olan Facelet ları kullanmak istiyorsak sayfamızı jsp yerine xhtml olarak oluştururuz.

ADF Faces sayfamızı tasarlarken kullanabileceğimiz birçok component sunmaktadır, aynı zamanda Jdeveloper içerisinde tanımlı olarak gelen bir çok layout bulunmaktadır, istersek bunlardan birinide sayfamızı tasarlarken kullanabiliriz.

Her geliştirme ortamında olduğu gibi ADF te page template ler oluşturarak sayfalarımızda kullanmamıza imkan vermektedir.

Binding UI Components:

JSF içerisinde bind etmek istediğimiz bilgiye Expression Language (EL) ile erişiriz. Örnek bir EL ifadesi şu şekildedir;  #{userInfoBean.principalName}

Runtime da bir UI component ın görüntüleyeceği değer value özelliğinde belirtilir. Mesela bir outputText in giriş yapmış kullanıcının adını görüntülemesini istiyorsan component in value değerine #{userInfoBean.principalName} yazarız, yani binding yapmış oluruz.

Örneğin item’ın principalName bilgisi doluysa görüntülenmesini istiyorsak bu işlem için item’ın rendered özelliğine boolean sonuç döndüren bir EL ifadesi yazarız;

#{userInfoBean.prinicpalName !=null}

Security:

Oracle ADF Java authentication and authorization service(JAAS) tabanına dayanan bir security implementasyonudur. Bu implementasyon permission-based dir, önce permissionlar tanımlanır ve uygulama kullanıcılarına tanımladığımız rollere bu permissionlar için izin (grant) verilir.

Testing and Debugging:

Oracle ADF web uygulamasının test ve debug işlemleride aynen diğer JEE uygulamalarında olduğu gibidir. Ayrıca Jdeveloper test caseleri oluşturmamız için Junit entegrasyonu içermektedir.

Deployment:

Uygulamamızı istersek jdeveloper içerisinde entegre olarak bulunan weblogic server a istersen standalone bir instance a deploy edebiliriz.

 

Burada kısa kısa bahsetmeye çalıştığım bu maddeleri daha sonra detaylı olarak yazmaya çalışacağım.

PaylaşTweet about this on TwitterShare on FacebookEmail this to someoneShare on Google+Share on LinkedInShare on TumblrShare on RedditPin on PinterestDigg thisFlattr the authorShare on StumbleUponBuffer this page
1. Oracle ADF Nedir
IPhone Home tuşu sorunu

Your comments

Loading Facebook Comments ...

Leave a Reply