Web API应用架构设计分析(1)

Web API 是一种应用接口框架,它可以构建HTTP服务以支撑更普遍的客户端(包括浏览器,手机和平板电脑等移动设备)的框架, ASP.NET Web API 是一种用于在 .NET Framework 上构建 RESTful 应用程序的理想平台。本文主要以ASP.NET Web API 的框架实现来介绍整个Web API应用架构设计,但不局限于.NET的技术。html

一、Web API的核心层设计

在目前发达的应用场景下,咱们每每须要接入Winform客户端、APP程序、网站程序、以及目前热火朝天的微信应用等,这些数据应该能够由同一个服务提供,这个就是咱们所须要构建的Web API平台,基于上述的需求,不少企业的需求都是以Web API优先的理念来设计整个企业应用体系的。Web API做为整个纽带的核心,在整个核心层须要考虑到统一性、稳定性、以及安全性等方面因素。java

 

从上图咱们能够看到,整个外围的应用场景围绕着Web API核心层构建,若是咱们把它换一种方式表达,那么也就是下面的设计图示,咱们把微信应用、APP应用、Web应用、Winform应用,做为Web API接口层上面的一个界面应用层来处理,这样就是基于一个API接口层,接入多个或多种方式的界面应用层,从而构建企业丰富的数据服务应用。数据库

因为Web API层做为一个公共的接口层,咱们就很好保证了各个界面应用层的数据一致性,若是考虑到响应式的集成处理,咱们甚至能够把微信应用、APP应用、Web应用作层一套Web程序,即便为了利用各自应用的特殊性,也能够把这些应用作的很类似,这样就给用户提供了一个统一的界面表示方式,极大提升客户使用的界面体验效果,用户几乎不须要额外的界面学习,就能够熟悉整个应用体系的各个模块使用。浏览器

在整个WebAPI下面能够经过业务逻辑层整合数据存储和外部接口访问两部分工做,也就是数据访问层、外部接口层这样的分层概念,若是扩展开来,咱们还能够提供给客户一些文件、图片、视频等资料的文件存储,相似微信的多媒体API接口同样,这样整个Web API的接口层就能为全部接入的客户端提供丰富的数据接口,从而实现强大的、灵活的接入。安全

上面提到了若是考虑到响应式的集成处理,咱们甚至能够把微信应用、APP应用、Web应用作层一套Web程序,其实APP应用层,能够分为两种类型,一种是原生的APP类型,采用原生语言如Object C来开发IOS应用,采用java来开发安卓的原生应用同样;还有一种是封装一个入口的原生框架+后台响应式Web页面,以下图所示。微信

对比原生应用,采用入口框架+响应式页面的方式,开发效率很是快、升级维护成本也能够下降不少,比较Web开发总比使用原始APP开发快捷得多。网络

从上面的架构分析来看,咱们的Web API做为核心层,能够在上面开发咱们各类企业业务应用,架构

在目前比较热门的会员管理、客户管理等方面,结合微信的应用催化剂,就能够作的更加符合移动的潮流,从而实现咱们“互联网+”的应用落地。app

 

二、Web API层在Winform混合框架中的应用

一样,在Winform界面里面,咱们除了能够利用直接访问数据库方式,以及采用访问分布式WCF服务的方式接入,还可使得它可以访问Web API的数据服务,从而构建成一个适应性更加普遍、功能更增强大的混合式开发框架模式。框架

安全性方便,直接访问数据库方式,没有在网络上公开接口,它们只是在单机或者局域网安全的环境运行,所以只须要确保数据库的安全便可,通常能够经过加密链接字符串方式实现必定的限制便可。

WCF服务的安全性,能够经过X509证书方式实现校验,也还能够利用自定义的用户名、密码验证方式进行检查等等。

对于Web API,因为它提供的是一种无状态的接口访问,并且每每Web API通常为了多种客户端接入的须要,可能须要发布在公网上进行访问,所以咱们须要更加注重Web API接口层的安全性,这方面咱们后面详细介绍。

也就是新型的混合式开发框架,除了直连数据库访问的传统模式,WCF分布式访问的WCF服务访问模式,还能够接入API分布式访问的Web API接口模式,他们的关系构成了一个完整的Winform应用体系,以下图所示。

下面图示是个人基于传统访问数据库方式和分布式WCF数据服务访问方式的一个模块分析图,围绕着混合型框架的核心,咱们能够构建不少松散耦合的模块,从而可以为咱们Winform应用的开发集成提供更高的开发效率。

混合型框架能够当作是Winform框架高级版本,除了它自己是一个完整的业务系统外,它外围的全部辅助性模块均(如通用权限、通用字典、通用附件管理、通用人员管理。。。。)都实现了这种混合型的框架,所以使用很是方便,整个框架若是简化来看,就是在原有的Winform界面层,用接口调用方式,避免和业务逻辑类的紧耦合关系。因为它是经过接口方式的调用方式,它自己又能够经过配置指定指向WCF的实现,所以也囊括了WCF框架的一切特色。在完成Web API层的开发后,基于Web API层的整合就是我下一个阶段的工做了。

 

咱们进一步分析混合式框架的实现细节,原来考虑的传统Winform访问数据库和WCF服务访问方式,就是经过一个配置模块,肯定是采用直接访问数据库方式,仍是访问WCF服务的方式,它们二者是统一到一个Facade接口门面层上,若是考虑到Web API层,基于混合式的架构,也就是在这个Facade接口门面层上增长多一个Web API的接口的封装成便可。具体整个框架的架构图以下所示。

 

主要研究技术:代码生成工具、会员管理系统、客户关系管理软件、病人资料管理软件、Visio二次开发、酒店管理系统、仓库管理系统等共享软件开发
专一于Winform开发框架/混合式开发框架Web开发框架Bootstrap开发框架微信门户开发框架的研究及应用
  转载请注明出处:
撰写人:伍华聪  http://www.iqidi.com     
相关文章
相关标签/搜索