SOA之项目分析

Posted on 2020-05-14 20:44  咳咳你  阅读(227)  评论(0编辑  收藏  举报

论面向服务架构设计及其应用

焦毫磊

(石家庄铁道大学软件工程系,河北省石家庄市 邮编:050000)

摘  要:SOA是由Garnter在1996年提出的一个概念,旨在让软件变的有弹性,能够迅速响应业务的需求,实现实时企业。基本理念是让所有信息系统中需要整合的业务使用服务和接口联系起来,接口中立,与开发平台和编程语言无关。目前,面向服务的架构(SOA)已成为连接复杂服务系统的主要解决方案,它也时常用于很多大型系统中。本文主要围绕自己参与的系统进行SOA相关的讨论

关键字:SOA;面向服务的架构;系统

引  言:随着世界的快速发展,常规的MVC系统逐渐不能满足大数据、大处理的要求,之前的很多系统都是建立在各部门、各单位之上的孤岛系统,它们之间很多信息不支持互通,数据的快速增长导致这些孤岛系统不能支持当前的工作。SOA是一种粗粒度、松耦合服务架构,基于soa服务思想进行功能的抽取(重复代码问题解决),以服务为中心各个系统之间依靠ESB进行调用,这也就实现了复杂信息系统的建立

  1. 项目介绍

   1.1系统

我们的项目为“视频全量目标分析和建模”,我们需要利用视觉分析技术,对高分辨率视频进行视频图像处理,然后对街景或高楼的高清视频进行目标检测和统计计数。

其功能在于在准备好的视频中识别出不同类型的目标,然后进行同一目标的计数,最后输出每种类型的数量的图片,整个系统可以在华为ModelArts在布置运行,项目目标旨在推动各行业视觉应用。人脸识别、车辆测别、车辆智能驾驶等快速发展。

采用的技术为Tensorflow,yolov3,决策树等算法

   1.2担任工作

在本次项目中我主要担任的工作是进行目标检测及计数算法的调教,并实现对一段视频中规定目标的检测和计数。

          2.SOA的技术以及标准

2.1  UDDI协议:统一描述、发现和集成

UDDI计划是一个广泛的,开放的行业计划,它使得商业实体能够 (1) 彼此发现,(2) 定义他们怎样在internet上互相作用,并在一个全球的注册体系架构中共享信息。UDDI是这样一种基础的系统构筑模块,他使商业实体能够快速,方便地使用他们自身的企业应用软件来发现合适的商业对等实体,并与其实施电子化的商业贸易。

UDDI同时也是Web服务集成的一个体系框架。它包含了服务描述与发现的标准规范。UDDI规范利用了W3C和Internet工程任务组织(IETF)的很多标准作为其实现基础,比如扩展标注语言(XML)、HTTP和域名服务(DNS)等协议。另外,在跨平台的设计特性中,UDDI主要采用了已经被提议给W3C的SOAP(Simple Object AccessProtocol,简单对象访问协议)规范的早期版本。

2.2  WSDL规范:web服务描述语言

Web 服务描述语言是详细说明描述基于SOAP的 Web Services 的标准方式的规范,包括消息应采用的形式以及应将其发送到何处。其中还详细说明了此类消息的响应。当与相应的工具结合使用时,WSDL 允许以编程方式创建对Web服务的调用;应用程序可以从WSDL文件中提取这些详细信息,并提供要使用的编程接口。一个WSDL文档通常包含8个重要的元素,即definitions、types、import、message、portType、operation、binding、service元素。这些元素嵌套在definitions元素中,definitions是WSDL文档的根元素。

WSDL 服务进行交互的基本元素: 

Types(消息类型):数据类型定义的容器,它使用某种类型系统(如 XSD)。 

Message(消息):通信数据的抽象类型化定义,它由一个或者多个 part 组成。 

Part:消息参数 

PortType(端口类型):特定端口类型的具体协议和数据格式规范。,它由一个或者多个 Operation组成。 

Operation(操作):对服务所支持的操作进行抽象描述

WSDL 定义了四种类型:

One-way 此操作可接受消息,但不会返回响应。

Request-response 此操作可接受一个请求并会返回一个响应

Solicit-response 此操作可发送一个请求,并会等待一个响应。

Notification 此操作可发送一条消息,但不会等待响应。

通过WSDL,可描述Web服务的三个基本属性:

·服务做些什么——服务所提供的操作(方法)

·如何访问服务——和服务交互的数据格式以及必要协议

·服务位于何处——协议相关的地址,如URL

2.3  SOAP协议:简单对象访问协议

SOAP是基于XML的简易协议,是用在分散或分布的环境中交换信息的简单的协议,可使应用程序在HTTP之上进行信息交换。或者更简单地说:SOAP是用于访问网络服务的协议。包括三个部分:封装定义了一个描述消息中包含什么内容以及如何处理它们的框架,编码规则用于表示应用程序定义的数据类型的实例,另外还有一个表示远程过程调用和应答的协定。SOAP的两个目标是简单性和可扩展性,这就意味着有一些传统的消息系统或分布式对象系统中的某些性质将不是SOAP规范的一部分。SOAP是一种分布式计算中的技术,它被有意的设计为轻量级的协议,它的某些功能和其他一些机制(如RMI)共有的,但也存在许多不同的功能,如不支持通过引用传递对象、对象激活、消息批处理等。SOAP也被设计成可扩展的,而简单性和可扩展性意味着SOAP的使用不包含任何特定的编程模式,给定实现的语义是极为灵活的

SOAP定义了一套编码规则,它由以下四个部分组成:

SOAP信封:定义了一个框架,该框架描述了消息中的内容是什么,包括消息的内容、发送者、接收者、处理者以及如何处理这些消息。

SOAP编码规则:它定义了一种系列化机制,用于交换应用程序所定义的数据类型的实例。

SOAP RPC表示:它定义了用于表示远程过程调用和应答协定。

SOAP绑定:它定义了一种使用底层传输协议来完成在节点间交换SOAP信封的约定。

           3.项目实施与困难

3.1.在进行图片目标检测中,出现检测精度不高,并且性能较低,之后又换了yolov3算法以实现视频追踪检测

3.2.目前yolov3算法调教之后在识别视频时性能不高

3.3无法实现抠图计数,正在学习尝试汇总