BİZİ ARAYIN

ERP ile Web Yazılım Entegrasyonu Nasıl Yapılır?

ERP ile web yazılım entegrasyonu nasıl yapılır? Veri akışı, API bağlantıları, güvenlik, hata yönetimi ve Netsis entegrasyonunda dikkat edilmesi gerekenleri inceleyin.

Yayınlanma:

ERP ile web yazılım entegrasyonunda asıl mesele iki sistem arasında veri göndermek değildir. Hangi verinin nerede üretileceği, hangi sistemin o verinin ana kaynağı olacağı, değişikliklerin ne zaman aktarılacağı ve aktarım başarısız olduğunda ne yapılacağı baştan belirlenmelidir.

Örneğin bir e-ticaret sitesinde ürün fiyatı, stok miktarı, cari hesap, sipariş ve fatura bilgileri aynı süreç içinde hareket edebilir. Ürün kartının ERP'den web sitesine gönderilmesi yeterli görünür. Fakat stok ERP'de değiştiğinde web sitesinin ne kadar sürede güncelleneceği, web üzerinden gelen siparişin ERP'de hangi müşteri ve depo koduyla açılacağı, iptal edilen siparişin nasıl işleneceği gibi kararlar verilmeden entegrasyon güvenilir çalışmaz.

Bu nedenle ERP entegrasyonu teknik geliştirmeden önce veri ve süreç tasarımıyla başlar.

Önce veri akışı belirlenir

İlk çalışma, sistemlerde kullanılan verilerin çıkarılmasıdır. Her veri için kaynak ve hedef açıkça tanımlanır.

Bir e-ticaret projesinde örneğin şu yapı kurulabilir:

  • Ürün kartları ERP'den web sistemine gider.

  • Fiyat ve stok bilgileri ERP'den güncellenir.

  • Web sitesinde oluşan sipariş ERP'ye aktarılır.

  • ERP'de oluşan fatura veya sevkiyat bilgisi web sistemine döner.

  • Müşteri bilgileri belirlenen kurallara göre ERP'de cari karta dönüştürülür.

Buradaki kritik soru "hangi alanı aktaracağız?" kadar "bu alanı kim yönetecek?" sorusudur.

Ürün adı ERP'de değiştirilirken web sitesindeki kullanıcı aynı ürünü düzenleyebiliyorsa bir süre sonra iki farklı doğru ortaya çıkar. Fiyat ERP'den geliyor fakat kampanya fiyatı web tarafında hesaplanıyorsa entegrasyonun hangi fiyatı hangi aşamada kullanacağı ayrıca tanımlanmalıdır.

Ana veri kaynağı belirlenmediğinde sistem teknik olarak çalışsa bile operasyon sırasında veri tutarsızlığı oluşur.

ERP ve web tarafındaki veri modelleri birebir aynı olmak zorunda değildir

Entegrasyon projelerinde sık karşılaşılan hatalardan biri, ERP tablosundaki alanları doğrudan web yazılımındaki alanlara bağlamaya çalışmaktır.

Gerçek projelerde veri modelleri çoğu zaman farklıdır.

ERP tarafında ürün; stok kodu, depo kodu, ölçü birimi, cari kod, fiyat tipi veya muhasebe kodlarıyla yönetilebilir. Web uygulaması aynı ürünü kategori, varyant, görsel, SEO adresi ve satış fiyatıyla ele alabilir.

Bu iki yapı arasında bir eşleştirme katmanı gerekir.

Örneğin:

ERP stok kodu → Web ürün kodu

ERP depo kodu → Web stok lokasyonu

ERP cari kodu → Web müşteri kaydı

ERP fiyat tipi → Web satış fiyatı

Bu eşleştirmeler mümkün olduğunca açık kurallara bağlanmalıdır. Kod içinde farklı yerlere dağılmış özel koşullar, entegrasyon büyüdükçe bakım maliyetini artırır.

Netsis kullanılan projelerde tablo yapısını bilmek özellikle önemlidir. Piasoft'un hazırladığı Netsis tablo rehberinde stok, cari, fatura, muhasebe ve entegrasyon gibi modüllerde kullanılan tablolar ayrı ayrı incelenebilir. Netsis Tabloları ve Açıklamaları rehberi

Entegrasyon yöntemi sistemin teknik imkânlarına göre seçilir

ERP ile web yazılımı arasında tek bir entegrasyon yöntemi yoktur. Kullanılacak yöntem ERP'nin sunduğu imkânlara, aktarılacak veri miktarına ve işlemin ne kadar hızlı tamamlanması gerektiğine göre değişir.

API kullanılabiliyorsa çoğu web projesinde kontrollü bir entegrasyon katmanı kurmak daha sağlıklı olur. Web uygulaması ERP'nin servislerine doğrudan bağlanabileceği gibi iki sistem arasında ayrı bir entegrasyon servisi de çalışabilir.

Bazı yapılarda ERP veritabanından veri okunması gerekebilir. Bu yaklaşım özellikle eski sistemlerde veya uygun servis bulunmadığında görülebilir. Ancak veritabanına doğrudan kayıt yazmak daha hassas bir konudur. ERP'nin kendi iş kuralları, tetikleyicileri veya belge oluşturma süreçleri atlanırsa veri teknik olarak tabloya eklenmiş görünürken ERP içinde eksik veya hatalı kayıt oluşabilir.

Dosya tabanlı aktarım da tamamen ortadan kalkmış değildir. CSV, XML veya benzeri formatlarla toplu veri alışverişi yapılan sistemler bulunabilir. Dakikalar veya saatler seviyesinde gecikmenin kabul edildiği işlemlerde bu yöntem yeterli olabilir.

Seçim yapılırken "en modern yöntem hangisi?" yerine işlemin gereksinimine bakmak gerekir.

Bir siparişin saniyeler içinde ERP'ye ulaşması gerekiyorsa zamanlanmış dosya aktarımı uygun değildir. Gece bir kez güncellenen büyük bir ürün kataloğunda ise her değişikliği anlık göndermek gereksiz yük oluşturabilir.

Gerçek zamanlı aktarım her veri için gerekli değildir

"ERP ile site anlık çalışsın" talebi kulağa net gelir, fakat teknik olarak tek bir anlamı yoktur.

Stok bazı işletmelerde saniyeler içinde güncellenmelidir. Özellikle aynı stok birden fazla satış kanalında kullanılıyorsa gecikme, mevcut olmayan ürünün satılmasına yol açabilir.

Ürün açıklaması için birkaç dakikalık gecikme ise çoğu projede herhangi bir sorun yaratmaz.

Bu nedenle farklı veri türleri farklı zamanlama kurallarıyla çalışabilir. Bazı işlemler olay gerçekleştiği anda tetiklenir, bazıları belirli aralıklarla toplu olarak aktarılır.

Burada performans da hesaba katılmalıdır. On binlerce ürün bulunan bir sistemde her senkronizasyonda bütün ürünleri yeniden göndermek yerine yalnızca değişen kayıtları aktarmak genellikle daha doğru bir tasarımdır.

Sipariş aktarımı sadece sipariş tablosuna kayıt açmak değildir

E-ticaret ile ERP entegrasyonunun en hassas bölümlerinden biri sipariş sürecidir.

Web sitesinde oldukça basit görünen bir sipariş ERP tarafında müşteri, adres, stok, depo, fiyat, iskonto, vergi, ödeme tipi, kargo ve belge bilgileriyle ilişkilendirilebilir.

Sipariş ERP'ye gönderilmeden önce bazı kuralların belirlenmesi gerekir.

Müşteri ERP'de zaten varsa nasıl bulunacak? Vergi numarası mı, e-posta adresi mi, ERP cari kodu mu kullanılacak?

Misafir kullanıcı için yeni cari kart açılacak mı?

Web sitesindeki ürün kodu ERP'deki stok koduyla eşleşmiyorsa sipariş reddedilecek mi?

Ürün ERP'de pasife alınmışsa ne olacak?

Sipariş ikinci kez gönderilirse ERP'de ikinci bir belge oluşması nasıl engellenecek?

Özellikle son soru entegrasyon tasarımında kritik bir yere sahiptir. Ağ bağlantısı kesilebilir, ERP cevap vermeyebilir veya web uygulaması aldığı cevabı kaydedemeden işlem yarıda kalabilir. Aynı sipariş yeniden gönderildiğinde sistem bunun yeni sipariş mi yoksa önceki işlemin tekrarı mı olduğunu anlayabilmelidir.

Bunun için web sipariş numarası gibi değişmeyen bir referans kullanılarak tekrar kayıt oluşturulması engellenebilir.

Hata yönetimi entegrasyonun parçasıdır

Entegrasyonun gerçekten sağlam olup olmadığı her şey düzgün çalışırken değil, bir şeyler bozulduğunda anlaşılır. İnsanlığın yazılıma değişmez katkılarından biri de hatanın en uygunsuz anda ortaya çıkmasıdır.

ERP geçici olarak erişilemez olabilir. Bir ürün kodu eşleşmeyebilir. Cari kart oluşturulamayabilir. Yetkilendirme anahtarının süresi bitebilir. Web sitesindeki veri ERP'nin kabul ettiği biçime uymayabilir.

Bu tür durumlarda entegrasyon işlemi sessizce kaybetmemelidir.

Başarısız kayıt saklanmalı, hata nedeni görülebilmeli ve uygun işlemler yeniden denenebilmelidir. Örneğin ERP bağlantısı birkaç dakika kesildiyse başarısız siparişler kuyruğa alınarak bağlantı geri geldiğinde tekrar gönderilebilir.

Verinin kendisi hatalıysa tekrar denemek çözüm değildir. Stok kodu ERP'de bulunmayan bir siparişi yüz kere göndermek yalnızca yüz kere aynı hatayı üretir. Böyle durumlarda kayıt müdahale bekleyen hata olarak işaretlenmelidir.

İyi bir entegrasyon sistemi teknik hata ile veri hatasını birbirinden ayırır.

Log tutmadan entegrasyon yönetilmez

Bir müşteri "sipariş ERP'ye düşmedi" dediğinde cevap verebilmek için işlemin izini görmek gerekir.

En azından şu bilgiler kayıt altında tutulmalıdır:

  • İşlemin ne zaman başladığı

  • Hangi kayıt üzerinde çalışıldığı

  • Hangi sisteme gönderildiği

  • İşlemin başarılı olup olmadığı

  • Hata oluştuysa hata bilgisi

  • Gerekliyse ERP veya hedef sistem tarafından döndürülen kayıt numarası

Log sisteminin kendisi de kontrolsüz veri deposuna dönüşmemelidir. Parola, erişim anahtarı, kart bilgisi veya gereksiz kişisel verilerin loglara yazılması güvenlik riski yaratır.

Operasyon ekibinin teknik log dosyalarını açmadan temel entegrasyon durumunu görebildiği bir yönetim ekranı da ciddi zaman kazandırır. Bekleyen, başarılı ve hatalı kayıtların görülebildiği basit bir ekran çoğu projede onlarca destek yazışmasını engeller.

Güvenlik ERP'nin internete açılması anlamına gelmemeli

Web sistemi internet üzerinden çalıştığı için entegrasyon tasarımında ERP'nin bulunduğu iç ağ ayrıca korunmalıdır.

ERP veritabanını doğrudan internete açmak doğru bir entegrasyon modeli değildir.

Bağlantı mümkün olduğunca sınırlandırılmış servisler üzerinden kurulmalı; kimlik doğrulama, yetkilendirme ve ağ erişim kuralları uygulanmalıdır. Kullanılan hesabın bütün ERP verilerine sınırsız erişmesi yerine yalnızca ihtiyaç duyduğu işlemleri yapabilmesi tercih edilir.

API anahtarları ve bağlantı bilgileri kaynak kodun içine açık şekilde yazılmamalıdır. HTTPS üzerinden şifreli iletişim kullanılmalı, erişim bilgileri güvenli biçimde saklanmalı ve gerektiğinde değiştirilebilmelidir.

ERP kişisel veri, cari hesap, fiyat veya finans bilgisi taşıyorsa loglama ve yedekleme tasarımında da aynı hassasiyet devam etmelidir.

Canlıya geçmeden önce gerçek senaryolar test edilmelidir

"Bir ürün gönderdik, geldi" entegrasyon testi değildir.

Normal sipariş kadar sorunlu sipariş de denenmelidir.

Aynı sipariş iki kez gönderildiğinde ne olduğu, ERP kapalıyken oluşturulan siparişlerin nasıl işlendiği, stok kodu bulunmadığında sistemin verdiği tepki, çok satırlı siparişler, farklı vergi ve iskonto durumları, iptal ve iade işlemleri test kapsamına alınmalıdır.

Veri hacmi de önemlidir. On ürünle hızlı çalışan entegrasyon, binlerce ürün işlendiğinde aynı sonucu vermeyebilir.

Canlıya geçiş sırasında eski verinin aktarılması gerekiyorsa başlangıç senkronizasyonu ayrı planlanmalıdır. Aktif ürünlerin tamamının ilk kez aktarılmasıyla günlük değişikliklerin senkronize edilmesi aynı işlem değildir.

Netsis ile web yazılım entegrasyonunda neye dikkat edilmeli?

Netsis kullanan işletmelerde entegrasyonun kapsamı firmanın kullandığı Netsis ürünü, modüller ve mevcut süreçlere göre değişebilir. Stok, cari, sipariş ve fatura yapıları incelenmeden standart bir entegrasyon şeması çıkarmak doğru olmaz.

Önce Netsis'teki mevcut veri yapısı ve iş kuralları belirlenir. Ardından web sistemindeki karşılıkları çıkarılır. Veri eşleştirmeleri, aktarım yönleri ve hata senaryoları bundan sonra tasarlanır.

Netsis'in işletmelerde hangi süreçleri kapsadığını daha geniş çerçevede incelemek isteyenler Netsis ERP rehberine bakabilir. ERP kavramını ve temel çalışma yapısını incelemek için Piasoft'un ERP Nedir ve Nasıl Çalışır? içeriği de ilgili bir başlangıç noktasıdır.

Piasoft ERP ve web entegrasyonunu nasıl ele alır?

ERP entegrasyonu tek başına bir API geliştirme işi olarak ele alındığında projenin önemli bölümü eksik kalır. İhtiyaç analizi, teknik planlama, geliştirme, test ve yayın sonrası bakım aynı sürecin parçalarıdır. Piasoft'un kendi proje yaklaşımı da ihtiyaç analiziyle başlayıp planlama, uygulama, test, yayın ve destek aşamalarıyla devam eder.

Piasoft; mevcut ERP veya Netsis yapısını, web yazılımını ve işletmedeki gerçek operasyonu birlikte değerlendirerek entegrasyon mimarisini oluşturabilir. Stok ve fiyat senkronizasyonundan sipariş aktarımına, özel web servislerinden yönetim panellerine ve hata takip mekanizmalarına kadar ihtiyaç duyulan yapı projeye göre geliştirilebilir.

Amaç iki yazılımı birbirine bağlamış görünmek değildir. Siparişin nerede kaldığının bilindiği, verinin neden değiştiğinin takip edilebildiği, hatalı işlemin kaybolmadığı ve yeni ihtiyaç çıktığında sistemin baştan yazılmasını gerektirmeyen bir entegrasyon kurmaktır.

ERP ile web yazılımı arasındaki veri akışı bu şekilde tasarlandığında entegrasyon günlük operasyonun görünmez bir parçasına dönüşür. İdeal durumda kullanıcı entegrasyonu fark etmez; yalnızca stokların, siparişlerin, müşterilerin ve belgelerin olmas gereken yerde olduğunu görür.