RESTful Service牽起與AI介接的橋樑 -我把RESTful Service整合到哪些地⽅去了?

更新日期:2020年1月3日


後支付界接(物流與金流)-資訊流與金流


去年年底,因應某電子商務公司需求,我撰寫RESTful界接了After Pay API(後支付),那整整十多支對接的API,從一開始在獲取有效的OAuth2許可證開始,包含購物資訊形成預訂單,最後成為正式訂單,最後完成後支付的金流介接。這整個嚴謹的架構與互通,足足讓我在線上與日本工程師開了三次整個下午滿滿的會議,才能將自行開發的RESTful配合內部電商流程,來完成一個匝道服務,以及後支付的介接功能。


圖一 後支付介接訂單審核流程

衍⽣對接的服務匝道之後,為了避免讓前端系統衍⽣介接的盲點,必須對前端工程師進行更進⼀步的說明。在如何介接具有巢狀架構的資料格式與許可證及API- KEY時,光想起溝通,就覺得千頭萬緒了。(因為前端工程師往往不太深入 RESTful服務架構與JSON Array的巢狀架構)。因此,得又在自訂服務的線上說明投入非常多的時間整理。


圖二 必須進行服務介接架構說明

在擔任企業顧問時,必須還要訓練這些⼯程師如何針對前後端整合來進⾏溝通。否則就會常常發現前端工程師與後端工程師時常會發生⼀些爭執。


開發LUIS.ai ⾃然語言查詢訂單-Line BotWebHook介接

總是有些商務邏輯或者資料存取邏輯,需要在自訂的服務中,直取資料庫或者後端資源等動態存取,甚⾄裝上《AI腦袋》進⾏推測與分析。所以我嘗試在Line Bot提供的Messaging API架構(標準的 RESTful Service),透過 WebHook 來介接⾃訂的RESTful Service,使其可以雙向溝通 ,或者單向溝通,形成⾃動通知的Alarm。 這介接完全需要具有HTTP通訊協定溝通撰寫的能⼒,同時也需要您明確RESTful互通訊息的擷取⽅方式。

如果您不清楚HTTP Hosted,End Point,Http Request Method以及Path參數架構,另外透過Header傳遞Token架構,以及如何透過Http Body採⽤Stream或者rawdata⽅式傳遞,您將無法與Line Bot掛勾(Hook),且無法順利裝上您的 Line Bot聊天機器⼈腦袋;說實在一點,Line Bot就只是⼀個會採⽤關鍵字的直接罐頭式回答的《鸚鵡》⽽已,那是Super User在從事的作業。


圖三 Line Bot WebHook介接⾃訂RESTful Service與介接LUIS.ai應⽤


我的Line Bot想省掉採⽤Menu⽅式,想直接透過⾃然語⾔溝通,直接問出客⼾資料或者訂單資料。這其中使⽤兩層的RESTful Service架構撰寫,並且透過⾃訂邏輯規則指向資料庫進⾏行相關記錄存取。這些都是需要精確與彈性的中介RESTful Service規劃,並且可彈性延伸前端任何人機介⾯的系統。


圖四 透過⾃然語⾔查詢客⼾資料



影像傳輸與介接自訂電腦視覺-AI Service建模

有時候,在訓練好AI模組之後,我們需要將這些Model透過RESTful Service來進行介接與運作。如您使⽤Python+Flask建構RESTful等架構進行整合。 為了一個人臉辨識訓練,我需要建構⼀個人機介面系統,並且設計⾃⼰的RESTful進行介接,⼀則可以整合資料庫進⾏個資儲存,⼀則可以將影像採⽤串流送⾄AI Service進⾏訓練。

所以,我把RESTful Service開發⽤來作為訓練建模的⼈機介⾯系統介接統籌的《轉換中⼼心》。


圖五 建模⼈機介面-介接⾃訂服務進⾏建模訓練


訓練模組完成之後,再透過另⼀個API服務介接,與Line Bot WebHook整合,且整合到資料庫存取與回應。直接透過Line APP拍攝相片進⾏人臉辨識作業。

可以多重⼈臉辨識,與進⾏特徵辨識。


圖六 Line Bot整合RESTful服務與⼈臉辨識服務


影像系統整合AI,⼜又可以⾃自訂辨識模組進入ML,如後續我開發的導覽系統 辨識,其中結合KM知識庫的應⽤用,更更是多層RESTful應⽤用的架構。


圖七 風景區影像AI辨識導覽系統


圖八 影像辨識景點導覽系統


回想過去...

多年以前,我專攻XML Web Service,主要是針對企業ERP系統推向SOA服務導向架構。並且對於異質環境的系統,在整合架構上,具有⾼度的興趣。


年輕時,我從IBM⼤型電腦涉獵到ERP系統也有多年,在那一個年代我們經歷資訊整合的困難性。猶記得我待過的美商公司,有⼀個生管主任特助,每天跟我有得拚,都是一早六點半進公司。我進公司目的是可以看⼀個⼩時的書,不受⼲擾。他⼀早進公司,是先去資訊中心拿⼀堆報表(他習慣在前天晚上下班前,丟出許多報表列印),並將這些報表重新整理與謄寫出整天要追蹤的⽣管資訊,再送給主管參考,每天印出許多的報表,每天都很辛苦投入,每天也產⽣許多的廢棄報表。那時候我就想,這些⼈⼒介接轉換的投入⼯作⽅式,將來應該是容易被取代的⼀種⼯作,即使那時公司電腦已經是很先進了,但我卻看到他不對資訊⼯程師提出系統整合架構需求,⽽是寧願投入⼈⼒時間,呈現⾃⼰認知的存在價值上,那是我年輕時看到那一個⼈非常非常的努⼒,但卻有⼀股辛酸的感覺湧上... 


這個年代,是⼀個資訊跳躍式成長的年代,介接能力與架構能力的被需求,是非常重要且迫切的⼀件事,如同我們當時談及的Item Master, 如今卻要⼤談跨所有異質系統的Master Data管理概念。


如果您是⼀個資訊工程師,您準備好了嘛?

軟體開發者的必要裝備


1.邁入JAVA REST Web Service

立即暸解


2.「AI人臉辨識」1日開發實戰

立即暸解


1453 次瀏覽
訂閱電子報
​即時掌握最新文章及課程資訊

感謝您的訂閱!