Orkestrasyon ve Koreografi


Yanıtlar:


334

(XML, SOAP, WSDL) gibi temel teknolojiler, hizmetleri kendi başına bir varlık olarak tanımlamak, bulmak ve çağırmak için araçlar sağlar. Ancak bu teknolojiler, hizmetin daha karmaşık işbirliğindeki rolü hakkında zengin bir davranışsal ayrıntı vermemektedir. Bu işbirliği, iş sürecini oluşturan faaliyetler ve faaliyetler arasındaki ilişkileri içerir. Bu süreci oluşturmanın iki yolu vardır: hizmet düzenleme ve hizmet koreografisi.

Hizmet düzenleme

Hizmet düzenleme, farklı hizmetler arasındaki etkileşimi koordine eden tek bir merkezi yürütülebilir iş sürecini (orkestratör) temsil eder. Orkestratör, hizmetleri çağırmak ve birleştirmekten sorumludur.

Katılan tüm servisler arasındaki ilişki tek bir uç nokta (yani, bileşik servis) ile tanımlanır. Düzenleme, bireysel hizmetler arasındaki işlemlerin yönetimini içerir. Orkestrasyon, hizmet kompozisyonu için merkezi bir yaklaşım kullanır.

Orkestrasyon

Hizmet Koreografisi

Hizmet koreografisi, mesaj alışverişi, etkileşim kuralları ve iki veya daha fazla uç nokta arasındaki anlaşmalarla tanımlanan katılımcı hizmetlerin küresel bir tanımıdır. Koreografi, hizmet kompozisyonu için merkezi olmayan bir yaklaşım kullanmaktadır.

Koreografi

Koreografi, düzenleme bir tarafın bakış açısından kontrolü temsil ettiği için birden fazla hizmet arasındaki etkileşimleri açıklar. Bu, bir koreografinin , ilgili hizmetler arasındaki etkileşimleri kontrol eden mantığın nerede olması gerektiğine göre bir düzenlemeden farklı olduğu anlamına gelir .


7
İki göstermek için harika görüntüler! Onları nereden aldın?
David Mann

6
@DavidMann Yorumunuz için çok teşekkürler ve sizin için yararlı olduğunu düşünüyorsanız lütfen oy verin. Bu diyagramları Visio'da yaptım ve ilham olarak hizmet kompozisyonunda bazı literatürler kullandım. Ancak, bu cevabın 2 yıl önce hizmet kompozisyonu hakkında yeni okumaya başladığımda olduğunu fark ettim. Bu cevabı referanslarla güncelleyeceğim ve her ikisinin de özelliklerini genişleteceğim
Andrei

@Andrei: Bundan daha basit olamazdı.
Anshul Nigam

Orkestrasyon ve koreografiyi karıştırmak makul mü? örneğin, çekirdek eşzamanlı iş akışı için düzenlemeye sahip olmak, ancak daha sonra eşzamansız olayları kaynak özelliklerine (mikro hizmetler) geri göndermek için bazı koreografi. Senaryomda, bu yaklaşım beni destan / devlet makinesi ve tazminat mantığı yapmaktan kurtarabilir.
Ryan.Bartsch

1
Bazı okuyucular, düzenleme diyagramınızdan düzenlemenin, denetleme hizmetinden hizmet sağlamaya kadar eşzamanlı çağrılar anlamına geldiği sonucunu çıkarabilir. Çağırma-Yanıt iletişiminin eşzamansız yöntemler de dahil olmak üzere gerçekleştirilebileceğini açıklığa kavuşturmak istiyorum. bir mesaj komisyoncusu aracılığıyla.
Christoph

34

Hizmet düzenleme : Sabit bir mantıkla çeşitli hizmetleri bir araya getirmiş olursunuz. Bu mantık tek bir yerde tanımlanmıştır. Mikro yönetim yapan bir yöneticiye sahip bir ekip hayal edebilirsiniz. Yönetici tam olarak ne, ne zaman ve kimin yapması gerektiğini söyler. Ekip üyeleri işin tüm hedefini umursamıyor, yönetici çıktıları tek bir çıktıda birleştiriyor. Pratik bir örnek BPEL sürecidir. BPEL süreci mantığı içerir, çeşitli hizmetleri çağırabilir ve yanıtlarını tek bir hizmet yanıtında birleştirebilir.

Hizmet koreografisi : karar mantığı merkezi bir nokta olmadan dağıtılır. Herkesin ortak iyiliği hedeflediği ve mikro yönetim olmadan proaktif olarak çalıştığı bir ev hayal edebilirsiniz. Veya farklı üyelerin birbirine bağımlı ve ortak amaç için çalıştıkları bir insan vücudu hayal edebilirsiniz. Pratik bir örnek, bir ajanın bir olay tarafından etkinleştirildiği ve işini yaptığı olay güdümlü işlemedir. Tüm ajanlar birlikte bir sistem oluşturur. Merkezi bir mantık yoktur. Koreografi olanakları, gerçek dünyayla daha uyumlu olduğu için orkestrasyonun ötesine geçebilir.

Benim düşünceme göre , iş mantığına odaklanmamız gerektiğinden, bu ikisi arasında fazla ayrım yapmamız gerekmiyor. Tek bir mantığın işi yaptığı yerde düzenleme yaparız. Bir sorunun merkezi bir mantıkla ele alınamaması durumunda, yine de koreografiye zorlanıyoruz. Koreogray daha akademik bir kavram ve araştırma konusu olarak kalmaya devam etmesinin nedeni budur. Ve çoğu zaman, gerçek dünyada olduğu gibi, gerçekte bilmeden koreografi yaparız.


21

Hizmetler atom hizmetleri ile diğer hizmetlerden oluşan hizmetler arasında ayırt edilebilir. Bu tür bileşimlere "düzenleme" denir. Bazen iş akışı, bazen iş süreci. Örneğin, BPEL bir düzenleme dilidir, ancak kendisini "iş süreci yürütme dili" olarak adlandırır.

Hizmetlerin hiyerarşik olarak oluşturulmasına gerek yoktur. Bu, iki hizmetin birbiriyle konuşabileceği anlamına gelir. Aralarında çalışan protokole "koreografi" denir. İki hizmet olabilir, ancak genellikle ikiden fazla hizmet söz konusudur. Koreografideki her hizmet, ortak hizmetlerin orkestratörü olarak görülebilir. Koreografide yer alan her hizmet, düzenleme / iş akışı / süreç olarak gerçekleştirilebilir.

Bir düzenleme, her hizmetin tam davranışını gösterirken koreografi, her hizmetin arabirim davranış açıklamalarını birleştirir.

Koreografi, arayüz davranışı, sağlayıcı davranışı ve orkestrasyonu ayıran iyi bir bilimsel makale şöyledir : Dijkman, R. & Dumas, M. Hizmet Odaklı Tasarım: Çok Yönlü Bir Yaklaşım Uluslararası Kooperatif Bilgi Sistemleri Dergisi, 2004, 13, 337-368


19

Konu eski olduğu için hala yaptığım gibi bu soruyu aramak için tökezleyecek olanlar için hala yazıyor. Bu, yeni başlayanlar için daha temiz bir açıklamaya ihtiyaç duyan Hizmet odaklı mimaride (SOA) çok tartışılan bir sorudur .

Düzenleme: Yürütülebilir Süreç

  • Özel iş süreçlerinde kullanılır
  • Merkezi bir süreç (başka bir Web hizmeti olabilir) ilgili Web hizmetlerinin kontrolünü ele alır ve operasyona dahil olan Web hizmetlerinde farklı işlemlerin yürütülmesini koordine eder
  • İlgili Web hizmetleri, bir kompozisyon sürecine dahil olduklarını ve daha üst düzey bir iş sürecine katıldıklarını "bilmez" (ve bilmelerine gerek yoktur).
  • Sadece orkestrasyonun merkezi koordinatörü bu hedefin farkındadır, bu nedenle orkestrasyon, açık operasyon tanımları ve Web hizmetlerinin çağırma sırası ile merkezileştirilir.

resim açıklamasını buraya girin

Koreografi: Çok Partili İşbirliği

  • Koreografi, aksine, merkezi bir koordinatöre bağlı değildir. Daha ziyade, koreografiye dahil olan her Web hizmeti, operasyonlarını ne zaman gerçekleştireceğini ve kiminle etkileşime geçeceğini tam olarak bilir. Koreografi, kamu iş süreçlerinde mesaj alışverişine odaklanan ortak bir çabadır.

  • Koreografideki tüm katılımcıların iş sürecinden, yürütülecek işlemlerden, alışverişi yapılacak mesajlardan ve mesaj alışverişinin zamanlamasından haberdar olması gerekir.

resim açıklamasını buraya girin

Koreografi ve Orkestrasyon

  • İş süreçlerini yürütmek için Web hizmetleri oluşturma perspektifinden bakıldığında, düzenleme daha esnek bir paradigmadır ve koreografiye göre aşağıdaki avantajlara sahiptir:

  • Bileşen süreçlerinin koordinasyonu bilinen bir koordinatör tarafından merkezi olarak yönetilir.

  • Web hizmetleri, daha büyük bir iş sürecine katıldıklarının farkında olmadan dahil edilebilir.

  • Hata oluşması durumunda alternatif senaryolar oluşturulabilir.

1
Aslında, koreografi genellikle merkezi bir koordinatöre dayanır ve genellikle bu koordinatör bir tür dağıtılmış mesaj brokeridir. Message Broker gibi bir şey kullanmamak, hizmetlerinizi çok esnek olmayan şekillerde bir araya getirerek kırılganlığa ve düşük yeniden kullanılabilirliğe neden olur.
Rodney P. Barbati

8

Andrei ve diğerleri, orkestrasyonun ve koreografinin ne olduğunu açıklayan iyi bir iş çıkardılar. Bu iki alternatif arasında seçim yapan yazılım mimarı için, bunları farklı niteliklerle karşılaştırmak da önemlidir.

Koreografiye göre düzenleme artıları

  • Güvenilirlik: Orkestrasyon platformları, hata işleme ve işlem yönetimi (telafi işlemleri) için yerleşik desteğe sahiptir. Koreografide, özel olarak geliştirilmiş iş akışı ve hata işleme, hataya daha eğilimli olma eğilimindedir.
  • Değiştirilebilirlik: Düzenleme platformlarında bulunan görsel BPM araçlarında süreç iş akışları ve karmaşık hizmet kompozisyonları oluşturmak ve değiştirmek daha kolaydır.

Koreografi artı düzenleme üzerinde artılar

  • Performans: Düzenleme, iş akışı komut dosyası yorumu ve düzenleme platformunun kendisinin ek katmanı nedeniyle bir performans yükü oluşturur.

  • Maliyet: Koreografi, ilişkili öğrenme eğrileri ve yönetişim yükü olan ek ara katman yazılımı veya dil gerektirmez.

DÜZENLE

Orkestratör öğesi yüksek kullanılabilirlik için bir mekanizma kullanmıyorsa, bir düzenleme çözümü bir SPOF getirebilir. Teşekkürler @Deepak por bir yorumda bu işaret.


3
Koreografi dışında ek ara katman yazılımı gerekir. Gereksinimlerin (görevlerin) farklı düğümlerle eşleştirilmesi gerekir. Daha sonra koreografi konuşlandırılır, yasalaştırılır, izlenir ve uyarlanır. Tüm bu yönetim, genellikle bir ara katman yazılımı tarafından sağlanan araçları gerektirir.
Andrei

1
Orkestrasyon, Koreografide böyle olmayan tek bir başarısızlık noktasını dezavantajına getirmiyor mu?
Deepak


6

Orkestrasyon onlar kumandaya bir etki alanındaki tüm konum ve faaliyetlerin akışını dikte zaman - Bir sürecin aktörleri tüm üzerinde kontrole sahip olduğunda faydalıdır. Bu, elbette, çoğunlukla kontrol sahibi olduğunuz bir kuruluş içinde yürürlüğe girecek bir iş süreci belirlerken ortaya çıkar.

Koreografi , hiçbiri diğer tarafların süreçleri üzerinde herhangi bir kontrole sahip olmayan veya belki de bu süreçlerin herhangi bir görünürlüğü olan iki veya daha fazla tarafın bilgi ve değeri paylaşmak için faaliyetlerini ve süreçlerini nasıl koordine edeceğini belirlemenin bir yoludur. Kontrol / görünürlük alanlarında koordinasyon gerektiğinde koreografi kullanın. Koreografiyi basit bir senaryoda bir ağ protokolü gibi düşünebilirsiniz. Taraflar arasında kabul edilebilir talep ve yanıt kalıplarını belirler.


5

Koreografiye Karşı Hizmet Orkestrasyonuna bakmanın bir başka yolu:

- Hizmet Düzenleme: Bir İş Etki Alanı Etrafında.
- Hizmet Koreografisi: Birden çok İş Alanı arasında.


1

Orkestrasyonda bir orkestra şefi ve enstrüman çalarlar var. Oyuncular kondüktörün iletkenliğine göre oynarlar. İletken değiştirilirse, harmonik ifade farklı olacaktır, yani hala aynı oyun (hizmet) ancak farklı bir sonuçla olacaktır. Örneğin, bir finansal düzenleme teklifi sağlamak için düzenleme hizmeti, her oyuncudan (varlık veya yardımcı hizmet, örneğin kredi kontrolü) kondüktörün şablonuna (işine göre) oynamasını (sonuçları iade etme veya oynatmayı ayarlama / güncelleme) isteyerek (çağırarak) yürütecektir. ) yönetir. Koreografide bir koreograf ve bir grup dansçı var. Koreografi bir yöndedir, ancak her dansçı grubu bu yönü nasıl gerçekleştireceği konusunda özerktir.


-1

Bir düzenleme genellikle daha düşük düzeydeki hizmetleri birbirine bağlar. Bir arabulucu gibi . Koreografi kuplajı daha da azaltmaya yardımcı olur. Bunu burada daha ayrıntılı olarak açıkladım .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.