আপাচি উটটি আসলে কী?


1360

উটটি ঠিক কী করে তা আমি বুঝতে পারি না ।

আপনি যদি 101 শব্দে উটের একটি ভূমিকা দিতে পারেন:

  • এটা ঠিক কি?
  • এটি জাভাতে লেখা একটি অ্যাপ্লিকেশনটির সাথে কীভাবে যোগাযোগ করে?
  • এটি কি এমন কিছু যা সার্ভারের সাথে একসাথে যায়?
  • এটি কি একটি স্বাধীন প্রোগ্রাম?

উট কি তা দয়া করে ব্যাখ্যা করুন।

উত্তর:


719

আপনার যদি 5 থেকে 10 মিনিট সময় থাকে তবে আমি সাধারণত লোকদের জোনাথন অ্যান্টেসির অ্যাপাচি উটের সাথে এই একীকরণটি পড়ার পরামর্শ দিই । এটি একটি লিখিত টুকরা যা উটের কয়েকটি ধারণার সংক্ষিপ্ত পরিচিতি এবং সংক্ষিপ্তসার দেয় এবং কোড নমুনা সহ এটি ব্যবহারের ক্ষেত্রে প্রয়োগ করে। এতে জোনাথন লিখেছেন:

অ্যাপাচি ক্যামেল একটি ওপেন সোর্স জাভা ফ্রেমওয়ার্ক যা ইন্টিগ্রেশনকে আরও সহজ এবং বিকাশকারীদের আরও অ্যাক্সেসযোগ্য করে তোলার দিকে দৃষ্টি নিবদ্ধ করে। এটি সরবরাহ করে এটি করে:

  • সমস্ত বহুল ব্যবহৃত এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নস (ইআইপি) এর কংক্রিট বাস্তবায়ন
  • বিভিন্ন ধরণের ট্রান্সপোর্ট এবং এপিআই-তে সংযোগ রয়েছে
  • EIP গুলি এবং একসাথে পরিবহন করতে ডোমেন নির্দিষ্ট ভাষাগুলি (ডিএসএল) ব্যবহার করা সহজ

ক্যামের ইন অ্যাকশনের একটি নিখরচায় অধ্যায়ও রয়েছে যা প্রথম অধ্যায়ে উটকে পরিচয় করিয়ে দেয়। জোনাথন আমার সাথে সেই বইয়ের সহ-লেখক।


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

2
@ খচ্চর ইএসবি এবং উটের মধ্যে নির্বাচন করতে চাইলে ক্লাউজ করুন। একজনকে অপরটিকে বেছে নেওয়ার ক্ষেত্রে আমার অবসন্নতা কী হবে
কুহাজায়ান

8
উটের প্রতিযোগীদের তুলনায় কয়েকটি লিঙ্ক দেখুন : উট.পাচি.অর্গ.আর্টিক্যালস.এইচটিএমএলে
ক্লজ ইবসেন

1
হ্যাঁ একেবারে এটি মাইক্রোসার্ভিসেস সংযোগের জন্য ব্যবহার করা যেতে পারে, এটির পরে কিছুটা জাভা টুলকিট / ফ্রেমওয়ার্ক। উট ইন অ্যাকশন 2 য় সংস্করণ বইতে উটের মাইক্রোসার্ভেসিস সম্পর্কিত একটি সম্পূর্ণ অধ্যায় রয়েছে।
ক্লজ ইবসেন

1
আপনি জিজ্ঞাসা করা "এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নস (ইআইপি)" কী কী? আপনাকে যা যা করতে হবে তা হ'ল বইটি এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নগুলি কিনুন ... "
জোসে কুইন্টিও

1130

এটি আরও অ্যাক্সেসযোগ্য উপায়ে বর্ণনা করার জন্য আমার গ্রহণ ...

অ্যাপাচি উট কী তা বোঝার জন্য আপনাকে এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নগুলি কী তা বুঝতে হবে।

আসুন আমরা সম্ভবত যা ইতিমধ্যে জানি তা দিয়ে শুরু করা যাক: সিঙ্গলটন প্যাটার্ন, কারখানার প্যাটার্ন ইত্যাদি; এগুলি কেবল আপনার সমস্যার সমাধান সমাধানের উপায়, তবে সেগুলি নিজেরাই সমাধান হয় না। এইসব নিদর্শন বিশ্লেষণ এবং চার, যখন তারা তাদের বই প্রকাশিত গ্যাং দ্বারা আমাদের বাকি জন্য নিষ্কাশিত করা হয়েছে: নকশা নিদর্শন । কীভাবে আমাদের কোডটিকে সর্বোত্তম কাঠামো করা যায় তা ভেবে তারা আমাদের মধ্যে কিছু লোককে প্রচুর প্রচেষ্টা বাঁচিয়েছিল।

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

তারা মূলত উত্থাপন করা যে আমরা হতে আমাদের সিস্টেমে গঠন বার্তা ওরিয়েন্টেড - যেখানে উপাদান ইনপুট এবং আউটপুট এবং একেবারে অন্য কিছুই যেমন বার্তা ব্যবহার একে অন্যের সঙ্গে যোগাযোগ করি। তারা আমাদের নিদর্শনগুলির একটি সম্পূর্ণ সেট দেখায় যা আমরা আমাদের বিভিন্ন উপাদান থেকে চয়ন করতে এবং প্রয়োগ করতে পারি যা একসাথে পুরো সিস্টেমটি গঠন করবে।

তাহলে আপাচি উট কী?

অ্যাপাচি ক্যামেল আপনাকে ইআইপি, বেস অবজেক্টস, সাধারণত প্রয়োজনীয় বাস্তবায়ন, ডিবাগিং সরঞ্জাম, একটি কনফিগারেশন সিস্টেম এবং অন্যান্য অনেক সাহায্যকারীদের জন্য ইন্টারফেস দেয় যা আপনি যখন ইআইপিগুলি অনুসরণ করার জন্য আপনার সমাধানটি প্রয়োগ করতে চান তখন আপনাকে অনেক সময় সাশ্রয় করতে পারে।

এমভিসি নিন। এমভিসি তত্ত্বের ক্ষেত্রে বেশ সহজ এবং আমরা কোনও কাঠামোর সহায়তা ছাড়াই এটি প্রয়োগ করতে পারি। তবে ভাল এমভিসি ফ্রেমওয়ার্কগুলি আমাদের ব্যবহারের জন্য প্রস্তুত কাঠামো সরবরাহ করে এবং অতিরিক্ত মাইল চালিয়ে যায় এবং যখন আপনি একটি বড় এমভিসি প্রকল্প তৈরি করেন তখন আপনার প্রয়োজনীয় অন্যান্য "সাইড" জিনিসগুলি চিন্তা করে এবং তাই আমরা বেশিরভাগ সময় তাদের ব্যবহার করি।

ইআইপিগুলির জন্য ঠিক এটিই অ্যাপাচি উট। এটি EIPs অনুসরণ করার জন্য তাদের সমাধান কার্যকর করতে চায় এমন লোকদের জন্য একটি সম্পূর্ণ উত্পাদন-প্রস্তুত কাঠামো।


183
এটি সম্ভবত প্রশ্নের সেরা উত্তর। অন্যান্য সমস্ত উত্তর ইন্টারনেটের অন্যান্য নিবন্ধগুলির মতোই বিভ্রান্তিকর
নার্ভ

19
EIP এর মূল বিষয়। আপনি যদি EIP বুঝতে না পারেন, আপনি অন্ধ লোক এবং হাতির মতো উট ব্যবহার করতে পারেন (উট)। EIP
হুটিংং

22
এই উত্তরের জন্য +50 - ইআইপিতে পরিচিতির সাথে শুরু করে এটি জিওএফ এবং এমভিসি এবং ফ্রেমওয়ার্কের সাথে সাদৃশ্য। প্রশ্নটি হিসাবে, দেখে মনে হচ্ছে ওপি ইআইপি সম্পর্কে ধারণা রাখে না। এই উত্তরটি পড়ার আগে আমি একই নৌকায় ছিলাম
শিখর

6
এই বিবরণটি অ্যাপাচি উটের হোমপেজে যুক্ত করা উচিত কারণ এটি প্রশ্নের উত্তর দেয় এবং তারপরে কিছু। এমভিসি হস্তাক্ষরযুক্ত হওয়ার সাথে তাঁর এই সাদৃশ্যটির সঠিক ব্যবহার বা এই উত্তরটি করতে সহায়তা করার জন্য একটি 'সরঞ্জাম' ব্যবহার করে আমাকে অন্তহীন অন্যান্য (দরকারী) লিঙ্কগুলির মধ্যে ট্রলিং না করেই বোঝাপড়াটি দেওয়া হয়েছিল যখন প্রয়োজনীয় সমস্ত কিছুই এই সংযোগটি ছিল উত্তর.
আজকুমা

2
কিছুটা EIP সমস্যা: "বছরের পর বছর ধরে আন্তঃসংযোগে সহায়তা করার জন্য অনেকগুলি গ্রন্থাগার এবং ফ্রেমওয়ার্ক রয়েছে But কিন্তু প্রায়শই এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নগুলির পিছনে ধারণাগুলি কিছু জটিল শ্রেণিবদ্ধ বা বস্তুতে রূপান্তরিত হয় যা কেবলমাত্র একসাথে তারের দরকার হয় be , এবং মূল উদ্দেশ্যগুলি এবং নিদর্শনগুলি প্রায়শই হারিয়ে যায় then
কোয়ান

659

একটি প্রকল্পের বর্ণনা তৈরি করা জটিল হওয়া উচিত নয়।

আমি বলি:

আপাচি ক্যামেল রাউটিংয়ের সাথে মেসেজিং প্রযুক্তি আঠালো। এটি একসাথে ম্যাসেজিং শুরু এবং শেষ পয়েন্টগুলিতে যোগদান করে বিভিন্ন উত্স থেকে বিভিন্ন গন্তব্যে বার্তাগুলি স্থানান্তর করার অনুমতি দেয়। উদাহরণস্বরূপ: জেএমএস -> জেএসএন, এইচটিটিপি -> জেএমএস বা ফানেলিং এফটিপি -> জেএমএস, এইচটিটিপি -> জেএমএস, জেএসএন -> জেএমএস

উইকিপিডিয়া বলেছেন:

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

দেখা? এটা কি কঠিন ছিল না?


307
অ্যাপাচি উটের হোমপেজটি এই থ্রেডকে বোঝায় ... তারা তাদের নিজস্ব পণ্যটির একটি সংক্ষিপ্ত ক্রিয়ামূলক ব্যাখ্যা সরবরাহ করতে পরিচালিত হয়নি।
youri

15
এই নিবন্ধটি কীভাবে গঠনমূলক সমালোচনা, এবং সৎ প্রচেষ্টা শ্রুতলতার ডকুমেন্টেশন তৈরি করতে পারে তার একটি প্রধান উদাহরণ। এটি অফিসিয়াল উটের ওয়েবসাইটে বৈশিষ্ট্যযুক্ত। তবে আসুন এটি গঠনমূলক রাখুন এবং নাম ট্যাগিং এড়ানো যাক। ডকুমেন্টেশন লেখক এবং অন্যান্য অবদানকারীদের মাঝে মাঝে আসতে শক্ত হয় এবং তারা আমাদের শ্রদ্ধার প্রাপ্য। বিটিডাব্লু - আমাদের অনেক জাভা কোডিং স্ট্যান্ডার্ড রয়েছে ... এবং এটি গর্ব এবং সম্মানের সাথে আঁকড়ে থাকি ... উইকি এবং অফিসিয়াল গাইডের মতো মিডিয়াগুলির জন্য কীভাবে একটি ডকুমেন্টিং স্ট্যান্ডার্ড?
YoYo

1
এটি কি সূক্ষ্ম শস্যের বিপরীত প্রক্সিটির মতো?
আসাদ হাসান

1
আমি উটের হোমপেজ লিঙ্কের মাধ্যমে এই উত্তরটি পেয়েছি। এটি আমাকে স্তম্ভিত করে যে তারা তাদের পৃষ্ঠায় এটি সরাসরি উদ্ধৃতি দেয় না বা নির্দিষ্টভাবে উত্তরটির লিঙ্কও করে না।
Jelling

9
এখন, আমি এটাকেই চটজলদি এবং বিন্দু উত্তর বলছি। আশ্চর্যের বিষয় হল, গৃহীত উত্তরটি বিজ্ঞাপনের মতো মনে হচ্ছে। +1
ইএমএম 3'15

120

সংক্ষেপে:

সিস্টেমগুলি সংযুক্ত / সংহত করার জন্য যখন প্রয়োজন হয়, আপনার ব্যবসায়ের প্রয়োজনীয়তার সাথে মেলে তুলতে আপনাকে সম্ভবত কোনও ডেটা উত্সের সাথে সংযোগ স্থাপন করতে হবে এবং তারপরে এই ডেটাটি প্রক্রিয়া করতে হবে।

সেটা করতে গেলে:

1) আপনি কাস্টম প্রোগ্রামটি বিকাশ করতে পারেন যা এটি করে (অন্য বিকাশকারীকে ধরে রাখতে সময় সাশ্রয়ী এবং বুঝতে অসুবিধা হতে পারে)

2) বিকল্পভাবে, আপনি মানক উপায়ে এটি করতে আপাচি উটটি ব্যবহার করতে পারেন (এটি ইতিমধ্যে আপনার জন্য বেশিরভাগ সংযোগকারী তৈরি করেছে, আপনাকে কেবল এটি সেট আপ করতে হবে এবং আপনার যুক্তিকে প্লাগ করতে হবে - নামক প্রক্রিয়া):

উট আপনাকে এতে সহায়তা করবে:

  1. যে কোনও উত্স / ফর্ম্যাট থেকে ডেটা গ্রহণ করুন
  2. এই ডেটা প্রক্রিয়া করুন
  3. যে কোনও উত্স / ফর্ম্যাটে ডেটা আউটপুট

অ্যাপাচি উট ব্যবহার করে আপনি অন্য সিস্টেমের বিকাশকারীকে আপনার সিস্টেমকে বোঝা / বজায় রাখা / প্রসারিত করা সহজ করবেন।

অ্যাপাচি উটটি এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নগুলির সাহায্যে বিকশিত। নিদর্শনগুলি আপনাকে সিস্টেমগুলিকে একটি ভাল উপায়ে সংহত করতে সহায়তা করে :-)


তার মানে অন্যান্য বিকাশকারীরা অন্য প্রোগ্রামিং ভাষায়ও যুক্তি পরিবর্তন করতে পারবেন?
জাভাটেকনিক্যাল

1
@ জাভা টেকনিক্যাল মেসেজিং প্যাটার্ন (ইআইপি) দেওয়া, আপনি ইতিমধ্যে বিভিন্ন ভাষায় বিভিন্ন উপাদান কোড করতে পারেন কারণ এই বার্তাগুলি JSON এর মতো ভাষা স্বাধীন বিন্যাসে রয়েছে। উট ইআইপি বাস্তবায়নের জন্য একটি সহজ কাঠামো সরবরাহ করে। এটি আমার বোঝার উপর ভিত্তি করে। আমি ভুল হয়ে থাকলে আমাকে সংশোধন করুন।
ধীররাজ ভাস্কর

98

উট এ থেকে বিতে বার্তা পাঠায়:

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

কেন এটির জন্য পুরো কাঠামো? ঠিক আছে, যদি আপনার কাছে থাকে:

  • অনেক প্রেরক এবং অনেক গ্রহণকারী
  • প্রোটোকলের একটি ডজন ( ftp, http, jms, ইত্যাদি)
  • অনেক জটিল নিয়ম
    • কেবলমাত্র A এবং B প্রাপকদের A কে একটি বার্তা প্রেরণ করুন
    • এক্স রিমিভার সি- কে এক্সএমএল হিসাবে বি বার্তা প্রেরণ করুন , তবে আংশিকভাবে এটি অনুবাদ করুন, এটি সমৃদ্ধ করুন (মেটাডেটা যুক্ত করুন) এবং যদি শর্ত এক্স , তবে এটি রিসিভার ডি-তেও প্রেরণ করুন, তবে সিএসভি হিসাবে

সুতরাং এখন আপনার প্রয়োজন:

  • প্রোটোকলের মধ্যে অনুবাদ করুন
  • আঠালো উপাদান একসাথে
  • রুটগুলি সংজ্ঞায়িত করুন - কোথায় যায়
  • কিছু কিছু ক্ষেত্রে ফিল্টার করুন

উট আপনাকে বাক্সের বাইরে উপরের (এবং আরও অনেক কিছু) দেয়:

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

কী এবং কীভাবে সংজ্ঞায়িত করার জন্য একটি দুর্দান্ত ডিএসএল ভাষার সাথে:

  new DefaultCamelContext().addRoutes(new RouteBuilder() {
        public void configure() {
            from("jms:incomingMessages")
                    .choice() // start router rules
                    .when(header("CamelFileName")
                            .endsWith(".xml"))
                    .to("jms:xmlMessages")
                    .when(header("CamelFileName")
                            .endsWith(".csv"))
                    .to("ftp:csvMessages");
}

এটি এবং এই এবং এটিকে অ্যাকশনও দেখুন (যেমন অন্যরা বলেছেন, একটি দুর্দান্ত বই!)


75

একটি চিত্র হাজার হাজার বর্ণনার চেয়ে ভাল। এই চিত্রটি উটের আর্কিটেকচারের চিত্র তুলে ধরে।

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


55

বিশ্লেষণ ভিত্তিক

এয়ারলাইনের মালিকের (যেমন: আমেরিকান এয়ারলাইনস, জেট এয়ারওয়েজ) জুতা রাখার মাধ্যমে উট ভিত্তিক রাউটিংটি খুব সহজেই বোঝা যায়।

'আপনার বিমান সংস্থা' এর উদ্দেশ্য হ'ল বিশ্বের 'একটি' শহর থেকে 'যাত্রী' চালানো carry আপনি যাত্রীদের বহন করার জন্য বোয়িং, এয়ারবাস, এইচএল এর মতো বিভিন্ন 'এয়ারক্রাফ্ট সংস্থাগুলির' বিমান বিমান ব্যবহার করেন।

আপনার এয়ারলাইন্সের বোর্ডের যাত্রীরা শহর থেকে 'বিমানবন্দর' ব্যবহার করে এবং শহর থেকে বিমানবন্দর ব্যবহার করে তাদের নিষিদ্ধ করে। কোনও যাত্রী একাধিক শহরে 'ভ্রমণ' করতে পারে তবে আপনার বিমান সংস্থার বিমান এবং শহরের মধ্যে ভ্রমণ করতে তাদের যে কোনও জায়গায় বিমানবন্দর দিয়ে যেতে হয়।

নোট করুন যে একটি যাত্রী শহর থেকে 'ছেড়ে চলে' মূলত আপনার এয়ারলাইন্সের বিমানগুলিতে 'আগত'। এবং একটি পথিক শহরে 'পৌঁছে', মূলত বিমান থেকে ছেড়ে চলে আসছেন। যেহেতু আমরা এয়ারলাইন্সের মালিকের জুতাতে আছি, 'আগমন যাত্রী' এবং 'যাত্রী যাত্রী' শব্দটি আমাদের প্রচলিত ধারণা থেকে বিপরীত হয় যা নগরীর দৃষ্টিভঙ্গির উপর ভিত্তি করে।

প্রতিটি শহরের একই 'বিমানবন্দর' অবকাঠামো 'ছাড়ার' যাত্রী এবং 'আগমন' যাত্রীদের দ্বারা ব্যবহৃত হয়। বিমানবন্দর যাত্রীদের ছেড়ে যাওয়ার জন্য 'ছাড়ার অবকাঠামো' সরবরাহ করে যা আগত যাত্রীদের জন্য সরবরাহিত 'আগমন অবকাঠামো' থেকে আলাদা।

ভ্রমণের সময় আপনার বিমান সংস্থা দ্বারা বিমানের অভ্যন্তরে সরবরাহ করা বিভিন্ন 'সুযোগ-সুবিধার' কারণে যাত্রীরা তাদের ক্রিয়াকলাপে তাদের দিনটি চালিয়ে যেতে পারেন।

সর্বোপরি, আপনার বিমান সংস্থা 'স্থানীয় ভাষা বোঝার' এবং 'ভ্রমণের' জন্য আপনাকে প্রস্তুত করার মতো বিশেষ চিকিত্সার জন্য লাউঞ্জের সুবিধাও সরবরাহ করে।

নীচের সাথে উপরে ব্যবহৃত কয়েকটি শব্দ / বাক্যাংশ প্রতিস্থাপন করতে দিন:

আপনার বিমান সংস্থা: অ্যাপাচি উট

বিমান সংস্থা: পরিবহন প্রক্রিয়া

আপনার বিমানের বিমান: অ্যাপাচি উটের অন্তর্নিহিত পরিবহন প্রক্রিয়া

বহন: রুট

যাত্রী: বার্তা;

শহর: সিস্টেম;

বিমানবন্দর: উটের উপাদান;

স্থানীয় ভাষা বুঝতে: রূপান্তর টাইপ করুন;

প্রস্থান: উত্পাদন, উত্পাদিত

পৌঁছে যাওয়া: গ্রাস, গ্রাস

ভ্রমণ: রুটেড

সুযোগসুবিধা: সরবরাহ করা

শব্দগুলি প্রতিস্থাপনের পরে, আপনি যা পান তা এখানে:

'অ্যাপাচি উট' এর উদ্দেশ্য হ'ল 'ম্যাসেজগুলি' থেকে একটি 'সিস্টেম' থেকে অন্যটিতে চলে যাওয়া। অ্যাপাচি উট বার্তা রাউটিংয়ের জন্য বিভিন্ন পরিবহন প্রক্রিয়া ব্যবহার করে।

অ্যাপাচি ক্যামেল 'থেকে' সিস্টেমের 'উট ভিত্তিক উপাদান' ব্যবহার করে বার্তা তোলে এবং তাদের 'থেকে' সিস্টেমের 'উট ভিত্তিক উপাদান' ব্যবহার করে ফেলে দেয় drops একটি বার্তা একাধিক সিস্টেমে যেতে পারে, তবে সর্বত্র তাদের 'আপাচে ক্যামেলের অন্তর্নিহিত পরিবহন ব্যবস্থা' এবং সিস্টেমের মধ্যে ভ্রমণ করতে 'উট ভিত্তিক উপাদানগুলি' দিয়ে যেতে হবে।

নোট করুন যে সিস্টেম থেকে উত্পন্ন 'বার্তা' অ্যাপাচি ক্যামেলের অন্তর্নিহিত পরিবহন ব্যবস্থায় মূলত 'গ্রাস' করা হয়। এবং কোনও সিস্টেম দ্বারা গ্রাহিত একটি বার্তা, মূলত 'অ্যাপাচি ক্যামেলের অন্তর্নিহিত পরিবহন প্রক্রিয়া' দ্বারা উত্পাদিত হয়।

যেহেতু আমরা উটকে বোঝার চেষ্টা করছি তাই আমাদের অবশ্যই এখানে উটের দৃষ্টিভঙ্গি থেকে ভাবতে হবে। 'ভোক্তা বার্তা' এবং 'উত্পাদক বার্তা' শব্দের অর্থ এইভাবে আমাদের প্রচলিত ধারণা থেকে বিপরীত যা সিস্টেমের দৃষ্টিভঙ্গির উপর ভিত্তি করে।

একই 'উট ভিত্তিক উপাদানগুলির' কোডিং পরিকাঠামো 'প্রযোজক বার্তা' এবং 'ভোক্তা বার্তা' দ্বারা ব্যবহৃত হয়। একটি 'উট ভিত্তিক উপাদান' 'প্রযোজক বার্তা' জন্য একটি 'প্রযোজক শেষ পয়েন্ট' এবং 'গ্রাহক বার্তা' জন্য একটি 'গ্রাহক শেষ পয়েন্ট' সরবরাহ করে।

বার্তাগুলি রাস্ত করার সময় উট দ্বারা প্রক্রিয়া করা যায়।

এই রাউটিংয়ের শীর্ষে, উট বিশেষ ধরণের বৈশিষ্ট্য সরবরাহ করে যেমন 'ধরণের রূপান্তর' এবং আরও অনেক কিছু ...


পড়ার জন্য দুর্দান্ত ব্যাখ্যা এবং মনে রাখা সহজ। আমি অবাক হই যে রানওয়ে বা পাইলট কী ভূমিকা রাখে, যদি তারা এমনকি উটের মধ্যেও থাকে।
স্টিম্পসন বিড়াল

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

50

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

আপনি যে বিষয়টি পড়েছেন এবং বুঝতে পেরেছেন, আপনি অ্যাপাচি উটের উদ্দেশ্যটি বোঝার সম্ভাবনা বেশি

আছে HTH


35

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

এবং আপনি উটটিকে একটি ওয়েব-ধারকটিতে একটি স্বতন্ত্র অ্যাপ্লিকেশন হিসাবে স্থাপন করতে পারেন।

মূলত, যদি আপনাকে বিভিন্ন প্রোটোকল এবং প্রযুক্তিগুলির সাথে বেশ কয়েকটি অ্যাপ্লিকেশন সংহত করতে হয় তবে আপনি উট ব্যবহার করতে পারেন।


22

অন্য দৃষ্টিকোণ থেকে একটি সংজ্ঞা:

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


18

এটা ঠিক কি?

অ্যাপাচি ক্যামেল একটি হালকা ওজনের একীকরণ কাঠামো যা সমস্ত এন্টারপ্রাইজ ইন্টিগ্রেশন নিদর্শনগুলি প্রয়োগ করে imple আপনি প্রয়োজনীয় নিদর্শনগুলি ব্যবহার করে সহজেই বিভিন্ন অ্যাপ্লিকেশনকে সংহত করতে পারেন।

আপনি জাভা, স্প্রিং এক্সএমএল, স্কেলা বা গ্রোভি ব্যবহার করতে পারেন। আপনি কল্পনা করতে পারেন এমন প্রায় প্রতিটি প্রযুক্তি উপলব্ধ, উদাহরণস্বরূপ HTTP, FTP, JMS, EJB, JPA, RMI, JMS, JMX, LDAP, Netty ইত্যাদি is

এই নিবন্ধ এবং EIP প্যাটার্ন নিবন্ধটি দেখুন

এটি জাভাতে লেখা একটি অ্যাপ্লিকেশনটির সাথে কীভাবে যোগাযোগ করে?

নীচে তালিকাভুক্ত হিসাবে বিভিন্ন ডোমেন-নির্দিষ্ট ভাষায় (ডিএসএল) এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নস বা রুট তৈরির জন্য উট একটি জাভা ডোমেন নির্দিষ্ট ভাষা বা ডিএসএল ব্যবহার করে।

জাভা ডিএসএল - সাবলীল নির্মাতা শৈলী ব্যবহার করে একটি জাভা ভিত্তিক ডিএসএল।

এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নের গল্পটি এই ধারণাগুলির চারদিকে সমাধান করে:

বার্তা, শেষ পয়েন্ট, প্রযোজক, গ্রাহক, রাউটিং, বাস, রূপান্তর এবং প্রক্রিয়া

রিয়েল টাইম ব্যবহারের ক্ষেত্রে এটির জন্য অনিরবান কোনার এই নিবন্ধটি দেখুন ।

এটি কি এমন কিছু যা সার্ভারের সাথে একসাথে যায়?

এটি একাধিক এন্টারপ্রাইজ সাব সিস্টেম জুড়ে সেতু হিসাবে কাজ করে।

এটি কি একটি স্বাধীন প্রোগ্রাম?

অ্যাপাচি ক্যামেল, একটি সংহত কাঠামো, বিভিন্ন স্বতন্ত্র অ্যাপ্লিকেশনগুলিকে একীভূত করে।

উটের প্রধান সুবিধা : আপনি প্রতিটি সংহতকরণের জন্য একই ধারণা ব্যবহার করে বিভিন্ন প্রযুক্তি (এবং বিভিন্ন প্রোটোকল) দিয়ে বিভিন্ন অ্যাপ্লিকেশনকে সংহত করতে পারেন।


ভাবছি কেন আপনি "লাইটওয়েট" শব্দটি ব্যবহার করেন? আমার পর্যবেক্ষণ হ'ল আপাচি উট আসলে ভারী।
ক্রিজিসটফ টমাসজেউস্কি

13

কম্পিউটিংয়ের বেশিরভাগ "নতুন" জিনিসগুলি আসলেই নতুন নয়, তারা ইতিমধ্যে ভাল বোঝা এমন কোনও কিছুকে ঘিরে কেবল একটি রহস্যময় মোড়ক। যখন তারা বুঝতে, এটি সাধারণত কারণ কেউ নতুন ভাষা পদ উদ্ভাবিত করার সিদ্ধান্ত নিয়েছে অথবা একটি ভিন্ন উদ্দেশ্যে বিদ্যমান পদ উপনিবেশ স্থাপন এর (একটি ভাল উদাহরণ হার্ড যে কি হবে "ক্লায়েন্ট" এবং "সার্ভার" গড় এক্স ডেভেলপার উলটাপালটা হয়।)

উট আন্ত-অ্যাপ্লিকেশন মিডলওয়্যারের জন্য একটি জাভা ভিত্তিক মোড়ক / এপিআই।

মিডলওয়্যার হ'ল সফটওয়্যারগুলির জন্য একটি সাধারণ শব্দ যা একটি সাধারণ ভাষা বা ডেটা ধরণের ভাগ না করে এমন সত্তাগুলির মধ্যে ব্যাখ্যা পরিষেবা সরবরাহ করে।

উটটি হ'ল নীচে। এটি EIP- টাইপ মিডলওয়্যারের জন্য সরবরাহ করে তা উল্লেখ করে আমরা বিবরণটি বের করতে পারি।

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

আশা করি এইটি কাজ করবে.


4
কম্পিউটিংয়ের "সর্বাধিক" নতুন "জিনিসগুলি মোটেই নতুন নয়, তারা ইতিমধ্যে বোঝে এমন কিছুকে ঘিরে কেবল একটি রহস্যময় মোড়ক" " <<<< সেরা জিনিস আমি পুরো সপ্তাহে পড়েছি!
ডেভ

8

এখানে এটির আরেকটি প্রচেষ্টা।

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

এই প্রযুক্তিগুলির চারপাশে বেশিরভাগ ড্র্যাগ ড্রপ সরঞ্জাম তৈরি হয়েছিল এবং কিছু অংশে আপনাকে জাভাতে অ্যাডাপ্টার লিখতে হবে। এই অ্যাডাপ্টারের কোডটি হয় অপরীক্ষিত বা পরীক্ষার আশেপাশে খারাপ সরঞ্জাম / অটোমেশন ছিল।

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

যদিও এক বা একাধিক EIP ব্যবহার করে এমন একীকরণের সমাধানগুলি প্রয়োগ করা যথেষ্ট সম্ভব তবে এক্সএমএল, জাভা, গ্রোভি বা স্কালা ব্যবহার করে আপনার কোড বেসের মধ্যে এটি করার চেষ্টা করা উট একটি প্রচেষ্টা।

উট তার সমৃদ্ধ ডিএসএল এবং রাউটিং মেকানিজমের মাধ্যমে বইটিতে তালিকাভুক্ত সমস্ত এন্টারপ্রাইজ একীকরণ প্যাটার্নগুলিকে সমর্থন করে।

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


7

অনেকগুলি ফ্রেমওয়ার্ক রয়েছে যা আমাদের বার্তাগুলি এবং বার্তায় সমস্যা সমাধানের জন্য সহায়তা করে। এরকম একটি পণ্য হ'ল অ্যাপাচি ক্যামেল।

বেশিরভাগ সাধারণ সমস্যা প্রমাণিত সমাধানগুলির নকশার নিদর্শন হিসাবে পরিচিত। মেসেজিংয়ের ডিজাইনের প্যাটার্ন হ'ল এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্ন (ইআইপি) যা এখানে ভালভাবে ব্যাখ্যা করা হয়েছে । আপাচি উট আমাদের সমাধানগুলি ইআইপি ব্যবহার করে কার্যকর করতে সহায়তা করে।

একটি ইন্টিগ্রেশন ফ্রেমওয়ার্কের শক্তি হ'ল ইআইপি বা অন্যান্য নিদর্শন, পরিবহন এবং উপাদানগুলির সংখ্যা এবং বিকাশের স্বাচ্ছন্দ্যের মাধ্যমে আমাদের সুবিধার্থ করার ক্ষমতা যা এপাচি উট তালিকার শীর্ষে দাঁড়িয়েছে the

প্রতিটি ফ্রেমওয়ার্কের নিজস্ব সুবিধা রয়েছে অ্যাপাচি উটের কয়েকটি বিশেষ বৈশিষ্ট্য নীচে দেওয়া আছে।

  1. এটি জাভা ডিএসএল এবং স্প্রিং এক্সএমএল ভিত্তিক ডিএসএল নামক অনেকগুলি ডিএসএলে থাকার কোডিং সরবরাহ করে, যা জনপ্রিয়।
  2. সহজ ব্যবহার এবং সহজ ব্যবহার।
  3. ফিউজ আইডিই এমন একটি পণ্য যা আপনাকে ইউআইয়ের মাধ্যমে কোড করতে সহায়তা করে

7

সরল ইংরেজিতে, উট বয়লার প্লেট কোড ছাড়াই অনেক কিছু সম্পন্ন করে।

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

from("servlet:item-delta?matchOnUriPrefix=true&httpMethodRestrict=POST")
.split(stax(Product.class))
/*.parallelProcessing()*/
.process(itemDeltaProcessor);

রুট আইডি এবং লগিংয়ের বিবৃতি যুক্ত করার পরে

from("servlet:item-delta?matchOnUriPrefix=true&httpMethodRestrict=POST")
.routeId("Item-DeltaRESTRoute")
.log(LoggingLevel.INFO, "Item Delta received on Item-DeltaRESTRoute")
.split(stax(Product.class))
.parallelProcessing()
.process(itemDeltaProcessor);

এটি কেবলমাত্র একটি নমুনা, উটটি কেবলমাত্র REST শেষ পয়েন্টের চেয়ে অনেক বেশি। প্লাগযোগ্যযোগ্য উপাদানগুলির তালিকাটি একবার দেখুন: http://camel.apache.org/compferences.html


6

উট রাউটিং, ট্রান্সফর্মেশন, মনিটরিংয়ে সহায়তা করে।

এটি রুট ব্যবহার করে; যা বর্ণনা করা যেতে পারে:

যখন সার্ভিস বাস নির্দিষ্ট বার্তা পায়, এটি পরিষেবা / ব্রোকারের গন্তব্য যেমন সারির / বিষয়গুলির মধ্য দিয়ে যায়। এই পথটি রুট হিসাবে পরিচিত।

উদাহরণ: আপনার স্টক অ্যাপ্লিকেশনটি বিশ্লেষক দ্বারা কিছু ইনপুট পেয়েছে, এটি অ্যাপ্লিকেশন / ওয়েব উপাদানটির মাধ্যমে প্রক্রিয়া করা হবে এবং তারপরে ফলাফল নির্দিষ্ট আগ্রহী / নিবন্ধিত সদস্যদের নির্দিষ্ট স্টক আপডেটের জন্য প্রকাশ করা হবে।


5

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


5

101 শব্দ ইন্ট্রো

উট হ'ল একত্রে অ্যাপ্লিকেশনগুলি একত্রিত করার জন্য একটি সামঞ্জস্যপূর্ণ এপিআই এবং প্রোগ্রামিং মডেল সহ একটি কাঠামো। এপিআই এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্নগুলির তত্ত্বগুলির উপর ভিত্তি করে তৈরি করা হয়েছে - অর্থাত্, মেসেজিং ব্যবহার করার প্রবণতাগুলির গুচ্ছ। এটি এর মধ্যে বেশিরভাগ নিদর্শনগুলির বাক্স বাস্তবায়ন সরবরাহ করে এবং 200 টিরও বেশি বিভিন্ন উপাদান সহ আপনি জাহাজগুলি সহজেই সমস্ত ধরণের অন্যান্য সিস্টেমে কথা বলতে ব্যবহার করতে পারেন। উট ব্যবহার করতে, প্রথমে আপনার ব্যবসায়িক যুক্তিটি POJOs এ লিখুন এবং বার্তাগুলির চারদিকে কেন্দ্রে সাধারণ ইন্টারফেস প্রয়োগ করুন। তারপরে "রুট" তৈরি করতে উটের ডিএসএল ব্যবহার করুন যা আপনার অ্যাপ্লিকেশনকে একসাথে আটকানোর নিয়মের সেট।

বর্ধিত ভূমিকা

পৃষ্ঠতলে, উটের কার্যকারিতা traditionalতিহ্যবাহী এন্টারপ্রাইজ পরিষেবা বাসের পণ্যগুলিকে প্রতিদ্বন্দ্বী করে। আমরা সাধারণত একটি উট রুটটিকে "মধ্যস্থতা" (ওরফে অর্কেস্টেশন) উপাদান হিসাবে মনে করি যা সার্ভারের পাশে থাকে তবে এটি জাভা গ্রন্থাগার হওয়ায় এটি এম্বেড করা সহজ এবং এটি একটি ক্লায়েন্ট সাইড অ্যাপ্লিকেশনটিতেও থাকতে পারে এবং আপনাকে সংহত করতে সহায়তা করে এটি পয়েন্ট টু পয়েন্ট পরিষেবাদি (ওরফে কোরিওগ্রাফি) সহ। এমনকি আপনি এমন পোজও নিতে পারেন যা উট রুটের অভ্যন্তরে বার্তাগুলি প্রক্রিয়াকরণ করে এবং সহজেই তাদের নিজস্ব দূরবর্তী গ্রাহক প্রসেসগুলিতে স্পিন করে ফেলতে পারে, যেমন যদি আপনাকে কেবল একটি টুকরা স্বাধীনভাবে স্কেল করার প্রয়োজন হয়। আপনি আপনার প্রয়োজনের উপর নির্ভর করে বিভিন্ন দূরবর্তী পরিবহন / প্রোটোকলের মাধ্যমে রুট বা প্রসেসরের সংযোগ করতে আপনি উট ব্যবহার করতে পারেন। আপনার কি অত্যন্ত দক্ষ এবং দ্রুত বাইনারি প্রোটোকল দরকার, বা এমন একটি যা মানব পাঠযোগ্য এবং ডিবাগ করা সহজ? আপনি যদি স্যুইচ করতে চান? উটের সাথে এটি সাধারণত আপনার রুটে একটি লাইন বা দুটি পরিবর্তন করা এবং কোনও ব্যবসায়িক যুক্তি একেবারেই পরিবর্তন না করার মতোই সহজ। অথবা আপনি উভয়কেই সমর্থন করতে পারেন - আপনি একটি উটের প্রসঙ্গে একবারে অনেকগুলি রুট চালাতে মুক্ত।

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

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


4

হ্যাঁ, এটি সম্ভবত কিছুটা দেরি হয়েছে। তবে প্রত্যেকের মন্তব্যে যুক্ত করার একটি বিষয় হ'ল উট আসলে বৈশিষ্ট্যের সম্পূর্ণ সেট না করে একটি সরঞ্জামবাক্স। বিকাশকালে আপনার এটি মনে রাখা উচিত এবং বিভিন্ন রূপান্তর ও প্রোটোকল রূপান্তর করার দরকার পড়ে।

উট নিজেই অন্যান্য কাঠামোর উপর নির্ভর করে এবং তাই আপনার প্রয়োজনগুলির জন্য সবচেয়ে উপযুক্ত কোনটি বোঝার জন্য আপনাকে কখনও কখনও সেগুলিও বুঝতে হবে। REST পরিচালনা করার একাধিক উপায় উদাহরণ রয়েছে। এটি প্রথমে কিছুটা বিভ্রান্তি পেতে পারে তবে আপনি একবার ব্যবহার এবং পরীক্ষা শুরু করার পরে আপনি স্বাচ্ছন্দ্য বোধ করবেন এবং বিভিন্ন ধারণা সম্পর্কে আপনার জ্ঞান বৃদ্ধি পাবে।


4

অ্যাপাচি ক্যামেল এন্টারপ্রাইজ একীকরণের জন্য একটি জাভা ফ্রেমওয়ার্ক। উদাহরণস্বরূপ: - আপনি যদি এমন কোনও ওয়েব অ্যাপ্লিকেশন তৈরি করছেন যা অনেক বিক্রেতা এপিআই'র সাথে যোগাযোগ করে আমরা উটটিকে বাহ্যিক সংহতকরণ সরঞ্জাম হিসাবে ব্যবহার করতে পারি। আমরা ব্যবহারের ক্ষেত্রে ভিত্তিতে এটির সাথে আরও কিছু করতে পারি। উট শিখার জন্য ম্যান পাবলিকেশন্স থেকে অ্যাকশন থেকে অ্যাকশন একটি দুর্দান্ত বই। সংহতগুলি নীচের হিসাবে সংজ্ঞায়িত করা যেতে পারে।

জাভা ডিএসএল

from("jetty://0.0.0.0:8080/searchProduct").routeId("searchProduct.products").threads()
    .log(LoggingLevel.INFO, "searchProducts request Received with body: ${body}")
    .bean(Processor.class, "createSearchProductsRequest").removeHeaders("CamelHttp*")
    .setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST))
    .to("http4://" + preLiveBaseAPI + searchProductsUrl + "?apiKey=" + ApiKey
                    + "&bridgeEndpoint=true")
    .bean(Processor.class, "buildResponse").log(LoggingLevel.INFO, "Search products finished");

এটি কেবলমাত্র একটি REST এপিআই এন্ডপয়েন্ট তৈরি করা যা ঘুরেফিরে একটি বাহ্যিক এপিআই কল করে এবং অনুরোধটি ফিরে পাঠায়

স্প্রিং ডিএসএল

<route id="GROUPS-SHOW">
    <from uri="jetty://0.0.0.0:8080/showGroups" />
    <log loggingLevel="INFO" message="Reqeust receviced service to fetch groups -> ${body}" />
    <to uri="direct:auditLog" />
    <process ref="TestProcessor" />
</route>

আপনার প্রশ্ন আসছে

  1. এটা ঠিক কি? উত্তর: - এটি এমন একটি কাঠামো যা এন্টারপ্রাইজ সংহতকরণের নিদর্শনগুলি প্রয়োগ করে
  2. এটি জাভাতে লেখা একটি অ্যাপ্লিকেশনটির সাথে কীভাবে যোগাযোগ করে? উত্তর: - এটি যে কোনও উপলভ্য প্রোটোকল যেমন HTTP, ftp, amqp ইত্যাদির সাথে যোগাযোগ করতে পারে
  3. এটি কি এমন কিছু যা সার্ভারের সাথে একসাথে যায়? উত্তর: - এটি টমক্যাটের মতো পাত্রে স্থাপন করা যেতে পারে বা জাভা প্রক্রিয়া হিসাবে স্বাধীনভাবে স্থাপন করা যেতে পারে
  4. এটি কি একটি স্বাধীন প্রোগ্রাম? উত্তর: - হতে পারে।

আশা করি এটা সাহায্য করবে


3

অ্যাপাচি ক্যামেল একটি হালকা ওজনের একীকরণ কাঠামো যা সমস্ত এন্টারপ্রাইজ ইন্টিগ্রেশন প্যাটার্ন প্রয়োগ করে। প্রয়োজনীয় নিদর্শনগুলি ব্যবহার করে আপনি সহজেই বিভিন্ন অ্যাপ্লিকেশন সংহত করতে পারেন। আপনি জাভা, স্প্রিং এক্সএমএল, স্কেলা বা গ্রোভি ব্যবহার করতে পারেন।

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

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


1
উট 40 টি প্যাটার্ন প্রয়োগ করে, EIP এ: এন্টারপ্রাইজ সংহতকরণের প্যাটার্ন।
জ্যাকব

2

এটি পাইপলাইন সংযোগের মতো

From---->To

এর মধ্যে আপনি যতগুলি চ্যানেল এবং পাইপ যুক্ত করতে পারেন। কলটি ডেটা প্রবাহের জন্য কোনও প্রকারের স্বয়ংক্রিয় বা ম্যানুয়াল হতে পারে এবং প্রবাহকে চ্যানেলাইজ করার জন্য একটি রুট হতে পারে।

এটি সকল প্রকার এবং প্রকারের প্রক্রিয়াকরণের জন্য সমর্থন করে এবং প্রয়োগ করে। এবং একই প্রক্রিয়াজাতকরণের জন্য অনেকগুলি পদ্ধতির কারণ এতে অনেকগুলি উপাদান রয়েছে এবং প্রতিটি উপাদান এর অধীনে বিভিন্ন পদ্ধতি ব্যবহার করে পছন্দসই আউটপুট সরবরাহ করতে পারে।

উদাহরণস্বরূপ, ফাইল স্থানান্তরটি উটগুলিতে ফাইল সরানো বা অনুলিপি করা এবং ফোল্ডার, সার্ভার বা সারি থেকেও করা যেতে পারে।

-from-->To
   - from-->process-->to
   - from-->bean-->to
   - from-->process-->bean-->to
   -from-->marshal-->process-->unmarshal-->to

/ থেকে ---- ফোল্ডার, ডাইরেক্ট, শেদা, ভিএম কিছুই হতে পারে


0

আরেকটি দৃষ্টিভঙ্গি (আরও মৌলিক গাণিতিক বিষয়ের উপর ভিত্তি করে)

সর্বাধিক সাধারণ কম্পিউটিং প্ল্যাটফর্ম হ'ল একটি [ https://en.wikedia.org/wiki/Turing_machine]

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

প্রশ্ন: আমরা কীভাবে স্বতন্ত্র টিউরিং-মেশিনগুলি একে অপরের সাথে সর্বাধিক সাধারণভাবে কথা বলার ব্যবস্থা করে থাকি যাতে প্রতিটি টিউরিং-মেশিন তাদের সহকর্মীদেরকে হয় ইনপুট-ডেটা বা আউটপুট-ডেটার উত্স হিসাবে দেখায়?

উত্তর: উট, খচ্চর, বিজটালক বা অন্য কোনও ESB এর মতো কিছু ব্যবহার করে যা পৃথক "শারীরিক" (বা ভার্চুয়াল সফ্টওয়্যার) টিউরিং মেশিন সম্পূর্ণ করার মধ্যে ডেটা হ্যান্ডলিংটিকে বিমূর্ত করে দেয়।

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