亚洲一级免费看,特黄特色大片免费观看播放器,777毛片,久久久久国产一区二区三区四区,欧美三级一区二区,国产精品一区二区久久久久,人人澡人人草

java語言

SAP與JAVA接口技術研究與應用

時間:2025-05-03 04:33:31 java語言 我要投稿
  • 相關推薦

SAP與JAVA接口技術研究與應用

  導語:SAP系統架構之下的組件數量龐大,各個組件間需要無縫地銜接,而且開放性的SAP系統還要實現與其他系統平臺隨時通信,讓用戶感覺只是在一個系統中進行工作。下面就由小編為大家介紹一下SAP與JAVA接口技術研究與應用,歡迎大家閱讀!

SAP與JAVA接口技術研究與應用

  一、SAP系統接口技術

  (一)SAP RFC接口技術

  RFC是遠程函數調用的縮寫,是SAP系統之間以及SAP與外部系統之間程序通信的基本接口技術,諸多其他更高層的SAP接口和通信技術,如BAPI,ALE等,都是基于RFC實現的。是SAP公司最早提供的與其他系統的接口解決方案。

  在系統間通信過程中,需區(qū)分發(fā)送系統和接受系統。RFC調用請求從發(fā)送系統中傳至接受系統,其中發(fā)送請求的系統在通信過程中又稱為RFC客戶端,通信的另一方則稱為RFC服務器。RFC客戶端發(fā)起遠程功能調用以執(zhí)行RFC服務器提供的功能。其中調用系統和被調用系統可以是SAP系統或非SAP系統,此外還可以在SAP系統內部將特定的應用服務器指定為目標系統。

  RFC方式簡單易行,它只需要通過Java將所需參數傳遞給RFC,SAP會自動將結果集返還給Java的List、Vector等可以用于存儲數據的方法。

  (二)BAPI(Business AppIication Programming Interface)接口技術

  BAPl是指SAP中經過精確定義的業(yè)務應用的數據和處理接口。SAP采用了Object―Oriented技術,邏輯定義了系統的所有功能目標,并且將所有的目標和BAPIs存儲于企業(yè)目標庫BOR,借助于BOR和BAPI,整個SAP系統中的業(yè)務對象均可以通過面向對象的視圖進行組織,并使用BAPI進行訪問操作。在SAP內部組件及SAP與非SAP組件之間的技術整合和業(yè)務數據交換過程中起著非常重要的作用。SAP通過BAPI實現組件間的信息和數據交換,并通過該標準接口把整個系統鏈接為一個整體。

  BOR能提供的目標類相當于程序設計語言中的Class概念,其定義的接口主要包括基本數據和接口界面;緮祿怂心繕祟惖耐ㄓ脤傩裕涌诮缑姘ㄖ髯侄、方法、特征、事件等功能。

  (三)ALE-IDoc接口技術

  ALE(Application Link and Enabling)應用連接授權,是專門為SAP與SAP之間所設計的整合中間件,它采用分布――集成式的SAP系統實現基礎,包括經系統控制的業(yè)務消息交換以及松散連接的SAP系統間的數據一致性管理。在ALE中,系統間的數據集成過程并不是通過共享一個中心數據庫,而是通過異步或同步傳輸從而實現了業(yè)務分布化,管理集中化,即使接受方網絡中斷,在下一個連通時刻,數據仍可發(fā)送到目的系統。從技術角度來說,ALE主要應用于兩個有業(yè)務聯系的SAP系統之間的數據同步,但也支持在SAP和非SAP系統間的數據同步的實現。

  二、SAP與Java程序的接口分析應用

  (一)JCO與JAVA連接

  1.建立連接池。連接池的創(chuàng)建通過調用JCO方法addClientPool()來實現。

  2.創(chuàng)建原數據。原數據對象通過調用方法createRepository()來創(chuàng)建。原數據對象包含了所有在運行期間函數組的其中的數據。

  3.創(chuàng)建函數模版。函數模版對象通過調用方法getFunctionTempIate()獲得。

  4.創(chuàng)建函數。通過調用方法getFunction()創(chuàng)建函數對象。

  5.獲取連接。通過調用getClient()從連接池中獲取連接對象。

  6.提供輸入參數。通過調用getImportParameterList()給函數賦輸人參數值。

  7.執(zhí)行函數。通過調用方法execute()來執(zhí)行函數。

  8.獲取結果集。通過調用方法getExportParameterList()獲取RFC的結果集。

  9.斷開連接池。通過調用方法removeClientPool()來斷開連接。

  (二)接口性能優(yōu)化

  1.因為連接池中的連接是可重用和可保持的,所以可以降低系統開銷,最大并發(fā)連接數量的限制避免過多地占用SAP系統的資源,盡管如此,也不要使用過小的最大并發(fā)連接數從而造成應用系統的性能瓶頸,為了容納由應用系統造成的額外負載,SAP系統要經過一些配置。

  2.使用一個新的function對象時,為了提高性能而重用已有的function對象,不僅是多于的,而且還很危險,因為JCo的Repository為每個function模塊緩存了元數據,如果重用一個含有表參數的function,而這個function中的表中的行數據沒有被清除,那么更多的行數據會添加到這個表上,從而會造成錯誤的結果,這是使用一個新的function對象時要注意的。

  3.只需使用一個Repository對象,因為Repository對象可以動態(tài)重新得到SAP function模塊中的元數據并重新緩存,所以使用一個就夠了,如果使用過多的Repository對象,會降低應用系統和SAP系統的性能

  4.應用系統只使用了function中的一小部分參數,為了提高性能,可以使用setActive()方法將那些應用程序不使用的參數設置為非活動狀態(tài),包括Table Parameter、ParameterList以及JCO.Request對象

  5.添加多行數據到JCO的Table對象中時,使用appendRows方法代替appendRow()方法,這樣可以提高性能

  6.為了提高性能,JCO只在訪問連接池和Repository對象時采取同步,其他的操作都是異步的,在多線程的環(huán)境下,不同線程之間共享對象(比如Table對象)是值得警惕的,并且一個連接對象是不能共享訪問的,這樣導致發(fā)生異常Exception

  三、結論

  JCO是一個高性能的,基于JNI的中間件,它實現了SAP的RFC協議。當用戶面臨流程或者數據整合方面的需求的時候,就迫切需要一種高效的方式,在SAP系統和Java平臺之間實時地交換數據。本文主要通過對SAP接口和JCO組件的重點介紹,讓大家對此類接口有一個直觀的認識,為日常接口開發(fā)工作提供參考。

【SAP與JAVA接口技術研究與應用】相關文章:

Java接口介紹05-08

Java圖形用戶接口03-19

Java語言接口interface02-07

java語言的接口與繼承02-26

Java的抽象和接口03-31

介紹Java array接口01-13

java面向接口編程08-01

Java接口是什么07-21

關于Java各種接口的介紹04-13