RDIFramework.NET框架SOA解决方案,Windows服务、WinForm与IIS形式发布,分布式应用如何为?

摘要:SOA(service-oriented architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,
0、引言 在软件开发领域,尤其是企业级应用开发中,灵活性、开放性、可扩展性往往是项目成功的关键因素。对于C/S项目,如何高效地与后端数据库进行交互,以及如何提供多样化的服务访问方式,是开发者需要深入考虑的问题。目前主流的方式就三种:数据库直连、WCF模式、WebAPI模式。RDIFramwork.NET C/S敏捷开发框架三种模式全都提供了支持,三种模式不仅可以一键切换,还可以混合使用,同时支持.NET Framework与.NET 6+,为构建高效又灵活的软件提供了强有力的支撑。本文主要针对WCF模式进行讲解,关于WebAPI模式的讲解可单击这篇文章查看详情: RDIFramework.NET CS敏捷开发框架 SOA服务三种访问(直连、WCF、WebAPI)方式 1、SOA平台简介 1.1、概述 SOA(service-oriented architecture,也叫面向服务的体系结构或面向服务架构)是指为了解决在Internet环境下业务集成的需要,通过连接能完成特定任务的独立功能实体实现的一种软件系统架构。SOA是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这样的系统中的服务可以以一种统一和通用的方式进行交互。 传统的Web(HTML/HTTP)技术有效的解决了人与信息系统的交互和沟通问题,极大的促进了B2C模式的发展。WEB服务(XML/SOAP/WSDL)技术则是要有效的解决信息系统之间的交互和沟通问题,促进B2B/EAI/CB2C的发展。SOA(面向服务的体系)则是采用面向服务的商业建模技术和WEB服务技术,实现系统之间的松耦合,实现系统之间的整合与协同。WEB服务和SOA的本质思路在于使得信息系统个体在能够沟通的基础上形成协同工作。 对于面向同步和异步应用的,基于请求/响应模式的分布式计算来说,SOA是一场革命。一个应用程序的业务逻辑(business logic)或某些单独的功能被模块化并作为服务呈现给消费者或客户端。这些服务的关键是他们的松耦合特性。例如,服务的接口和实现相独立。应用开发人员或者系统集成者可以通过组合一个或多个服务来构建应用,而无须理解服务的底层实现。举例来说,一个服务可以用。NET或J2EE来实现,而使用该服务的应用程序可以在不同的平台之上,使用的语言也可以不同。 1.2、SOA基本特征 SOA的实施具有几个鲜明的基本特征。实施SOA的关键目标是实现企业IT资产的最大化作用。要实现这一目标,就要在实施SOA的过程中牢记以下特征: 可从企业外部访问 随时可用 粗粒度的服务接口分级 松散耦合 可重用的服务 服务接口设计管理 标准化的服务接口 支持各种消息模式 精确定义的服务契约 1.3、为什么选择SOA   不同种类的操作系统,应用软件,系统软件和应用基础结构(application infrastructure)相互交织,这便是IT企业的现状。一些现存的应用程序被用来处理当前的业务流程(business processes),因此从头建立一个新的基础环境是不可能的。企业应该能对业务的变化做出快速的反应,利用对现有的应用程序和应用基础结构(application infrastructure)的投资来解决新的业务需求,为客户,商业伙伴以及供应商提供新的互动渠道,并呈现一个可以支持有机业务(organic business)的构架。SOA凭借其松耦合的特性,使得企业可以按照模块化的方式来添加新服务或更新现有服务,以解决新的业务需要,提供选择从而可以通过不同的渠道提供服务,并可以把企业现有的或已有的应用作为服务, 从而保护了现有的IT基础建设投资。 2、服务的定义 2.1、概述   关于SOA平台服务的定义,目前来说一般有两种形式,一种是定义标准接口的形式,一种是以标准的WebService的形式来下定义服务的实现。 在上图中是以接口的形式来定义SOA平台服务的,RDIFramework.NET的SOA实现也是采用这种方式。具体的实现是以.NET技术的WCF来实现的,服务可以以以下几种方式寄存(发布):Windows服务模式(常用)、WinForm界面模式、IIS服务模式等等,在后面的文章我们会分别介绍。 2.2、SOA服务设计原则 一、SOA要求一致性 有很多可用于创建、发布、发现和调用服务的候选技术。SOA 应提供一个参考体系结构,以指定服务提供者和使用者将使用的特定机制;我们应以在 SAO 所有参与者间实现一致性为目标。此类一致性可以减少开发、集成和维护工作。
阅读全文