2020年,爲何咱們應該使用abapGit代替SAPLink

SAPLink是一個幫助人們分享開發內容的工具。經過它,人們能夠將ABAP開發對象從一個系統打包下載、再上傳到另外一個系統中。對於各類類型的開發者,它均可以起到做用:html

  • 有的開發者喜歡在不一樣的項目中複製類似的程序、修修改改以實現快速實施。
  • 有的開發者野心勃勃,但願開發本身的特定問題解決方案。
  • 有的開發者但願從網絡獲得現成的示例程序,幫助本身學習。

恐怕絕大部分ABAP開發者都使用過或者據說過SAPLink,所以這裏再也不對它的作過多介紹。可是,也許有一部分人還不瞭解他的替代品:abapGit。本文試圖解釋,爲何咱們應該是用abapGit替代SAPLink。git

 

本文連接:http://www.javashuo.com/article/p-ceutxzxy-gp.htmlgithub

轉載請註明數組

SAPLink的侷限性

SAPLink的基本功能是把指定的開發對象序列化成爲特定格式的文件,以及反過來把文件反序列化在系統中生成相應的開發對象。這一功能的概念在2020年的今天並不過期,但在具體的實現上,它是有一些問題的。服務器

安裝成本

SAPLink的安裝須要遵循一些步驟,對於新人來講可能不是特別簡單。我已經屢次遇到SAP系統中的SAPLink不可用的狀況,並被相關開發人員告知「不知道爲何不能用,多是安裝問題」。網絡

功能不完善

越過了安裝問題後,另外一個難關是在實際使用中它不時會出現一些問題,有時是不支持某種類型的開發對象,須要安裝插件,有時是導入中的dump,有時是導入後的對象錯誤。分佈式

無人維護

軟件總會有不完美的地方,但若是沒有了維護者,那就意味着它的各類問題不會再獲得改善。現在,當咱們訪問本來是SAPLink的網站saplink.org,咱們會被重定向至一個Github頁面:https://github.com/sapmentors/SAPlink,由此咱們能夠得知這一項目其實已經再也不被維護,而它的繼任者爲abapGit。ide

abapGit的優點

abapGit繼承了SAPLink的基本功能——將開發對象上傳下載,同時有着更多的優點。函數

易於安裝

abapGit是一個單文件報表程序,所以開發者只須要在SE38新建文件,複製粘貼代碼,激活便可安裝abapGit。(這一點在新版的abapGit中稍有變化,不過總體來講難度仍是很簡單)工具

豐富的對象支持

abapGit支持上百種開發對象,並且它的表現十分可靠,對於經常使用的開發對象如類、數據字典、函數組、屏幕,我從未見過它出錯。

穩定的維護者

abapGit是迄今爲止最大的ABAP開源項目,它有着90+貢獻者,3000+的提交次數,100000+行代碼,項目的全部者larshp是我見過的精力最旺盛的ABAP開發者。這意味着abapGit能夠持續地發展和改進,用戶也能夠爲本身遇到的問題提issue請求協助。

良好的生態

abapGit獲得了廣大開發者和SAP的支持,經過abapGit開發者能夠利用豐富的ABAP開源資源,也能夠參與其中,貢獻本身的項目、代碼或思考。不少大公司在使用abapGit,包括SAP自己。你甚至能夠在SAP的官方文檔找到abapGit的中文教程:使用 abapGit

 

Q & A

一些常見問題。

Git是什麼,Github又是什麼?

Git是一種分佈式版本管理系統。

abapGit是用於處理SAP開發對象的Git客戶端,下載/上傳開發對象是它的功能之一。

Github是一個網站,它提供了代碼倉庫的功能,不少人使用Github來在線存儲/分享代碼,目前大部分ABAP開源項目會在Github發佈。

服務器能訪問外網是使用abapGit的必要條件嗎?

不是,儘管abapGit提供了方便的在線模式,開發者依然能夠經過離線模式像使用SAPLink那樣經過上傳下載文件的方式導出和導入開發對象。

若是開發者所在的公司防火牆內有Git代碼倉庫,好比本身搭建的Gitlab,也能夠經過abapGit鏈接它,把代碼傳輸到上面。

abapGit會致使個人代碼泄露嗎?

有人懷疑使用abapGit以後,本身的代碼可能會不聲不響地出如今Github之類的網站上。在看過上一個問題後,有這種疑問的讀者應該會明白這是不可能的。

abapGit就像一個運鈔車,它能夠方便地運輸大量鈔票,但這不表明車上的鈔票會自動跑到汽車交易平臺。運到何處,司機(開發者)能夠自行控制。

也能夠經過權限控制,限制能使用abapGit的用戶。

我要怎樣安裝abapGit?

上文已經說過,abapGit是一個單文件報表程序,所以開發者只須要在SE38新建文件,複製粘貼代碼,激活便可安裝abapGit。代碼能夠從官方文檔獲取:

https://docs.abapgit.org/guide-install.html

怎樣利用開源資源?

前往http://www.javashuo.com/tag/github.comdotabap.org查找你想用的東西,好比geohash,使用clone or download下載zip包,

而後在abapGit中create-import-pull便可。參考官方文檔:

https://docs.abapgit.org/guide-import-zip.html

 

abapGit有什麼缺點嗎?

在深刻應用abapGit以後,一些開發者提出過使用它時遇到的一些問題,好比:

  • 因爲SAP開發模式的特殊性,很難使用Git的分支功能。參考《abapGit分支策略》,這篇文章的英文原文中有不少討論。
  • abapGit對對象的上傳下載是基於包的,這意味着若是開發者想上傳下載的開發對象是跨包的,那麼可能須要處理包含這兩個包的父包。除非包與包之間的隔離很好(這在二次開發中不多見),那麼最終可能會演變成必須有一個包含全部對象的總包,能夠想象,上傳下載這個總包會花費大量的資源,甚至可能遇到內存不足、超時等狀況...
  • 少數類型的對象沒有被支持。

但這些問題基本都是在一些複雜的使用場景纔會出現,並且社區也在試圖解決。它們絲絕不影響abapGit替代SAPLink的能力。

 

擴展閱讀:

SAPlink – Thankyou

abapGit Branching Strategy Discussion

How we do ABAP code review using abapGit

相關文章
相關標籤/搜索