SaaS与SOA
最近,企业软件应用程序开发的各个方面都从传统的基于产品的方法转向了更新的基于服务的方法。SaaS(软件即服务)和SOA(面向服务的体系结构)的快速增长就是这一点的直接结果。SaaS是云计算的一个类别,其中可用的主要资源是软件应用程序。SOA是一种体系结构模型,其中解决方案逻辑以服务的形式呈现。
什么是SaaS?
云计算是一种通过互联网提供资源的计算方式。这些资源通常是可扩展的、高度可视化的资源,它们作为服务提供。SaaS是云计算的类别/方法之一。如上所述,通过SaaS作为服务提供的资源具体来说是软件应用程序。在这里,应用程序使用“一对多”模型在多个客户机之间共享。为SaaS用户提供的优势是,用户可以避免安装和维护软件,并且可以将自己从复杂的软件/硬件需求中解放出来。SaaS软件的提供商,也称为托管软件或按需软件,将负责软件的安全性、可用性和性能,因为它们运行在提供商的服务器上。使用多租户架构,单个应用程序通过互联网浏览器交付给数百万用户。客户不需要预先授权,而提供商则享受较低的成本,因为他们只维护一个应用程序。流行的SaaS软件是Salesforce.com网站,Workday,谷歌应用程序和Zogo Office。
什么是SOA?
SOA是一种体系结构模型,其中解决方案逻辑以服务的形式呈现。通过将服务作为交付解决方案的主要方法,SOA努力做到比其他现有技术解决方案更高效、更敏捷和更高效。SOA为实现面向服务原则和面向服务计算的优势提供了支持。许多不同的技术、各种产品、应用程序编程接口和其他各种扩展通常构成SOA实现。将面向服务的原则应用于软件解决方案会产生服务,这些服务是SOA中逻辑的基本单元。这些服务可以自主存在,但它们肯定不是孤立的。服务维护某些公共的和标准的特性,但是它们可以独立地发展和扩展。可以组合服务来创建其他服务。服务只通过服务描述知道其他服务,因此可以认为是松散耦合的。服务使用自治消息进行通信,这些消息足够智能,可以自行管理其逻辑部分。最重要的SOA设计原则是松散耦合、服务契约、自治、抽象、可重用性、可组合性、无状态性和可发现性。
SaaS和SOA有什么区别?