. Kötü Tasarım Seçimi - PHP + veri erişimi için Net Web servisleri?

6 Cevap

Şirket korkunç durumda olan bir PHP uygulaması vardır. Onlar ancak, çünkü ben buraya almazsınız çeşitli nedenlerle mevcut tasarımı ile çalıştırmak gerekir. NET'te yeniden tasarımı için planlar yapmaya başlamak istiyorum.

Onlar mevcut tasarım için bazı geliştirmeler yapmak istiyorum ama birlikte geldiğinde o geliştirmeleri-kısmen onların. NET sürümü tarafından yeniden olabilir böyle bir şekilde bunu. Bunu yapmak için bir fikir app veri ve iş mantığı bölümü PHP sonuna tarafından tüketilen olacak bir. NET webcoder olarak ikamet yapmak oldu.

Benim sorum PHP olacak bu sorunlara neden olduğunu? PHP tüketebilir. NET web hizmetleri hızlı ve verimli? Ya da bu sadece kötü bir tasarım kararı nedir?

6 Cevap

PHP tüketmek için. NET webservices hızla yerel WSDL saklamak için önbellek sağlayan, PHP5 yerli SOAP Client API kullanmak gerekir. Eğer PHP4 kullanmak eğer NuSOAP kullanabilirsiniz, ancak bu kadar hızlı yerli sınıflar gibi değildir.

My question is will this cause problems in PHP? Can PHP consume .NET web services quickly and efficiently? Or is this just a bad design decision?

Burada iki düşünce var. Öncelikle doğrudan soruyu cevaplamak için. Ben kötü bir tasarım olduğuna inanmıyorum ve. NET hizmetleri agnostik dili yazılmış ise o zaman küçük bir sorun olmalıdır.

İkinci düşünce, bir "umut" olduğunu. Ben bir. NET framework ile gitmek için seçim kötü yazılmış PHP nedeniyle değildi umuyoruz. Tasarım başarısız nerede bence çünkü kötü uygulama dilleri değişiyor. Şirket yeniden yazmak PHP ve sonuçta yerleşik eski desteği ile tek bir birleşik bir dil üs olacağını seçerseniz orada olacağını daha yeni bir dile dönüştürerek daha fazla çaba olacaktır. Ama sonra bir PHP hayranıyım.

Bir webcoder sahip bütün mesele, çeşitli geliştirme platformları arasında birlikte çalışabilirlik olduğunu. Örneğin twitter raylar tabanlı web sitesi ve hizmetler onun sığınakta web-API yoluyla. Net, Java, Python, vb, yazılı çeşitli masaüstü ve web uygulamaları çokluk tarafından tüketilir. Facebook PHP ve C + + gibi bildiğim ve kaç webapps API yoluyla da hizmet tüketmek göre. SO bunun kötü bir fikir olduğunu sanmıyorum. Soru bu webservice uygulamak nasıl. Anlamı, sen ondan kurtulmak bir kez ve daha sonra kullanmak ya da uzun bir süre için dava etmek istiyorum. Ikinci seçenek doğruysa - aklınızda ile Webcoder API tasarımı emin olun. Ayrıca PHP kolayca XML-RPC ve SOAP tüketebilirsiniz. Ben performansı üzerinde herhangi bir sorun ya da büyük hitlerinden olmadan (bir Perl tabanlı servisi tarafından sağlanan) hem de kullanılmaktadır.

. PHP göç etmek NET kullanarak akıllı bir seçim olmadığını düşünüyorum - ama bu biraz öznel görüşü olup. Çünkü canavarın doğası - Benim durumumda hemen hemen her zaman daha korumak için pahalı ve daha adamcağız kötü tasarlanmış bir overkill, varlık sona erdi.

P.S.: I'm not a PHP fan, but I don't believe in converting to .NET for the sake of converting. Also .NET infrastructure is more expensive to maintain and much more labor intensive.

Bir webcoder birincil avantajı birlikte çalışabilirlik, veya dil bağımsız başkaları tarafından tüketilmesi yeteneğidir. Dn't bir anlaşma çok büyük olabilir; PHP bu site böylece webservices kullanabilmelerini sağlayan bir şey olmalıdır. Dezavantajı biraz daha yavaş olabilir olacak, ama bu sizin genel çözüm üzerindeki bir etkisi ne kadar görmek için test etmek lazım bir şeydir. Genellikle en çözümler doğal olarak doğru ya da yanlış değil, size özel durum onların yararlılığını test etmek gerekir.

PHP tüketebilir. NET web hizmetleri iyi, sürece uzak WSHTTP tabanlı web servisleri uzak kalmak ve BASIC HTTP kullanmak gibi. Siz güvenlik için SSL ile BASIC HTTP web hizmetleri güvence altına alabilirsiniz.

Visual Studio 2008, ve bir ASP.NET olduğunda açık proje (MVC veya değil olabilir, farketmez), sağ proje üzerinde tıklayın ve "Yeni Öğe Ekle." Web Service olarak adlandırılan, Web altında bir şey görmek göreceksiniz. Bu bir. Asmx dosyası oluşturmak ve bu temel web hizmetleri oluşturmak için nasıl dersler bulabilirsiniz.

Başka bir alternatif yardımcı sınıfların bir yeri vardır, Windows Communication Foundation, kullanmak için, ama daha karmaşık olabilir. Bir WCF hizmeti için varsayılan yapılandırma WSHTTP olduğunu, ama çok WCF ile bir BASIC HTTP web hizmetini yapmak mümkündür.

Hiç bir sorun, gerçekten çok değil, sadece seçenekleri araştırmak.

Web Hizmetleri biçimleri çok çeşitli çıkış verileri yapabilirsiniz. SOAP / XML varsayılan ama sen yml, Xml tefrika nesneler, ya da benim şimdiki favori JSON (gerçekten kolay bir tarayıcı içine çağırarak yapar) yapamayacağı hiçbir neden yoktur.

Ben onlar Web Servis biçimini yerini zannediyorsunuz inanıyorum, WCF hizmetleri de içine bak.

Son olarak, en iyi uygulamaları arıyorsanız S kontrol ervice Oriented Architecture. Onun geniş ve çeşitli bir alan ve bu tam olarak onlar hakkında konuşmak şeyler tür.