2010-06-01 13 views
5

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

अग्रिम धन्यवाद।

धन्यवाद, Muru

उत्तर

3

डोमेन मॉडल एक तरह से व्यापार तर्क यह है कि इस तरह के WCF या ASP.NET वेब सेवाओं के रूप में सीमा प्रौद्योगिकियों पर स्वतंत्र व्यक्त करना चाहिए।

यह एक तीसरी परत की आवश्यकता को जोड़ता है:

  • सेवा
  • डोमेन मॉडल
  • डेटा एक्सेस

आप प्रौद्योगिकी विशिष्ट इंटरफेस के लिए एक अलग परत नहीं बनाते हैं (सेवा), आप एक एकल, मोनोलिथिक एप्लिकेशन भी कर सकते हैं, क्योंकि आप वैसे भी व्यवसाय तर्क का पुन: उपयोग नहीं कर पाएंगे।

जबकि हम इसमें हैं: वेब सेवाओं के लिए डब्ल्यूसीएफ का उपयोग करें, एएसएमएक्स नहीं।

0

मैं एएसएमएक्स का उपयोग कर एक वेब सेवा लिखूंगा क्योंकि आपके सिर को शुरू करने के लिए चारों ओर आसान बनाना आसान है।

एडीओ या LINQ का उपयोग करके डीएएल लागू करें (यह आसान विकल्प हो सकता है क्योंकि यह आपके लिए सभी मैपिंग करता है और कुछ नया आईएमओ सीखना अच्छा होता है)।

आप कैसे एक वेब सेवा कॉल करने जा रहे हैं? क्या आपने सोचा था कि आप स्टेटस कोड कैसे वापस करेंगे? आप जावास्क्रिप्ट और अजाक्स में देख सकते हैं ताकि आप क्लाइंट को कस्टम ऑब्जेक्ट्स वापस कर सकें, या आप एसओएपी देख सकते हैं, जो एक्सएमएल आधारित है।

एक अच्छी पढ़ाई की सिफारिश भी कर सकते हैं - एएसपी.Net और अजाक्स: आर्किटेक्टिंग वेब अनुप्रयोग। आपके पास कौन से विकल्प हैं, इस बारे में आपको एक बेहतर विचार मिल सकता है।

0

मैं हमेशा एक ही मॉडल का उपयोग करता हूं: सेवा/व्यापार परत और डेटाबेस परत। जब विजुअल स्टूडियो की बात आती है, तो मेरे पास 4 या 5 प्रोजेक्ट्स हैं:

1 प्रोजेक्ट.webservice नामक webservice के साथ (जो केवल इनपुट प्राप्त करने के लिए कार्य करता है और उस इनपुट को उस इनपुट को देता है जो सोच (व्यवसाय परत), इसलिए परीक्षा easyly व्यापार परत

1 सेवा परत नामित project.service जो करता है वास्तविक कार्य (यह तय करें कि आपरेशन होना चाहिए के साथ करने के लिए किया जाता है, सही db तरीकों आदि)

1 के साथ फोन डेटाबेस तर्क जिसे project.datalayer कहा जाता है जो ADO.Net कोड या इकाई फ्रेमवर्क हो सकता है।

1 dataclasses के साथ project.model कहा जाता है। ये कक्षाएं ADO.Net कोड द्वारा लौटाई गई हैं और सेवा और webservice प्रोजेक्ट द्वारा उपयोग की जाती हैं। अगर मैं एक इकाई ढांचे का उपयोग करता हूं तो मैं सामान्य रूप से इस परियोजना को छोड़ देता हूं, क्योंकि ईएफ स्वयं मुझे ईएफ उत्पन्न करता है।कभी कभी ग्राहकों एफई dataclasses उपयोग करते हैं, तो मैं project.model परियोजना बना सकते हैं और जाने dataLayer एफई dataclasses का अनुवाद dataclasses

1 project.test

हॉप नामित testproject साथ project.model लिए नहीं करना चाहते हैं यह मदद करता है,

मिशेल

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