জ্যাক্স-আরএস এবং স্প্রিং রেস্টের মধ্যে পার্থক্য


137

জ্যাকস-আরএসের মধ্যে পার্থক্য নিয়ে আমি বিভ্রান্ত হয়েছি (ভাল, জার্সি তুলনা করতে সম্ভবত জার্সি ব্যবহার করা উচিত যেহেতু জ্যাক্স-আরএস সুনির্দিষ্ট) এবং স্প্রিং ফর রিস্টাল সার্ভিসেসের জন্য । আমি অনলাইনে আরও তথ্যের জন্য অনুসন্ধান করার চেষ্টা করেছি এবং এটি আরও বিভ্রান্তিকর হয়ে ওঠে। আমার সংস্থা রেস্টফুল এপিআইগুলি বিকাশের জন্য স্প্রিং এমভিসি ব্যবহার করছে

বিভ্রান্তিমূলক অংশটি হ'ল, জ্যাকস-আরএস মানে রিস্টাল ওয়েব সার্ভিসের জাভা এপিআই , স্প্রিং-এ আমি জাভা ব্যবহার করছি আরএসটিফুল ওয়েব পরিষেবাদি বিকাশের জন্য, তাই আমি আসলে পার্থক্যগুলি পাই না। বসন্ত কি জ্যাক্স-আরএস নির্দিষ্টকরণ অনুসরণ করে?

আমি এখন অবধি যা জানি তা থেকে:

  1. জ্যাকস-আরএস একটি নীলনকশা / স্পেসিফিকেশন, এটি বাস্তবায়ন হিসাবে জার্সি, রিস্টেসি ইত্যাদি রয়েছে।

@ CássioMazzochiMolin আপনার উত্তরের জন্য ধন্যবাদ, আমি আরও কিছুক্ষণের মধ্যে এটি গ্রহণ করব, আরও একটি প্রশ্ন, আপনি উল্লেখ করেছেন যে স্প্রিং ফ্রেমওয়ার্কটি জ্যাক-আরএস বাস্তবায়ন নয়, স্প্রিংটি কোন স্পেসিফিকেশন অনুসরণ করছে? ধন্যবাদ
hades

3
এটি কোনও নির্দিষ্ট স্পেসিফিকেশন বাস্তবায়ন করে না। জিনিসগুলি করার এটি কেবল বসন্তের পথ । REST ক্ষমতাগুলি spring-webmvcমডিউল দ্বারা সরবরাহ করা হয় যা স্প্রিংয়ের মডেল-দর্শন-নিয়ামক সরবরাহ করে।
ক্যাসিওমোলিন

উত্তর:


149

Jax-আরএস

Jax-টাকা হয় স্পেসিফিকেশন জাভা বিশ্রাম ওয়েব সার্ভিস বাস্তবায়নের জন্য, বর্তমানে দ্বারা সংজ্ঞায়িত JSR-370 । এটি জাভা ইই টেকনোলজির অংশ , বর্তমানে জেএসআর 366 দ্বারা সংজ্ঞায়িত করা হয়েছে ।

জার্সি (গ্লাসফিশ এবং পেয়ারা সহ প্রেরিত) হ'ল জ্যাক্স-আরএস রেফারেন্স বাস্তবায়ন, তবে অন্যান্য বাস্তবায়ন যেমন রিস্টিএসি (জেবস ইএপি এবং ওয়াইল্ডফ্লাই সহ প্রেরিত) এবং অ্যাপাচি সিএক্সএফ ( টোএমই এবং ওয়েবস্পিয়ারের সাথে চালিত) রয়েছে।

স্প্রিং ফ্রেমওয়ার্ক

স্প্রিং ফ্রেমওয়ার্ক একটি হল পূর্ণ কাঠামো যে আপনার জাভা এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি করতে পারবেন। আরআরএসটি ক্ষমতাগুলি স্প্রিং এমভিসি মডিউল দ্বারা সরবরাহ করা হয় (একই মডিউল যা মডেল-দর্শন-নিয়ামক ক্ষমতা সরবরাহ করে)। এটি কোনও জ্যাক্স-আরএস বাস্তবায়ন নয় এবং জ্যাক্স-আরএস মানকটির একটি বসন্তের বিকল্প হিসাবে দেখা যেতে পারে।

স্প্রিং ইকোসিস্টেম এন্টারপ্রাইজ অ্যাপ্লিকেশন তৈরি, অধ্যবসায়, সুরক্ষা, সামাজিক নেটওয়ার্কগুলির সাথে সংহতকরণ, ব্যাচ প্রসেসিং ইত্যাদির জন্য বিস্তৃত প্রকল্প সরবরাহ করে

উদাহরণ

জ্যাকস-আরএস এপিআই ব্যবহার করে নিম্নলিখিত সংস্থান নিয়ন্ত্রকটি বিবেচনা করুন:

@Path("/greetings")
public class JaxRsController {

    @GET
    @Path("/{name}")
    @Produces(MediaType.TEXT_PLAIN)
    public Response greeting(@PathParam("name") String name) {

        String greeting = "Hello " + name;
        return Response.ok(greeting).build();
    }
}

স্প্রিং এমভিসি এপিআই ব্যবহার করে সমান বাস্তবায়ন হ'ল:

@RestController
@RequestMapping("/greetings")
public class SpringRestController {

    @RequestMapping(method = RequestMethod.GET,
                    value = "/{name}", 
                    produces = MediaType.TEXT_PLAIN_VALUE)
    public ResponseEntity<?> greeting(@PathVariable String name) {

        String greeting = "Hello " + name;
        return new ResponseEntity<>(greeting, HttpStatus.OK);
    }
}

স্প্রিং বুট এবং জার্সি ব্যবহার করে

স্প্রিং বুট spring-boot-starter-jerseyমডিউল সরবরাহ করে যা আপনাকে স্প্রিং এমভিসির পরিবর্তে আরআরএসটি শেষ পয়েন্টগুলির জন্য জ্যাক্স-আরএস প্রোগ্রামিং মডেলটি ব্যবহার করতে দেয়। এটি জার্সি ২.x এর সাথে বেশ ভাল কাজ করে

জার্সি ২.x এবং স্প্রিং বুট ১.৪.x দিয়ে ওয়েব অ্যাপ্লিকেশন তৈরির সম্পূর্ণ উদাহরণের জন্য, এই উত্তরটি দেখুন


সুতরাং আমরা যদি বসন্তের এমভিসি ব্যবহার করি এবং এটি গ্লাস ফিশ / পেয়ারাতে প্রেরণ করি, আমাদের কি সার্ভারে জ্যাক্স-আরএস প্রয়োগগুলি অক্ষম করতে হবে?
প্রদীপ_এভোল

এই নিবন্ধটি বসন্ত 4 dzone.com/articles/… এর সাথে সত্য ? কেবল বসন্ত + জার্সির (জ্যাকস-আরএস) চেয়ে বসন্তের ওয়েবটি রিসেট ওয়েব পরিষেবা করা আরও ভাল?
tgkprog

58

টীকাগুলির পার্থক্য

(2018 হিসাবে) স্প্রিং এমভিসি জ্যাক্স-আরএস টীকাগুলিকে মানক করে না, যেহেতু এর সমাধান জ্যাক্স-আরএসের পূর্বাভাস দেয়। এখানে সমতুল্য:

এখানে চিত্র বর্ণনা লিখুন

https://stormpath.com/blog/jax-rs-vs-spring-rest-endpoints

আপনি যদি মানহীন এপিআই ব্যবহার করছেন তবে তাদের আশা করা উচিত যে তারা কয়েক বছরের মধ্যে আরও একটি নতুন পরীক্ষামূলক এপিআই দ্বারা অবমূল্যায়ন করা হবে এবং সম্ভবত এটিকে ছাড় দেওয়া হবে। পশ্চাদপটে সামঞ্জস্যের জন্য অনেক কম জবাবদিহিতা রয়েছে (যেমন কোনও নতুন জেডিকে সংস্করণ প্রকাশিত হলে)।


অনেক অনেক ধন্যবাদ, এটি দুর্দান্ত
বেজন্ড

26

আমি জার্সি রেস্ট, স্প্রিং রেস্ট এবং বসন্তের সাথে জার্সি রেস্ট উভয়ের সাথে কাজ করেছি। উভয়ই দুর্দান্ত বাস্তবায়ন সহ খুব সমৃদ্ধ ফ্রেমওয়ার্ক। আমি পরামর্শ দিচ্ছি যে আপনি যদি ওআরএম, স্প্রিং সুরক্ষা এবং ডিআই ইত্যাদির মতো অন্যান্য স্প্রিং পরিষেবা ব্যবহার করেন তবে স্প্রিং বিশ্রামের সাথে যাওয়ার জন্য ভাল better তাই কোড এবং নির্ভরতা পরিচালনার জন্য আমি কিছুটা সহজ অনুভব করি

জ্যাক্স-আরএস পেশাদার:

  • জেএসআর স্ট্যান্ডার্ডটি সার্ভলেট ধারক ছাড়া চালানো যেতে পারে (গ্রিজলি, সহজ, ...)
  • উত্পাদনের জন্য প্রস্তুত বাস্তবায়ন (জার্সি, সিএক্সএফ, রিসেটেসি, রিসলেট, ...) কেবলমাত্র REST অ্যাপ্লিকেশনগুলির জন্য ডিজাইন করা হয়েছে

স্প্রিং এমভিসি পেশাদার:

  • কেবলমাত্র REST সুবিধা নয়, "পূর্ণ" স্ট্যাক সরবরাহ করুন

  • নির্ভরতা ইনজেকশন / এওপি / লেনদেন

  • প্লাগেবল ভিউ টেমপ্লেটগুলি (জেএসপি, ফ্রি মার্কার, বেগ, ...)

আপনি নীচের লিঙ্কগুলিতে আরও পরীক্ষা করতে পারেন

  1. https://www.infoq.com/articles/springmvc_jsx-rs
  2. জ্যাকস-আরএস / জার্সি কেন ব্যবহার করবেন?

4
তবে জ্যাকস-আরএস স্প্রিংয়ের সাথেও (ডিআই, এওপি, ...) ব্যবহার করা যেতে পারে।
Deamon

5

জ্যাক্স-আরএস হল স্পেসিফিকেশন এবং জার্সি ইত্যাদি এর বাস্তবায়ন। লোকেরা বসন্তকে রেস্টফুল ওয়েব পরিষেবাদি তৈরি করতে ব্যবহার করে কারণ বসন্ত বিশ্রামের সাথে বাস্তবায়নের পাশাপাশি হাইবারনেট ইন্টিগ্রেশন এবং আইওসি এবং অ্যাসপেক্ট ওরিয়েন্টেড প্রোগ্রামিংয়ের মতো স্টাফ সরবরাহ করে।

যেখানে আমরা যদি আমাদের বাস্তবায়নের জন্য জার্সি ব্যবহার করি তবে সমস্যাটি হ'ল কিছু ওআরএম প্রযুক্তি ব্যবহার করে পিছনের প্রান্ত থেকে ডেটা আনতে হবে এবং তার জন্য আমাদের বয়লারপ্লেট কোডটি লিখতে হবে।

এই কারণেই লোকেরা এবং এমনকি উদ্যোগগুলি বিশ্রাম বাস্তবায়নের পাশাপাশি বসন্ত ব্যবহার করে এটি বসন্তের সুবিধাদিও সরবরাহ করে। এবং এখন সর্বশেষতম স্প্রিং বুট বাস্তবায়ন ব্যবহার করে আমরা প্রচুর কনফিগারেশন ছাড়াই খুব দ্রুত বিকাশ শুরু করতে পারি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.