Pohled na základy architektury orientované na služby
Service-Oriented Architecture (SOA) je styl softwarového designu, kde jsou služby poskytovány ostatním komponentám aplikačními komponentami prostřednictvím komunikačního protokolu přes síť. Jeho principy jsou nezávislé na prodejcích a dalších technologiích. V architektuře orientované na služby řada služeb mezi sebou komunikuje jedním ze dvou způsobů: předáváním dat nebo prostřednictvím dvou nebo více služeb koordinujících činnost. Toto je jen jedna definice architektury orientované na služby. Článek na Wikipedii jde do mnohem podrobnějších informací.
Charakteristika architektury orientované na služby
Zatímco se definující koncepty architektury orientované na služby liší od společnosti k společnosti, existuje šest klíčových principů které zastřešují široký koncept architektury orientované na služby. Mezi tyto základní hodnoty patří:
Obchodní hodnota
Strategické cíle
Vnitřní interoperabilita
Sdílené služby
Flexibilita
Evoluční zdokonalení
Každou z těchto základních hodnot lze vidět na kontinuu od staršího formátu distribuovaného výpočtu přes Service-Oriented Architecture po cloud computing (něco, co se často považuje za odnož) Service-Oriented Architecture).
Service-Oriented Architecture Patterns
V každém ze stavebních bloků architektury orientované na služby existují tři role: poskytovatel služeb; zprostředkovatel služeb, registr služeb, úložiště služeb; a žadatel / spotřebitel služby.
Poskytovatel služeb pracuje ve spojení s registrem služeb a diskutuje o tom, proč a jak jsou nabízené služby, jako je bezpečnost, dostupnost, co účtovat a další. Tato role také určuje kategorii služby a v případě potřeby nějaké obchodní dohody.
Zprostředkovatel služeb zpřístupní informace týkající se služby těm, kteří o ni požádají. Rozsah zprostředkovatele určuje ten, kdo jej implementuje.
Žadatel o služby vyhledá položky v registru zprostředkovatele a poté je váže na poskytovatele služeb. Mohou nebo nemusí mít přístup k více službám; záleží na schopnostech žadatele o služby.
Implementace architektury orientované na služby
Pokud jde o implementaci architektury orientované na služby (SOA), existuje široká škála technologií, které lze použít v závislosti na tom, jaký je váš konečný cíl a čeho se snažíte dosáhnout.
Architektura zaměřená na služby je obvykle implementována s webovými službami, díky nimž jsou „funkční stavební bloky přístupné přes standardní internet protokoly. “
Příkladem standardu webových služeb je SOAP, což je zkratka pro Simple Object Access Protocol. Stručně řečeno, SOAP„ je specifikace protokolu zasílání zpráv pro výměnu strukturovaných informací při implementaci webových služeb v počítačové sítě. Ačkoli protokol SOAP nebyl zpočátku dobře přijat, od roku 2003 si získal větší popularitu a je stále více využíván a přijímán. Mezi další možnosti implementace architektury orientované na služby patří Jini, COBRA nebo REST.
Je důležité si uvědomit, že architektury mohou „fungovat nezávisle na konkrétních technologiích“, což znamená, že je lze implementovat různými způsoby, včetně zpráv, jako je ActiveMQ; Apache Thrift; a SORCER.
Proč je důležitá architektura orientovaná na služby
Architektura orientovaná na služby má mnoho výhod, zejména v podnikání založeném na webových službách. Zde uvádíme několik těchto výhod:
Použití Service-Oriented Architecture k vytvoření opakovaně použitelného kódu: Nejenže se tím zkrátí čas strávený vývojovým procesem, ale není důvod znovu objevovat kódovací kolo pokaždé, když potřebujete vytvořit novou službu nebo proces. Architecture-Oriented Architecture také umožňuje pro použití více kódů ng jazyky, protože vše probíhá přes centrální rozhraní.
Pomocí architektury orientované na služby podporujte interakci: S architekturou orientovanou na služby je zavedena standardní forma komunikace, která umožňuje fungování různých systémů a platforem nezávisle na sobě. Díky této interakci je architektura orientovaná na služby také schopna obejít brány firewall, což umožňuje „společnostem sdílet služby, které jsou pro provoz zásadní.”
Využijte architekturu orientovanou na služby pro škálovatelnost: Je důležité mít možnost škálovat podnik tak, aby vyhovoval potřebám klienta, nicméně škálovatelnost mu může bránit v určitých závislostech. Používání architektury orientované na služby omezuje interakci mezi klientem a službou, což umožňuje větší škálovatelnost.
Ke snížení nákladů použijte architekturu orientovanou na služby: S architekturou orientovanou na služby je možné snížit náklady a přitom udržování požadované úrovně výstupu. “ Používání architektury orientované na služby umožňuje podnikům omezit rozsah analýzy potřebné při vývoji vlastních řešení.
Jak architektura orientovaná na služby a cloudové výpočty spolupracují
Nejprve je důležité si uvědomit, že Service-Oriented Architecture může pracovat s cloud computingem i bez něj, ačkoli stále více firem přesouvá úložiště souborů do cloudu, takže má smysl používat cloud computing a Service-Oriented Architecture společně.
Stručně řečeno, používání cloud computingu umožňuje uživatelům snadno a okamžitě implementovat služby šité na míru jejich požadavkům klientům, „aniž byste museli konzultovat IT oddělení.“
Jedním z nedostatků společného používání Service-Oriented Architecture a cloud computingu je to, že některé jeho aspekty nejsou vyhodnocovány, například zabezpečení a dostupnost ility. Při používání cloud computingu jsou uživatelé často vydáni na milost a nemilost poskytovateli.
Při slučování cloud computingu a architektury orientované na služby existuje pro firmy jedna velká výzva – integrace stávajících dat a systémů do cloudu řešení. Aby došlo k plynulému přechodu, musí existovat kontinuita od začátku do konce. Je také důležité mít na paměti, že ne každý aspekt IT může být outsourcován do cloudu – existují některé věci, které je ještě třeba provést ručně.
Můžete si přečíst více o tom, jak architektura a cloud orientovaná na služby výpočetní práce právě tady.
Rozdíl mezi architekturou orientovanou na služby a SaaS
Mluvili jsme docela dost o tom, co je to Service-Oriented Architecture a jak ji lze využít k rozvoji vašeho podnikání. Existuje však také SaaS (software jako služba), který lze také použít k rozvoji vašeho podnikání. Možná vás zajímá, co je SaaS a jak se liší od architektury orientované na služby. Stručně řečeno, prostředky dostupné prostřednictvím SaaS jsou softwarové aplikace. Klíčovou součástí je, že infrastruktura SaaS je „k dispozici uživatelům, ale skrytá před uživateli“. Výhodou SaaS je, že uživatelé nemusí instalovat a udržovat software, což eliminuje jakékoli složité požadavky. Se SaaS zákazník také nevyžaduje žádné předběžné licence, což vede k nižším nákladům, protože poskytovatelé pouze udržují jediná aplikace.
Rozdíly mezi architekturou orientovanou na služby a mikroslužbami
Microservices, také známý jako Microservice Architecture, je „architektonický styl, který strukturuje aplikaci jako soubor malých autonomních služeb, modelovaných kolem obchodní domény.“
Zatímco mikroslužby a architektura orientovaná na služby jsou podobné v některých ohledech přicházejí klíčové rozdíly v jejich funkčnosti. Služby jsou samozřejmě hlavní součástí obou. Existují čtyři základní typy služeb:
Funkční služba: tyto definují hlavní obchodní operace
Podniková služba: implementují funkčnost definovanou funkčními službami
Aplikace služba: tyto jsou omezeny na konkrétní obsah aplikace.
Služba infrastruktury: implementuje nefunkční úkoly, jako je ověřování, auditování, zabezpečení a protokolování.
Jak vidíte, každá z těchto služeb staví na tom před ním a vytváří systém, který se nejen snadno používá, ale poskytuje vám celou řadu způsobů, jak spravovat vaše podnikání. Stejně jako u všech funkcí jde o to, zjistit, co je pro vás a vaše podnikání nejlepší.
Více o architektuře a mikroslužbách orientovaných na služby si můžete přečíst zde.
Některé závěrečné myšlenky O architektuře orientované na služby
Jak si dokážete představit, architektura orientovaná na služby může být trochu těžkým cvokem, ale jakmile pochopíte její základní vlastnosti a výhody, které může vaší společnosti poskytnout, budete nadšeni, že jste ji objevili.
V tomto článku jsme poskytli několik vynikajících zdrojů architektury orientovaných na služby a připravujeme několik dalších článků, které se ponoří hlouběji do konceptu a poskytnou vám ještě více zdrojů, které vám pomohou posunout vaše podnikání k na další úroveň.
Bez ohledu na to, jakým směrem se při poskytování služeb svým klientům rozhodnete, je důležité mít na paměti, že u různých lidí budou fungovat různé věci. I když nemůžete poskytovat vlastní služby pro každého klienta, kterého jste si vzali, můžete poskytnout řadu služeb, které vyhoví nejběžnějším potřebám vašich klientů.
V budoucích článcích se podíváme na webu 2.0 a ponořte se hlouběji do mikroslužeb architektury orientované na služby.