ASKİ Saha API Katmanı
Mobil uygulamaların ortak veri ve işlem merkezi
- Web
- Kurumsal Sistemler
- Veritabanı
01 Proje ne yapıyor?
Beş mobil uygulamanın giriş, veri alma ve kayıt gönderme işlemlerini tek merkezden yöneten ortak servis.
02 Hangi sorunu çözüyor?
Her uygulamanın veritabanına ayrı şekilde bağlanması aynı kuralların tekrar yazılmasına ve değişikliklerin zor yönetilmesine yol açıyordu.
03 Ben ne yaptım?
Ortak servisin geliştirilmesi ve mobil uygulamalara bağlanması.
Teknik ayrıntılar İsteyenler için
Yaptığım çalışmalar
- Saha akışlarını besleyen uçların geliştirilmesi
- Mobil istemci ile API sözleşmesinin doğrulanması
- Postman koleksiyonlarıyla uçların belgelenmesi ve test edilmesi
- Hata ve telafi davranışlarının pilot bulgularına göre raporlanması
Sistem nasıl çalışıyor?
- 01 API ASP.NET Core · URL tabanlı sürümleme (/api/v1/), JWT ile korunan uçlar, yapılandırılmış log
- 02 Services Kimlik doğrulama ve token üretimi
- 03 Data Dapper ile hafif ORM · SQL sorguları repository katmanında toplanır
- 04 Veritabanı Oracle · yönetilen sürücü üzerinden erişim
Kullanılan araçlar
- ASP.NET Core (.NET 10)
- C#
- JWT Bearer
- API sürümleme
- Serilog
- Dapper
- Oracle Managed Data Access
- Postman
Alınan önemli kararlar
Sorgular repository katmanında toplanır
SQL'i uygulamanın her yerine dağıtmak yerine repository katmanında topladım. Veritabanı tarafındaki bir değişiklik tek yerde karşılanıyor ve sorgular okunabilir kalıyor.
URL tabanlı sürümleme
Sahadaki cihazların hepsi aynı anda güncellenemiyor. Sürümü URL'e taşımak, eski istemcilerin çalışmaya devam etmesini sağlıyor.
Dokümantasyon koleksiyon olarak tutulur
Her uç için Postman koleksiyonu bakımda tutuluyor; API sözleşmesi yazılı açıklamayla değil çalıştırılabilir istekle doğrulanıyor.
Karşılaşılan zorluklar
Telafi (compensation) tasarımının veritabanı ile uyumu
API katmanının hata durumunda geri alabildiği şey ile veritabanı prosedürünün kalıcı yazdığı şey aynı değildi. Saha pilotunda bu ayrım tamamlanmış işlerin başarısız görünmesine yol açtı ve idempotency korumasının uçtan uca olması gerektiği somut olarak ortaya çıktı.
Ek sonuç notları
- Saha uygulamalarının kimlik doğrulama, veri çekme ve gönderme akışları tek API katmanı üzerinden yürüyor.
- Release derlemesi 0 hata ve 0 uyarı ile üretiliyor.
Teknik öğrenimler
- API sözleşmesi belgelenmediği sürece yoktur; belge de çalıştırılabilir değilse eskir.
- İdempotency'nin yalnızca API katmanında olması yetmiyor — veritabanı tarafındaki işlem sınırı da aynı garantiyi vermeli.
04 Ortaya çıkan sonuç
Beş mobil uygulamanın giriş, veri alma ve kayıt gönderme işlemleri tek ortak servis üzerinden çalışmaya başladı.
05 Bu projeden ne öğrendim?
Ortak kuralları tek yerde toplamak, uygulamaların birlikte ve daha güvenli gelişmesini sağlar.