2012-07-27 32 views
5

Son zamanlarda SOA'larda çok şey okudum ve faydalı bir şey uygulamaya çalışıyorum. RESTful API'yi oluşturarak basit bir blogla başladım. Çok uzak çok iyi. Mükemmel çalışıyor. Ancak, RESTful API'yi tüketecek olan web arayüzünü yazarken saçlarımı çekmeye başladım. Doğru şeyi yapıp yapmadığımı bilmiyorum. Örneğin, web arayüzünde bir yönetici paneli vardır. Bu yönetici paneli, API'ya file_get_contents ve akış seçenekleri aracılığıyla HTTP istekleri yapar. Şu anda, API, web arayüzü olduğu gibi localhost'tur, ancak tüm süreç biraz daha yavaştır. Bu doğru mu? Bu bir SOA uygulamak için uygun bir yol mu? Ayrıca, doğrulama için çoğaltılan kodun küçük bitleriyle uğraşıyorum. Verileri nerede doğrulamalıyım? API veya web arayüzünde? En iyi yaklaşım nedir?PHP uygulamalarında uygun RESTful SOA yaklaşımı?

İpuçları, eğiticiler ve özel olarak, kitaplar kabul edilir. Bu Symfony bileşenlerinin üzerine inşa edilen Silex kullanılarak uygulanmaktadır.

+1

Sadece burada yüksek sesle düşünüyorum. Web Arayüzü localhost üzerinden barındırılmaktadır, bu nedenle sunucuda oturan API genellikle istek sayısı arttıkça pek fazla değişmemektedir ve geçiş yapmak için internet yoktur. Bilgisayarınız, ağ kartından ayrılmadan önce isteğinizi size geri gönderir. Düşünce için daha fazla besin. API'nın kendi web sayfalarınızı sunmanın dışında bir kullanımı varsa, API'da veri doğrulamasını oluştururdum. Bu sayede hem API'nın kendisinin hem de web sitesinin kullanıcılarına serbest bırakabilirsiniz. – Kevin

cevap

1

Tam olarak böyle yaparım. Her ne kadar localhost ile bağlantı ilk başta baştan başa gelse de, bu bir özelliktir, çünkü web arayüzü uygulamanızı her yere yaymaya hazırsınız ve hala API'nizi tüketebilirsiniz, bu da herhangi bir yerde olabilir. Tabii ki, bunun üzerine bir miktar SSL koyarsınız. Doğrulama için

olarak, API üzerinde doğrulamak gerekir ve (örneğin, geçersiz parametreler için "400 Bad Request") bu durumlar için HTTP status codes döndürür. Bu şekilde, başka herhangi bir müşteri, yanıtı API'dan yorumlayabilir ve bunların nasıl görüneceğini görüntülemek için kullanabilir. Web arayüzünüzde, HTTP durum koduna dayanan güzel küçük hata mesajları.

Başka hangi sorunlarla karşılaşıyorsunuz? Ayrıca, genel SOA mimarisi söz konusu olduğunda, this book çok iyidir.

+0

Prensipte karar kıldığım halde, API'niz önyüzünüzle aynı kutuda ise, önyükleme kaynağı ve bağlantı ek yüklerini kaydetmek için aynı yürütme içinde çağırmayı denemelisiniz. Açıkçası lokal ve uzaktan kumanda arasındaki geçiş mümkün olduğunda kusursuz olmalıdır. Bunu tasarlamak için bir istemci nesnesi kullanmak bunu başarabilirdi. –