SaaS срещу SOA
Напоследък всички аспекти на разработката на софтуерни приложения на предприятието бяха преместени от традиционния продуктов подход към по-новите обслужвани базирани подходи. Бързият растеж на SaaS (Софтуер като услуга) и SOA (Service-ориентирана архитектура) е пряк резултат от това. SaaS е категорията облачни изчисления, в която основните ресурси, налични като услуга, са софтуерни приложения. SOA е архитектурен модел, в който логиката на решението е представена като услуги.
Какво е SaaS?
Облачните изчисления са стил на изчисляване, при който ресурсите са достъпни по интернет. Най-често тези ресурси са разширени и силно визуализирани ресурси и те се предоставят като услуга. SaaS е една от категориите / методологиите на облачните изчисления. Както бе споменато по-горе, ресурсите, достъпни като услуга чрез SaaS, са конкретно софтуерни приложения. Тук приложението се споделя на множество клиенти, използвайки модела „един към много“. Предимството, предлагано за SaaS потребителя, е, че потребителят може да избягва инсталирането и поддържането на софтуер и може да се освободи от сложни софтуерни / хардуерни изисквания. Доставчикът на SaaS софтуер, известен също като хостван софтуер или софтуер по заявка, ще се погрижи за сигурността, наличността и производителността на софтуера, тъй като те се изпълняват на сървърите на доставчика. С помощта на многостранна архитектура едно приложение се доставя на милиони потребители чрез интернет браузъри. Клиентите не изискват предварително лицензиране, докато доставчиците се ползват с по-ниска цена, тъй като поддържат само едно приложение. Популярният софтуер на SaaS са Salesforce.com, Workday, Google Apps и Zogo Office.
Какво е SOA?
SOA е архитектурен модел, в който логиката на решението е представена като услуги. Като разполага с услуги като основен метод за предоставяне на решения, SOA се стреми да бъде високоефективен, гъвкав и продуктивен от другите съществуващи технологични решения. SOA предоставя подкрепа за реализиране на предимствата на ориентираните към услуги принципи и ориентираните към услуги изчисления. Много различни технологии, различни продукти, интерфейси за програмиране на приложения и други различни разширения обикновено представляват SOA изпълнение. Прилагането на принципите за ориентация към услуги към софтуерните решения произвежда услуги и те са основната единица на логиката в SOA. Тези услуги могат да съществуват автономно, но със сигурност не са изолирани. Услугите поддържат определени общи и стандартни функции, но въпреки това те могат да се развиват и разширяват независимо. Услугите могат да се комбинират за създаване на други услуги. Услугите са запознати с други услуги само чрез описания на услугите и поради това могат да се считат за слабо свързани. Услугите общуват с помощта на автономни съобщения, които са достатъчно интелигентни, за да управляват собствените си части на логиката. Най-важните принципи за проектиране на SOA са хлабаво свързване, договор за услуга, автономност, абстракция, повторно използване, съпоставимост, безгражданство и откриваемост.
Каква е разликата между SaaS и SOA?
SOA е производствен модел, който се занимава с проектиране и изграждане на софтуер чрез прилагане на сервизно ориентираните изчислителни принципи към софтуерните решения, докато SaaS е модел за продажби и дистрибуция на софтуерни приложения. По-просто казано, SaaS е средство за предоставяне на софтуер като услуги по интернет на своите абонати, докато SOA е архитектурен модел, в който най-малката логическа единица е услуга. Така че SOA (архитектурна стратегия) и SaaS (бизнес модел) не могат да бъдат сравнявани пряко. Въпреки това, за да получат максимални ползи от намаляване на разходите и пъргавина, силно се препоръчва предприятията да интегрират SOA и SaaS заедно.