ADOM Nesneleri ve Veri Kaynakları

Top  Previous  Next

ADOM (Uygulama Veri Nesnesi Modeli) nesneleri, MoreMotion'in bellekte veri depolamak için kullandığı nesneleridir. MoreMotion tarafından İstek, Oturum ve Uygulama odaklarında saklanan bu veri nesneleri kolaylıkla, XML yapısına dönüşebilir ve dinamik sayfalarda veri kaynağı olarak kullanılabilirler.

MoreMotion, ADOM nesnelerinin uygulama programları tarafında da yönetilebilmesi (oluşturma, güncelleme, silme, vs) için programlama arayüzü sağlamıştır.

Örnek kod:

 

/* Yeni ADOM oluşturma */

ADOM order = request.newRequestADOM("order");

    

/* 1. item düğümü */

ADOMNode orderItem = new ADOMNode("item");

orderItem.addAttribute("id","1");

    

orderItem.setNodeValue("PROD_ID","17");

orderItem.setNodeValue("QUANTITY_ID","3");

 

order.addNode(orderItem);

 

/* 2. item düğümü */

ADOMNode orderItem = new ADOMNode("item");

orderItem.addAttribute("id","2");

    

orderItem.setNodeValue("PROD_ID","45");

orderItem.setNodeValue("QUANTITY_ID","5");

 

order.addNode(orderItem);

 

Bu kod aşağıdaki nesneleri oluşturacaktır:

ADOMObjects

ADOM nesneleri aynı zamanda veri kaynaklarıdır

Eğer dinamik sayfamızda örneğin; "order" veri kaynağına bir referans varsa, "order" ADOM nesnesi, MoreMotion tarafından XML yapısına çevrilerek aşağıdaki gibi oluşturulur:

 

   <order>

     <item id="1">

       <PROD_ID>17</PROD_ID>

       <QUANTITY>3</QUANTITY>

     </item>

     <item id="2">

       <PROD_ID>45</PROD_ID>

       <QUANTITY>5</QUANTITY>

     </item>

   </order>

 

 

ADOM Odağı

Bir ADOM nesnesinin ömrü, onun odağı tarafından belirlenir;

1.İstek odağında oluşturulmuş olan bir ADOM nesnesi, güncel istek işlenip yanıt oluşturulduktan sonra otomatik olarak bellekten atılır.
2.Bir oturum ADOM nesnesi, kullanıcının oturumu sürdüğü sürece korunacaktır.
3.Uygulama ADOM nesneleri ise, uygulama sunucusu açık olduğu sürece var olmaya devam ederler ve uygulamanın tüm kullanıcıları tarafından erişilebilirler.

ADOM Elemanları

ADOMonLE

Kütüphanenin mor > ADOM dalındaki elemanlar, ADOM nesnelerini İşlem Yönetimi Çatısı  altında yönetebilmemizi sağlar.

ADOM Yönetim Dilini AMLProcess elemanının AML özelliğinde kullanarak hiç java kodlaması yapmadan ADOM nesneleri oluşturulabilir/temizlenebilir veya ADOM'ların item düğümleri eklenebilir/güncellenebilir/silinebilir.

 

 

AML tarafından yönetilen ADOM nesneleri için kısıtlamalar ve önemli noktalar

MoreMotion programlama arayüzünü kullanarak, ADOM düğümlerini dilediğimiz gibi adlandırabilir veya ADOM'un hiyerarşisini istediğimiz gibi yapılandırabiliriz. Ancak; ADOM nesnelerinine AML (ADOM Yönetim Dili) ile erişirken veya nesneleri güncellerken göz önünde bulundurulması gereken bazı noktalar vardır:

1.AML, ADOM içinde yer alan düğümlerin, ilişkisel tablo kayıtlarını saklamaya elverişli, sabit (iki seviyeli) bir hiyerarşiye sahip olduğunu varsayar. İlişkisel tablolardaki"kayıtlar" yerine, ADOM nesnelerinde "item düğümleri" vardır.
2.İlişkisel tablolardaki kayıt alanlarına karşılık, ADOM "item düğümleri" nin altında yer alan "alt düğümler" gelir. Örneğin; PROD_ID adlı kayıt alanı, item düğümünde PROD_ID alt düğümü olarak temsil edilir.

 

İlişkisel Tablo:

table_records

 

ADOM:

 

   <order>

     <item id="1"> <!-- item düğümü = Kayıt -->

       <PROD_ID>17</PROD_ID> <!-- Alt düğüm = Kayıt alanı -->

       <QUANTITY>3</QUANTITY>

     </item>

     <item id="2">

       <PROD_ID>45</PROD_ID>

       <QUANTITY>5</QUANTITY

     </item>

   </order>

 

3.MoreMotion programlama arayüzü bize, bir ADOM nesnesinde var olan tüm ADOM düğümleri üzerinde işlem yapmamızı sağlar. Oysa AML, sadece "item" düğümleri üzerinde işlem yapabilir. Örneğin; Insert fonksiyonu alt düğümleriyle birlikte yeni bir "item" düğümü eklerken, Delete fonksiyonu alt düğümleriyle beraber "item" düğümünü tümden siler.