基于NDC的航司PSS及电商的SOA技术转型 (4)

前言

        前面分享了Web Service,NDC Adapter,AIDM等一系列技术、产品、规范的想法。同时在其他文章也专门分享了Microservices的架构和思路。如下将对另外一个概念Open APIs,以及全局的几块融合逻辑架构分享一下设计和见解。


Open APIs

        Open APIs是个IT术语和应用协同模式。具体的介绍不在此篇鏖述,但是奉劝各位,尤其是航司的专家,直接去看Wiki的概念,或如下各个GDS和前驱航司的官网介绍。https://en.wikipedia.org/wiki/Open_API

Open APIs的官网:https://www.openapis.org/

(Leo:其目的是通过规范性的模板、流程、代码等等提高API开发的质量和敏捷度,更关键的是Contract-First的本质。这个是国内绝大部分开发人员不理解或不懂的地方。SOAP Web Service在过去的若干年中,提升的不仅仅是系统对接能力,和与之而来的SOA等架构理念,更告诉大家规范和接口的契约的重要性。JSON是数据承载的载体,但是其缺少了Metadata,也就丧失了作为契约的价值。)

OpenAPI Specification (OAS):https://github.com/OAI/OpenAPI-Specification

(Leo:没有办法,此处还要提及Swagger,一个近乎10年前的概念了。这个是趋势、更是必须。没有规矩不成方圆,尤其是那些航司准备投产Open APIs的场景。要养严格要求航司的开发人员,乃至设计人员,更尤其是外包人员。如果还再继续Code-First的开发模式,航司是不完全不可能构建一整套强壮而清晰的API体系的。)

IATA Related: http://www.iata.org/whatwedo/stb/Documents/OpenAPI.pdf

(Leo:反而IATA对于此部分的描述较少,因为API颗粒度太高了,而且是技术为导向的实现。而且在技术领域,尤其是开源技术领域,已经在IATA关注它之前有了极大发展。)

SITA API: https://www.developer.aero/

(Leo:改版了几次了,这个是我14年才开始关注的,但是看到这些成果,当时真是欣喜若狂,而且那个时候还支持个人用户订阅。)

Lufthansa Open API: https://developer.lufthansa.com

Air France-KLM API: https://developer.airfranceklm.com/

(Leo:两个比较大的航司前驱,尤其可以参考其NDC的API的思路。)

Airline Open APIs策略

        航司推及Open APIs将是一个极大的模式改变,因为Open APIs的本质是在受限的平台上公开的、规范的像商品买卖一样交易“服务的使用”。为了方便理解,就将其想成一个Apple Store: 

        a) Apple公司提供开发SDK、提供基础接口及架构平台、提供由其开发的APPs;

        b) 但是Apple授权任何注册并获得许可的第三方个人/机构/组织/公司等,基于上面SDK/平台/规范/接口等,开发属于自己的第三方APPs;

        c) 但是如果期望能够被其他第三方所使用或消费,则需要上传并获得Apple的合规审批,从而才能APPs上架销售;

        d) Apple并提供不间断的第三方APPs测评和审计,随时根据具体问题和实际情况,选择下架某APPs;

        e) 第三方在其APPs上架并销售及用户下载使用后,根据实际情况从Apple获取必要的费用。

        所以航司的Open APIs就是将上面的Apple换成具体航司或GDS,上面的APPs换成APIs,别无他意。

        其关键的一个模式就是“协同”开发,鼓励第三方使用航司已经准备好的基础APIs,开发更有针对性的APIs和构建更贴近真实场景的APPs。(Leo:可以认为就是传统SOA基础上的服务编排。)

        但是其另外一个关键理念“开放”,则需要航司认真考虑了,其不是简单的开放几个退改签的接口,是应该全部业务流程原子化之后的暴露和分享。并且是直达C端。这个理念的认可是需要航司决策层来指定的,此处不评Open APIs是好是坏。


Airline Open APIs HLSD

        对于一个期望建设和投产Open APIs的航司,那其需要哪些逻辑部件和关键支撑、尤其是内部逻辑关系,下面给各位一个全局的概念。

(Leo:因为个别航司,尤其国内的一些特点,不一定100%适用,但是思路是不变的。另外已经基于此在阿里云服务器上搭建一原型演示系统,正在不断完善和稳定中。)

关键组建

a) Airline Backend Service & Core Systems

        航司后台的各类系统、服务、应用经过SOA改造之后,或可以直接暴露数据库访问而大而全的传统航司的资产。

        对于航司电商来说,其关键的资产就是PSS领域的各类即有功能。

b) Edge Service & Internal Service

        主要随着航司B2C的发展,大量的情况需要对C端的需求进行一对一的服务支持,而且颗粒度明显高于传统航司资产-Backend Service能够提供,同时还包含性能、数据安全性及完整性等一些特殊要求。

所以在此基础上航司开发了大量的服务化的实现,但是有直接对外部暴露和被使用的 - Edge Service,也有在内部作为服务编排和调用的 - Internal Service。

        这两部分都必须在航司现有的Microservices Technical Platform的支撑下,和严格遵守其技术及管理规范、以及开发策略。

c) Enterprise Core Digital Assets

        Edge Service & Internal Service这两部分就组成了航司核心的数字资产。其是航司关键业务的封装和暴露、其拥有强大及高可用用的特质、其拥有完备的IT运维支撑、其的设计/开发/发布/上线等有严格的生命周期管理、其是与航司Backend Service的功能最贴近的服务实现。

d) Microservices Technical Platform

        由注册中心、API网关、分布式配置中心、统一监控及运维中心等组成的技术平台,不仅仅是一些框架和产品的堆砌,更需要将航司对于Microservices的开发策略、规范、生命周期管理、乃至灰度发布等等概念融合并实现其中。

(Leo:由于近期项目的特殊原因,此部分不在此文章深入分享。)

e) API Marketing Platform

        对于Open APIs的实现,最关键的是“服务治理”,但是其本质就参考上述Apple Store的概念,是一个商品是服务的“货架管理”。但是由于API的特质,和Open APIs所倡导的理念,则需要完整的架构乃至产品体系支撑:API Manager。

        https://en.wikipedia.org/wiki/API_management

        推荐几个产品和开源的国外API Manager,航司具体选型因人而异,但是一定要认真理解其应该基本的能力和参考上述两个航司的Open API实现。同时必须增强API开发人员和尤其上司内部人员的综合素质:不是简单写两行代码就能够上线一整套协同性的服务的。真对于航司是一个战略,更需要大量人财物时间的投入。

几个关键组成部件:

API Gateway:加密、保护、管理和度量API的调用。提供了一个简单的API代理,拦截API请求,并应用限流和安全检测的等功能。它同样作为API使用统计的工具。

API Publisher:具备API信息注册与发布,共享文档,提供API密钥,收集特性、质量和使用的反馈。

API Store:API的消费者,应用系统注册、服务发现和订阅API、评估,并与API Publish进行交互。

API Manager Analytics:提供统计图表,针对预设的事件和日志分析具备告警机制

f) Value-added Service

        一切新开发的,基于Open APIs的Microservices实现,其都是增值服务。但是对于企业核心数字资产的修改,以及在其上的编排或者重构,则必须有航司的核心数字资产服务团队进行评估,以保证数字资产的统一管理和持续维护。



核心数字资产微服务到NDC的实现

        那对于NDC的实现,其并不直接隶属于企业核心数字资产的一部分。因为其是遵守特定规范的存在,而不是航司;同时其是SOAP Web Service的实现,而不是RESTful Service

;另外其业务和数据的体量巨大。(Leo:任何看过或开发过NDC服务接口的人都清楚,一个RQ有多少字段,如果全部Setter则需要900+次。)

        企业核心数字资产是对于业务完整性深入考虑后的最小原子封装。即应用DDD的Microservices的标准实现。其对外的使用和暴露均由Microservices Technical Platform统一管理和暴露。NDC实现只能通过服务注册及发现中心提供的服务黄页,经由API Gateway的路由才能访问关键的业务服务实现。

        由于Microservices的高颗粒度,NDC的Block特质,则其中需要一个比较厚重的编排及适配层,这也就是我之前介绍老东家NDC Adapter的作用和定位了。



Airline Open APIs的实现

        规范的做法和路径,必须是构建其完备的事业核心数字资产,用于高效的保护和持续的迭代核心数字化能力。

        航司的Open APIs不同于其他行业,乃至IT或互联网企业。单凭某IT服务商的热情,航司是没有办法建立合理、健壮、有竞争力、和品牌化的Open APIs的。就好比有人能够提供一个很好的货柜,但是你拿不出任何商品摆在上面,也是徒劳。即使上架了,后续商品的进销存是否能够支撑也需要考虑。

 所以:

a) 首要是构建Microservices Technical Platform和全套的管理及生命周期规范,有效的保护核心数字资产及延续性的迭代。

b) 明确Expose哪些和怎样Expose这些核心数字资产。

c) 定义服务商品上架下架等全面的管理及运维体系。

d) 核心数字资产经由Microservices Technical Platform中的API Gateway集中注册及发布到API Manager。

e) 文档化服务契约等必要描述及上架销售。

f) 宣传并吸引第三方协同开发,构建整套生态环境。



结论 - 航司的“内容”建设

        看似简单的SOA,RESTful Service,其实真正落实到航司的特定场景和全球性经济中,就没有那么简单了。NDC是一个接口的实现规范,所以他最依赖于”内容“,很多航司从第一时间就去构建NDC,在没有类似NDC Adapter的这样的工具和思路的指引下,其实是很痛苦的。Open APIs已经在很多前驱的航司投产了,应该有很多航司也蠢蠢欲动,但是华丽的新装需要有内在的支撑,其也需要”内容“。

        于此同时,即使建设Open API,这不仅仅是市场策略等的能力、更需要国际接轨的能力、全球规范的理解能力、全面的IT技能、资深的架构及管理人员、持之以恒的迭代。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342

推荐阅读更多精彩内容