PHP itibaren bir COM API ile bir uygulama erişim için Stratejiler

1 Cevap php

Arka plan: çoğunlukla * nix arka Deneyimli PHP geliştiricisi.

Ben özel bir 3. parti sistemi ile etkileşim için gereken bir PHP uygulama yazıyorum. 3. parti sistemi sadece Windows içindir. PHP uygulama ayrı bir Linux tabanlı bir sistemde yaşayan olacak

3. parti uygulama ben PHP uygulaması konuşmak gerekir bir "COM API" sahip olarak tarif edilmiştir. Ne bu mimari konuşma benziyor? Ben COM section PHP Kılavuzu ile başlıyorum, ama ben özel sorular var.

Belirli Sorular:

  1. Ben bir PHP uygulama başka bir sunucu üzerinde çalışan bir COM API doğrudan konuşabilir miyim? Eğer öyleyse, nasıl? (Ne PHP uzantıları ben gerekir, ya da ne protokolleri / PHP fonksiyonları I API konuşmak kullanarak olacaktır)

  2. 2 sayısına cevap hayır ise, ben COM konuşabilirsiniz Windows makine üzerinde uygulama çeşit, ve sonra ben PHP ile vurabilir Windows makine üzerinde bir hizmet ihtiyacım olacağını varsaymak istiyorum. Bu tür bir şey için önceden oluşturulmuş çerçeveler var mı?

  3. Bu tüm saçmalık ve / veya ben son derece aptalca bir şey dedin? (Kuvvetle muhtemel, ben "COM" ne biraz bulanık yaşıyorum ve kapsamaz gibi)

Açıkçası burada tam bir çözüm aramıyorum, ben sadece Google'a isteyeceksiniz ne olduğunu ve mümkün değildir ve ne tür şeyler genel bir fikir almaya çalışıyorum.

Teşekkürler!

1 Cevap

Normalde bir "COM API" Bir DLL dosyası ya da (tür bir dll dosyası gibi) Active X denetimi bulunan ve bir windows uygulamasından sadece başka bir DLL gibi COM dll yüklenemedi hangi referanstır. COM gerçekten sadece bir yeniden DLL kolaylaştırmayı girişimi olarak DLL ile adres diğer birçok konular oldu.

So the answer to number 1 is no. The answer to number 2 is yes. I would personally create a wrapper for the COM API with WCF. WCF is basically a Microsoft .NET technology for building web services. This would make consuming the api in PHP much easier. The biggest hurdle will be learning WCF as well as figuring out how you want to map members in the COM api to members in your web service, since the data types will probably need to be transformed in some way. The WCF application can be hosted as a windows service or hosted in IIS, so this sort of kills both birds in one stone.

You could optionally use the older Web Services in .NET that have been around before WCF, I just personally liked WCF better because it was more flexible. If you click enough times through the microsoft's extremely user unfriendly webcast site you can download a series of videos on WCF: http://www.dasblonde.net/2007/06/24/WCFWebcastSeries.aspx

-3 Hayır ben öyle düşünmüyorum.