Ana içeriğe geç

Çoğaltma Eşlemeleri

Çoğaltma eşlemeleri, iş akışının XML verilerini ilişkisel veritabanı tablolarına kopyalar. Süreç veya vaka verilerinin raporlama, arama, entegrasyon ya da sonraki işlemler için yapılandırılmış satırlar halinde sunulması gerektiğinde bunları kullanın.

Çoğaltma eşlemeleri bildirimsel yapıdadır. Süreç geliştiricisi XML kaynağını, ilişkisel hedefi ve varsa açık alan eşlemelerini seçer. Çalışma zamanında Emakin, ilgili iş adımı veya vaka profili kaydedilip çoğaltma kuyruğuna alındığında hedef satırları oluşturur ya da günceller.

Çoğaltma Eşlemeleri Nerede Tanımlanır

Çoğaltma eşlemeleri iki yerde tanımlanabilir:

Konum Kaynak veriler Tipik kullanım
Havuz Bu havuzdaki iş akışı örneklerinin iş adımı formu verileri. Gönderilen form verilerini ilişkisel tablolara kopyalar.
İçerik Türü Bu içerik türünü kullanan vakaların geçerli vaka profili verileri. Vaka profili alanlarını ilişkisel tablolara kopyalar.

Havuz eşlemeleri iş adımı ve iş akışı bağlamında çalışır. İçerik türü eşlemeleri vaka bağlamında çalışır.

Eşleme Yapısı

Bir çoğaltma eşlemesinin ana parçaları şunlardır:

Alan Amaç
Kaynak Çoğaltılacak bir veya daha fazla XML düğümünü seçen XPath. Boş bırakılırsa geçerli kök düğüm kullanılır.
Hedef Şema Hedef tabloyu içeren ilişkisel şema.
Hedef Tablo Çoğaltılan satırların yazıldığı ilişkisel tablo.
Mod Auto veya Manual, alanların nasıl kopyalanacağını belirler.
Eşlemeler Açık kaynak-hedef sütun eşlemeleri.
Alt Eşlemeler Üst hedef tablodaki bir ilişki üzerinden alt XML düğümlerini kopyalayan iç içe eşlemeler.

Kaynak XPath birden fazla düğüm seçerse eşleme, seçilen her düğüm için bir hedef satırı oluşturur.

Eşleme Modları

Auto modu, öğe adları hedef sütunlarla eşleşen XML alt değerlerini kopyalar. XML veri modeli ile ilişkisel tablo aynı alan adlarını kullanıyorsa bu modu kullanın.

Açık eşlemeler yine de Auto modunda eklenebilir; bunu adları eşleşmeyen veya çalışma zamanı bağlamından alınması gereken değerler için kullanın.

Manual modu yalnızca açık eşlemeleri yazar. Hedef tablo XML yapısını izlemiyorsa, yalnızca az sayıda alanın kopyalanması gerekiyorsa veya hedef değerler bağlam değerlerinden oluşturulacaksa bu modu kullanın.

kullanırken Manual modunda anahtar alanları bilinçli şekilde eşleyin. Hedef tabloda GUID olmayan bir birincil anahtar varsa bu anahtar eşlemelere dahil edilmelidir.

Eşleme Kaynakları

Her eşleme bir hedef sütuna yazar. Kaynak, seçilen XML düğümünden veya çalışma zamanı bağlamından alınabilir.

Kaynak türü Anlamı Örnek
XML Seçilen kaynak düğümüne göre değerlendirilen XPath. ExpenseInformation/Amount
Bağlam İş adımı, iş akışı örneği veya vakaya ait çalışma zamanı meta verileri. WorkItem.Id

Havuz eşlemeleri WorkItem ve Instance bağlam değerlerini destekler. İçerik türü eşlemeleri Case bağlam değerlerini destekler.

Yaygın bağlam örnekleri:

Bağlam Örnekler
WorkItem WorkItem.Id, WorkItem.Caption, WorkItem.State, WorkItem.Action.Name, WorkItem.AssignedTo.Id, WorkItem.Previous.Id
İş akışı örneği Instance.Id, Instance.Number, Instance.TestMode, Instance.Initiator.Name
Vaka Case.Id, Case.Number, Case.Subject, Case.Channel.Name, Case.CreatedBy.Id, Case.AssignedTo.Name

Aynı çoğaltma eşlemesindeki hedef sütunlar benzersiz olmalıdır.

Alt Eşlemeler

XML verileri, ilişkili bir ilişkisel tabloya kaydedilmesi gereken yinelenen alt öğeler içeriyorsa alt eşlemeleri kullanın.

Alt eşleme, üst kaynak düğümüne göre değerlendirilir. Hedef şemayı ve tabloyu bağımsız seçmek yerine alt eşleme, üst hedef tablodaki bir ilişkiyi kullanır. İlişki, alt hedef tabloyu belirler ve üst-alt satır yapısının tutarlı kalmasını sağlar.

Örneğin, bir masraf formunda şunlar bulunabilir:

  • şuradan bir kök eşleme: ExpenseForm şuraya ExpenseForms
  • şuradan bir alt eşleme: ExpenseList/Expense şu ExpenseLines ilişki üzerinden

Kök eşleme üst masraf satırını oluşturur. Alt eşleme, seçilen her masraf öğesi için bir satır oluşturur ve bu satırları yapılandırılan ilişki üzerinden bağlar.

Doğrulama ve Çalışma Zamanı Davranışı

Bir süreç sürümü yayımlandığında çoğaltma eşlemeleri denetlenir. Yayımlama işlemi; gerekli kök hedefleri, alt ilişkileri, benzersiz eşleme tanımlayıcılarını, yinelenen hedef sütunları, gerekli eşleme kaynaklarını ve desteklenen bağlam kaynaklarını doğrular.

Çalışma zamanında çoğaltma çalışanı geçerli veri deposu şemasını da denetler. Hedef şemanın, tablonun, sütunların, birincil anahtar gereksinimlerinin ve alt ilişkilerin yayımlanan eşlemeyle hâlâ uyumlu olduğunu doğrular.

Bir çoğaltma öğesi başarısız olursa satır sessizce atılmak yerine hata, incelenmek üzere çoğaltma kuyruğunda tutulur.

Örnek

Aşağıdaki basitleştirilmiş eşleme, bir masraf formunu ve satır öğelerini ilişkisel tablolara kopyalar:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<ReplicationMap
    Id="11111111-1111-1111-1111-111111111111"
    Source="ExpenseForm"
    TargetSchema="ExpenseManagement"
    TargetTable="ExpenseForms"
    Mode="Manual">
    <Mappings>
        <Mapping Source="ExpenseInformation/DbId" Target="Id" />
        <Mapping Source="ExpenseInformation/Amount" Target="Amount" />
        <Mapping Source="WorkItem.Id" Target="WorkItemId" SourceType="Context" />
        <Mapping Source="Instance.Number" Target="InstanceNumber" SourceType="Context" />
    </Mappings>
    <Children>
        <ReplicationMap
            Id="22222222-2222-2222-2222-222222222222"
            Source="ExpenseList/Expense"
            Relation="ExpenseLines"
            Mode="Manual">
            <Mappings>
                <Mapping Source="DbId" Target="Id" />
                <Mapping Source="Description" Target="Description" />
                <Mapping Source="Amount" Target="Amount" />
            </Mappings>
            <Children />
        </ReplicationMap>
    </Children>
</ReplicationMap>