Middleware
মিডলওয়্যার হল এক ধরনের কম্পিউটার সফ্টওয়্যার যা অপারেটিং সিস্টেম থেকে উপলব্ধ সফ্টওয়্যার অ্যাপ্লিকেশনগুলিকে পরিষেবা প্রদান করে। এটিকে "সফ্টওয়্যার আঠালো" হিসাবে বর্ণনা করা যেতে পারে। মিডলওয়্যার সফ্টওয়্যার ডেভেলপারদের জন্য যোগাযোগ এবং ইনপুট/আউটপুট বাস্তবায়ন করা সহজ করে তোলে, যাতে তারা তাদের প্রয়োগের নির্দিষ্ট উদ্দেশ্যে মনোনিবেশ করতে পারে। এটি 1980-এর দশকে পুরানো উত্তরাধিকার ব্যবস্থার সাথে নতুন অ্যাপ্লিকেশনগুলিকে কীভাবে যুক্ত করা যায় তার সমস্যার সমাধান হিসাবে জনপ্রিয়তা অর্জন করেছিল, যদিও এই শব্দটি 1968 সাল থেকে ব্যবহৃত হয়ে আসছে। ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলিতে এই শব্দটি সাধারণত সফ্টওয়্যারের জন্য ব্যবহৃত হয় যা ডিস্ট্রিবিউটেড অ্যাপ্লিকেশনগুলিতে ডেটা যোগাযোগ এবং পরিচালনা করতে সক্ষম করে। 2000 সালে আই. ই. টি. এফ-এর একটি কর্মশালায় মিডলওয়্যারকে "পরিবহনের উপরে পাওয়া পরিষেবাগুলি" হিসাবে সংজ্ঞায়িত করা হয়েছে। ওভার টিসিপি/আইপি) পরিষেবার স্তর সেট কিন্তু অ্যাপ্লিকেশন পরিবেশের নিচে "(অর্থাৎ। অ্যাপ্লিকেশন-স্তরের API-এর নিচে)। এই আরও নির্দিষ্ট অর্থে মিডলওয়্যারকে ক্লায়েন্ট-সার্ভারে ড্যাশ ("-") বা পিয়ার-টু-পিয়ার হিসাবে বর্ণনা করা যেতে পারে। মিডলওয়্যারের মধ্যে রয়েছে ওয়েব সার্ভার, অ্যাপ্লিকেশন সার্ভার, কন্টেন্ট ম্যানেজমেন্ট সিস্টেম এবং অনুরূপ সরঞ্জাম যা অ্যাপ্লিকেশন বিকাশ এবং বিতরণকে সমর্থন করে। অবজেক্টওয়েব মিডলওয়্যারকে সংজ্ঞায়িত করেঃ "একটি নেটওয়ার্কে বিতরণকৃত কম্পিউটিং সিস্টেমের প্রতিটি পাশে অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলির মধ্যে অবস্থিত সফ্টওয়্যার স্তর"। যে পরিষেবাগুলিকে মিডলওয়্যার হিসাবে বিবেচনা করা যেতে পারে তার মধ্যে রয়েছে এন্টারপ্রাইজ অ্যাপ্লিকেশন ইন্টিগ্রেশন, ডেটা ইন্টিগ্রেশন, মেসেজ ওরিয়েন্টেড মিডলওয়্যার (এমওএম), অবজেক্ট রিকোয়েস্ট ব্রোকার (ওআরবি) এবং এন্টারপ্রাইজ সার্ভিস বাস (ইএসবি)। ডাটাবেস অ্যাক্সেস পরিষেবাগুলি প্রায়শই মিডলওয়্যার হিসাবে চিহ্নিত করা হয়। এর মধ্যে কয়েকটি ভাষা নির্দিষ্ট বাস্তবায়ন এবং বৈচিত্র্যময় বৈশিষ্ট্য এবং অন্যান্য সম্পর্কিত যোগাযোগ বৈশিষ্ট্যগুলিকে সমর্থন করে। ডাটাবেস-ভিত্তিক মিডলওয়্যারের উদাহরণগুলির মধ্যে রয়েছে ওডিবিসি, জেডিবিসি এবং লেনদেন প্রক্রিয়াকরণ মনিটর। ডিস্ট্রিবিউটেড কম্পিউটিং সিস্টেম মিডলওয়্যারকে শিথিলভাবে দুটি বিভাগে বিভক্ত করা যেতে পারে-যেগুলি মানব-সময় পরিষেবা প্রদান করে (যেমন ওয়েব অনুরোধ পরিষেবা) এবং যেগুলি মেশিন-টাইমে কাজ করে। এই পরবর্তী মিডলওয়্যারটি পরিষেবা প্রাপ্যতা ফোরামের মাধ্যমে কিছুটা মানসম্মত করা হয়েছে এবং সাধারণত টেলিকম, প্রতিরক্ষা এবং মহাকাশ শিল্পের মধ্যে জটিল, এম্বেডেড সিস্টেমে ব্যবহৃত হয়। মিডলওয়্যারের ব্যবহার মিডলওয়্যারের শ্রেণীবিভাগ সম্পর্কিত অনেক সংজ্ঞা বিদ্যমান যা এটি যে ক্ষেত্রে ব্যবহৃত হয় বা এটি যে অ্যাপ্লিকেশন মডিউলে কাজ করে তা নির্দিষ্ট করে। সাম্প্রতিক গ্রন্থপঞ্জিতে, মিডলওয়্যারের প্রধান বিভাগগুলি নিম্নরূপঃ লেনদেনমূলকঃ একাধিক সিঙ্ক্রোনাস/অ্যাসিঙ্ক্রোনাস লেনদেনের প্রক্রিয়াকরণ, যা ব্যাঙ্ক লেনদেন বা ক্রেডিট কার্ডের অর্থপ্রদানের মতো বিতরণকৃত ব্যবস্থা থেকে সম্পর্কিত অনুরোধগুলির একটি গুচ্ছ হিসাবে কাজ করে। বার্তা-ভিত্তিকঃ বার্তা সারি এবং বার্তা পাসিং স্থাপত্য, যা সিঙ্ক্রোনাস/অ্যাসিঙ্ক্রোনাস যোগাযোগকে সমর্থন করে। পদ্ধতিগতঃ কল অপারেশনের মতো অ্যাসিঙ্ক্রোনাস সিস্টেম যোগাযোগের সফ্টওয়্যার প্রতিক্রিয়াগুলি সংযোগ, পাস এবং পুনরুদ্ধারের জন্য দূরবর্তী এবং স্থানীয় স্থাপত্য। অবজেক্ট-ওরিয়েন্টেডঃ পদ্ধতিগত মিডলওয়্যারের মতো, তবে, এই ধরনের মিডলওয়্যার অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ডিজাইনের নীতিগুলিকে অন্তর্ভুক্ত করে। বিশ্লেষণাত্মকভাবে, এর সফ্টওয়্যার উপাদানটি অবজেক্ট রেফারেন্স, ব্যতিক্রম এবং বিতরণকৃত অবজেক্ট অনুরোধের মাধ্যমে বৈশিষ্ট্যগুলির উত্তরাধিকারকে অন্তর্ভুক্ত করে। অন্যান্য উদাহরণ মিডলওয়্যার শব্দটি অন্যান্য প্রসঙ্গেও ব্যবহৃত হয়। মিডলওয়্যার কখনও কখনও সফ্টওয়্যার ড্রাইভারের মতো একই অর্থে ব্যবহৃত হয়, একটি বিমূর্ত স্তর যা কোনও অ্যাপ্লিকেশন থেকে হার্ডওয়্যার ডিভাইস বা অন্যান্য সফ্টওয়্যার সম্পর্কে বিশদ লুকিয়ে রাখে। অ্যান্ড্রয়েড অপারেটিং সিস্টেমটি এর মূলে লিনাক্স কার্নেল ব্যবহার করে এবং একটি অ্যাপ্লিকেশন কাঠামোও সরবরাহ করে যা ডেভেলপাররা তাদের অ্যাপ্লিকেশনগুলিতে অন্তর্ভুক্ত করে। এছাড়াও, অ্যান্ড্রয়েড লাইব্রেরি সহ একটি মিডলওয়্যার স্তর সরবরাহ করে যা ডেটা স্টোরেজ, স্ক্রিন ডিসপ্লে, মাল্টিমিডিয়া এবং ওয়েব ব্রাউজিংয়ের মতো পরিষেবা সরবরাহ করে। যেহেতু মিডলওয়্যার লাইব্রেরিগুলি মেশিন ভাষায় সংকলিত হয়, তাই পরিষেবাগুলি দ্রুত কার্যকর হয়। মিডলওয়্যার লাইব্রেরিগুলি ডিভাইস-নির্দিষ্ট ফাংশনগুলিও প্রয়োগ করে, তাই অ্যাপ্লিকেশন এবং অ্যাপ্লিকেশন কাঠামোকে বিভিন্ন অ্যান্ড্রয়েড ডিভাইসের মধ্যে বৈচিত্র্য নিয়ে চিন্তা করতে হবে না। অ্যান্ড্রয়েডের মিডলওয়্যার স্তরে এআরটি ভার্চ্যুয়াল মেশিন এবং এর মূল জাভা অ্যাপ্লিকেশন লাইব্রেরিও রয়েছে। মিডলওয়্যার এমন সফ্টওয়্যারকেও বোঝায় যা দুই বা ততোধিক এপিআইকে পৃথক করে এবং হার-সীমাবদ্ধতা, প্রমাণীকরণ এবং লগিংয়ের মতো পরিষেবা সরবরাহ করে। গেম ইঞ্জিন সফ্টওয়্যার যেমন গেমব্রায়ো এবং রেন্ডারওয়্যারকে কখনও কখনও মিডলওয়্যার হিসাবে বর্ণনা করা হয়, কারণ তারা গেমের বিকাশকে সহজতর করার জন্য অনেক পরিষেবা সরবরাহ করে। সিমুলেশন প্রযুক্তিতে, মিডলওয়্যার সাধারণত উচ্চ স্তরের স্থাপত্যের (এইচ. এল. এ) প্রসঙ্গে ব্যবহৃত হয় যা অনেক বিতরণকৃত সিমুলেশনের ক্ষেত্রে প্রযোজ্য। এটি সফ্টওয়্যারের একটি স্তর যা অ্যাপ্লিকেশন কোড এবং রান-টাইম পরিকাঠামোর মধ্যে অবস্থিত। মিডলওয়্যার সাধারণত ফাংশনের একটি লাইব্রেরি নিয়ে গঠিত, এবং এইচ. এল. এ পরিভাষায় বেশ কয়েকটি অ্যাপ্লিকেশন-সিমুলেশন বা ফেডারেট-কে প্রতিটি অ্যাপ্লিকেশনের জন্য পুনরায় তৈরি করার পরিবর্তে সাধারণ লাইব্রেরি থেকে এই ফাংশনগুলি পৃষ্ঠা করতে সক্ষম করে। ওয়্যারলেস নেটওয়ার্কিং ডেভেলপাররা ওয়্যারলেস সেন্সর নেটওয়ার্কের (ডাব্লুএসএন) সাথে সম্পর্কিত চ্যালেঞ্জগুলি মোকাবেলায় মিডলওয়্যার ব্যবহার করতে পারে। একটি মিডলওয়্যার অ্যাপ্লিকেশন বাস্তবায়নের ফলে ডাব্লুএসএন ডেভেলপাররা বর্তমানে উপলব্ধ বিভিন্ন অ্যাপ্লিকেশনগুলির সাথে অপারেটিং সিস্টেম এবং হার্ডওয়্যারকে সংহত করতে পারে। কিউএনএক্স অপারেটিং সিস্টেম অটোমোবাইল, বিমান এবং অন্যান্য পরিবেশে ব্যবহারের জন্য মাল্টিমিডিয়া পরিষেবা প্রদানের জন্য মিডলওয়্যার সরবরাহ করে। রেডিও-ফ্রিকোয়েন্সি আইডেন্টিফিকেশন (আর. এফ. আই. ডি) সফ্টওয়্যার টুলকিটগুলি শোরগোল এবং অপ্রয়োজনীয় কাঁচা তথ্য ফিল্টার করার জন্য মিডলওয়্যার সরবরাহ করে। আরও দেখুন ভাষা-অজ্ঞেয়বাদী তৃতীয় পক্ষের সফ্টওয়্যার উপাদান রেফারেন্স বাহ্যিক লিঙ্ক সিস্টেম ইঞ্জিনিয়ারিং