मैं एक वेब सेवा, या इंटरनेट पर उजागर कुछ अन्य सेवा डालने की योजना बना रहा हूं। मैं इस सेवा के साथ बातचीत करने के लिए अनुप्रयोगों के लिए एक एपीआई बनाना चाहता हूं। मैं एपीआई को जावा, सी ++, सी #, या PHP जैसी विभिन्न भाषाओं में उपयोग करने योग्य बनाना चाहता हूं। मैं अपने एपीआई के लिए एक कोड बेस कैसे बनाए रख सकता हूं, लेकिन इन सभी भाषाओं के लिए अच्छी पैकेज वाली बाइनरी वितरित कर सकता हूं? साथ ही, मैं यह विचार करना चाहूंगा कि यह क्रॉस प्लेटफॉर्म भी हो सकता है।भाषा अज्ञेय एपीआई
अद्यतन 1
मैं वेब सेवा पर शुरुआती दिनों हूँ, लेकिन मुझे लगता है कि मुख्य बिंदुओं में से एक है कि टूलींग की बहुत से विवरण के आधार पर ग्राहकों की कार्यान्वयन का समर्थन करता है डब्लूडीएसएल जैसी सेवा। मैंने किसी भी क्लाइंट-साइड सॉफ़्टवेयर को मेरे द्वारा किए गए किसी भी चीज़ के साथ वितरित नहीं किया है, I किसी भी उपयोगकर्ता को अपने आवश्यकताओं के अनुरूप अपने स्वयं के क्लाइंट बनाने में सक्षम होने की उम्मीद है। - ब्रेबस्टर का उत्तर
मैं इसे सीधे वेब सेवा बनाने का विरोध नहीं कर रहा हूं और फिर डब्लूएसडीएल फ़ाइल दे रहा हूं। लेकिन क्या होगा यदि मैं क्लाइंट एपीआई कुछ तर्क, एन्क्रिप्शन, त्रुटि जांच या ऐसा करने के लिए चाहता हूं?
अद्यतन 2
जहाँ तक ग्राहक कि है अपने एपीआई का उपयोग कर कुछ भी करने के लिए, आप नहीं कर सकते हैं उम्मीद के रूप में! ऐसा कुछ भी नहीं है जो आप सुनिश्चित करने में सक्षम होंगे कि एपीआई के उपभोक्ता कुछ भी सही करेंगे। यही कारण है कि मजबूत त्रुटि हैंडलिंग महत्वपूर्ण है। आपको क्लाइंट से आने वाली किसी भी चीज की जांच और डबल करना होगा। आपको हमेशा पर संदेह होना चाहिए, और यह भी मान लें कि यह दुर्भावनापूर्ण है। वास्तव में इस तथ्य के आसपास कोई अच्छा तरीका नहीं है। - रयान गिल का उत्तर
मेरा मूल विचार .NET में एक डीएलएल या असेंबली बनाना था, तो क्लाइंट क्लाइंट पक्ष चला रहे इस कोड में कॉल कर रहा है। यह कोड किसी भी संचार प्रोटोकॉल के माध्यम से सर्वर पर वापस बात कर सकता है, लेकिन मेरा एपीआई उनके बॉक्स पर चल रहा होगा। मुझे लगता है कि आरईएसटी वास्तव में इसे पूरा नहीं करता है। ऐसा लगता है कि आरईएसटी में सबकुछ अभी भी एक HTTP पोस्ट है। यह साबुन के साथ लगभग वेब सेवाएं है।
अद्यतन 3
मैं रयान Guill का जवाब स्वीकार कर लिया है। मुझे लगता है कि सामान्य विचार यह है कि मुझे क्लाइंट के लिए सबसे कम बाधा के साथ किसी प्रकार की नेटवर्क सेवा का खुलासा करने की आवश्यकता है। इस तरह से कोई भी कनेक्ट कर सकते हैं। तो बस मेरे सभी कोड सर्वर पर चला है। ऐसा लगता है कि मैं वास्तव में मंच और भाषा आजादी को हासिल करना चाहता हूं, जिसके बाद मैं हूं।
सभी इनपुट के लिए धन्यवाद।
इस प्रश्न को देखें: http://programmers.stackexchange.com/questions/157536/how-can-i-write-a-set-of-functions-that-can-be-invoked-from-almost-any -प्रोग्राम –