SaaS против SOA
В последнее время все аспекты разработки корпоративных программных приложений были перемещены от традиционного подхода, основанного на продуктах, к более новым подходам, основанным на обслуживании. Быстрый рост SaaS (программное обеспечение как услуга) и SOA (сервисно-ориентированная архитектура) является прямым результатом этого. 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 вместе.