Workflow Manager Server Migration

Workflow Manager Server yüksek ölçekli, yüksek yoğunluklu iş akışlarını barındırmak için kullanılmakta olan bir teknolojidir. Bildirim tabanlı (declarative) bir modelde geliştirme yapmanıza izin verir. Yani geliştirdiğiniz iş akışlarında kod barınmaz, sadece deklerasyonları barınır. Arka plan sistemleri ile servisler üzerinden haberleşerek iş mantığının akışa uygulanması amaçlanır. Microsoft .Net Framework 4.5 ve Windows Workflow Foundation üzerinde inşa edilmiştir.

Workflow Manager’ın genel kullanımı Microsoft SharePoint Server üzerinde SharePoint Workflow’larını çalıştırmaya yöneliktir. Aslında Workflow Manager, SharePoint için yaratılmış bir yapı değildir ancak genel kullanımına baktığımızda ağırlıklı olarak SharePoint ürünü ile beraber kullanıldığını gözlemliyoruz.

Topolojik olarak bir farm mantığında çalışır. Yani tıpkı SharePoint veya Exchange Server farmlarında olduğu gibi ilk sunucu kurulumundan sonra bir farm yapılandırması gerçekleştirirsiniz. Ardından yeni sunucular üzerinde de uygulama kurulumlarını yaparak oluşturduğunuz bu farma ekleyebilirsiniz. SharePoint özelinde bahsedecek olursak, ayrı bir sunucu olmadan doğrudan SharePoint Server kurulu olan sunuculara da kurulum gerçekleştirebilirsiniz. (Ancak önerilmez)

Workflow Manager hakkında kısa bir özetten sonra bu yazıda değinmek istediğim konuya gelmek isterim. Tüm sunucu uygulamalarında olabileceği gibi farklı nedenlerle Workflow Manager’I da mevcutta konfigüre edildiği sunucu üzerinden farklı bir ortama taşımak isteyebilirsiniz. Nedenleriniz aşağıdakilerden biri olabilir;

  • Mevcut ortamda yaşanan sıkıntılar sonrasında in-place düzeltme işlemlerini yapamıyor ve yeniden kurulum yapmak istiyor olabilirsiniz.
  • Alınan mimari bir karar sonrası Workflow Manager’I ayrı bir farm olarak değerlendirmek istiyor olabilirsiniz.
  • Bir felaket senaryosu sonrası elinizde sadece güncel Workflow Manager veritabanları kalmış olabilir ve yeni bir yapılandırma ile çalışmalarınıza devam etmek istiyor olabilirsiniz.
  • Kurulu bulunan ortamda Windows upgrade, domain upgrade/change, vb sistemsel altyapı çalışmaları yapılacak olması sebebiyle konfigürasyonu yenilemek istiyor olabilirsiniz.

Bu nedenleri artırmak mümkün. Temel olarak bir uygulamanın yeniden kurulması ve konfigüre edilmesi çok ciddi bir sorun gibi görünmüyor. Ancak sözkonusu olan iş akışlarını barındıran Workflow Manager gibi bir yapı olduğunda önemli olan konulardan biri de iş sürekliliği. Mevcut kurulumunu üzerinde yaygınlaştırılmış olan onlarca iş akışınız ve bu iş akışlarının SharePoint liste ve kütüphaneleri ile ilişkili binlerce devam örneği (instance) olabilir. Elbette ne tüm akışlarınızı yeniden yaygınlaştırmak isteyeceksiniz ne de devam eden örnekleri kaybedip tüm örnekleri yeniden başlatmayı. Bu noktada sağlıklı bir ortam kurmak ve mevcut yapının bu ortam üzerinde devam eden örnekleri ile beraber çalışmasını sağlamak önem taşıyor.

Bu işlemi gerçekleştirmek için öncelikle ön gereksinimlerimizi tanımlamamız gerekiyor.

Ön Gereksinimler

  • Yeni ortamınız ve bu ortam ile entegre kullanacağınız SharePoint farmın authentication yapısının aynı olduğundan emin olmalısınız.
  • Mevcut Workflow Manager Farm içerisinde kullanılmış olan primary symmetric key I almalı ve işlem esnasında kullanılmak üzere saklamalısınız. Bu işlem için aşağıdaki komutu kullanabilirsiniz.

  • Workflow Manager farm konfigürasyonunda kullanılan veritabanı sistemlerinin yedeklerini almış olmalısınız. Normal şartlarda Service Bus ve Workflow Manager için yönetim veritabanlarıda bulunuyor ancak bunların yedeğine ihtiyacımız yok, çünkü bu konfigürasyonu yeni farmda sıfırdan yapacağız. Bu nedenle sadece aşağıdaki veritabanlarının yedeğini almış olmanız yeterli.
    • Service Bus Gateway database
    • Service Bus Message Container database
    • Workflow Manager Instance database
    • Workflow Manager Resource Manager database
  • Elbette mevcut Workflow Manager farm konfigürasyonunu yaptığınız servis hesabına ait bilgiler.

Ön gereksinimlerimizi tamamladıktan sonra işlem adımlarını özetlemeye çalışalım ve ardından scriptler aracılığı ile yapacağımız işlemi sonlandıralım. İşlem adımlarımız;

  • Yeni Workflow Manager farmımızda kullanacağımız tüm sunuculara Workflow Manager kurulumlarının yapılması. (Windows Platform Installer üzerinden)
  • Kullandığınız SQL Server yapısı üzerine daha önce yedeğini aldığımız yukarıda referans verdiğim Service Bus ve Workflow Manager veritabanlarının restore edilmesi.
  • Aşağıdaki komutların çalıştırılarak yeni Workflow Manager farmının mevcut verilerle (iş akışları ve devam eden akış örnekleri) çalışmasının sağlanması.

Çalıştıracağımız tüm komutlar Microsoft PowerShell üzerinden olacak ve bu komutları çalıştırmadan önce Workflow Manager’ın görsel kurulum arayüzü üzerinden farm oluşturma işlemlerini yapmamış olmanız önemli. PowerShell konsolunu “Run as Administrator” modda açmalısınız.

PowerShell’e Workflow Manager modülünün eklenmesi

Öncelikle Service Bus farmını restore ediyoruz. Bu işlemi yaparken daha önce yedeğini aldığımız eski ortamdaki Service Bus Gateway database (SbGatewayDatabase) ve Service Bus Message Container database (SBMessageContainer01) kullanılacak. Service Bus management database’I (SbManagementDBNEW) ise komut üzerinden biz yaratacağız.

Restore işlemi tamamlandıktan sonra Add-SBHost komutu ile mevcut sunucuyu restore ettiğimiz yeni Service Bus farmına ekliyoruz.

Service Bus hazır. Şimdi Workflow Manager farmını restore etme işlemine geçebiliriz. Bu işlem esnasında da daha önce yedeğini aldığımız eski ortam Workflow Manager Instance database (WFInstanceManagementDB) ve Workflow Manager Resource Manager database (WFResourceManagementDB) kullanılacak. Yine Workflow Manager Management database’I (WFManagementDBNEW) kod içerisinden biz yaratacağız.

Restore işlemi tamamlandıktan sonra WorkflowDefaultNamespace için daha önce not aldığımız “PrimarySymmetricKey” I de restore ediyoruz ve SBClientConfiguration’I WorkflowDefaultNamespace’I kullanacak şekilde ayarlıyoruz. WorkflowDefaultNamespace için yetkili kullanıcıları da burada ayarlayabilirsiniz.

Workflow Manager farm için son adım Add-WFHost komutu ile yeni sunucumuzu Workflow Manager farmına eklemek.

Buraya kadar çalıştırdığımız komutlar ile Service Bus ve Workflow Manager farmlarını eski konfigürasyonları ve içerikleri ile beraber restore etmiş olduk. Aşağıdaki komutları çalıştırarak farmın düzgün çalıştığını teyid edebilirsiniz. Tüm servislerimiz “Running” modda olmalı ve *Status komutları ile aldığımız çıktıda aşağıdaki örneklerde olduğu gibi farm konfigürasyonunun başarılı olduğunu görmeliyiz.

Herşey yolunda ise artık mevcut SharePoint site koleksiyonumuz ile yeni Workflow Manager farm arasındaki bağlantıyı Register-SPWorkflowService komutu ile sağlayabiliriz.

Hepsi bu kadar.

No Comments

Leave a Comment

Please be polite. We appreciate that.
Your email address will not be published and required fields are marked


This site uses Akismet to reduce spam. Learn how your comment data is processed.