Middle
Kaynak odaklı model (ROM) nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kaynak Odaklı Model (Resourse-Oriented Model), sistemin temel varlıklarının kaynaklar olarak temsil edildiği ve standart CRUD (Oluşturma, Okuma, Güncelleme, Silme) işlemlerinin standart HTTP metodları kullanılarak gerçekleştirildiği bir API tasarım yaklaşımıdır.
Ana ilkeler:
- Kaynaklar: Sistemin temel bileşenleri olup, benzersiz bir tanımlayıcıya (URI) sahiptirler. Örneğin, "kullanıcı", "sipariş", "ürün".
- Tekdüzen arayüz: Kaynaklar üzerinde işlem yapmak için standart HTTP metodları (GET, POST, PUT, PATCH, DELETE) kullanılır.
- Kaynakların tanımlanması: Her kaynağın benzersiz bir URI'si vardır.
- Temsiller: Kaynaklar farklı temsillere sahip olabilirler (örneğin, JSON, XML) ve bunlar istemci ve sunucu arasında kararlaştırılır.
- Kaynaklar arasındaki bağlantılar (Hypermedia): Kaynaklar, ilişkili kaynaklara bağlantılar içerebilir, bu da istemcinin API içinde gezinmesine olanak tanır.
Örnek:
// Kullanıcı listesi alın
GET /users
// Belirli bir kullanıcıyı alın
GET /users/123
// Yeni kullanıcı oluştur
POST /users
Content-Type: application/json
{
"name": "İvan",
"email": "ivan@example.com"
}
// Kullanıcıyı güncelle
PUT /users/123
Content-Type: application/json
{
"name": "İvan Petrov"
}
// Kullanıcıyı kısmi güncelle
PATCH /users/123
Content-Type: application/json
{
"email": "ivan.petrov@example.com"
}
// Kullanıcıyı sil
DELETE /users/123
Avantajlar:
- Basitlik ve standartlaştırma: Web teknolojilerinin standart kullanımı sayesinde kolayca anlaşılır ve kullanılabilir.
- Ölçeklenebilirlik: Dağıtık sistemler kurmak için uygundur.
- Önbellekleme: Kaynak temsillerinin önbelleğe alınması performansı artırabilir.
- İstemci ve sunucu bağımsızlığı: Veri sunumu ile depolama ve işleme arasındaki ayrım.
Dezavantajlar:
- CRUD dışında karmaşık işlemler için verimli olmayabilir.
- Durum bilgisi olan (stateful) servisler için her zaman uygun değildir.
ROM, RESTful API'lerin temelini oluşturur.