কিছু সংস্থা আমাকে একটি ডকুমেন্ট শৈলী এবং আরপিসি শৈলীর ওয়েবসার্চগুলির মধ্যে পার্থক্যগুলি ব্যাখ্যা করতে পারে?
দুটি যোগাযোগের স্টাইলের মডেল রয়েছে যা একটি ডাব্লুএসডিএলকে একটি এসওএপি বার্তা শৃঙ্খলে আবদ্ধ করে অনুবাদ করতে ব্যবহৃত হয়। সেগুলি হ'ল :
নথি এবং আরপিসি C
একটি ডকুমেন্ট শৈলী মডেল ব্যবহার করে সুবিধা যে আপনি সাবান শরীরের কোনো ভাবে আপনি যতদিন সাবান বার্তার মূল বিষয়বস্তু কোনো অবাধ এক্সএমএল উদাহরণস্বরূপ হয় এটি করতে চান গঠন করতে পারেন। দস্তাবেজ শৈলীতে বার্তা-ওরিয়েন্টেড স্টাইল হিসাবেও উল্লেখ করা হয় ।
তবে, একটি আরপিসি শৈলীর মডেল সহ , এসওএপি অনুরোধের বডিটির কাঠামোটিতে অবশ্যই অপারেশন নাম এবং পদ্ধতি পরামিতিগুলির সেট উভয়ই থাকতে হবে। আরপিসি শৈলীর মডেল বার্তা শরীরে থাকা এক্সএমএল উদাহরণের জন্য একটি নির্দিষ্ট কাঠামো ধরে নেয় ।
তদুপরি, দুটি এনকোডিং ব্যবহারের মডেল রয়েছে যা একটি ডাব্লুএসডিএল বাইন্ডিং অনুবাদ করতে ব্যবহৃত হয় এসওএপি বার্তায়। এগুলি: আক্ষরিক এবং এনকোডযুক্ত
একটি ব্যবহার করার সময় আক্ষরিক ব্যবহার মডেল , শরীর বিষয়বস্তু একটি ব্যবহারকারী-সংজ্ঞায়িত সাথে সামঞ্জস্য উচিত এক্সএমএল-স্কিমা (XSD) গঠন । সুবিধাটি দ্বিগুণ। একের জন্য, আপনি বার্তাটির প্রধান ব্যবহারকারীর দ্বারা সংজ্ঞায়িত এক্সএমএল-স্কিমা দিয়ে যাচাই করতে পারেন, এছাড়াও, আপনি এক্সএসএলটির মতো রূপান্তর ভাষা ব্যবহার করে বার্তাটি রূপান্তর করতে পারেন।
একটি (এসওএপি) এনকোডযুক্ত ব্যবহারের মডেল সহ , বার্তাকে এক্সএসডি ডেটাটাইপগুলি ব্যবহার করতে হবে, তবে বার্তাটির কাঠামোটি কোনও ব্যবহারকারী-সংজ্ঞায়িত এক্সএমএল স্কিমার সাথে সামঞ্জস্য হওয়ার দরকার নেই। এটি বার্তার মূল অংশটি যাচাই করা বা বার্তা শরীরে এক্সএসএলটি ভিত্তিক ট্রান্সফর্মেশনগুলি ব্যবহার করা শক্ত করে তোলে।
বিভিন্ন শৈলীর এবং ব্যবহারের মডেলগুলির সংমিশ্রণটি একটি ডাব্লুএসডিএলকে একটি এসওএপি বার্তার সাথে বাইন্ডিং অনুবাদ করার জন্য চারটি ভিন্ন উপায় দেয়।
Document/literal
Document/encoded
RPC/literal
RPC/encoded
আমি আপনাকে সুপারিশ করব যে আপনি ডাব্লুএসডিএলের কোন স্টাইলটি ব্যবহার করা উচিত শিরোনামে এই নিবন্ধটি পড়ুন ? রাসেল বুটেকের দ্বারা যা বিভিন্ন স্টাইলের একটি দুর্দান্ত আলোচনা করেছে এবং একটি ডাব্লুএসডিএলকে একটি এসওএপি বার্তাকে আবদ্ধ করার জন্য এবং তাদের আপেক্ষিক শক্তি এবং দুর্বলতাগুলিকে অনুবাদ করতে মডেলগুলি ব্যবহার করে।
শিল্পকর্মগুলি প্রাপ্ত হওয়ার পরে, যোগাযোগের উভয় শৈলীতে, আমি বন্দরে পদ্ধতিটি শুরু করি। এখন, এটি আরপিসি স্টাইল এবং নথি শৈলীতে আলাদা নয়। তাহলে পার্থক্য কী এবং কোথায় সেই পার্থক্যটি দৃশ্যমান?
আপনি যে জায়গাতে পার্থক্যটি দেখতে পাবেন তা হ'ল "রেসপন্স"!
আরপিসির স্টাইল:
package com.sample;
import java.util.ArrayList;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style=Style.RPC)
public interface StockPrice {
public String getStockPrice(String stockName);
public ArrayList getStockPriceList(ArrayList stockNameList);
}
দ্বিতীয় ক্রিয়াকলাপের জন্য SOAP বার্তাটির খালি আউটপুট থাকবে এবং দেখতে এটি দেখতে পাবেন:
আরপিসির স্টাইল প্রতিক্রিয়া:
<ns2:getStockPriceListResponse
xmlns:ns2="http://sample.com/">
<return/>
</ns2:getStockPriceListResponse>
</S:Body>
</S:Envelope>
নথি শৈলী:
package com.sample;
import java.util.ArrayList;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.jws.soap.SOAPBinding.Style;
@WebService
@SOAPBinding(style=Style.DOCUMENT)
public interface StockPrice {
public String getStockPrice(String stockName);
public ArrayList getStockPriceList(ArrayList stockNameList);
}
যদি আমরা উপরের এসআই এর জন্য ক্লায়েন্টটি চালনা করি তবে আউটপুটটি হ'ল:
123 [123, 456]
এই আউটপুটটি দেখায় যে অ্যারেলিস্ট উপাদানগুলি ওয়েব পরিষেবা এবং ক্লায়েন্টের মধ্যে বিনিময় হচ্ছে। এই পরিবর্তনটি কেবল এসওএপিবাইন্ডিং টীকা শৈলীর বৈশিষ্ট্য পরিবর্তন করেই করা হয়েছে। সমৃদ্ধ ডেটা টাইপ সহ দ্বিতীয় পদ্ধতির জন্য এসওএপি বার্তাটি নীচে রেফারেন্সের জন্য দেখানো হয়েছে:
ডকুমেন্ট স্টাইল প্রতিক্রিয়া:
<ns2:getStockPriceListResponse
xmlns:ns2="http://sample.com/">
<return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:string">123</return>
<return xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:string">456</return>
</ns2:getStockPriceListResponse>
</S:Body>
</S:Envelope>
উপসংহার
- যেমন আপনি দুটি এসওএপি প্রতিক্রিয়া বার্তায় লক্ষ্য করেছেন যে ডকুমেন্ট স্টাইলের ক্ষেত্রে এসওএপি প্রতিক্রিয়া বার্তাটি বৈধ করা সম্ভব তবে আরপিসি স্টাইল ওয়েব পরিষেবাদিতে নয়।
- আরপিসি স্টাইলটি ব্যবহার করার প্রাথমিক অসুবিধা হ'ল এটি আরও বেশি ধরণের ডেটা টাইপ সমর্থন করে না এবং ডকুমেন্ট স্টাইলটি ব্যবহার করে এটি সমৃদ্ধ ডেটা ধরণের সংজ্ঞা দেওয়ার জন্য এক্সএসডি আকারে কিছুটা জটিলতা নিয়ে আসে।
- এর মধ্যে একটি ব্যবহারের পছন্দ অপারেশন / পদ্ধতির প্রয়োজনীয়তা এবং প্রত্যাশিত ক্লায়েন্টগুলির উপর নির্ভর করে।
একইভাবে, কীভাবে এইচটিটিপি-র উপরে এসওএপি এইচটিটিপি-র থেকে এক্সএমএল থেকে পৃথক হয়? সর্বোপরি এসওএপি হ'ল এসওএপি নেমস্পেস সহ এক্সএমএল ডকুমেন্ট। তাহলে এখানে পার্থক্য কী?
কেন আমাদের এসওএপি এর মতো মানক দরকার? এক্সটিএমএল ডকুমেন্টগুলি এইচটিটিপি-র মাধ্যমে বিনিময় করে দুটি প্রোগ্রাম সমুদ্র, কাঠামোগত তথ্যের অতিরিক্ত কোনও মান যেমন SOAP হিসাবে কোনও বার্তা খামের বিন্যাস এবং স্ট্রাকচার্ড কন্টেন্টকে এনকোড করার উপায় হিসাবে বর্ণনা না করে বিনিময় করতে পারে।
এসওএপি একটি স্ট্যান্ডার্ড সরবরাহ করে যাতে বিকাশকারীরা যাতে তারা উপলব্ধ করতে চান প্রতিটি পরিষেবার জন্য কাস্টম এক্সএমএল বার্তা ফর্ম্যাটটি আবিষ্কার করতে না পারে। প্রার্থনা করার জন্য পরিষেবা পদ্ধতির স্বাক্ষর দেওয়া, এসওএপি স্পেসিফিকেশন একটি দ্ব্যর্থহীন এক্সএমএল বার্তা ফর্ম্যাট নির্ধারণ করে। এসওএপি স্পেসিফিকেশনের সাথে পরিচিত যে কোনও বিকাশকারী, কোনও প্রোগ্রামিং ভাষায় কাজ করে, কোনও নির্দিষ্ট পরিষেবার জন্য একটি সঠিক এসওএপি এক্সএমএল অনুরোধ প্রণয়ন করতে পারেন এবং নিম্নলিখিত পরিষেবার বিবরণ প্রাপ্তির মাধ্যমে পরিষেবা থেকে প্রতিক্রিয়া বুঝতে পারেন।
- কাজের নাম
- পরিষেবা দ্বারা প্রয়োগ করা পদ্ধতিগুলির নাম
- প্রতিটি পদ্ধতির পদ্ধতি স্বাক্ষর
- পরিষেবা বাস্তবায়নের ঠিকানা (ইউআরআই হিসাবে প্রকাশিত)
এসওএপি ব্যবহার করা একটি বিদ্যমান সফ্টওয়্যার উপাদানটিকে ওয়েব পরিষেবা হিসাবে প্রকাশের প্রক্রিয়াটিকে প্রবাহিত করে যেহেতু পরিষেবার পদ্ধতিটির স্বাক্ষরটি অনুরোধ এবং প্রতিক্রিয়া উভয়ের জন্য ব্যবহৃত এক্সএমএল ডকুমেন্ট কাঠামোটিকে চিহ্নিত করে।