Nebim V3 – OpenCart Entegrasyon Programı

Nebim V3 – OpenCart Entegrasyon Programı

ERP ve E-Ticaret Arasında Çok Kiracılı Entegrasyon Platformu

Nebim V3 – OpenCart Entegrasyon Programı, Nebim V3 ERP ile OpenCart e-ticaret altyapısı arasında veri senkronizasyonunu merkezi olarak yönetmek amacıyla geliştirdiğim çok kiracılı bir entegrasyon platformudur.

Projenin temel amacı; ERP ve e-ticaret sistemleri arasında gerçekleşen ürün, stok ve sipariş gibi operasyonların manuel müdahaleye ihtiyaç duymadan, kontrollü ve izlenebilir şekilde çalışmasını sağlamaktır.

Uygulama C#, .NET 8 ve ASP.NET Core MVC teknolojileri ile geliştirildi. Veri katmanında Microsoft SQL Server ve Entity Framework Core kullanılırken, entegrasyon işlemleri web uygulamasından bağımsız çalışan bir background worker yapısı üzerinden yürütülüyor.

Sistem tek bir firma için hazırlanmış sabit bir entegrasyon yerine, birden fazla şirketin kendi entegrasyon ayarları ve verileri ile aynı platform üzerinde çalışabileceği multi-tenant mimari üzerine kuruldu.

Diğer geliştirdiğim uygulamaları Projeler sayfasından inceleyebilirsiniz.


İçindekiler

  • Nebim V3 – OpenCart Entegrasyon Projesi
  • Projenin Amacı
  • Yazılım Mimarisi
  • Multi-Tenant Yapı
  • Entegrasyon Katmanı
  • Ürün Senkronizasyonu
  • Sipariş Senkronizasyonu
  • Stok Senkronizasyonu
  • Arka Plan Servisleri
  • Yönetim ve Operasyon Takibi
  • Veri Yönetimi
  • Güvenlik Yaklaşımı
  • Docker ve Dağıtım
  • Kullanılan Teknolojiler
  • Teknik Yaklaşım
  • Sonuç

Nebim V3 – OpenCart Entegrasyon Projesi

Nebim V3 – OpenCart Entegrasyon Programı, ERP ve e-ticaret sistemlerinin birbirinden bağımsız çalışan veri yapılarını tek bir entegrasyon platformu üzerinden bir araya getiriyor.

E-ticaret sistemleri ile ERP sistemleri arasında en önemli ihtiyaçlardan biri, iki sistemde bulunan verilerin sürekli olarak güncel tutulmasıdır.

Bu projede temel olarak:

  • ürün işlemleri,
  • sipariş işlemleri,
  • stok güncellemeleri,
  • entegrasyon ayarları,
  • operasyon geçmişi,
  • zamanlanmış işlemler,
  • şirket bazlı yapılandırmalar

merkezi bir uygulama üzerinden yönetilebiliyor.


Projenin Amacı

ERP ile e-ticaret platformları arasında manuel veri aktarımı uzun vadede ciddi operasyonel sorunlar oluşturabilir.

Örneğin:

  • ERP’de değişen stok miktarının e-ticaret sitesine aktarılması,
  • e-ticaret üzerinden gelen siparişlerin ERP’ye gönderilmesi,
  • ürün bilgilerinin sistemler arasında eşleştirilmesi,
  • başarısız işlemlerin tekrar kontrol edilmesi

gibi işlemlerin manuel yürütülmesi hem hata riskini artırır hem de operasyon ekibine sürekli yük oluşturur.

Nebim V3 – OpenCart Entegrasyon Programında bu süreçlerin mümkün olduğunca otomatik, izlenebilir ve merkezi şekilde yönetilmesi hedeflendi.

Böylece iki farklı sistem arasındaki veri akışları kullanıcıların manuel işlem yapmasına bağlı olmaktan çıkarılarak servis tabanlı bir yapıya dönüştürüldü.


Yazılım Mimarisi

Proje sorumlulukların birbirinden ayrıldığı katmanlı bir mimari ile geliştirildi.

Uygulama yapısı şu ana bileşenlere ayrılıyor:

  • Domain
  • Application
  • Persistence
  • Integration
  • Infrastructure
  • Web
  • Worker
  • Tests

Domain

Sistemin temel entity, enum ve domain modellerini içeriyor.

Application

Uygulama servisleri, entegrasyon operasyonları ve zamanlanmış işlerin koordinasyonundan sorumlu.

Persistence

Entity Framework Core, SQL Server, Identity, migration ve veri erişim işlemlerinin bulunduğu katman.

Integration

Nebim V3 ve OpenCart arasında veri alışverişini sağlayan entegrasyon adaptörleri ve senkronizasyon servisleri burada bulunuyor.

Infrastructure

Data Protection ve diğer altyapı servisleri bu katmanda yönetiliyor.

Web

ASP.NET Core MVC tabanlı yönetim ve operasyon arayüzünü içeriyor.

Worker

Arka planda çalışan entegrasyon görevlerini web uygulamasından bağımsız şekilde yürütüyor.

Bu ayrım sayesinde kullanıcı arayüzü ile arka plandaki entegrasyon işlemleri doğrudan birbirine bağlı olmadan çalışabiliyor.


Multi-Tenant Yapı

Projenin önemli özelliklerinden biri çok kiracılı – multi-tenant mimari ile geliştirilmiş olmasıdır.

Her şirket kendi:

  • entegrasyon ayarlarına,
  • kullanıcılarına,
  • servis yapılandırmalarına,
  • operasyonlarına,
  • entegrasyon geçmişine

sahip olabiliyor.

Bu sayede tek uygulama üzerinden birden fazla firmanın Nebim V3 – OpenCart entegrasyonu yönetilebiliyor.

Şirket verileri birbirinden ayrıştırılmış şekilde tutuluyor ve kullanıcıların yalnızca yetkili oldukları şirkete ait verilere erişmesi hedefleniyor.


Entegrasyon Katmanı

Sistemin merkezinde Nebim V3 ve OpenCart arasında çalışan özel bir entegrasyon katmanı bulunuyor.

Bu katman;

  • Nebim V3 ile iletişim,
  • ERP veri erişimi,
  • müşteri ve adres işlemleri,
  • bölge/şehir eşleme,
  • OpenCart veri işlemleri,
  • ürün seçenekleri,
  • sipariş aktarımı,
  • stok aktarımı

gibi farklı sorumlulukları ayrı servisler üzerinden yönetiyor.

Bu yapı entegrasyonun tek büyük servis içerisinde toplanması yerine daha yönetilebilir parçalara ayrılmasını sağlıyor.


Ürün Senkronizasyonu

Platform üzerinden ürünlerin ERP ve e-ticaret tarafındaki işlemleri merkezi olarak yönetilebiliyor.

Ürün aktarım süreçleri;

  • ürünlerin listelenmesi,
  • entegrasyon durumunun kontrol edilmesi,
  • aktarım işlemlerinin çalıştırılması,
  • güncelleme işlemlerinin takip edilmesi

gibi operasyonları kapsıyor.

Ürün seçenekleri ve varyantlarla ilgili işlemler için de ayrı entegrasyon servisleri bulunuyor.


Sipariş Senkronizasyonu

E-ticaret tarafında oluşan siparişlerin ERP sistemine aktarılması entegrasyonun kritik bölümlerinden biridir.

Projede sipariş senkronizasyonu ayrı bir servis motoru üzerinden çalışıyor.

Amaç:

  • siparişlerin kontrollü şekilde alınması,
  • ERP tarafına aktarılması,
  • aktarım sonuçlarının takip edilmesi,
  • olası hataların operasyon geçmişinde görüntülenebilmesi

gibi süreçleri merkezi hale getirmek.


Stok Senkronizasyonu

ERP tarafındaki stok bilgisinin e-ticaret platformunda güncel kalması, özellikle çok sayıda ürün bulunan yapılarda önemli bir entegrasyon ihtiyacıdır.

Nebim V3 – OpenCart Entegrasyon Programı, stok bilgilerinin arka planda çalışan servisler aracılığıyla senkronize edilmesini destekliyor.

Stok işlemlerinin kullanıcı tarafından sürekli manuel olarak başlatılması yerine belirlenen entegrasyon akışları içerisinde otomatik olarak çalıştırılabilmesi amaçlandı.


Arka Plan Servisleri

Projenin önemli teknik bileşenlerinden biri background worker mimarisidir.

Entegrasyon süreçleri yalnızca kullanıcı paneli üzerinden çalıştırılan işlemlere bağlı değildir.

Worker servisi arka planda:

  • entegrasyon görevlerini kontrol eder,
  • zamanı gelen işlemleri çalıştırır,
  • şirket bazlı ayarları dikkate alır,
  • sipariş ve stok senkronizasyonlarını yürütür.

Web paneli ile Worker aynı entegrasyon motorlarını kullandığı için manuel ve otomatik işlemlerde ortak iş kuralları korunabiliyor.


Veri Yönetimi

Platformun merkezi verileri Microsoft SQL Server üzerinde tutuluyor.

Veri erişim katmanında Entity Framework Core kullanılıyor.

Projenin veri yapısı;

  • entegrasyon kayıtları,
  • şirket bilgileri,
  • kullanıcılar,
  • kuyruk işlemleri,
  • eşleme bilgileri,
  • servis durumları,
  • operasyon kayıtları

gibi farklı veri gruplarını destekleyecek şekilde tasarlandı.

Veritabanı şeması migration yaklaşımıyla yönetiliyor ve performans gerektiren bazı operasyonlarda SQL tarafında özel yapılar da kullanılıyor.


Güvenlik Yaklaşımı

ERP ve e-ticaret sistemleri arasında çalışan entegrasyon uygulamalarında bağlantı bilgilerinin ve şirket verilerinin güvenli şekilde yönetilmesi kritik öneme sahiptir.

Projede:

  • kimlik doğrulama,
  • rol bazlı yetkilendirme,
  • tenant bazlı veri ayrımı,
  • gizli yapılandırmaların uygulama kodundan ayrılması,
  • Data Protection,
  • kontrollü servis erişimleri

gibi güvenlik yaklaşımları kullanılıyor.

Portföy sayfasında güvenlik nedeniyle bağlantı bilgileri, yönetim yolları, endpoint yapıları veya operasyonel güvenlik yapılandırmaları paylaşılmamaktadır.


Docker ve Dağıtım

Projenin web uygulaması ve Worker bileşeni container ortamında çalıştırılabilecek şekilde tasarlandı.

Docker ve Docker Compose desteği sayesinde web ve background servis bileşenlerinin birlikte yönetilebilmesi amaçlandı.

Ayrıca uygulama mimarisi gerektiğinde SQL Server ve Redis gibi altyapı servisleriyle birlikte ölçeklenebilir şekilde çalışabilecek biçimde yapılandırıldı.


Kullanılan Teknolojiler

Backend

  • C#
  • .NET 8
  • ASP.NET Core
  • ASP.NET Core MVC
  • Entity Framework Core
  • ASP.NET Core Identity

Database

  • Microsoft SQL Server
  • T-SQL
  • Stored Procedures

ERP & E-Commerce

  • Nebim V3
  • OpenCart
  • ERP Integrations
  • Data Synchronization

Architecture

  • Multi-Tenant Architecture
  • Layered Architecture
  • Integration Architecture
  • Background Worker
  • Job Based Processing

DevOps

  • Docker
  • Docker Compose
  • Redis

Frontend

  • Razor
  • Bootstrap 5
  • HTML
  • CSS / SCSS
  • JavaScript

Teknik Yaklaşım

Bu projede öne çıkan en önemli teknik konulardan biri, ERP entegrasyon süreçlerini web arayüzünden ayırarak bağımsız bir Worker yapısına taşımak oldu.

Bu sayede uzun süren veya zamanlanmış entegrasyon işlemleri web isteğinin yaşam döngüsüne bağlı kalmadan çalışabiliyor.

İkinci önemli konu multi-tenant mimari oldu. Sistem tek bir firma için değil, farklı şirketlerin aynı platform üzerinde kendi verileri ve entegrasyon yapılandırmalarıyla çalışabileceği şekilde tasarlandı.

Üçüncü önemli konu ise entegrasyon işlemlerinin izlenebilir olmasıydı.

Ürün, sipariş ve stok işlemlerinin yalnızca çalıştırılması değil, geçmişlerinin ve servis durumlarının da takip edilebilmesi operasyonel açıdan projenin önemli parçalarından biri oldu.


Sonuç

Nebim V3 – OpenCart Entegrasyon Programı, ERP ile e-ticaret arasında veri aktarımı yapan basit bir servis olmanın ötesinde, çok kiracılı bir entegrasyon platformu olarak geliştirildi.

Proje;

  • Nebim V3 ERP entegrasyonu,
  • OpenCart entegrasyonu,
  • ürün senkronizasyonu,
  • sipariş senkronizasyonu,
  • stok senkronizasyonu,
  • multi-tenant yapı,
  • background worker servisleri,
  • zamanlanmış görevler,
  • rol bazlı kullanıcı yönetimi,
  • operasyon ve servis takibi,
  • SQL Server tabanlı veri yönetimi,
  • Docker altyapısı

gibi özellikleri tek sistem içerisinde bir araya getiriyor.

Nebim V3 – OpenCart Entegrasyon Programında temel hedef, iki sistem arasında yalnızca veri taşımak değil; entegrasyon süreçlerinin merkezi, izlenebilir ve farklı şirketler için tekrar kullanılabilir bir platform üzerinden yönetilmesini sağlamaktı.

Teknolojiler

C#.NET 8ASP.NET CoreASP.NET Core MVCEntity Framework CoreASP.NET Core IdentitySQL ServerT-SQLStored ProceduresRedisNebim V3OpenCartERP IntegrationsData IntegrationData SynchronizationDockerDocker ComposeRazorCI/CDIntegration Architecture