SOA科技小论文

1.SOAspring

         当咱们的项目比较小时,咱们只有一个系统,而且把他们写到一块儿,放在一个服务器上,可是随着平台愈来愈大,数据量愈来愈大,咱们不得不经过分库,把多个模块的数据库分别放在对应得服务器上,每一个模块调用本身的子系统便可。随着咱们系统的进一步复杂度的提示,咱们不得不进一步对系统的性能进行提高,咱们将多个模块分红多个子系统,多个子系统直接互相调用(由于SOA通常用于大型项目,比较复杂,因此通常总系统不会再集成,会拆分多个,分别作成服务,相互调用)。当咱们的电商UI进行一个下订单的任务时,多个服务直接互相调用,系统经过数据总线,分别调用对于的子系统便可。数据库

此外,动态业务的工做流不只能够包括部门之间的操做,甚至还能够包括与不为您控制的外部合做伙伴进行的操做。所以,为了提升效率,您须要定义应该如何得知服务之间的关系的策略,这种策略经常采用服务级协定和操做策略的形式。编程

最后,全部这些都必须处于一个信任和可靠的环境之中,以同预期的同样根据约定的条款来执行流程。所以,安全、信任和可靠的消息传递应该在任何 SOA 中都起着重要的做用。安全

我能够用面向服务的体系结构作什么?对 SOA 的须要来源于须要使业务 IT 系统变得更加灵活,以适应业务中的改变。经过容许强定义的关系和依然灵活的特定实现,IT 系统既能够利用现有系统的功能,又能够准备在之后作一些改变来知足它们之间交互的须要。服务器

SOA的第一个技术与理论体系为结构编程方法架构

  所谓“结构程序设计方法”,就是基于面向对象设计方法的早期蓝本,侧重於解决程序正确性的编程的方法,以此为基础创建了软件工程这门学科,创建了编程的基础理论体系。maven

  解决软件开发效率的第二个基础理论体系是“面向对象”的可重用理论分布式

  咱们都知道由面向对象发展到面向构件,由面向构件再发展到面向服务,所以它们的认知观和基础理论都是息息相关的,解决大型软件的开发效率和质量除了要解决编程的正确性外,还必需解决开发周期长、复用性差、成本高、文档多、以及难以适应系统演化等问题,十多年来仍旧困惑着这门学科,“软件危机”仍未解决。工具

  SOA的第三个技术与理论体系是UML统一建模语言性能

  鉴于面向对象的缺陷, 三位面向对象的奠定人联合起来,建立了UML统一建模语言。UML为软件开发和SOA的产生起到奠定和里程碑的做用。

  UML主要理论成果是:①统一面向对象的基本概念,并引进了许多新的概念,②认为软件开发的过程实质上是从抽象的模型逐步细化,过渡到具体的实现,其中间的每一个阶段都是实现了某一抽象模型,UML为此提供了创建模型的工具,用直觉的图形来创建模型,今后软件专家就有了本身的工具,正如音乐家有了五线谱工具那样;③为适应软件的多变性,提供了演化的概念。

  实际上此建模理论是第三个技术与基础理论,它为演化到构件和架构概念奠基基础理论模型。

  第四个技术与基础理论是构件架构

  因为这种OO方法真正用于实际工程中开发的应用软件却不多见到,工程上的实施缺少开发规范;在技术上要术开发人员的素质较高;最大的问题是被开发出来的软件难以演化,而软件要能适应变化是客观存在的。

  为此发展出单纯重用的“构件和架构”技术及其理论体系。在1998年日本京都召开的“基于构件的软件开发(CBSD)”国际专题学术会议上,一致认为软件开发技术离不开构件和体系结构。软件体系结构现简称“架构”。

  在此以前的软件架构都采用层次结构的架构,直到分布式系统提出了用户端/服务器模式后,才产生对架构的研究,出现了构件和架构。

  分布式系统的三层体系结构及其中间件是第五个技术与基础理论

三层体系结构是由二层结构的胖终端中的应用构件独立出来组成了应用层。为解决分布式系统中的各类潜在复杂性,提出了中间件技术及其理论。

主要标准:

SOAP: 简单对象访问协议 (Simple Object Access  Protocol)

WSDL: Web服务描述语言 WSDL (Web Services Description Language)

UUDI:  统一描述、发现和集成 (Universal Description,             Discovery and Integration) 

WSDL用来描述服务;UDDI用来注册和查找服务;而SOAP,做为传输层,用来在消费者和服务提供者之间传送消息。一个消费者能够在UDDI注册表(registry)查找服务,取得服务的WSDL描述,而后经过SOAP来调用服务。

 

3.实际问题

1. maven问题

  1) maven settings.xml 配置有问题,致使依赖下载失败

  2) SNAPSHO开启。

2. dubbo

  仅需把dubbo.properties和spring xml文件,放到classpath