RDIFramework.NET结构SOA解决方案(集Windows效劳、WinForm方式与IIS方式发布)-分布式使用51CTO博客 - AG环亚娱乐

RDIFramework.NET结构SOA解决方案(集Windows效劳、WinForm方式与IIS方式发布)-分布式使用51CTO博客

2019-01-03 13:17:21 | 作者: 傲柔 | 标签: 效劳,结构,发布 | 浏览: 2279

RDIFramework.NET结构SOA处理计划(集Windows效劳、WinForm办法与IIS办法发布)-分布式运用

RDIFramework.NET,依据.NET的快速信息化体系开发、整合结构,给用户和开发者最佳的.Net结构布置计划。该结构以SOA范式作为指导思想,作为异质体系整合与互操作性、分布式运用供给了可行的处理计划。

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 一切参与者间完成一致性为方针。此类一致性能够削减开发、集成和保护作业。

  假设需求运用参阅体系结构之外的元素,咱们引荐运用弥补性办法。例如,假设咱们为效劳发布和发现挑选的机制是 UDDI,但某个特定的开发团队已在运用一个依据其他存储库技能的开发流程,此刻该怎么处理呢?咱们将挑选投入精力将该团队的效劳一起发布到两个存储库。这样,现有的效劳运用者就能够运用其了解(但或许并不规范)的存储库了。而运转于公共 SOA 根底结构上的运用者则能够为一切用劳运用规范存储库——例如 UDDI。

二、SOA 简化开发

  咱们期望任何企业级的 SOA 根底结构都具有可伸缩性和弹性;还应包括职业级的企业效劳总线(Enterprise Service Bus,ESB)和安全技能。或许,换种说法,以 SOA 为方针的效劳和流程的开发人员可运用老练的中间件,依靠 SOA 根底结构供给问题的处理计划,如身份验证、音讯转化和可靠音讯交给。

  这些中间件功用的供给应以一个重要的准则为根底:效劳和流程开发人员应远离中间件完成的杂乱细节。咱们的抱负方针是,在咱们的 SOA 环境中作业的开发人员应只需求事务范畴的相关常识和根本的编程技巧。

  效劳具有规范的、经过正式界说的可由核算机处理的接口

  了解了东西和代码生成在 SOA 完成中可扮演重要人物之后,咱们现在要着重运用可由核算机处理的接口的重要性。当运用界说杰出的可由核算机处理的言语描绘了接口时,实际上就为各种东西支撑功用供给了支撑。咱们期望改进别离状况,因而咱们强烈主张运用 WSDL 之类正式界说的敞开规范言语,而不要运用专用格局。

  可由核算机处理的办法的概念应该从效劳接口描绘(如 WSDL)扩展到一切其他办法的声明信息或元数据。只要一起着重声明技能和可由核算机处理的元数据,才干将其相关的杂乱性从事务运用程序开发人员转移到依据规范的中间件中。新式的 WS-Policy 之类的技能在支撑此办法方面充任着重要的人物。

三、效劳应规划为可重用

  效劳规划人员应该记住,他们所开发的任何效劳都或许成为可重用财物。规划人员不该只重视效劳的开始运用者的需求,而应该进行更为广泛的事务剖析,以确认更全面的需求。咱们主张,规划人员应考虑效劳或许的开展方向:

  规划有必要能习惯不断增加的吞吐量;假设效劳在运用效劳的数量增加的状况下仍可成功运转,那么运用率也会成级数递加。

  假设运用效劳的数量增加,则数据量和并发数据拜访办法或许会与开始投入运用时的状况大为不同。

  咱们有必要对效劳恳求的未来增加进行估计;新运用者或许需求其他的功用,或许需求对现有功用进行更改

四、效劳应具有精心挑选的粒度

  在挑选效劳粒度时,咱们或许需求在多个要素间进行折衷,如可保护性、可操作性和易用性。任何给定的 SOA 都应向效劳规划人员供给攻略,以便确认此类折衷计划。

五、效劳应是内聚而完好的

  已然知道到了在确认效劳粒度时需求考虑周全,那么在确认哪些操作应组成效劳时有什么注意事项呢?咱们以为有两个目标规划概念很有用:内聚性和完好性。

六、效劳应对完成细节进行封装

  咱们封装效劳完成的细节——所用的算法和资源——的动机在于增加效劳运用者和供给者之间的别离,然后为将来扩展供给灵活性。

七、操作规划应考虑并发性


3、结构SOA发布办法

  RDIFramework.NET结构的SOA(WCF效劳端)能够经过以下几种办法进行存放(发布):    以Windows效劳办法存放,以WinForm办法存放和以IIS办法存放。

要想结构以WCF办法运转,首要有必要装备RDIFramework.NET结构可运转文件地点文件夹的“Config.xml”文件,找到“软件效劳供给程序”项,其取值有两种:RDIFramework.ServiceAdapter与RDIFramework.ServiceClient

  体系默以为“RDIFramework.ServiceAdapter”,即传统数据拜访办法(逻辑上的三层结构),要想体系以WCF办法运转,有必要设置其值为:RDIFramework.ServiceClient

  经过这样的设置,再简略布置一下,即能够WCF办法运转本程序。WCF办法运转Config.xml文件装备如下图所示。

当然了,关于WCF办法的客户端与效劳端的正确装备以及绑定的办法,能够参阅相关文章,在咱们结构的装备文件中也进行了具体的阐明。

3.1、效劳端以Windows效劳存放运转

  要想咱们的结构以Windows效劳存放,有必要布置结构的WCF效劳“RDIFramework.WinService”目录包括的内容即为咱们的结构以Windows效劳进行存放所有必要的文件,如图7.3.1所示。图中含有两个批处理文件能够很好的协助咱们装置与卸载结构的Windows效劳,他们分别是:

Install RDIFrameworkService.bat:用于装置结构的WCF效劳以存放到Windows效劳上。

Uninstall RDIFrameworkService.bat:用于卸载现已装置好结构WCF效劳。

  如下图:RDIFramework.NET以Windows效劳进行存放所需文件所示。










   双击Install RDIFrameworkService.bat文件进行效劳的装置,如图7.3.2所示,输入:y,即可对效劳进行装置。如下图所示:

  装置成功会出现下图所示的字样。

  到Windows效劳办理器中,能够看到咱们结构的效劳现已装置成功,初次装置成功默许没有发动,就请手动发动即可,如下图所示。

  关于装置成功的效劳,咱们也能够对他进行卸载,卸载效劳运用Uninstall RDIFrameworkService.bat文件,双击此文件,输入”y”即可对已成功装置的结构效劳进行卸载,如下图所示。

  或许用InstallUtil.exe指令卸载结构效劳也能够,如下图所示:

  结构以WCF办法运转的作用如下图所示,能够看到其与传统的办法运转作用彻底相同。

  由于咱们敞开了WCF的日志功用,咱们能够经过VS2010自带的“效劳盯梢检查器”检查WCF的调用进程,当然主张在体系投入正常运用后,封闭WCF的日志记载功用,避免影响整个结构的功率,在此仅做测验运用,要翻开VS的效劳盯梢检查器,到开始菜单VS的装置菜单名下,找到“效劳盯梢检查器”,即可翻开,如下图所示。

  经过“效劳盯梢检查器”咱们能够很清楚的看到咱们结构是怎么调用WCF效劳的,整个进程都具体的进行了记载,如下图所示。关于“效劳盯梢检查器”的运用办法能够参阅相关文档,也能够检查其自带的协助文件。

  以上便是咱们结构的分布式架构布置计划(以Windows效劳为存放宿主)。   

3.2、效劳端以WinForm办法存放运转

  咱们的结构不只能够存放在Windows效劳程序中,还能够以WinForm办法存放,运用办法与Windows效劳存放相似。以Winform办法存放意思是说,效劳端以窗体界面办法来发动,这种办法比较简略易懂,用户能够把发动结构效劳的窗体主程序放在Windows自发动菜单,让开机时主动发动咱们的结构效劳。RDIFramework.NET效劳端以WinForm办法存放运转目录:Bin\FrameworkService\RDIFramework.ServiceHost.exe即可,敞开后的作用如下图所示:

  效劳端现已敞开,现在运转RDIFrmework.NET客户端,作用与Windows效劳办法一至。要测验咱们发动的效劳,咱们能够运用“WCF测验客户端”来进行测验。wcftestclient.exe是一个GUI的东西用于测验WCF,只需在Visual studio command line 窗口中键入wcftestclient,就发动这个程序。如下图:

  能够右键“我的效劳项目”挑选“增加效劳(A)…”来增加WCF效劳,在上图中,咱们输入“net.tcp://127.0.0.1:8888/RDIFramework.ServiceAdapter/UserService/mex”增加了对用户效劳的测验调用。  

3.3、效劳端以IIS办法存放运转

  咱们的结构不只能够Windows效劳、WinForm界面办法存放,还能够运用IIS的Web效劳办法来存放。

  要以IIS办法来存放结构的WCF效劳,首要咱们需求把“RDIFramework.WCFService”项目发布到IIS下,发布的办法与惯例的Web发布办法相同,能够参照相关的文章,RDIFramework.WCFService项目如下图所示:

  发布到IIS后的作用如下图所示:

  在这儿需求阐明的时,结构的效劳发布到IIS下后,对应的运用程序池的.NET Framework版别要挑选.NET Framework V4.0以上版别。如下图所示:

  至此,咱们能够用阅读器来阅读咱们发布的效劳,测验发布的效劳是否成功,如下图所示,咱们测验StaffService效劳。

  咱们也能够用“WCF测验客户端”来测验咱们发布到IIS下的WCF效劳,如下图所示:


  以上面三种办法发布WCF效劳端,来进行分布式运用的布置,都能够成功运转咱们结构的客户端,用户在运用进程中,能够依据实际状况做出自己的挑选。

作者: EricHu
出处: http://www.cnblogs.com/huyong
微博: 腾讯
Email: 406590790@qq.com
QQ 沟通:406590790 
QQ群:16653241
途径博客: 【CSDN】http://blog.csdn.net/chinahuyong 【CNBLOGS】http://www.cnblogs.com/huyong
关于作者:高级工程师、信息体系项目办理师、DBA。专心于微软途径项目架构、办理和企业处理计划,多年项目开发与办理经验,曾多次安排并开发多个大型项目,通晓DotNet,DB(SqlServer、Oracle等)技能。了解Java、Delhpi及Linux操作体系,有厚实的网络常识。在面向目标、面向效劳以及数据库范畴有必定的造就。现从事DB办理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目办理、开发、架构等作业。
如有问题或主张,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者赞同有必要保存此段声明,且在文章页面显着方位给出原文衔接,如有问题,能够经过邮箱或QQ 联络我,非常感谢。


版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表AG环亚娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章