SOA简单理解

之前课堂上做的对分析企业信息数据失信情况为例。利用企业中的关于资产间的流动关系,欠付款情况,来挖掘出这些关系和企业是否失信之间存在的某些关联,采取的方式是以团队合作的方式,我的责职主要是对数据进行分析。因为数据量相对较大,传统的方法处理起来比较花费时间。为了让企业中的潜在信息能相对更好地挖掘,我们利用了Hadoop大数据处理技术。实际上,对于分析企业信息,不仅仅是单纯的系统分析,还需要在系统层面上也得考虑对应的对于上层服务所提供的接口,使其更好地磨合系统。在系统的服务层对原本仅仅只有一个企业信息分析的服务接口,我将其分割为多个小的服务模块,例如有:寻找关键信息元素,数据间关联程度,数据特征强弱关系等。用来使系统的服务具有更小的粒度,增加小粒度上接口的重用性。具体分析中,原生Hadoop并不具有实时的分析能力,所以采用了Spark来进行数据的实时分析和去重。利用已有的企业的资金的数据信息,将对应的接口封装成模块,让整体上成为一个具有对特定功能可重用的通用性模块,相对增加了可重用粒度的大小,使在其他系统的服务层面上,某些情况下这些服务模块也能得到重复利用。

面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。

面向服务的体系结构主要技术和标准包括SOAP、WSDL、UDDI之一, soap用来描述传递信息的格式, WSDL 用来描述如何访问具体的接口, uddi用来管理,分发,查询webService 。具体实现可以搜索 Web Services简单实例 ; SOAP 可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议(HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。SOAP使用基于XML的数据结构和超文本传输协议(HTTP)的组合定义了一个标准的方法来使用Internet上各种不同操作环境中的分布式对象。

SOAP是简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。

WSDL是为描述Web服务发布的XML格式。W3C组织没有批准1.1版的WSDL,当前的WSDL版本是2.0,是W3C的推荐标准(recommendation)(一种官方标准),并将被W3C组织批准为正式标准。

UDDI,Universal Description Discovery and Integration,是统一描述、发现和集成协议。

在实际开发过程中,服务上的单一的数据分析接口在一开始粒度太大,接口责职太多导致后续想调用服务接口的时候没法应用本该这个接口承担的责职的所有功能,不止没有好的重用性,而且可靠性方面也不尽人意。在遇到这个问题的时候一开始团队本是打算重构这个模块,然而事实上,因为我是主要负责这个模块,在对于模块的内容方面相对较了解,因此我觉得这个模块即使按照这个重构了也会同样地产生相同的问题,最终经过讨论后决定将对应的模块分割成多个较小粒度的服务接口,让其服务接口的责职更加单一,对于数据层面上的处理方式,开发时能利用到里面小的功能,这个问题说到底大概是因为对系统开发时候的粒度划分不正确造成的。实际上的效果,也基本上能达到预想的效果,让小的粒度能重用,自然而言,别的函数也能组装成一个相对较大粒度的模块实现对这些接口的复用,同时也构成的新的模块,也具有比较良好的可重用性。这种一层套一层的方式,相对而言是分流的汇总,将小粒度的功能,汇总为大个功能模块。

原文地址:https://www.cnblogs.com/halone/p/13051398.html