|
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:
ADOM order = request.newRequestADOM("order");
ADOMNode orderItem = new ADOMNode("item");
orderItem.addAttribute("id","1");
orderItem.setNodeValue("PROD_ID","17");
orderItem.setNodeValue("QUANTITY_ID","3");
order.addNode(orderItem);
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:

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>
|
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ı

|
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.
|
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:

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. |
|