Ana içeriğe geç

Replikasyon Eşlemeleri

Replikasyon eşlemeleri, iş akışı XML verilerini ilişkisel veritabanı tablolarına kopyalar. Süreç veya vaka verilerinin raporlama, arama, tümleştirme ya da sonraki işlemler için yapılandırılmış satırlar olarak kullanılabilir olması gerektiğinde bunları kullanın.

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

Replikasyon Eşlemelerinin Tanımlandığı Yerler

Replikasyon eşlemeleri iki yerde tanımlanabilir:

Konum Kaynak veriler Tipik kullanım
Havuz Bu havuzdaki iş akışlarının 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 replikasyon eşlemesinin temel bölümleri şunlardır:

Alan Amaç
Kaynak Replikasyon için 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 Replike edilen satırları alan 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 modeliyle ilişkisel tablonun aynı alan adlarını kullandığı durumlarda bu modu kullanın.

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

Manual modu yalnızca açık eşlemeleri yazar. Hedef tablo XML yapısını izlemiyorsa, alanların yalnızca küçük bir alt kümesi kopyalanacaksa veya hedef değerler bağlam değerlerinden oluşturulacaksa bu modu kullanın.

Kullanırken Manual modunda, anahtar alanlarını bilinçli şekilde eşleyin. Hedef tablonun 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ışı 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ışı 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

Hedef sütunlar aynı çoğaltma eşlemesi içinde benzersiz olmalıdır.

Alt Eşlemeler

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

Alt eşleme, üst kaynak düğümüne göre değerlendirilir. Alt eşleme, hedef şemayı ve tabloyu bağımsız olarak seçmek yerine ü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 ExpenseForm şuraya bir kök eşlemesi ExpenseForms
  • şuradan ExpenseList/Expense şu ExpenseLines ilişkisi üzerinden bir alt eşleme

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

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

Çoğaltma eşlemeleri, bir süreç sürümü yayımlandığında denetlenir. Yayımlayıcı; 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 işçisi, 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â eşleştiğini doğrular.

Bir çoğaltma öğesi başarısız olursa satırı sessizce silmek yerine, inceleme yapılabilmesi için hata ç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>