Mobil veya PC oyunlarında RESTful kurgusu ile webservis alt yapısı kurmadan önce düşünmemiz ve sormamız gereken noktalar olabilir. Az sonra okuyacaklarınız sadece oyunlar için değil, güvenli bir platform üzerinden araya farklı kişilerin/uygulamaların dahil olmayacağı veri alışverişi yapması gereken her şey için kurgulanabilir. Aplikasyon geliştirme, oyun geliştirme, ödeme sistemleri, veri-alışverişi yapması gereken sistemler vs…
Bildiğiniz üzere mobil ve PC oyunlarında veya çeşitli aplikasyonlarda verilerin kaydedilmesi ve verilerin tekrar talep edilmesi (okunması) için güvenli bir alt yapı oluşturulmalıdır. Bu alt yapı kurulurken tabiri caizse düz PHP kullanmak yerine MVC ve OOP tabanlı bir yapı kurulması hem hızlı çalışması ve optimizasyon için hem de ileriye dönük bir sistem olması açısından önemli olacaktır.
Öncelikle, Class yapısı ile yazacağınız ana senaryoyu hazırlamamız gerekiyor. Temeli oluşturan önemli soruları en başta kendinize sormalısınız. Webservis üzerinden nasıl ve ne tür bilgiler gelecek, hangi method’lar ile gönderilecek (POST, GET, PUT, DELETE), output json mı olacak xml yapısı mı olacak, izinli IP erişimi olacak mı, authentication method’larını nasıl kurgulamak daha mantıklı olur, veritabanları master/slave yapısı ile mi olacak, farklı veritabanlarından read/write işlemleri yapılacak mı, memcache veya redis benzeri ram tabanlı önbellek (cache) sistemleri kullanılacak mı ve bunlar farklı sunucularda mı olacak gibi soruların cevaplarını belirleyerek öncelikle kafanıza bir yapı oluşturmalısınız. Zaten bu soruların hepsine cevabınız evet ise, webservis işlemlerine başlamadan önce bu yapıları kurmanız gerekiyor. Bu yapıların nasıl kurulduğunu başka bir yazı da anlatacağım.
Bu makalede örnek ile ilerlemek gerekirse; varsayalım ki sipariş temelli mobil restaurant uygulaması geliştireceksiniz. Uygulamaya girildiğinde kategori bazlı ürünlerin açıldığını düşünelim.
KAHVALTILAR
Kahvaltı Tabağı 1, Kahvaltı Tabağı 2
ANA YEMEKLERLER
Yemek 1, Yemek 2, Yemek 3
Ana menüye tıklandığında (Kahvaltı) altındaki tüm ürünler açılacak, ürüne tıklandığında ise ürünün detay sayfası açılacak ve burada porsiyon/adet seçerek sepete ekleyecek.
Şu ana kadar okuduklarınızda 3 fonksiyon çıktığını görüyorsunuzdur. (Fonksiyonları yazıyı yazarken anlamlı olarak isimlendirdim)
Yazının devamı gelecektir….