Yazılım

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.

Semih AKBAŞ
3 dk okuma 11 0
Web Servis Nedir?

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:

  1. İstemci (Client) bir istek (request) gönderir
  2. Sunucu (Server) isteği işler ve yanıt (response) üretir
  3. İletişim genellikle HTTP/HTTPS protokolü üzerinden gerçekleşir
  4. 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
GETVeri okumaGET /api/users/1
POSTYeni kayıt oluşturmaPOST /api/users
PUTKaydı güncellemePUT /api/users/1
PATCHKısmı güncellemePATCH /api/users/1
DELETEKaydı silmeDELETE /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

ÖzellikRESTSOAPGraphQL
Veri FormatıJSON, XMLSadece XMLJSON
Öğrenme KolaylığıKolayZorOrta
PerformansYüksekOrtaYüksek
EsneklikOrtaDüşükÇok Yüksek
GüvenlikHTTPS + JWTWS-SecurityHTTPS + JWT
Kullanım AlanıGenel amaçlıKurumsalModern 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.

Semih AKBAŞ

Semih AKBAŞ

Yazılım geliştirici. Web, mobil ve masaüstü uygulamalar geliştiriyorum.

Yorumlar (0)

Henüz yorum yok. İlk yorumu siz yapın!