企業正在使用RESTful API來現代化其基礎架構的關鍵方面,但是該方案怎么才能工作呢?我們為此專門采訪了OpenLegacy的Zeev Avidan。 對于不堪遺留基礎架構重負,并尋找出路的企業而言,應用程序接口成為越來越有吸引力的方案。
Zeev Avidan,OpenLegacy的產品副總裁,探討了使用API來現代化遺留基礎架構的典型方案,討論了在這些方案中為什么RESTful API如此重要,以及很多企業的“遺留”基礎架構實際上都比他們意識到的更有價值的原因。
使用API現代化遺留基礎架構時的典型方案有哪些?
Zeev Avidan:這里有兩種方案。最常用的方案是:使用常規面向服務架構(SOA)和遺留系統里已經存在的連接器,……在端點上添加API連接器,或者API層。我們實際不太喜歡這種方案——因為這并不是移動優先的方案。
因此另一種方案是使用API架構,這意味著某個API直接連接到后臺遺留系統。它并不需要安裝在遺留平臺上,但是它就是遺留系統。對于帶有不同“封裝”的各個系統,無需將不同的服務和本地服務集成,我們認為這樣的集成并不適合移動優先的戰略。
這么做使用哪種API?Avidan:現在當你提到API時,通常指的是RESTful API -- 這已經是事實標準。也有不同的類型……但是通常是指使用JSON協議的RESTful API。
我們本身提供API,但是也可以更進一步,自動生成軟件開發包——可能是iOS,Swift或者Java for Android,他們封裝了這些API,因此并不僅僅是API的功能。移動開發人員還可以將這些SDK作為全功能生命周期版本。因此可以深入到API層面,但是也可以更進一步,的確能夠提供圍繞API的SDK功能性。
使用RESTful API完成應用現代化改造是否總能成功,哪怕遺留系統使用的是過時技術?Avidan:這取決于實際情況……比如,當我們說,“主機是遺留系統”時,實際上并不是這么回事。即使在主機上,你也完全可以使用最新最好的技術,比如,Java,REST API和JavaScript。
它實際上取決于后臺如何構建。比如,如果你使用的是“綠屏”系統,我會說,這絕對屬于遺留系統……如果你通過API暴露功能,那么通常你已經封裝了認證層。如果你有COBOL程序,……那么你可以直接運行它們并將其封裝成API。這樣的話,問題其實并不嚴重,……它是COBOL事務,而不是Java事務,但是本質上是同一類技術。
你是否發現企業的遺留系統實際上比他們認為的能力更強?Avidan:絕對是。對于很多客戶而言,他們精心啟動項目,完成遺留系統遷移,但是并沒有意識到,如果他們使用相同的平臺而選擇遷移應用的話,那么只需要使用一小部分花費, 就能夠利用現有的遺留系統實現相同的功能。
但是我認為很多客戶憂慮的是技能上的缺失。沒有足夠熟悉COBOL或者主機組裝的技術人員,但是你絕對能在主機上運行基于Java的應用,從而獲得之前投資的所有收益。我認為會有很長一段時間,很多企業意識不到這一點,而選擇遷移。但是從費用的角度看,他們完全可以花更少的錢達到更好的結果。不過我認為現在他們正越來越多得認識到這一點。