Yanıtlar:
(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, 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.
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, 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 .
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.
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
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ç
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.
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.
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ı
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.
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.
Koreografinin, merkezi olmayan örgütler için dahili olarak çok uygun olduğunu söyleyebilirim. Merkezi bir iş süreci yürütücüsüne ihtiyacınız olmayacak. Bu, kuruluş alt birimlerinin her biri tarafından bağımsız büyüme ve gelişmeyi kolaylaştırır.
(Bu orkestrasyon yorumuna koreografi sorusuna abone oldum: http://geekexplains.blogspot.com/2008/07/ways-of-combining-web-services.html )
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.
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.
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.