Harici Sistemler(Non-SAP) ile SAP Entegrasyonu

Şirketler süreçlerini dijitalleştirmek için bütün sistemlerini haberleştirmek ister. SAP standart arayüzleri bu noktada harici sistemleri SAP’a bağlanma olanakları sağlar.

 Harici Sistemler(Non-SAP) ile SAP Entegrasyonu

Harici sistemler SAP’a nasıl entegre edilebilir ve ERP sistemi hangi arayüzleri sunar?

Şirketler süreçlerini dijitalleştirmek için bütün sistemlerini haberleştirmek ister. SAP standart arayüzleri bu noktada harici sistemleri SAP’a bağlanma olanakları sağlar. SAP arayüzleri, diğer tüm yazılımların ve diğer çözümlerin SAP sistemi ile veri alışverişi yapmasına izin verir. Veri alışverişi için mevcut her arabirimin avantajları ve dezavantajları vardır.

 Burada entegrasyon için önemli arayüzleri sunuyoruz ve temel işlevlerini anlatıyoruz. Birçok entegrasyon yöntemi olsa da sık kullanılan yöntemler şunlardır;

  • RFC (Remote Function Call)
  • BAPI (Business Application Programming Interface)
  • IDoc (Intermadete Document)
  • SOAP (Simple Object Access Protocol)
  • REST
  • SAP HANA
  • OData (SAP Gateway)

1.   RFC (Remote Function Call)

Non-SAP => SAP ve SAP => SAP arasında kurulan iletişim en temel yoludur. SAP’ın kendine özgü arayüzüdür. RFC arayüzleri sıklıkla SAP sistemler arasında iletişim kurmak için kullanılır. Basitçe söylemek gerekirse, RFC bir uzak işlev çağrısıdır. Entegrasyon için RFC arayüzleri bugüne kadar SAP R/3 ten beri kullanılmaktadır.

RFC ile haberleşmede, bir RFC istemcisi ve bir RFC sunucusu vardır. Burada istemci sunucuda bir işlevi çağırır ve işlev uzaktaki sistemde yürütülür. 6 farkı RFC connection çeşittir vardır;

  1. ABAP Connections : SAP sistemleri arasında haberleşme için en çok kullanılan bağlantı türüdür. Bu iletişim modelini kullanacaksak hostname ve communicate servis bilgileri girmemiz gerekiyor.
    1. TCP/IP Connections : Çok kullanılan diğer connection tipi olan TCP/IP,  Non-SAP veya SAP sistemlerinin başka bir SAP sistemi ile aralarında haberleşmesini sağlar.
    1. HTTP Connections TO External Server : SAP sistemi ile HTTP server arasında bağlantı için kullanılır. Örneğin SAP sisteminde Google web serverları arasında bağlantı kurulabilir.
    1. Internal Connections : SAPsistemi tarafından varsayılan olarak atanmıştır ve değişiklik yapılmaz. ABAP sisteminin, aynı sistem içinde aynı veritabanına bağlanacağını ifade eder. İçindeki giriş, SM51  T-Code ile görebileceğiniz SAP uygulama sunucusuna aittir.
    1. Logical Connections : Üzerinde user ve password bilgileri barındırmayan, başka bir connection ı referans gösteren bağlantıdır. User logon bilgileri referans sistemde bulunmaktadır.
    1. Connections via ABAP Driver : Özel olarak kurulan bu connection ABAP driver ların kurmak için kullanılır.

2.   BAPI (Business Application Programming Interface)

BAPI (ler) temel kavramı nesne yönelimidir. BAPI (ler), iş nesnelerini harici sistemlerin erişimi için SAP sisteminde kullanılabilir hale getirir.
Teknik olarak yöntem, RFC arayüzleri temelinde çağırılır.

BAPI (ler) standart nesneleri yaratma, okuma, güncelleme ve silme (CRUD) işlemleri için kullanılır. Örneğin ilgili BAPI ile sipariş oluşturulabilir, sipariş bilgileri okunabilir, siparişe malzeme eklenebilir veya silme işlemi yapılabilir.

3.   IDoc Mesajları

IDoc (Ara Belge) bir SAP dosya formatıdır ve işlem verilerinin aktarılması için tasarlanmıştır.Bir IDoc’un yapısı IDoc türüne göre belirlenir ve dosyadaki alanların tam uzunluğunu ve konumunu tanımlar. IDoc, bir başlık satırına, herhangi bir sayıda veri segmentine ve durum kaydına bölünmüştür. RFC arayüzlerin aksine, IDoc üzerinden iletişim her zaman eşzamanlı değildir.

Gönderen, IDoc tipinin spesifikasyonuna göre verilerle bir IDoc oluşturur ve bunu hedef sisteme aktarır. Alıcı sistem, IDoc’u kabul eder ve IDoc’lar için işlem arabelleğine ekler, buradan belgelerin arka arkaya işlenmesini sağlar. IDoc’lar çok eski ve kanıtlanmış bir iletişim yöntemidir ve özellikle ana verilerin ve kayıtların aktarılması için uygundur. İki farklı IDoc alt işlemi vardır;

  1. EDI (Electronic Data Interchange) : SAP bir sistemden SAP olamayan (Non-SAP) bir sisteme veri transferi işlemidir.
    1. ALE (Application Link Enabling) : SAP bir sistemden SAP bir sisteme veri transferi işlemidir.

4.   SOAP (Simple Object Access Protocol)

SOAP web hizmetleri, SAP’yi farklı sistemlere bağlamak için en yeni teknolojilerden biridir. SAP 7.0 sürümünden ve SAP NetWeaver’ın piyasaya sürülmesinden bu yana, Web hizmetleri arayüzler için standart hale gelmiştir. En temel anlamda, internet üzerinden küçük miktarda bilgileri ya da mesajları aktarma protokolüdür. SOAP, XML tabanlı kullanıma mecbur bırakır. Bu konuda esnek değildir.

SOAP saf bir web teknolojisidir ve işlevler HTTP protokolü kullanılarak çağırılır. RFC İşlevleri, SOAP arabirimi aracılığıyla da kullanılabilir hale getirilebilir. İstemci, WSDL dosyası (Web Service Description Language) aracılığıyla, işlevler ve parametreleri hakkında ayrıntılı bilgi alır. WDSL dosyası, tanımlı bir URL aracılığıyla da alınabilir.

5.   REST API

REST (Representational State Transfer) istemci-sunucu arasında hızlı ve kolay şekilde iletişim kurulmasını sağlayan bir servis yapısıdır. SAP Gateway, birkaç yıldır ABAP işlevlerini ve RFC arayüzlerini bir REST API biçiminde sağlama işlevine sahiptir.

REST, SOAP’a göre bazı avantajlara sahiptir, ancak aynı zamanda HTTP protokolü aracılığıyla bir işlev çağrısı olduğu için teknolojide benzerdirler. SOAP ile karşılaştırıldığında, REST’in çeşitli platformlardan çağrılması daha kolaydır ve söz dizimi kolay okunabilirdir. Verileri JSON veya XML biçiminde aktarır ve kaynakları korur.

SOAP ve REST API Karşılaştırma SOAP REST
Güvenlik Sağlamak Kolay, hızlı ve güçlü Karmaşık ve zayıf
Data Yapısı XML JSON, XML hatta TEXT
Uygulama Hızı REST’e göre yavaş SOAP’a göre hızlı
Destek Geliştirici araçları ve yardımcı doküman çoktur. SOAP’a göre yardımcı doküman azdır.
Çalışma Yapısı SOAP servisleri RPC çalışma yöntemini kullanır. State bilgisini request ve response’larda saklar. HTTP metotlarını kullanarak işlerini görür. (GET, POST, PUT, DELETE vs.)
REST mimarisi SOAP’a göre oldukça esnektir ve hafiftir, taşınan veri miktarı daha azdır, entegrasyonu da daha kolaydır.    
REST ile JSON ile daha küçük boyutlarda verilerle işlemler gerçekleştirilebiliyor. Eğer veri boyutları uygulamanız için önem arz ediyorsa REST kullanmak sizin için uygun olacaktır.    

6. SAP HANA

SAP 2013 yılında HANA platformuna geçiş yaptı ve dolayısıyla SAP HANA platformunun bellek içi veritabanını yayınladı. İlişkisel veritabanına erişim, diğer ilişkisel veritabanı sistemlerine erişimle karşılaştırılabilir, böylece bir SAP bağlantısı saf bir veritabanı bağlantısı olarak uygulanabilir hale geldi. Arayüzlenecek SAP uygulaması Non-SAP sistemle ortaklaşa aynı veritabanı tabloları ve işlevleri kullanıyorsa, veri alışverişi HANA veritabanı aracılığıyla gerçekleştirilebilir.

7.   OData (SAP Gateway)

REST tabanlı olan Odata, SAP uygulamalarındaki verileri çok çeşitli cihazlar, teknolojiler ve platformlarla anlaşarak kolay bir şekilde paylaşmasına sağlar. REST Tabanlı olduğu için yukarıda anlatılan bütün REST avantajlarından yararlanmaktadır.

OData, verileri sorgulamak ve güncellemek, çeşitli uygulamalardan gelen bilgilere erişim sağlamak için HTTP ve RSS (Really Simple Syndication) gibi web teknolojilerini uygulamak ve geliştirmek için kullanılan bir web protokolüdür.

SAP Gateway, geliştiricinin SAP iş verilerini kullanmasına yardımcı olan ve SAP’ye özgü meta verileri içeren SAP ürünleri için OData kullanır.