|
基于SaaS模式的SOA服务分析与设计
中国的中小企业虽然在营业收入和利润等硬指标上往往还达不到这些标准,但由于业务复杂度高和IT软硬件基础的薄弱,企业管理软件的实施难度绝不逊色于欧美大企业。从这一角度出发,为国内的中小企业提供真正按需定制的基于SaaS模式的企业管理软件,也许可以成为一个可以在短时间内提升国内中小企业管理水平的捷径。
研究如何在数据共享和隔离策略间保持平衡的前提下,设计一个高效且成本最优的SaaS系统的数据模型。同时为技术关键问题,例如如何构建一个弹性架构以支持数目不定的客户、怎样消除大容量并发访问数据库对系统性能造成的压力以及怎样允许用户按需扩展自定义数据等提出切实可行的解决方案。 在SaaS系统中,所使用的可伸缩可配置的这类系统架构可以通过负载均衡来为众多的用户服务,每个用户的数据都可以单独存放,同时提供可供配置的元数据为每个用户提供唯一的用户体验。 基于这种架构的SaaS系统,可以支持多用户,因为我们可以在不用修改系统架构的基础上就可以随着需求的变化而变化,任何的变动可以很方便地作用于大数量用户环境中,和修改一个客户端服务一样方便。 2.4 多层次数据安全性 在基于SOA架构的平台上运行的程序,几乎所有的信息都通过SOAP来传递,因此,SOAP的安全对整个系统有着非常重大的意义。以SOAP为基础,构建一种基于SOAP消息的Web,消息安全模型势在必行。基于这个原因,宁波大红鹰OA系统构架设计了一种基于SOAP的Web服务消息安全模型。 这个平台定义了两个模块:第一,UDDl注册中心,主要对服务提供者和请求者进行管理并颁发证书,以提供认证和权限;第二,安全平台,主要针对双方的身份认证过程和授权控制过程,服务双方都要获得安全平台颁发的证书才能保证双方身份的正确性。其中,SOAP消息安全代理包中包含了签名处理和加密处理。 (一)SOAP消息签名 请求者应对SOAP消息做一次签名,连同签名一起发送,当提供者接收到了消息后,一边验证身份,一边对其签名进行认证,以确定消息在传输过程中并未被修改。我们可以如此实现: 1、客户端SOAP中添加签名。如下所示: mywebserv.ReqUestSOaDCOntext.Secu rity. Tokens.Add(untoken) mywebserv.ReqUestSoapContext.Security. Elements.Add(New_MesageSignature(untoken)) mywebserv.WebMethod 以上代码实现了客户端根据UsernameToken生成签名,然后把签名加在信息中。 2、服务端不动 我们只要在客户端发送的SOAP中加入过签名,服务端就会自动认证签名的有效性,服务端先验证用户名/密码,然后使用客户端传递用户名和密码对签名进行认证,如果失败了,就说明该消息中途被篡改了,该请求就不成立了。 (二)SOAP加密 客户端根据UsernameToken对SOAP进行加密,把密文加在SOAP:服务端则自动对该消息进行解密。 服务端验证用户名和密码,然后使用客户端传递的用户名和密码对解密数据进行验证。服务端通过WSE自动从windows活动目录中取得密码,或者通过Authe ntIcateToken方法取得密码。同样,如果验证失败,则响应错误信息。实现方法如下: mywebserv.ReqUestSoapContext.Secu rity. Tokens.Add(untoken) mywebserv.RequestSoapContext.Secu rity. Elements.Add(New—Mic rosoft.Web.Services2. Security.EncryptedData(untoken)) mywebserv.WebMethod 以上实现方法均在WSE2.0中实现。 3 结论 基于SOA的SaaS系统的实现对于中国的中小企业具有特殊的意义,因为目前国外的主流企业套件对于中小企业的商业定位往往从欧美实际出发,标准过高。而中国的中小企业虽然在营业收入和利润等硬指标上往往还达不到这些标准,但由于业务复杂度高和IT软硬件基础的薄弱,企业管理软件的实施难度绝不逊色于欧美大企业。从这一角度出发,为国内的中小企业提供真正按需定制的基于SaaS模式的企业管理软件,也许可以成为一个可以在短时间内提升国内中小企业管理水平的捷径。
责编:刘沙
微信扫一扫实时了解行业动态
微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
|
推荐博客
|
|