Blog Series: İnsan Kaynakları Yönetimi
Murat Alcal | Aralık 13, 2021

SAP SuccessFactors ve Üçüncü Taraf Sistemleri Arasında Entegrasyon

SAP SuccessFactors Entegrasyonu Üzerinde Çalışan Danışman

Bu blog yazımda, üçüncü taraf sistem veri replikasyonları/veri tabanı bakımı ve kullanıcı yönetimi/bakım entegrasyonları ile ilgili geçmiş deneyimlerimi ve bazı tasarım örneklerini sizler ile paylaşacağım.

Aşağıdaki örneklerde hem SAP SuccessFactors hem de SAP Cloud Integration (CPI) fonksiyonları kullanılmaktadır.

Kurum içi dijital öğrenme hizmeti sağlayan üçüncü taraf yazılımı ile SAP SuccessFactors arasında gerçekleştirdiğimiz “Kullanıcı Hesap Yönetimi” ve ters yönlü olarak gerçekleşen “Eğitim/Aktivite Tarihçesi” entegrasyonlarıdır. Aşağıda, kurduğumuz tasarıma ilişkin “High-Level” (Özet) bir veri akış şeması bulunmaktadır.

Platformlar Arası “High-Level” (Özet) Veri Akışı Şeması

Kullanıcı Hesaplarının Yönetimi

Üçüncü taraf yazılımındaki kullanıcı hesaplarının statüleri ve bilgileri SuccessFactors içerisinde gerçekleştirilen operasyonel süreçler aracılığıyla kontrol edilmektedir.

• Employee Hire/Recruit (Çalışan İşe Alımı) (User Create)
• Employee Data Changes (Çalışan Veri Değişiklikleri) (User Update)
• Employee Termination (İstihdam Feshi) (User Disable)
• Employee Rehire (Çalışan Yeniden İşe Alımı) (User Update)

Yukarıda belirtilen her bir veri operasyonunun ardından, (Çalışan Veri Değişiklikleri haricen tutulmakta) “Intelligent Services Centre” (Akıllı Hizmetler Merkezi) aracılığıyla etkinliğe dayalı bir entegrasyon (“Integration Centre” (Entegrasyon Merkezi) içerisinde tanımlı) tetiklenmektedir.

• Trigger Type (Uyarıcı Türü): Intelligent Services (Akıllı Hizmetler)
• Destination Type (Hedef Türü): REST
• Source Type (Kaynak Türü): SuccessFactors
• Format (Biçin): XML

“SOAP” yerine “REST” (Temsili Durum Transferi (Representational State Transfer)) protokolünü tercih etmememizin bazı temel sebepleri aşağıdaki gibidir;

• “JSON” biçiminde veri çıktısı kullanmasak bile yine de “REST” protokolünü tercih etmemizin en önemli sebeplerinden biri veri işleminin CPI üzerinden daha hızlı gerçekleşiyor olmasıdır
• Aynı zamanda, SuccessFactors entegrasyon merkezi aracılığı ile gerçekleştiremediğimiz belirli özelleştirmeleri de CPI üzerinde yapmak istediğimiz zaman bizlere daha dinamik bir yapı sunmaktadır.

Zıt Yönlü Veri Entegrasyonu – Sistemler/Platformlar arası Benzersiz Veri Tanımlayıcılarını Eşleştirmek

Bazı durumlarda, sahip olduğumuz sistem ve bağlantı kurmak istediğimiz dış sistem, kullanıcı hesapları için aynı benzersiz tanımlayıcı bilgisine sahip olmaz. Örnek olarak kullandığımız entegrasyon kurgumuzda, dış sistem SuccessFactors sisteminin “Kullanıcı Adı” bilgisini farklı bir formatta kullanmaktaydı. Bu durum, dış sistemden elde ettiğimiz verileri SuccessFactors sistemine geri yazmayı çok zorlamaktaydı çünkü özelleştirilmiş bir kullanıcı tabanlı MDF obje yapısı kullanmaktaydık (externalCode = user) ve veri kayıtlarını sisteme geri aktarırken SuccessFactors sistemine ait sicil bilgisine ihtiyaç duymaktaydık.

Bu nedenle, dış sisteme ait benzersiz tanımlayıcılarını, SF kullanıcı kimlikleriyle eşleştirmek ve CPI entegrasyonunu desteklemek adına bir arama tablosu oluşturduk. Bu arama tablosu, entegrasyon merkezi aracılığıyla günlük olarak güncellenmektedir. Entegrasyon Merkezi içerisinde tanımlı, SF “User” (Kullanıcı) tablosundan SF özel arama tablosuna dahili bir entegrasyon yaratıldı.

Entegrasyon Merkezi, SuccessFactors içerisinde bulunan aktif veya aktif olmayan tüm kullanıcı hesapları için özelleştirilmiş ara tabloyu yarattığı esnada, kullanıcı adları dış sistem kullanıcı adları ile eşleştirilebilmek adına tekrardan biçimlendirilmektedir.

CPI, harici sistemden SuccessFactors sistemine geri, herhangi bir kullanıcı tabanlı öğrenme içeriği yazmaya çalıştığında, CPI entegrasyonu, arama tablosundan ilgili “User ID” (Kullanıcı Sicil Numarası) numarasını arar ve ardından veriyi iletir.

Entegrasyon Monitörü ve Veri İşlem Kayıtları

CPI entegrasyon kayıtları ile çalışırken ve onları izlemeye çalışırken genelde zaman zaman kötü bir deneyim yaşamaktayız. CPI temel olarak, belirli bir depolama kapasitesine ulaştıktan sonra entegrasyon günlüklerini sildiği için, entegrasyonla ilgili herhangi bir hatayı geri izlemeyi zorlaştırmaktadır. Bu tecrübeden yola çıkarak, bu örnek dahil olmak üzere, artık kurduğumuz entegrasyonlarda SuccessFactors dışarısına çıkmadan sistemin kendi içerisinde bulunan monitör etme kabiliyetlerini genişletip bundan faydalanmaktayız.

1. “Intelligent Services Centre” (ISC) (Akıllı Hizmetler Merkezi) ve “Integration Centre” (Entegrasyon Merkezi) fonksiyonlarının kullanımı, veri akış süreçlerinin teknik olarak hata alıp almadığının “Execution Manager Dashboard” (Çalıştırma Yöneticisi Gösterge Tablosu) aracılığıyla monitör edilebilmesine olanak kıldı.

2. Ayrıca, her bir veri akışının detaylı olarak monitör edilebilmesi için SuccessFactors’ün “Metadata Framework” içerisinde özelleştirilmiş bir veri tablosu oluşturduk.

Bahsetmiş olduğumuz özelleştirilen tablodan bir kayıt örneği (“S1” olarak dönen sonuç “Başarılı” bir veri akış statüsünü temsil etmektedir.)

CPI, SuccessFactors üzerinden gelen veriyi 3. taraf sistemine ilettikten sonra, dış sistemden geri dönen cevabı SuccessFactors üzerinde bulunan özelleştirilmiş tabloya yazmaktadır. İzlediğimiz bu veri akışı, sistem yöneticilerinin süreci monitör etmesini büyük bir oranda kolaylaştırmaktadır. (Özelleştirilen tablo üzerinden oluşturulacak bir sistem raporu veya verilerin dışa aktarımı gibi metotlar da kullanılabilir)
Aynı zamanda, “Admin Alerts”, (Yönetici Uyarıları) fonksiyonu sayesinde, CPI üzerinden dönen belirli kayıt statülerinde sistem uyarısı üretmekteyiz.

• “Alert” (Uyarı) bildirimi, iş akışına atanan süreç sorumlularını e-mail aracılığıyla bilgilendirir
• Aynı zamanda, bildirim alıcılarının ana sayfasında da bir “To-do” (Yapılacak İşler) yaratır.

Sonuç olarak, birden fazla sistemin birbiriyle konuşmasını sağlamak için çeşitli alternatifler var ancak hem danışmanlar hem de sistem yöneticileri için bakım ve monitör etme görevlerini azaltmayı amaçlamak her zaman uzun vadede en sağlıklısı olmaktadır.

 

Yukarıda bahsedilen bazı noktaların nasıl gerçekleştirileceği konusunda aşağıdaki resmi SAP belgelerini de referans olarak kullanabilirsiniz;

Integrating SAP SuccessFactors Employee Central with Microsoft Active Directory (SAP Cloud Integration)

SAP SuccessFactors Employee Central OData API: Reference Guide

SAP SuccessFactors HXM Suite OData API: Reference Guide (V2)

Implementing Employee Central Core

Implementing the Metadata Framework (MDF)

Intelligent Services Center

Integration Center

SAP Cloud Integration