Aracılığıyla paylaş


Belge Onay İşlemi

DocumentApprovalProcess örneği, birçok Windows Workflow Foundation (WF) ve Windows Communication Foundation (WCF) özelliğinin birlikte kullanımını gösterir. Birlikte bir belge onay süreci senaryosu uygularlar. İstemci uygulaması onay için belge gönderebilir ve belgeleri onaylayabilir. İstemciler arasındaki iletişimi kolaylaştırmak ve onay işleminin kurallarını uygulamak için bir onay yöneticisi uygulaması vardır. Onay işlemi, çeşitli onay türlerini yürütebilen bir iş akışıdır. Tek bir onay, bir çekirdek onayı (onaylayanların yüzdesi) ve bir dizideki çekirdek ve tek onaydan oluşan karmaşık bir onay süreci almak için etkinlikler vardır.

Örnek Ayrıntılar

Aşağıdaki grafikte belge onay işlemi iş akışı gösterilmektedir:

A document approval process workflow

İstemcinin bakış açısından, onay işlemi aşağıdaki gibi çalışır:

  1. İstemci, onay işlemi sisteminde bir kullanıcı olmak için abone olur.

  2. WCF istemcisi, onay yöneticisi uygulaması tarafından barındırılan bir WCF hizmetine gönderir.

  3. İstemciye benzersiz bir kullanıcı kimliği döndürülür. İstemci artık onay süreçlerine katılabilir.

  4. Bir istemci katıldıktan sonra tek, çekirdek veya karmaşık onay işlemlerini kullanarak bir belgeyi onay için gönderebilir.

  5. İstemcinin arabirimindeki bir düğmeye tıklandığında, istemci İş Akışı Hizmeti Ana Bilgisayarında bir iş akışı örneği başlatılır.

  6. İş akışı, onay yöneticisi uygulamasına bir onay isteği gönderir.

  7. İş akışı yöneticisi, bir onay işlemini temsil etmek için kendi tarafında bir iş akışı başlatır.

  8. Yönetici onayı iş akışı yürütülürse sonuçlar istemciye geri gönderilir.

  9. İstemci sonuçları görüntüler.

  10. İstemci bir onay isteği alabilir ve isteği zaman içinde herhangi bir noktada yanıtlar.

  11. İstemcide barındırılan bir WCF hizmeti, onay yöneticisi uygulamasından bir onay isteği alabilir.

  12. Belge bilgileri gözden geçirilirken istemcide sunulur.

  13. Kullanıcı belgeyi onaylayabilir veya reddedebilir.

  14. WcF istemcisi, onay yöneticisi uygulamasına bir onay yanıtı göndermek için kullanılır.

Onay yöneticisi uygulamasının bakış açısından, onay işlemi aşağıdaki gibi çalışır:

  1. bir istemci onay işlemi sistemine katılmayı istemektedir.

  2. Onay yöneticisindeki bir WCF hizmeti, onay işlemi sisteminin parçası olmak için bir istek alır.

  3. İstemci için benzersiz bir kimlik oluşturulur. Kullanıcı bilgileri bir veritabanında depolanır.

  4. Benzersiz kimlik kullanıcıya geri gönderilir.

  5. Onay isteği alınsın. Onay yöneticisi bir onay işlemi yürütür.

  6. Onay yöneticisi tarafından yeni bir iş akışı başlatılarak bir onay isteği alınır.

  7. İsteğin türüne bağlı olarak (basit, çekirdek veya karmaşık) farklı bir etkinlik yürütülür.

  8. Bağıntılı Gönderme ve Alma etkinlikleri, onay isteğini gözden geçirmek ve yanıtı almak üzere istemciye göndermek için kullanılır.

  9. Onay işlemi iş akışının sonucu istemciye gönderilir.

Örneği Kullanma

Veritabanını ayarlamak için

  1. Yönetici istrator ayrıcalıklarıyla açılan bir Visual Studio komut isteminden bu DocumentApprovalProcess klasörüne gidin ve Setup.cmd çalıştırın.

Uygulamayı ayarlamak için

  1. Visual Studio'yu kullanarak DocumentApprovalProcess.sln çözüm dosyasını açın.

  2. Çözümü oluşturmak için CTRL+SHIFT+B tuşlarına basın.

  3. Çözümü çalıştırmak için, Çözüm Gezgini ApprovalManager projesine sağ tıklayıp sağ tıklama menüsünden Hata Ayıkla-Yeni> örneği başlat'a tıklayarak Approval Manager Uygulamasını başlatın.

    Yöneticinin çıkışının hazır olduğunu size bildirmesini bekleyin.

Tek onay senaryosunu çalıştırmak için

  1. Yönetici izniyle bir komut istemi açın.

  2. Çözümü içeren dizine gidin.

  3. ApprovalClient\Bin\Debug klasörüne gidin ve ApprovalClient.exe iki örneğini yürütür.

  4. Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.

  5. Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci için ve diğer türünü UserType2kullanınUserType1.

  6. İstemcide UserType1 , açılan menüden tek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın.

  7. İstemcide UserType2 , onay bekleyen bir belge görüntülenir. Seçin ve onayla veya reddet'e basın. Sonuçlar istemcide UserType1 gösterilmelidir.

Çekirdek onay senaryosunu çalıştırmak için

  1. Yönetici izniyle bir komut istemi açın.

  2. Çözümü içeren dizine gidin.

  3. ApprovalClient\Bin\Debug klasörüne gidin ve üç ApprovalClient.exe örneği yürütür.

  4. Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.

  5. Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci kullanımı ve diğer iki tür UserType2içinUserType1.

  6. İstemcide UserType1 , açılan menüden çekirdek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın. Bu, iki UserType2 istemcinin belgeyi onaylamasını veya reddetmesini ister. Her iki istemcinin de UserType2 yanıt vermesi gerekir ancak belgenin onaylanması için yalnızca bir istemcinin onaylaması gerekir.

  7. İstemcilerde UserType2 onay bekleyen bir belge görüntülenir. Seçin ve onayla veya reddet'e basın. Sonuçlar istemcide UserType1 gösterilmelidir.

Karmaşık onay senaryosunu çalıştırmak için

  1. Yönetici izniyle bir komut istemi açın.

  2. Çözümü içeren dizine gidin.

  3. ApprovalClient\Bin\Debug klasörüne gidin ve dört ApprovalClient.exe örneği yürütür.

  4. Bul'a tıklayın, abone ol düğmesi etkinleştirilene kadar bekleyin.

  5. Herhangi bir kullanıcı adı yazın ve abone ol'a tıklayın. Bir istemci kullanımı için UserType1, ikisinde türü UserType2ve son kullanımda UserType3kullanır.

  6. İstemcide UserType1 , açılan menüden tek onay türünü seçin ve bir belge adı ve içeriği yazın. Onay İste'ye tıklayın.

  7. İstemcilerde UserType2 onay bekleyen bir belge görüntülenir. Seçin ve onayla'ya basın; belge istemciye UserType3 geçirilir.

    Belge ilk UserType2 çekirdek tarafından onaylanırsa, belge istemciye UserType3 geçirilir.

  8. belgeyi istemciden onaylayın veya reddedin UserType3 . Sonuçlar istemcide UserType1 gösterilmelidir.

Temizlemek için

  1. Visual Studio komut isteminden DocumentApprovalProcess klasörüne gidin ve Cleanup.cmd çalıştırın.