Backoffice Modernizasyonu

roy kayaoglu
LCW Digital
Published in
2 min readMar 1, 2023

Tüm web sitelerinin, yönetimini kolaylaştırmak veya web sitesi ile ilgili çeşitli görevlerini yerine getirmek için kullandığı uygulamalar vardır. Bu uygulamalar, bazen “Backoffice” bazen de “Admin Panel” olarak adlandırılır. www.lcwaikiki.com sitemizin kullanıcılarını, siparişlerini, ödemelerini, iadelerini, kargolarını ve site ile ilgili farklı bazı özelliklerini yönettiğimiz uygulamayı “Backoffice” olarak adlandırıyoruz.

Backoffice uygulamamız, eticaret sitemizin kurulduğu ilk günden beri hizmet veren WebForms teknolojisi ile yazılmış bir uygulamaydı. Eticaret altındaki her ekip, kendi sorumluluk alanları ile ilgili backoffice uygulamasında ortaya çıkan yeni ihtiyaçları ve problemleri kendi ürettikleri çözümler ile sağlıyorlardı, mimari standart sağlanamıyordu. Backoffice uygulamasından sorumlu tek bir ekip olmaması, uygulamanın modernize edilmesi çalışmalarına başlanmasını geciktiriyor ve uygulamada alınan hataların adreslenmesi konusunda karışıklıklara neden oluyordu.

Backoffice uygulamamız mimari ve teknoloji olarak da eticaret sitemizin yayına başladığı ilk günlerden çok ileri gidememişti. Uygulama hem wcf servislerin kullanıyordu hem de doğrudan veritabanı üzerinde stored procedure çalıştırabiliyordu. Bu durum güvenlik açıklarını da beraberinde getiriyordu.

Eski Backoffice altyapısı

Backoffice uygulamamızı yeniden yazmaya başlamadan önce yeni bir ekip oluşturuldu ve uygulama sorumluluğu bu ekibe verildi. Mimari altyapının nasıl olması gerektiği ile ilgili çalışma yapılıp eticaret modernizasyon komitesine sunuldu. Eski Backoffice uygulaması kullanılmaya devam ederken, yeni uygulamanın altyapısının oluşturulması ve sonrasında eski uygulamadaki ekranların tek tek taşınması kararlaştırıldı. İlk olarak da “Ürün Yorumları Moderasyon” sayfasının Yeni Backoffice’e taşınmasına karar verildi.

Yeni Backoffice altyapısı

Yeni backoffice uygulaması için yaptıklarımız;

  • Backoffice altyapısını 3 ana uygulama üzerine kurduk. Backoffice Frontend, Backoffice BFF API ve Backoffice Backend API.
  • Backoffice altyapısı Kubernates ortamında çalıştığı için her bir uygulamayı scale edebilme ve kesintisiz deploy edebilme yetkinliğine sahip olduk.
  • Backoffice kullanıcı ayarları, menü bilgileri gibi sadece backoffice’in kullancağı bilgileri PostgreSQL veritabanında saklamaya başladık.
  • Backoffice Frontend uygulamasının tasarımı için BT Önyüz Mimari Ekip Müdürlüğünden destek alıp UI&UX deneyimini iyileştirdik.
  • Backoffice Frontend uygulamasını, eticaret uygulamalarımızda standart teknoloji olarak seçtiğimiz React ile yazdık.
  • Backoffice BFF API ve Backoffice Backend API uygulamalarımızı, eticaret API uygulamalarında standart olarak kullandığımız Pars.Core ile yazdık.
  • Frontend uygulamamızın sadece Backoffice BFF API ile konuşmasını sağladık.
  • Backoffice BFF API uygulaması, ilgili servis ve API’lerden gerekli bilgileri alıp, Frontend’in istediği obje türüne dönüştürüp gönderdik.
  • Backoffice Backend API uygulamasını veritabanları ile ilgili işlemleri gerçekleştirmek için kullandık.
  • Backoffice BFF uygulamasının mümkün olduğunca Restful API’lere bağlanmasını istiyoruz ancak eticaret altyapısndaki tüm servislerin modernize edilmesi henüz tamamlanmadı. Modernize edilen servislerimiz dışında, Legacy Services olarak adlandırdığımız wcf servisleri de kullandık.
  • Mevcut sayfaların taşınması dışında yeni ortaya çıkan ihtiyaçların karşılanması için de çalışmalar yaptık.

Backoffice modernizasyonu için yaptığımız çalışmayı kısaca özetlemeye çalıştım ancak yıllardır kullanılan bir uygulamanın yeni teknolojiler ve altyapı ile yeniden yazılması uzun zaman alan ve detaylı bir çalışma. Çalışmalar tamamlanana kdar eski ve yeni uygulamayı bir arada kullanmaya devam edeceğiz.

--

--