Veri Modeli¶
Çalışma zamanında süreç verilerini saklayan XML yapısını tanımlamak için veri modelini kullanın. Formlar, komut dizileri, kurallar, havuzlar ve ekranlar bu yapıdan veri okur veya bu yapıya veri yazar.
Emakin, süreç verilerini yönetmek için XML kullanır; bu, esnek şemalar ve XPath ile XQuery kullanarak gelişmiş sorgulama olanağı sağlar.
Veri Modeli Yapısı¶
Sürecin veri yapısı bir XSD şeması kullanılarak tanımlanır ve bu şema harici XSD dosyalarına başvurabilir. Tüm XML işleme işlemleri bu şemaya uyar.
Her iş akışı örneği tek bir XML dosyasında saklanır. Oluşturulduğunda otomatik olarak bir form öğesi eklenir ve iş akışı havuzları gerektiğinde eklenir.
Veri Modeli Tasarımı ve Değiştirme¶
Emakin süreç tasarımcısı, veri modeli tasarımı için kullanıcı dostu bir arayüz sunar. Temel veri modeli XSD'de tanımlanır. Form tasarımcısı karşılık gelen veri modeli alanlarını otomatik olarak oluşturur; özel alanlar veri modeli tasarımcısı aracılığıyla eklenebilir.
Örnek Veri Modeli (XSD)¶
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
Bu XSD şu şekilde XML verisi oluşturur:
1 2 3 4 5 6 7 8 9 10 11 | |
Veri Modeli Bağlamaları¶
İş akışı havuzları ve ekranlar yukarıdaki örnekte olduğu gibi, veri modelindeki bir kök öğeye bağlanır. Data Bu kök öğe; form öğeleri, komut dizisi ($Xml) ve diğer işlemler için bağlamdır. XPath ifadeleri, iç içe öğelere bağlanmayı sağlar.
Havuz Veri Köklerini Seçme¶
Her havuzun RootElement kökünü, XSD'de tanımlı bir kökün adına açıkça xs:element ayarlayın. RootElement Geliştirme araçlarıyla bir süreç akışı veya süreç akışı iskeleti oluştururken bu ayarın yapılması gerekir; ayarı atlamak ya da boş bir değer vermek geçersizdir.
Her havuz için iş amacını yansıtan anlamlı bir kök adı seçin. Anlamsal olarak farklı işler yapan havuzların kökleri farklı olmalıdır. Örneğin, izin talebi havuzunda LeaveRequestkullanılmalı, masraf talebi havuzunda ise ExpenseClaimkullanılmalıdır; her iki havuz da aynı süreç tanımına ait olsa bile. Her havuzun iş alanlarını ilgili kökün altında tutun.
Birden fazla havuz teknik olarak aynı köke bağlanabilir. Bunu, geliştirmeyi kolaylaştırmak veya ilgisiz verileri tek bir kök altında birleştirmek için değil, aynı iş veri modelini paylaştıklarında bilinçli olarak kullanın. Bir XSD kökünü paylaşmak, tek başına iş akışı örnekleri arasında veri alışverişini yapılandırmaz.
Form Öğesi Bağlamaları¶
Şuna bağlanan bir metin kutusu: MyField:
1 | |
İç içe bir öğeye bağlama:
1 | |
Ad Alanı Desteği¶
Emakin varsayılan olarak boş bir ad alanı kullanır. Ad alanlarını kullanmak için bunları namespaces bölümünde boş bir önekle tanımlayın. Bu, XPath ifadelerinin (form bağlamaları ve komut değerlendirmeleri) ad alanını içerecek şekilde değiştirilmesini sağlar.