Co je SOA? Zaměřené na služby Archiprincipy tecture

Co je SOA (Service Oriented Architecture)?

Zaměřené na služby Architecture (SOA) je architektonický vzor v návrhu počítačového softwaru, ve kterém aplikační komponenty poskytují služby jiným komponentám prostřednictvím komunikačního protokolu, typicky přes síť. Principy orientace na služby jsou nezávislé na jakémkoli produktu, prodejci nebo technologii.

SOA pouze usnadňuje vzájemnou spolupráci softwarových komponent v různých sítích.

Webové služby, které jsou vytvořeny podle architektury SOA, mají tendenci učinit webové služby nezávislejšími. Samotné webové služby si mohou mezi sebou vyměňovat data a vzhledem k základním principům, na kterých jsou vytvořeny, nepotřebují žádnou lidskou interakci a také nepotřebují žádné úpravy kódu. Zajišťuje, že webové služby v síti mohou vzájemně bezproblémově interagovat.

Orientace na služby Architecture (SOA) Principy

Existuje 9 typů principů návrhu SOA, které jsou uvedeny níže

1. Standardizované služby Contract

Služby se řídí popisem služby. Služba musí mít nějaký popis, který popisuje, o čem služba je. To usnadňuje klientským aplikacím pochopit, co služba dělá.

2. Volná spojka

Less závislost na sobě navzájem. Toto je jedna z hlavních charakteristik webových služeb, která pouze uvádí, že mezi webovými službami a klientem, který webovou službu vyvolává, by měla být co nejmenší závislost. Pokud se tedy funkce služby kdykoli změní, nemělo by to přerušit klientskou aplikaci ani ji zastavit v práci.

3. Servisní břišní svalytracvání

Služby skrývají logiku, kterou zapouzdřují, před vnějším světem. Služba by neměla odhalovat, jak vykonává svou funkci; měl by pouze sdělit klientské aplikaci, co dělá, a ne jak to dělá.

4. Znovupoužitelnost služby

Logika je rozdělena do služeb s cílem maximalizovat opětovné použití. V každé vývojářské společnosti je znovupoužitelnost velkým tématem, protože člověk by zjevně nechtěl trávit čas a úsilí vytvářením stejného kódu znovu a znovu ve více aplikacích, které je vyžadují. Jakmile je tedy kód pro webovou službu napsán, měl by mít schopnost pracovat s různými typy aplikací.

5. Autonomie služeb

Služby by měly mít kontrolu nad logikou, kterou zapouzdřují. Služba ví vše o tom, jakou funkcionalitu nabízí, a proto by měla mít také úplnou kontrolu nad kódem, který obsahuje.

6. Bez státní příslušnosti služby

V ideálním případě by služby měly být bezstavové. To znamená, že by služby neměly zadržovat informace z jednoho stavu do druhého. To by bylo nutné provést z klientské aplikace. Příkladem může být objednávka zadaná v obchodě.ping web. Nyní můžete mít webovou službu, která vám poskytne cenu konkrétní položky. Pokud jsou ale položky přidány do obchoduping košík a webová stránka vás přesměruje na stránku, kde provedete platbu, odpovědnost za převod ceny položky na platební stránku by neměla provádět webová služba. Místo toho by to měla dělat webová aplikace.

7. Objevitelnost služby

Služby lze zjistit (obvykle v registru služeb). Již jsme to viděli v konceptu UDDI, který provádí registr, který může obsahovat informace o webové službě.

8. Složitelnost služeb

Služby rozdělují velké problémy na malé problémy. Nikdy bychom neměli vkládat všechny funkce aplikace do jediné služby, ale místo toho službu rozdělit na moduly, z nichž každý má samostatnou obchodní funkci.

9. Interoperabilita služeb

Služby by měly používat standardy, které umožňují používání služby různým účastníkům. Ve webových službách standardy as XML a komunikace přes HTTP se používá k zajištění shody s tímto principem.

Shrňte tento příspěvek takto: