PHP ile n-katmanlı web mimarisi inşa etmek nasıl?

2 Cevap java

Ben 3-katmanlı mimari PHP web sitesi ile uğraşıyorum.

Şimdi dağıtılan n-katmanlı mimari suрроrt onu yeniden tasarlamak gerekiyor. Araştırma uzun saatler sonra ben bu çözüm geldi: iş mantığı sunum ayrılır ve tamamen iş mantığı katmanlı n-katmanlı mimari (kullanıcı arayüzü, sunum katmanı, b.logic ve veri katmanı) için izin alınmalıdır. Ben sadece sunum için РНР kullanmaya karar verdim. Iş mantığı ben J2EE iş mantığı, onun sağlamlığı, sürdürülebilirlik ve farklı kritik iş operasyonları için gerekli olan çok daha önemli konteyner hizmetleri sağlayabilir çünkü yerine PHP ile uygulama J2ЕЕ uygulanması teknolojiyi kullanmak istiyorum.

Bakış profesyonel açıdan, web sitesi ve faaliyetlerinin criticality özelliklerini dikkate n-katmanlı mimari için izin orijinal web sitesi yeniden tasarlama iyi bir yol gibi geliyor?

2 Cevap

Yapmak istediğiniz her şeyi Zend Framework ile mümkündür. Bir MVC mimarisi izler ve services.There için Zend_Soap bileşeni gibi şeyler PHP içinde tüm tutmak zaman bazı çoklu dil uygulaması oluşturmak için hiçbir sebep oldu. Neden bu kadar kötü Java kullanmak istiyor musunuz?

Açıklamanızda anlıyorum gelen mevcut uygulama bir lamba yığını üzerinde çalışır. PHP LAMBA yığını içine güzel bütünleşir ve scales well onunla. Neden bir Java ekosistemi için bu göç etmek istiyorsun? Java iş mantığı reimplementing varolan app temel çalışma kısmını atmak anlamına gelir. Zaten çalışan bir iş katmanı ve DAL varsa, neden tekrar sıfırdan başlamak? refactoring akıllı (ve ucuz) bir alternatif olmaz mıydı?

Buna ek olarak, J2EE çok daha iyi sağlamlık ve dayanıklılığını sağlayacak iddia. Nasıl yani? İdame ağırlıklı kod mimarisi ve kodlama tarzı meselesidir. Ben de PHP hayata olamaz Fowler's PoEAA herhangi bir desen farkında değilim. PHP mature frameworks sağlar UnitTesting, Continuous Integration, ORM, Dependency Injection, Message Queues Webservices, Deployment, vb uygulama gelişimini desteklemek.

Tabii, Java derlenmiş ve çoklu destekler ve kurumsal yazılım mimarisinde bir geçmişi vardır ve bunu PHP içermiyor özellikleri dili vardır inkar etmiyorum edilir. Ama soru, bu proje için onlara ihtiyacım var? Ve en bir programlama dili bu kendi üzerinde hiçbir şey yok unutmayalım. Bu uygulama oluşturur ve J2EE Spagetti kod hala Spaghetti Code geliştirici bulunuyor.

Sadece benim 2c olsa :)