একটি নতুন প্রকল্পের জন্য একটি JAX-RS বাস্তবায়ন নির্বাচন করা


35

আমি একটি নতুন জাভা প্রকল্প শুরু করছি যার জন্য একটি রেস্টলফুল এপিআই দরকার হবে। এটি মোবাইল ক্লায়েন্টদের পরিবেশন করা একটি সাস ব্যবসায়িক অ্যাপ্লিকেশন হবে।

আমি জাভা ইই 6 এর সাথে একটি প্রকল্প তৈরি করেছি তবে আমি বাস্তুতন্ত্রের সাথে খুব বেশি পরিচিত নই, কারণ আমার বেশিরভাগ অভিজ্ঞতা মাইক্রোসফ্ট প্ল্যাটফর্মে রয়েছে।

বর্ণিত যেমন কোনও নতুন প্রকল্পের জন্য জ্যাকস-আরএস বাস্তবায়নের জন্য কোন বুদ্ধিমান পছন্দ হবে?

উইকিপিডিয়া তালিকার বিচার করে , প্রধান প্রতিযোগীরা মনে করছেন জার্সি, অ্যাপাচি সিএক্সএফ, আরইএসটিসি এবং রিসলেট। তবে উইকিপিডিয়ায় উদ্ধৃত জ্যাকস-আরএস বাস্তবায়নের তুলনাটি ২০০৮ সাল থেকে।

তাদের নিজ নিজ হোমপেজ থেকে আমার প্রথম ইমপ্রেশনগুলি হ'ল:

  • সিএক্সএফের লক্ষ্য ছিল একটি বিস্তৃত সমাধান (মাইক্রোসফ্ট স্পেসে ডাব্লুসিএফের কথা মনে করিয়ে দেয়), যা আমার মনে হয় যে এটি আমার প্রয়োজনের চেয়ে বুঝতে, সেটআপ করা এবং ডিবাগ করা আরও জটিল হতে পারে;
  • জার্সিটি রেফারেন্স বাস্তবায়ন এবং এটি একটি ভাল পছন্দ হতে পারে, তবে এটি সূর্যের উত্তরাধিকারী এবং আমি নিশ্চিত নই যে ওরাকল কীভাবে এটি আচরণ করছে (ঘোষণার পৃষ্ঠাটি কাজ করে না এবং সর্বশেষ প্রতিশ্রুতি বিজ্ঞপ্তিটি 4 মাস আগে থেকে);
  • রিস্টিসিটি জেবস থেকে এবং সম্ভবত একটি শক্ত বিকল্প, যদিও আমি বক্ররেখা শেখার বিষয়ে নিশ্চিত নই;
  • রিসলেটটি জনপ্রিয় বলে মনে হচ্ছে তবে এর অনেক ইতিহাস রয়েছে, আমি নিশ্চিত নই যে এটি জাভা EE 6 বিশ্বে কতটা আপ টু ডেট রয়েছে বা এটি যদি ভারী J2EE মানসিকতা বহন করে (প্রচুর এক্সএমএল কনফিগারেশন))

এই বিকল্পগুলির প্রতিটি কি কি যোগ্যতা হবে? বক্ররেখা শেখার কি? বৈশিষ্ট্য সমর্থন? টুলিং (যেমন নেটবিস বা এক্সপ্লিস উইজার্ডস)? ডিবাগিং সহজতরকরণ এবং মোতায়েন সম্পর্কে কী? এই প্রকল্পগুলির মধ্যে কোনওটি কি অন্যদের চেয়ে বেশি আপ টু ডেট থাকে? এগুলি কতটা স্থিতিশীল?


1
আমি শিরোনাম সম্পাদনার প্রশংসা করি, তবে আমি সত্যিই জিজ্ঞাসা করছি না যে কোনও মোবাইল প্রকল্পের জন্য জ্যাক-আরএস ভাল ফিট কিনা; এটি অন্য প্রশ্ন হবে। আমি কোন জ্যাক-আরএস বাস্তবায়নের জন্য সুপারিশ করব তা জানার চেষ্টা করছি।
ফার্নান্দো কোরিয়া

উত্তর:


22

আমি সামগ্রিক সমাধানের জন্য ড্রপউইজার্ডকে ভালবাসতে পেরেছি

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

  • জেটি (এইচটিটিপি)
  • জার্সি (জ্যাকস-আরএস)
  • জ্যাকসন (জেএসএন বা এক্সএমএল)
  • পেয়ারা (জেডিকে পাঠাগারগুলিতে দুর্দান্ত সংযোজন)
  • মেট্রিক্স (রিয়েল টাইম অ্যাপ্লিকেশন পর্যবেক্ষণ)
  • হাইবারনেট ভ্যালিডেটর (ইনপুট যাচাইকরণ)
  • OAuth (RESTful প্রমাণীকরণ)

উপরের সংমিশ্রণ, কার্যকরী পরীক্ষার জন্য দৃ approach় পদ্ধতির সাথে মিলিয়ে আপনার পরিষেবাটি দ্রুতগতিতে চালিয়ে নেওয়ার সম্পূর্ণ সমাধান দেয়।

হ্যাঁ? এবং জ্যাকস-আরএস প্রশ্নটি আমি জিজ্ঞাসা করেছি ...

আপনি লক্ষ্য করবেন যে তাদের পছন্দটি ছিল জার্সি, রেফারেন্স জ্যাক্স-আরএস বাস্তবায়ন। একজন রেস্টস্টেইসি ছেলে হিসাবে আমি ভেবেছিলাম এটি একটি সমস্যা হবে তবে এখানে শূন্যের বক্ররেখা রয়েছে। দুটোই মূলত বিনিময়যোগ্য। তবে, আমি বলব যে জার্সি ক্লায়েন্ট পরীক্ষাগুলি নির্মাণের জন্য একটি সাবলীল ইন্টারফেসের অফার করেছিল। একটি উদাহরণ হবে ...

 @Override
  protected void setUpResources() {
    addResource(new HelloWorldResource("Hello, %s!","Stranger"));

    setUpAuthenticator();
  }

  @Test
  public void simpleResourceTest() throws Exception {

    Saying expectedSaying = new Saying(1,"Hello, Stranger!");

    Saying actualSaying = client()
      .resource("/hello-world")
      .get(Saying.class);

    assertEquals("GET hello-world returns a default",expectedSaying.getContent(),actualSaying.getContent());

}

2
ড্রপউইজার্ডকে আমার নজরে আনার জন্য আপনাকে অনেক ধন্যবাদ। আমি এটি সম্পর্কে জানতাম না এবং এটি আমার প্রয়োজনগুলি খুব ভাল ফিট করে। এটি জাভা EE প্ল্যাটফর্ম সম্পর্কে আমার অতিশাস্ত্র জ্ঞান দেওয়ার চেয়ে আরও ভাল সমাধান তৈরি করতে আমাকে সাহায্য করার সময় সম্ভবত বেশ সমস্যাকে বাঁচাতে পারে practical এবং ইয়ামারের মতো একটি সফল সংস্থার কাছ থেকে আসা আসা যা বাজারের বাজারকে কার্যকরভাবে পরিবেশন করে। আবার, অনেক ধন্যবাদ।
ফার্নান্দো কোরিয়া

1
সমস্যা নেই. আমি আমার একটি প্রকল্প সম্পর্কে ব্লগ করেছি যা ড্রপউইজার্ড বৈশিষ্ট্যগুলির অনেকগুলি দেখায়। এটি এমআইটি লাইসেন্সের অধীনে আপনার প্রয়োজনমতো নিখরচায়
গ্যারি রোয়ে

এটা সাহায্য করবে। অনেক প্রশংসিত.
ফার্নান্দো কোরিয়া

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

সতর্কতা: জার্সি ২.০ 1.0 এর থেকে যথেষ্ট খারাপ। এটি কার্যকরীতা হারিয়েছে যা 1.0 এ বিদ্যমান ছিল, এটি আপনার উপর একটি নির্দিষ্ট ডিআই কাঠামো চাপিয়ে দেয় এবং সম্প্রদায়ের সমর্থন এটি আগের চেয়ে অনেক খারাপ।
গিলি

6

আপনি এই প্রশ্নটি একবার দেখে নিতে পারেন , যা অন্যান্য বিকাশকারীদের কিছু অভিজ্ঞতা নিয়ে আলোচনা করে।

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


1
আপনার সহায়ক উত্তরের জন্য এবং যে সংশ্লিষ্ট প্রশ্নের লিঙ্ক করার জন্য আপনাকে ধন্যবাদ - অদ্ভুত, এটা না দেখিয়েছিলেন অনুসন্ধান । এই উত্তরটি 4 বছর আগে থেকে, যদিও, তাই আমি আপনার আপ-টু-ডেট সুপারিশকে প্রশংসা করি।
ফার্নান্দো কোরিয়া
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.