ვებ სერვისები WCF-ის წინააღმდეგ
ორივე ვებ სერვისები და WCF არის ვებ ტექნოლოგიები, რომლებიც შემუშავებულია Microsoft-ის მიერ. ვებ სერვისები დაინერგა. NET-ის ადრინდელ ვერსიებში, ხოლო WCF დაემატა. NET Framework-ს მოგვიანებით ვერსიებში. ვებ სერვისები გამოიყენება აპლიკაციების შესაქმნელად, რომლებსაც შეუძლიათ შეტყობინებების გაგზავნა/მიღება SOAP-ის გამოყენებით HTTP-ზე. WCF არის განაწილებული აპლიკაციების შესაქმნელად, რათა გაცვალონ შეტყობინებები SOAP-ის გამოყენებით ნებისმიერი სატრანსპორტო პროტოკოლით.
ვებ სერვისები
ვებ სერვისი (ზოგჯერ ცნობილია როგორც ASMX ტექნოლოგია. NET-ში) არის ქსელში კომუნიკაციის მეთოდი. W3C-ის თანახმად, ვებ სერვისი არის სისტემა, რომელიც ეძღვნება მანქანიდან მანქანას ტრანზაქციების მხარდაჭერას ქსელში.ეს არის ვებ API აღწერილი WSDL-ში (ვებ სერვისების აღწერის ენა) და ვებ სერვისები, როგორც წესი, თვითკმარი და თვითაღწერია. ვებ სერვისების აღმოჩენა შესაძლებელია UDDI (უნივერსალური აღწერა, აღმოჩენა და ინტეგრაცია) პროტოკოლის გამოყენებით. SOAP (Simple Object Access Protocol) შეტყობინებების გაცვლით, როგორც წესი, HTTP-ით (XML-ით), სხვა სისტემებს შეუძლიათ ურთიერთქმედება ვებ სერვისებთან. ვებ სერვისები გამოიყენება რამდენიმე გზით, როგორიცაა RPC (დისტანციური პროცედურების ზარები), SOA (სერვისზე ორიენტირებული არქიტექტურა) და REST (წარმომადგენლობითი სახელმწიფო გადაცემა). არსებობს ორი ავტომატური დიზაინის მეთოდოლოგია ვებ სერვისების განვითარებისთვის. ქვემოდან ზევით მიდგომა ეხება ჯერ კლასების შექმნას და შემდეგ WSDL გენერირების ხელსაწყოების გამოყენებას ამ კლასების ვებ სერვისებად შედგენისთვის. ზემოდან ქვევით მიდგომა ეხება WSDL სპეციფიკაციების განსაზღვრას და შემდეგ კოდის გენერირების ხელსაწყოების გამოყენებას შესაბამისი კლასების გენერირებისთვის. ვებ სერვისებს ორი ძირითადი გამოყენება აქვთ. ისინი შეიძლება გამოყენებულ იქნას როგორც მრავალჯერადი აპლიკაციის კომპონენტები და/ან სხვადასხვა პლატფორმაზე გაშვებული ვებ აპლიკაციების დასაკავშირებლად.
WCF
WCF (Windows Communication Foundation) არის. NET API (Application Programming Interface), რომელიც უზრუნველყოფს ერთიანი პროგრამირების მოდელს დაკავშირებული და სერვისზე ორიენტირებული აპლიკაციების შესაქმნელად. უფრო კონკრეტულად, ის გამოიყენება SOA-ით განაწილებული აპლიკაციების შემუშავებისა და განსათავსებლად. SOA ეხება განაწილებულ გამოთვლებს, რომელშიც მომხმარებლები მოიხმარენ მომსახურებას. მრავალ მომხმარებელს შეუძლია მოიხმაროს ერთი სერვისი და პირიქით. WCF მხარს უჭერს მოწინავე ვებ სერვისის სტანდარტებს, როგორიცაა WS-Addressing, WS-ReliableMessaging, WS-Security და RSS syndication (ხელმისაწვდომია. NET 4.0-ის შემდეგ). WCF კლიენტი იყენებს ბოლო წერტილს WCF სერვისთან დასაკავშირებლად. თითოეულ სერვისს შეიძლება ჰქონდეს მრავალი საბოლოო წერტილი, რომელიც ამხელს მის კონტრაქტს. ტერმინი ABC გამოიყენება WCF სერვისის მისამართის/სავალდებულო/კონტრაქტის აღსანიშნავად. კლიენტებსა და სერვისებს შორის კომუნიკაცია ხორციელდება SOAP კონვერტების მეშვეობით.
რა განსხვავებაა ვებ სერვისებსა და WCF-ს შორის?
არსებობს ძირითადი განსხვავებები ვებ სერვისებსა და WCF სერვისებს შორის.ვებ სერვისები გამოიყენება აპლიკაციების შესაქმნელად, რომლებსაც შეუძლიათ შეტყობინებების გაგზავნა/მიღება SOPA-ს გამოყენებით HTTP-ზე. თუმცა, WCF განკუთვნილია განაწილებული აპლიკაციების შესაქმნელად შეტყობინებების გაცვლისთვის SOAP და ნებისმიერი სატრანსპორტო პროტოკოლის გამოყენებით, როგორიცაა HTTP, TCP, დასახელებული მილები და Microsoft Message Queuing (MSMQ) და ა.შ. გარდა ამისა, WCF შეიძლება გაფართოვდეს ნებისმიერ სხვა სატრანსპორტო პროტოკოლთან მუშაობისთვის. მიუხედავად იმისა, რომ ვებ სერვისები ძალიან მარტივი და ადვილად განსახორციელებელია, WCF არქიტექტურულად უფრო ძლიერია, ვიდრე ვებ სერვისი. ვებ სერვისების განთავსება შესაძლებელია მხოლოდ IIS-ში და უსაფრთხოება შეზღუდულია. მაგრამ WCF შეიძლება განთავსდეს IIS-ში, თვითმმართველობის სერვერებზე კონსოლის აპლიკაციებით ან Win NT სერვისებით ან ნებისმიერ სხვა სერვერზე. გარდა ამისა, ვებ სერვისებისგან განსხვავებით, WCF მხარს უჭერს ორობით. NET –. NET კომუნიკაციებს, განაწილებულ ტრანზაქციებს, WS- სპეციფიკაციებს, შეტყობინებებს რიგში და მშვიდ კომუნიკაციებს.