2009-09-13 12 views
5

मेरे पास जावा एप्लिकेशन है जो टॉमकैट के तहत चलता है। काफी सरल वास्तुकला - उपयोगकर्ता HTTP के माध्यम से एक सर्वलेट का आह्वान करते हैं जो फिर मेमोरी कतार में एक अनुरोध डालता है। एक उपभोक्ता धागा जिसे सर्वलेट लिस्टर के रूप में शुरू किया गया था और लगातार कतार का चुनाव चला रहा है और अनुरोधों को संसाधित करता है जिसमें कुछ संग्रहित प्रोसेस को कॉल करना और बैकएंड सिस्टम में सॉकेट कनेक्शन पर कुछ डेटा भेजना शामिल है।जावा ईई सर्वलेट के समान माइक्रोसॉफ्ट तकनीक?

मुझे कोड को सी # पर पोर्ट करने की आवश्यकता हो सकती है। जो मैं समझने की कोशिश कर रहा हूं वह माइक्रोसॉफ्ट भूमि में समतुल्य तकनीक है जो मुझे उसी प्रणाली को वास्तुकार करने की अनुमति देगी। जावा से सी # तक कोड का पोर्टिंग छोटा होगा, लेकिन जो मुझे लगता है वह एमएस से एक एप्लीकेशन सर्वर तकनीक नहीं है जो मुझे मेरे कोड में ड्रॉप करने की अनुमति देगा और फिर घोषणात्मक रूप से निर्दिष्ट करेगा कि मुझे एक नया "सर्वलेट" चाहिए प्रत्येक HTTP कॉल के लिए, और मुझे एक ही प्रक्रिया में "डेमन" थ्रेड चलाने की आवश्यकता है, आदि ...

कोई सलाह? मैं एमएस परिदृश्य साथ बहुत परिचित नहीं हूँ ...

उत्तर

1

यदि आप माइक्रोसॉफ्ट पर्यावरण से अपरिचित हैं तो चीजों को जल्दी से सीखने की उम्मीद न करें, क्योंकि वेब साइट/सेवा चलाने से अधिकांश लोग सोचते हैं। यही है, अगर आप एक सुरक्षित वातावरण चलाने के लिए चाहते हैं।

सबसे पहले, मुझे आश्चर्य है कि आप सी # और आईआईएस क्यों जा रहे हैं। अपाचे विंडोज पर भी पूरी तरह से चलता है, और यह मुझे आश्चर्य नहीं करेगा अगर आप विंडोज सिस्टम पर उसी तरह से चल रहे सबकुछ प्राप्त कर सकते हैं।

लेकिन यदि आप सी # और विंडोज विकास की ओर बढ़ना चाहते हैं, तो पहले कुछ तकनीकी किताबें पढ़ना शुरू करें! O'Reilly के पास सी # और .NET के बारे में कुछ उत्कृष्ट किताबें हैं, जिनमें "लर्निंग डब्ल्यूसीएफ", "प्रोग्रामिंग एंटिटी फ्रेमवर्क" और "प्रोग्रामिंग एएसपी.नेट 3.5" जैसे खिताब शामिल हैं, जिन्हें .NET पर जाने के लिए पर्याप्त जानकारी प्रदान करनी चाहिए।

हालांकि, यह आपके द्वारा उपयोग किए जाने वाले कार्यों से अलग होगा। डिजाइन पैटर्न समान हैं, हालांकि नाम और तकनीक अलग-अलग हैं।

हालांकि मैं जावा लड़का नहीं हूं। इसलिए मुझे नहीं पता कि आप यहां क्या करना चाहते हैं ...


आपकी टिप्पणी और इच्छाओं को देखते हुए, ऐसा लगता है कि आप जो बना रहे हैं वह messagequeue सिस्टम है, जहां सर्वर पर कतार में अनुरोध भेजे जाते हैं, प्रतीक्षा कर रहे हैं हल किया जाना है। इसके लिए विंडोज़ में कुछ अच्छी बिल्ड-इन कार्यक्षमता है, हालांकि यह वही नहीं हो सकता है जो आप खोज रहे हैं। फिर भी, सिद्धांत सरल होगा: वेब इंटरफ़ेस कतार में अनुरोध जोड़ देगा और एक विंडोज सेवा (एक वेब सेवा नहीं) इन प्रक्रियाओं के लिए नए अनुरोधों के लिए संदेश कतार से पूछेगा। यह आपके कोड को जावा से सी # तक बहुत कम छोटा करता है, हालांकि!

एएसपी.नेट में सर्वलेट के समकक्ष के बारे में, मुझे लगता है कि गिमल आंशिक रूप से सही है। एक HTTP हैंडलर आपको गैर-एचटीएमएल पृष्ठों सहित किसी प्रकार की प्रतिक्रिया उत्पन्न करने की अनुमति देगा। मैंने उन्हें अतीत में उपयोगकर्ता को एक्सएमएल या एक्सेल प्रारूप में डेटा वापस करने के लिए उपयोग किया है। मैंने उन्हें अतिरिक्त वॉटरमार्क के साथ गतिशील छवियां उत्पन्न करने के लिए भी उपयोग किया है। लेकिन एक डेटा सेवा (.svc) भी एक अच्छा विकल्प हो सकता है। (मैं एक इकाई मॉडल के आस-पास एक विश्वसनीय सेवा के रूप में उपयोग करता हूं।) या केवल एक नियमित वेब सेवा (.asmx) व्यावहारिक हो सकती है।

.NET और जावा इस स्तर पर तुलना करना आसान नहीं है। चीजों को संभालने के लिए प्रत्येक में अपनी कई तकनीकें होती हैं। मैं लगभग सोचता हूं कि सर्वलेट्स के बराबर एएसपी.नेट स्वयं है, उप-वर्ग नहीं।

+0

ध्यान दें कि इकाई फ्रेमवर्क .NET के लिए एकमात्र ओआरएम/ओपीएफ समाधान नहीं है। ;) – TrueWill

+0

सच है, लेकिन यह कुछ चीजों को सरल बनाता है, खासकर जब आप अपने डेटाबेस के आस-पास एक विश्वसनीय सेवा बनाने के लिए डब्ल्यूसीएफ का उपयोग करते हैं। यह त्वरित समाधानों के उपयोग की अनुमति देता है ताकि अंतिम संस्करण वितरित होने से पहले उपयोगकर्ता जल्द से जल्द उपयोग कर सकें। –

+0

इसे .NET पर ले जाने का हित ग्राहक से आता है, यह मेरा निर्णय नहीं है। मैं इसे छोड़ दिया होगा। साथ ही, यह एक आंतरिक अनुप्रयोग है इसलिए सुरक्षा पहलू वास्तव में महत्वपूर्ण नहीं है। दोहराने के लिए, मैं बस इतना करना चाहता हूं कि मेरे (काफी सरल) आर्किटेक्चर को दोहराना है। मैं कई समवर्ती ग्राहकों की कतार में आने वाले अनुरोधों में भेजने में सक्षम होना चाहता हूं। फिर एक डेमॉन प्रक्रिया होती है जो कतार के माध्यम से पढ़ सकती है और अनुरोधों को संसाधित कर सकती है। –

2

प्रवासन जावा ईई से विवेक देवराजन ने नेट के लिए पढ़ें http://www.stardeveloper.com/articles/display.html?article=2003032802&page=1

उन्होंने कहा कि आप पसंद कर सकते सी # करने के लिए सर्वलेट प्रवासन पर एक अनुभाग है।

0

विक्रेता, जो मानक, लेनदेन, कंटेनर आधारित .NET सर्वर को सभी जावा ईई अवधारणाओं के साथ करेगा, जैसे Servlets, MDBs और संसाधन कनेक्टर्स 1 मिलियन से कम कॉन्फ़िगरेशन फ़ाइलों के साथ काम करेंगे।

संबंधित मुद्दे