Web Servis Nedir?
Web servisleri, farklı platformlarda çalışan uygulamaların internet üzerinden birbirleriyle iletişim kurmasını sağlayan yazılım bileşenleridir.
Web Servis Nedir?
Web servis, farklı platformlarda ve programlama dillerinde geliştirilmiş uygulamaların internet üzerinden birbirleriyle iletişim kurmasını sağlayan standart bir yazılım arayüzüdür. Web servisleri sayesinde bir PHP uygulaması, bir Java uygulamasıyla veya bir mobil uygulama bir masaüstü uygulamasıyla sorunsuz iletişim kurabilir.
Web Servis Nasıl Çalışır?
Web servisleri istemci-sunucu (client-server) modeliyle çalışır:
- İstemci (Client) bir istek (request) gönderir
- Sunucu (Server) isteği işler ve yanıt (response) üretir
- İletişim genellikle HTTP/HTTPS protokolü üzerinden gerçekleşir
- Veri formatı olarak JSON veya XML kullanılır
Web Servis Türleri
1. REST (Representational State Transfer)
Günümüzün en popüler web servis mimarisidir. Basit, hafif ve HTTP metodlarına (GET, POST, PUT, DELETE) dayanan bir yaklaşımdır.
// REST API Örneği - Ürün listesi çekme
// GET /api/products
app.get("/api/products", async (req, res) => {
const products = await Product.find({ active: true });
res.json({
success: true,
data: products,
count: products.length
});
});
// Yeni ürün ekleme
// POST /api/products
app.post("/api/products", async (req, res) => {
const product = new Product(req.body);
await product.save();
res.status(201).json({
success: true,
data: product
});
});
REST API HTTP Metodları
| Metod | İşlev | Örnek |
|---|---|---|
| GET | Veri okuma | GET /api/users/1 |
| POST | Yeni kayıt oluşturma | POST /api/users |
| PUT | Kaydı güncelleme | PUT /api/users/1 |
| PATCH | Kısmı güncelleme | PATCH /api/users/1 |
| DELETE | Kaydı silme | DELETE /api/users/1 |
2. SOAP (Simple Object Access Protocol)
XML tabanlı, daha katı kurallara sahip bir web servis protokolüdür. Bankacılık ve kurumsal sistemlerde tercih edilir. WSDL (Web Services Description Language) ile tanımlanır.
3. GraphQL
Facebook tarafından geliştirilen modern bir sorgu dilidir. REST'ten farklı olarak, istemci tam olarak hangi verilere ihtiyaç duyduğunu belirler ve sadece o verileri alır.
// GraphQL Sorgu Örneği
const query = `{
user(id: 1) {
name
email
orders {
id
total
status
}
}
}`;
4. gRPC
Google tarafından geliştirilen, yüksek performanslı bir RPC (Remote Procedure Call) framework'üdür. Protocol Buffers formatını kullanır ve REST'e göre çok daha hızlıdır. Mikroservis mimarilerinde yaygın olarak tercih edilir.
REST vs SOAP vs GraphQL
| Özellik | REST | SOAP | GraphQL |
|---|---|---|---|
| Veri Formatı | JSON, XML | Sadece XML | JSON |
| Öğrenme Kolaylığı | Kolay | Zor | Orta |
| Performans | Yüksek | Orta | Yüksek |
| Esneklik | Orta | Düşük | Çok Yüksek |
| Güvenlik | HTTPS + JWT | WS-Security | HTTPS + JWT |
| Kullanım Alanı | Genel amaçlı | Kurumsal | Modern web/mobil |
Web Servis Güvenliği
Web servislerinde güvenlik kritik öneme sahiptir:
- HTTPS: Tüm iletişim şifrelenmelidir
- Kimlik Doğrulama: API Key, OAuth 2.0 veya JWT kullanılmalıdır
- Rate Limiting: Aşırı istekler engellenmelidir
- Input Validasyon: Gelen tüm veriler doğrulanmalıdır
- CORS Politikaları: Yetkisiz alan adlarından gelen istekler engellenmelidir
Gerçek Dünya Örnekleri
Web servislerinin günlük hayattaki kullanımlarından örnekler:
- Hava durumu uygulamaları — OpenWeatherMap API ile hava verisi çeker
- Ödeme sistemleri — iyzico, PayTR gibi ödeme API'leri
- Sosyal medya — Twitter, Facebook API'leri ile paylaşım
- Harita servisleri — Google Maps API ile konum ve yol tarifi
- E-ticaret — Shopify, Trendyol API'leri ile ürün ve sipariş yönetimi
Sonuç
Web servisleri, modern yazılım geliştirmenin temel taşlarından biridir. Doğru web servis mimarisi seçimi, uygulamanızın performansını, ölçeklenebilirliğini ve sürdürülebilirliğini doğrudan etkiler. Günümüzde REST API en yaygın tercih olmaya devam ederken, GraphQL ve gRPC gibi modern yaklaşımlar da hızla benimsenmektedir.
Yorumlar (0)
Henüz yorum yok. İlk yorumu siz yapın!