একটি ওয়েব সার্ভিস এমন একটি পরিষেবা যা তার ক্লায়েন্টদের জন্য আরআরএসটি প্রোগ্রামিং প্যারাডিজম বা যোগাযোগের জন্য এসওএপি প্রোটোকল ব্যবহার করে তার ক্লায়েন্টগুলিকে পরিষেবা পদ্ধতি সরবরাহ করে। ওয়েব পরিষেবা কার্যকর করার বিভিন্ন উপায় রয়েছে are ওয়েব সার্ভিস লেখার সর্বাধিক সহজ উপায় হ'ল কোনও ক্লাস লিখতে এবং এটিকে এর সাথে টীকা @WebService
এবং @WebMethod
টীকাগুলির সাথে মন্তব্য করা javax.jws
এবং তারপরে একে main
স্মৃতি থেকে শুরু করা :
Endpoint.publish("http://localhost:8089/myservice", new MyWebService());
ফলাফলটি হ'ল আপনি নিবন্ধিত ইউআরএলে ডাব্লুএসডিএল দেখতে পারবেন এবং আপনার যদি সোপুআইআই বা অন্য কোনও এসওএপি ক্লায়েন্ট থাকে তবে আপনি নিজের ওয়েব পরিষেবাও পরীক্ষা করে ব্যবহার করতে পারবেন।
অন্যদিকে একটি সার্লেট এটি HTTP অনুরোধ এবং প্রতিক্রিয়া পরিবহনে ব্যবহৃত হয় । এটি জেএসপি এবং এইচটিএমএল সহ একটি ওয়েব অ্যাপ্লিকেশন লিখতে ব্যবহার করতে বা এক্সএমএল এবং জেএসওএন প্রতিক্রিয়াগুলি (একটি রিস্টফুল সার্ভিসে হিসাবে) পরিবেশন করতে এবং অবশ্যই এসওএপি বার্তা গ্রহণ ও ফিরে পেতে ব্যবহার করা যেতে পারে। আপনি ওয়েব পরিষেবাদির নীচে এক স্তর হিসাবে এটি ভাবতে পারেন । সার্লেলেটগুলির নিজস্ব মান রয়েছে যা বর্তমানে জাভা সার্লেলেট স্পেসিফিকেশন সংস্করণ 4.0 4.0
আরও বিস্তৃত এবং ব্যবহারিক পদ্ধতি হ'ল একটি ফ্রেমওয়ার্ক সহ একটি ওয়েব পরিষেবা লিখুন এবং এটি কোনও অ্যাপ্লিকেশন সার্ভারে বা টমক্যাট বা জবাসের মতো সার্লেট পাত্রে প্রকাশ করা। এই ক্ষেত্রে আপনি এইচটিটিপি অনুরোধগুলির পরিবহন পরিচালনা করার জন্য একটি সার্লেট ব্যবহার করবেন যা আপনার এসওএপি বা আরএসটি বার্তাগুলি প্রেরণ করে।
সার্লেট প্রযুক্তি সহ একটি ওয়েব পরিষেবা লিখতে আপনি উদাহরণস্বরূপ জ্যাক্স-ডাব্লুএস ব্যবহার করতে পারেন (যেমন এসওএপি জন্য) for RESTful পরিষেবাদি লিখতে, আপনি হয় JAX-RS ব্যবহার করতে পারেন (রেফারেন্স বাস্তবায়নটি জার্সি হিসাবে ), অথবা বিকল্পভাবে আপনি স্প্রিং ওয়েবএমভিসি ব্যবহার করতে পারেন , তবে যতদূর আমি জানি যে এই কাঠামোর মূল উদ্দেশ্য নয় এবং জার্সি যথেষ্ট পরিমাণে রয়েছে ব্যবহার করা সহজ।
দ্বিতীয় প্রশ্ন সম্পর্কিত: @Controller
টিকাটি একটি স্প্রিং নির্দিষ্ট স্টেরিওটাইপ টিকা that যা আপনার শিমের কী করা উচিত সে সম্পর্কে বসন্তকে কিছু বলে। নিয়ামকের কোন পদ্ধতিটি ঠিক কী ফিরিয়ে দেবে তা আপনার পদ্ধতির প্রকৃত বাস্তবায়নের উপর নির্ভর করে, আপনি সাদামাটা পাঠ্য, এইচটিএমএল, জেএসএন, এক্সএমএল, বাইনারি ডেটা বা আপনি যা চান তা ফেরত দিতে স্প্রিংকে কনফিগার করতে পারেন।
পাশের একটি নোট, একটি শ্রেণীর সাথে টীকাযুক্ত করা @Controller
এখনও কোনও সার্লেট নয়, এটি কেবল বিন। আপনি কীভাবে সার্লেটলেট ব্যবহার করবেন তা নির্ভর করে আপনি যে ফ্রেমওয়ার্কটি ব্যবহার করেন তার উপর। উদাহরণস্বরূপ, আপনি যখন স্প্রিং ব্যবহার করেন, সার্লেট কাজটি স্প্রিংস দ্বারা সম্পন্ন হয় DispatcherServlet
যা ঘুরে ফিরে সঠিক মটরশুটিগুলিকে অনুরোধ জানায়। আপনি যদি টোম্যাট ব্যবহার করেন, তবে আপনি কেবলমাত্র সাবক্ল্যাসিং করে নিজের সার্ভলেটগুলি সরাসরি লিখতে পারেনjavax.servlet.http.HttpServlet
ক্লাসটি এবং প্রয়োজনীয় পদ্ধতিগুলিকে ওভাররাইট করেdoGet
যা আপনার ব্রাউজার থেকে এইচটিটিপি জিইটি অনুরোধের প্রতিক্রিয়া জানায়।