您的位置:首页 > 参评方案展示 > 智慧校园

北京大学:基于微服务的数据服务框架设计

  4.原型实现

  “北京大学信息服务开放平台”基于本文所述框架设计和实现,平台主要由开发者中心、管理中心和微服务容器构成,如图2所示。开发者中心用于开发者注册应用和注册需要发布的服务;管理中心用于开发者应用审核、发布服务审核、服务授权审核等。按照访问权限划分,运行在微服务容器中的数据服务大致分为三类:

  1、公共信息服务:提供如通知公告类的公共信息,无需个人授权,任何通过审核的注册应用都可以访问;

  2、个人信息服务:提供属于个人的相关信息,如个人课表等,需要个人明确授权;

  3、受限信息服务:介于公共和个人之间的信息,无需个人授权,但需要对注册应用进行访问授权。

  这三类服务都包含框架中“原生型微服务”和“代理型微服务”。例如公共信息服务中的“最新通知公告”属于“原生型微服务”,它是通过访问办公系统中源服务实现的,而办公系统中的源服务是基于SOAP的传统Web服务;“研究生招生专业信息”则属于“代理型微服务”,它代理了学生系统中提供的一项数据微服务。

  目前“北京大学信息服务开放平台”共提供27项公共信息服务,18项个人信息服务,6项受限信息服务,面向全校各个应用平台和应用开发者开放校内信息服务。

  图2. 信息服务开放平台

  5.结束语

  高校信息化在数据服务平台方面的建设经验表明,传统数据服务平台协议复杂,体量庞大,在扩展性和易维护性方面都存在不足。本文提出了一种基于微服务的数据服务框架,利用微服务的先天特性,使得服务之间松耦合,平台易扩展、便于运维,数据共享灵活。本文阐述了框架的主要内容,重点阐述了框架中微数据服务可能的实现类型:原生型微服务和代理型微服务。并在此基础上分析了框架的一系列重要特征:数据即服务、微服务架构、开放即规范和服务自生长,接着介绍了实现框架需应用的关键技术:REST和OAuth。

  综合本文所述框架的内容和特征,以及“北京大学信息服务开放平台”的实践,本文认为基于该框架建设的数据服务平台,易于扩展,便于运维,可以实现更加灵活的数据共享。

  参考文献

  1.Oliver Terzo, Pietro Ruiu, Enrico Bucci, et al. Data as a Service(DaaS) for Sharing and Processing of Large Data Collections in the Cloud [C]. 2013 Seventh International Conference on Complex, Intelligent, and Software Intensive Systems. IEEE, 2013: 475-480

  2.Ming Li, NianLong Luo. Data sharing between web applications based on the request of user [C]. 2009 ISECS International Colloquium on Computing, Communication, Control, and Management, CCCM 2009. IEEE, 2009: 280-282

  3.J. Lewis, M. Fowler. Microservices [EB/OL]. [2014-04-25]. http://martinfowler.com/articles/microservices.html.

  4.Matthias Vianden, Horst Lichter, Andreas Steffens. Experience on a Microservice-based Refrence Architecture for Measurement Systems [C]. 2014 21st Asia-Pacific Software Engineering Conference. IEEE, 2014: 183-190

  5.Catalin Strimbei, Ocatavian Dospinescu, Roxana-Marina Strainu, et al. Software Architectures – Present and Visions [J].Informatica Economica. Vol 19, no.4/2015: 13-26

  6.D.I. Savchenko, G.I. Radchenko, O. Taipale. Microservices validation: Mjolnirr platform case study [C]. MIPRO 2015, 25-29 May 2015, Opatija, Croatia: 235-240

  7.Yuqiong Sun, Susanta Nanda, Trent Jaeger. Security-as-a-Service form Microservices-Based Cloud Applications [C]. 2015 IEEE 7th International Conference on Cloud Computing Technology and Science. IEEE 2015:50-57

  8.Fielding, Roy Thomas.?Architectural Styles and the Design of Network-based Software Architectures, Chapter 5 Representational State Transfer (REST). Doctoral dissertation, University of California, Irvine, 2000. [EB/OL]. http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm?cm_mc_uid=78931286748214666731807&cm_mc_sid_50200000=1466673180

  9.Barry Leiba. OAuth Web Authorization Protocol [J]. IEEE Internet Computing, January/February 2012:74-77.

  10.E. Hammer-Lahav. The OAuth 1.0 Protocol, RFC5849 [S]. Internet Engineering Task Force (IETF). April 2010.

  11.D. Hardt. The OAuth 2.0 Authorization Framework, RFC6749 [S]. Internet Engineering Task Force (IETF). October 2012.

  12.T. Lodderstedt, M. McGloin, P. Hunt. OAuth 2.0 Thread Model and Security Considerations, RFC6819 [S]. Internet Engineering Task Force (IETF). January 2013.

  13.M. Jones, D. Hardt. The OAuth 2.0 Authorization Framework: Bearer Token Usage, RFC6750 [S]. Internet Engineering Task Force (IETF). October 2012

  作者单位为北京大学计算中心

来源:CERNET第二十三届学术年会论文集作者:欧阳荣彬 王倩宜 龙新征