1 S0A技术理念
面向服务的体系结构(service—oriented architecture,SOA)是一个组件模型,它将应用程序的不同功能单元(服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言,这样做保证了这样系统构建中的不同服务可以有一种和大家都适用的办法进行相互的交换,这里我就可以看到整个的SOA的实现的最终核心就是服务,最基本的元素也就是服务。
1.1 SOA的关键的技术。
1)WSDL(Web Service Definition Language),web服务描述定义语言。WSDL描述了web服务的接口、消息格式约定和访问地址三方面的基本内容。对服务最基本的描述是接口描述,服务消费者只有获得接口描述才能向服务发送正确的调用消息。另外服务的通信协议、访问地址、发送给服务的消息格式约定也是访问服务之前必须获得的信息。
2)SOAP(Simple Object Access Protocol),简单对象访问协议。SOAP是一种轻量的、简单的、基于XML的协议,它被设计成在WEB上交换结构化的和固化的信息,它这是可以和当前很多的互联网协议和方式结合着使用的一种信息。
3)UDDI(Universal Description Discovery and Integration),统一描述发现和集成,UDDI是一种目录服务,用来说明一个web服务的一些信息类型,UDDI定义如何查找web服务(及其WSDL文件),企业可以使用它对web服务进行注册和搜索。
1.2 S0A的特殊性和优势的地方。
1)松散耦合。这样的特点可以解除对整个系统两端紧密控制的必要。对整个系统的可用性、伸缩性等,每个模块都可以进行单独的管理,保证了系统不同部分的正常运行。
2)复用增加。这项优点是可以复用曾经开发和布置的不同的服务,从而保证了资源的有效利用,实现了资源整体项目的继续开发和交付工作。
3)遗留集成。这可以帮助把之前遗留的使用系统、信息系统进行必要的服务的改善,以便它们进入新的应用系统,从而达到资源重复使用,避免不必要的过多资源的浪费,就是相当于资源的回收,然后包装改善之后在加以利用的过程,这样可以更好的减少维护和集成的使用成本。
2 微软云计算革命
云计算起源于大型互联网企业,成本和指数级的业务增长压力使他们非常关注于IT资源的利用率和应用的可扩展性。云计算提供动态的、可伸缩的、基于互联网的IT服务交付模式。目前,人们一致认为云计算将是继Pc革命、互联网革命之后的第三次IT革命。云计算根据服务部署的位置可以分为公有云、私有云和混合云三种形式。
2.1云计算存在的特殊方面。
1)对资源强调共享而不是单独的占有。云计算是利用资源之间的共享来达到提升资源利用效率,从而达到减低计算的成本的目的。当前很多企业的信息化系统通常采用“独立方案”来进行,形成了很多“遗留系统”,造成了数据库、Web应用和Web资源的浪费,而云计算是可以很好的解决这些问题的。
2)对资源强调集中不是分散开来。综观计算模式的发展,从最早期的主机计算模式,到分布式计算模式下的c/s和B/S模式,再到现在的云计算模式。可谓是“合久必分、分久必合、合中有分、分中有合”。云计算通过资源集中形成一个计算资源(包括网络、服务器、存储、应用和服务)共享池(资源池),然后让不同的用户共享访问,因此云计算模式下一个显著的特点便是数据中心的建立。
3)不推崇静态资源配置,强调动态的资源配置。云计算作为一种提供服务的系统,客户需要的是满意的服务,所以云计算必须对客户的资源的需要做好及时的反馈,那么做好这一方面的工作,很多的云计算运用中采用了虚拟化的技术,这样才能减低不同的信息资源之间的耦合度,以便更好的做好动态资源配置的效率提升。
2.2云计算的SPI模型
根据云计算中资源池内资源的类别,可将其服务模式分为三种。
1)基础设施即服务(IaaS,Infrastructure as a Service)。这是云所提供的最为基础的服务形式,在这种形式中,用户从云中获取的是基础设施资源,例如服务器、存储设备、网络设备等。具备了这样的设施资源, 使用者就不用购买、维护相关的系统的设施和软件,还可以更加直接的使用这些设施做好自己的平台和不同信息体系的建立工作了。
2)平台即服务(PaaS,Platform as a Service)。这样的服务就是指为用户通过服务的不是可以拿过来就用的软件,也不是硬件信息,而是一个经过处理整合的基础性的资源,是一个可以为用户提供开发使用的平台,所以平台服务所面对的不是一些普通的用户,而是那些软件开发的工作人员,他们可以完全的使用这些资源,开发定制化的应用。
3)软件即服务(SaaS,Software as a Service)。这样的服务中,云服务可以把提供的商用软件放在自己的服务器上,使用的客户按照需要在网络上向厂家订购自己使用的软件,根据订购的服务的数量和时间给厂商支付费用,然后通过网络获得厂商提供的服务。这个服务的出现,使组织不需要开发跟不需要购买软件,只是在租用Web的软件、云服务所提供的管理和维护软件,还提供软件离线的使用和数据具体的存储管理服务,这样保证用户可以任何时候使用订购的软件和服务。
3 基于云计算的S0A企业絮构设计模式
分析了S0A和云计算这些技术的特点以后,我们可以看得出,它们最终给客户的都是服务,不一样的地方是SOA它更加的注重的是服务的理念来设计架构。而云计算则通过IaaS、PaaS和SaaS将各种资源(服务)提供给用户,所以在建设自己的企业的使用时,想要做到成本的节约和遗留信息的整合是可以使用基于云计算的SOA这样混合的架构设计的, 这样可以更好的提高企业信息化实际建设的效率的。
使用这样的架构模式在企业架构设计的时候,在整体上需要依旧使用SOA设计模式,而在具体的各个部分的架构设计的时候,都采用云计算技术予以实现。首先,在硬件底层、数据层和业务层将企业应用以私有云或公有云的形式进行布署(采用IaaS和PaaS),以提高系统资源的利用率:然后在服务层使用web服务的形式封装分布在云端的各个功能:最后,在表示层采用SaaS的形式,用统一的平台来实行企业应用的完美整合,从而加强用户的体验。
4 结论
因为云计算在国内的发展才刚刚开始,很多的技术方面的问题需要不断的试验和验证, 但是SOA在软件发展的行业却是一个比较成熟的设计架构理念,它在企业遗留信息和孤立信息整合方面有着重要的作用,所以把云计算和SOA进行结合是不错的选择,可以更好的发挥它们的优点,保证企业信息化的迅速发展,为更好的为企业提供技术和软件的支持。