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

1) 航司传统PSS与GDS的数字化转型是大势所趋,但是路漫漫其修远兮。虽然航空业拥有较高的IT和信息化水平,但是固有的业务壁垒往往不能让新的IT技术和思路,尤其互联网的理念得到很好的发展。同时虽然IATA推出NDC及ONE Order很久了,但是真正业界的投产,个人感觉还赶不上区块链的半年的演变。

2) 同时由于国内草台班子式的开发团队和IT理念与国外的不同,就对于最简单,已经有近乎20年的Web Service还重复着不知所云的忽悠,把SOA,ESB,REST,微服务,Serverless等等混为一谈,以为做个Spring Framework的RESTful API就能够微服务了。而忽略了各个技术概念的本质和核心思想,更忽略了上面这些都是概念和架构思想,更忽略了与其相辅相成的一些设计理念,例如DDD等。

3) 更有甚者认为微服务在航司的应用就是IATA的NDC了。做些RESTful API就是微服务了。

这篇和后续文章主要描述个人认为在航司投产一些服务化产品,尤其参考NDC规范和IT理念的关键技术思路(注:不包含任何航司电商内部业务实现和传统PSS转型的内容)


Web Service

Web Service, 在国内被翻译成“Web服务”,“网络服务”....等等,我还记得研究生毕业的时候被导师折磨了半天,要我明确和清晰的翻译“Web Service”。但是我还是奉劝各位,对于国外这些技术术语还是老老实实用英语吧,什么SOA,ESB,REST等等,能不翻译就不翻译,翻译了之后反而丧失了其含义,同时让“年轻人”更迷惑,搞的他们貌似懂还装专家,其实自己都没搞明白是什么。

各位有兴趣还老老实实看看Wiki的翻译吧,最好不看百度百科:

Two major classes of web services:

a)REST-compliant web services, in which the primary purpose of the service is to manipulate XML representations of web resources using a uniform set of "stateless" operations; 

Web service APIs that adhere to the REST architectural constraints are called RESTful APIs.

b) arbitrary web services, in which the service may expose an arbitrary set of operations.

—W3C, Web Services Architecture[2]

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

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


就这副图而言,其清晰的描述了两种不同的Web Service的特点,如果只针对HTTP通讯协议,其只有一轻一重,一通用一专用的区别。但是摆脱HTTP协议,那么RESTful API就无能为力了。


Web Service不仅仅是HTTP,更关键的是Contract/契约

那对于IATA的NDC的规范,一个Order Management服务从IT的角度拆解为如下内容。



传统Web Service应用场景

如下所示,一个Web Service的描述性文件WSDL包含一系列强制的信息,其能够更规范性和清晰的描述数据传输的规范和要求。

个人认为,对于航司这种复杂的业务及数据交换,在内部,其实很多时候在对外发布的场景,传统的Web Service拥有独一无二的优势。

所以不要以节省几行代码,或快速上线为理由,直接就RESTful API了。那未来的维护,服务治理及管理等等可不是节省下来的这点时间能够解决的。至少你还要写接口文档吧,至少你还要给别人写调用案例吧,只要你还要处理输入异常吧,你变化contract信息也还要考虑下游消费者吧.....

同时各位也能够体会到,即使RESTful API,现在也慢慢更关注Contract First方式了,例如Swagger,更例如之前WADL。

还有人说RESTful API能够减少传输的数据量,但是你需要想想,对于企业内部,乃至外部很多场景,带宽及数据量能造成多大的性能压力,就为了区区几十个字节和几十毫秒的性能,就丢失了数据的精度,类型等等元数据信息是否值得。

所以“没有规矩不成方圆”,Contract/契约的重要性在Web Service领域不言而喻,即使20-30年前的串口通讯,大家都还定义和遵守数据交换规则了。


永远Contract First

盗用很久很久之前自己画的一幅图,当初缺失深恶痛绝WSDL,WSDL First,看到哪些Code First的开发模式和项目欣喜若狂。

但是随着近10年的项目经验,真心感觉现在越来越需要Contract First。从之前的WADL到Swagger,都在规范化接口规范。

因为再如何Code First,实际生产环境下,再有好的接口文档,都还是需要代码进行数据的校验。那为什么不从一开始就把这些基础的是做好呢???

当初Web Service的开发时候感觉Microsoft和其WCF等的限制太强,但是回过头来看看,现在RESTful API的框架和代码结构,未免太开放了。Web Service终究是“Interface”,“Interface”定义的就是规范。其实没有多少创造性而言。你们看看大量的公司,安排写接口的人都是怎样的水平,就是在拼劳动力。那为什么不标准化的方式,将框架建好,让这些劳动力就只关心他能关心和掌控的那些。

让所谓的架构师,设计人员,将“Interface”定义好,让测试,下游系统能够在定义文档后同步开展工作。不仅仅节省时间,更关键的是使得设计即为交付和评审依据。

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

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,651评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,059评论 25 707
  • 一开始的时候我认认真真的按照文档上的命令安装create-react-app 老师的教程上说了两个问题,我不知道是...
    小囧兔阅读 194评论 0 0
  • 现实总会给你设个局 公安局 税务局 教育局 饭局 赌局 骗局 你沉迷于哪个局 谁又能走得出哪个局 难得糊涂 当局...
    王者_52be阅读 375评论 0 20
  • 1997年,《朋友》传遍了大江南北,成为了周华健的代表作之一。“一句话,一辈子,一生情,一杯酒”短短12个字道尽了...
    爱学习的大明阅读 356评论 2 3