XRX (web application architecture)
সফ্টওয়্যার বিকাশে এক্সআরএক্স হল এক্সফর্মস, আরইএসটি এবং এক্সকুয়েরির উপর ভিত্তি করে একটি ওয়েব অ্যাপ্লিকেশন স্থাপত্য। এক্সআরএক্স অ্যাপ্লিকেশনগুলি ওয়েব ক্লায়েন্ট এবং ওয়েব সার্ভার উভয় ক্ষেত্রেই এক্সএমএল ফরম্যাটে ডেটা সঞ্চয় করে এবং ডেটা ফরম্যাটের মধ্যে অনুবাদের প্রয়োজন হয় না। ক্লায়েন্ট এবং সার্ভার সিস্টেমের মধ্যে তথ্য পরিবহনের জন্য প্রয়োজনীয় ন্যূনতম সংখ্যক অনুবাদের কারণে এক্সআরএক্সকে একটি সহজ এবং মার্জিত অ্যাপ্লিকেশন স্থাপত্য হিসাবে বিবেচনা করা হয়। ভবিষ্যতে এক্সআরএক্স অ্যাপ্লিকেশনগুলি শক্তিশালী হবে তা নিশ্চিত করার জন্য এক্সআরএক্স আর্কিটেকচারটি ডাব্লু 3 সি স্ট্যান্ডার্ডের (সিএসএস, এক্সএইচটিএমএল 2, এক্সপ্যাথ, এক্সএমএল স্কিমা) সাথে শক্তভাবে যুক্ত। যেহেতু এক্সআরএক্স অ্যাপ্লিকেশনগুলি ক্লায়েন্টের উপর আধুনিক ঘোষণামূলক ভাষাগুলি এবং সার্ভারে কার্যকরী ভাষাগুলি ব্যবহার করে, সেগুলি অ-বিকাশকারীদের ক্ষমতায়িত করার জন্য ডিজাইন করা হয়েছে যারা জাভাস্ক্রিপ্ট, জাভা বা. নেটের মতো ঐতিহ্যবাহী অপরিহার্য ভাষার সাথে পরিচিত নয়। এক্সআরএক্স এক্সআরএক্স-এর সংক্ষিপ্ত বিবরণ হল একটি শূন্য অনুবাদ অ্যাপ্লিকেশন স্থাপত্য যা ক্লায়েন্ট ওয়েব ব্রাউজারে, অ্যাপ্লিকেশন সার্ভারে এবং ডাটাবেস সার্ভারে ডেটা সংরক্ষণ করতে এক্সএমএল ব্যবহার করে। কারণ এই স্তরগুলির প্রতিটি এক্স. এম. এল-কে একই কাঠামোগত ডেটা মডেল হিসাবে ব্যবহার করে যা এক্স. আর. এক্স অ্যাপ্লিকেশনগুলিকে বস্তু এবং সম্পর্কিত ডেটা কাঠামো উভয় থেকে ডেটা কাঠামো অনুবাদ করতে হয় না। অনুবাদের প্রয়োজনের অভাবের কারণে, এক্সআরএক্স একটি পরিষ্কার এবং মার্জিত নকশা বলে মনে করা হয়। এক্সআরএক্স ওয়েব অ্যাপ্লিকেশন স্থাপত্য ডেভেলপারদের অনুবাদ সমস্যা নয়, ব্যবসায়িক সমস্যার দিকে মনোনিবেশ করার অনুমতি দেয়। সফ্টওয়্যার প্রযুক্তিতে বিভিন্ন অগ্রগতি থেকে এক্সআরএক্স উপকৃত হয়ঃ ক্লায়েন্ট আর্কিটেকচারাল বৈশিষ্ট্য একটি মডেল-ভিউ-কন্ট্রোলার (এমভিসি) স্থাপত্য যা তথ্যকে তার উপস্থাপনা এবং ব্যবসায়িক যুক্তি থেকে পৃথক করে। সমস্ত সার্ভার জমা দেওয়ার জন্য একটি একক উপাদান (xf: জমা)। এটি বেশিরভাগ এ. জে. এ. এক্স অ্যাপ্লিকেশনে প্রয়োজনীয় জাভাস্ক্রিপ্ট কোডের বেশিরভাগ অংশকে প্রতিস্থাপন করে। ডাব্লু3সি মানগুলির সাথে সামঞ্জস্যপূর্ণ একটি উন্নত ইভেন্ট মডেল (এক্সএমএল ইভেন্টস) যা অ্যাপ্লিকেশনগুলিকে বিক্রেতা-নির্দিষ্ট এবং ব্রাউজার-নির্দিষ্ট ইভেন্ট পরিচালনার সাথে মোকাবিলা করা থেকে মুক্ত করে। একটি নির্ভরতা গ্রাফ যা ক্লায়েন্ট নিয়ন্ত্রকদের নির্ভরতা কাঠামো সংরক্ষণ করতে ব্যবহৃত হয়। এটি ডেভেলপারকে কোনও অ্যাপ্লিকেশনে ডেটা পরিবর্তনের সময় মডেল বা ভিউ ম্যানুয়ালি আপডেট করা থেকে মুক্ত করে। এটি খুব কম প্রচেষ্টায় ক্লায়েন্টে স্প্রেডশিটের মতো অ্যাপ্লিকেশন তৈরি করার অনুমতি দেয়। একটি ঘোষনামূলক প্রোগ্রামিং শৈলী যা বেশিরভাগ ক্লায়েন্ট এক্সফর্ম অ্যাপ্লিকেশনগুলিকে প্রায় 20 টি উপাদানের একটি ছোট সেট ব্যবহার করে তৈরি করার অনুমতি দেয়। এটি জাভাস্ক্রিপ্ট বা অন্যান্য পদ্ধতিগত স্ক্রিপ্টিং ভাষার জ্ঞান ছাড়াই সমৃদ্ধ ক্লায়েন্ট অ্যাপ্লিকেশন তৈরি করার অনুমতি দেয়। এক্সটেনসিবল বাইন্ডিং ল্যাঙ্গুয়েজ ব্যবহার করে নতুন ইউজার ইন্টারফেস নিয়ন্ত্রণ তৈরি করার জন্য একটি সহজ-থেকে-প্রসারিত সিস্টেম। এটি ডেভেলপারদের ডাব্লু3সি মানগুলির সাথে অসঙ্গতির ভয় ছাড়াই যে কোনও সময় নতুন নিয়ন্ত্রণ যুক্ত করার অনুমতি দেয়। সার্ভার স্থাপত্য বৈশিষ্ট্য অনেক স্থানীয় এক্স. এম. এল ডাটাবেসের অন্তর্নির্মিত আর. ই. এস. টি ইন্টারফেস রয়েছে যা প্রতিটি এক্সকোয়ারিকে সহজাতভাবে একটি আর. ই. এস. টি ওয়েব পরিষেবা করে তোলে। একটি কার্যকরী প্রোগ্রামিং মডেল যা পার্শ্ব-প্রতিক্রিয়া মুক্ত সিস্টেমগুলিকে প্রচার করে যা ডিবাগ করা সহজ এবং একাধিক প্রসেসরে চালানো সহজ। XQuery ফাংশন এবং মডিউল ব্যবহার করে একটি সহজ-থেকে-প্রসারিত সিস্টেম। ক্লায়েন্ট এবং সার্ভার উভয়ই এক্সআরএক্স ক্লায়েন্ট এবং সার্ভার উপাদানগুলি এক্সপ্যাথ, এক্সএমএল স্কিমা এবং এক্সএমএল নেমস্পেসের মতো এক্সএমএল সম্পর্কিত মানগুলির বিস্তৃত পরিসরকে সমর্থন করে ক্লায়েন্ট এবং সার্ভারের মধ্যে সমস্ত ডেটা স্থানান্তরের জন্য ডেটা বিনিময়ের জন্য আরইএসটি ইন্টারফেসের ধারাবাহিক ব্যবহার যেমন-আপনি-টাইপ ডেটা চেকিং এবং ফাংশনগুলির পরামর্শ দেয় এক্সপ্যাথ এবং এক্সএমএল স্কিমা ডেটা প্রকারের ব্যবহার সহ ডাব্লু 3 সি মানের সামঞ্জস্যপূর্ণ সংহতকরণ ক্লায়েন্ট এবং সার্ভার উভয়ের উপর ব্যবহৃত ফাংশনের মানের একটি বড় লাইব্রেরি এক্সআরএক্সের সামগ্রিক সুবিধা এক্সআরএক্স আর্কিটেকচারের অন্যতম প্রধান সুবিধা হ 'ল এটি জটিল ডেটা স্ট্রাকচারগুলিকে রিলেশনাল স্ট্রাকচারে "শ্রেড" করার প্রয়োজনীয়তা এড়ায় এবং তারপরে রেকর্ড করার সময় ডেটাটিকে স্ট্রাকচারে পুনর্গঠন করে। এক্সআরএক্স ওয়েব অ্যাপ্লিকেশন স্থাপত্যের আরেকটি সুবিধা হল এটি বস্তু-সম্পর্কিত প্রতিবন্ধকতা অসামঞ্জস্যের আশেপাশের বেশিরভাগ সমস্যাকে এড়িয়ে চলে। আরেকটি সুবিধা হল ক্লায়েন্ট ডেভেলপারকে ক্লায়েন্টের উপর জাভাস্ক্রিপ্ট শিখতে হবে না। ঐতিহ্যবাহী অবজেক্ট/রিলেশনাল ওয়েব অ্যাপ্লিকেশন আর্কিটেকচারের সাথে তুলনা 1990 সালের শেষের দিকে তৈরি করা অনেক ঐতিহ্যবাহী ওয়েব অ্যাপ্লিকেশন আর্কিটেকচার মধ্যবর্তী অবজেক্ট স্তর এবং অধ্যবসায় স্তরগুলির উপর ভিত্তি করে তৈরি করা হয়েছিল যা ট্যাবুলার ডেটা স্ট্রিম এবং রিলেশনাল ডাটাবেস সিস্টেম ব্যবহার করত। যেহেতু এই স্তরগুলির প্রতিটি মডেলগুলি সংরক্ষণ করার জন্য বিভিন্ন কাঠামো ব্যবহার করত, তাই স্তরগুলির মধ্যে অনুবাদ করার জন্য সিস্টেমগুলির অনেক অতিরিক্ত জটিলতার প্রয়োজন ছিল। এক্স. আর. এক্স-এর ইতিহাস বহু-স্তর ব্যবস্থায় শূন্য-অনুবাদ স্থাপত্য ব্যবহারের প্রাথমিক উদাহরণগুলি 1990-এর দশকে অবজেক্ট-ওরিয়েন্টেড ডেটাবেসের উত্থানের সময় থেকে পাওয়া যায়। ওওডিবিএমএস ইতিহাস দেখুন মার্ক বারবেক পরামর্শ দিয়েছিলেন যে 2006 সালের সেপ্টেম্বরে ইউকে এক্সএমএল ইউজার গ্রুপের সাথে একটি বৈঠকে এক্সফর্মস, এক্সকুয়েরি এবং আরইএসটি ইন্টারফেসের সংমিশ্রণের অনেক সুবিধা ছিল। তাঁর উপস্থাপনাটি প্রথম ছিল যা বিশেষভাবে পরামর্শ দিয়েছিল যে তিনটি প্রযুক্তির সংমিশ্রণঃ আরইএসটি ইন্টারফেসের সাথে এক্সফর্মস এবং এক্সকুয়েরি আশ্চর্যজনকভাবে উপকারী প্রভাব ফেলবে। মার্ক এই প্রক্রিয়াকে "স্কিমিং" বলে অভিহিত করেছিলেন কিন্তু এই শব্দটি সংক্রামক বলে মনে হয়নি। অরবিওনের এরিক ব্রুচেজ 2007 সালের ডিসেম্বরে বোস্টনে এক্সএমএল 2007 সম্মেলনে বক্তব্য রাখেন। তাঁর উপস্থাপনা "এক্সফর্মস অ্যান্ড দ্য এক্সিস্ট এক্সএমএল ডাটাবেসঃ অ্যা পারফেক্ট কাপল"-এ, ব্রুচেজ দেখিয়েছেন যে অনেক মানুষ ক্লায়েন্টের উপর এক্সফর্মস এবং সার্ভারে এক্সকুয়েরির সমন্বিত সুবিধা আবিষ্কার করছেন। 14ই ডিসেম্বর, 2007-এ ড্যান ম্যাকক্রেরির একটি ব্লগ পোস্টের মাধ্যমে এক্সআরএক্স-এর লেবেলের পরামর্শ দেওয়া হয়েছিল। এই নিবন্ধে ড্যান এক্সআরএক্স স্থাপত্যের পিছনের ধারণাগুলির জন্য একটি সংক্রামক মেমের প্রয়োজনীয়তার পরামর্শ দিয়েছিলেন। এক্স. আর. এক্স-এর সাধারণীকরণ যদিও এক্স. আর. এক্স-এর উদ্দেশ্য ছিল ক্লায়েন্টে এক্সফর্ম, সার্ভারে ইন্টারফেস এবং এক্সকুয়েরি হিসাবে আর. ই. এস. টি ব্যবহার করা, ক্লায়েন্ট এবং সার্ভারে এক্স. এম. এল-এর প্রতিসম ব্যবহারের অন্যান্য প্রবক্তারা এই শব্দটিকে যে কোনও এক্স. এম. এল-কেন্দ্রিক ওয়েব ক্লায়েন্ট এবং যে কোনও সার্ভারকে অন্তর্ভুক্ত করার জন্য সাধারণীকরণ করেছেন যা এক্স. এম. এল নথি সংরক্ষণ এবং অনুসন্ধান করতে পারে। এক্স. আর. এক্স-এর এই ব্যবহারকে সাধারণত "অগভীর এক্স. আর. এক্স" হিসাবে উল্লেখ করা হয়। এই সাধারণীকরণগুলি একটি সরলীকৃত শূন্য-অনুবাদ স্থাপত্য থেকে উপকৃত হয় তবে অনেকগুলি আরইএসটি ইন্টারফেস, সামঞ্জস্যপূর্ণ ডেটা নির্বাচনের জন্য এক্সপ্যাথ, ক্লায়েন্টে ঘোষণাত্মক সিস্টেম এবং সার্ভারে কার্যকরী ভাষা (এক্সআরএক্সের অন্যতম প্রধান দিক) থেকে উপকৃত হয় না। তিনটি প্রযুক্তির (এক্সফর্ম, আরইএসটি এবং এক্সকুয়েরি) ব্যবহারকে "ডিপ এক্সআরএক্স" হিসাবে উল্লেখ করা হয়। যদিও এক্স. আর. এক্স স্থাপত্যটি এক্সফর্মস এবং এক্সকুয়েরিকে কেন্দ্র করে, এটি এক্স. এস. এল. টি, এক্সপ্রোক এবং এক্স. এস. এল-এফ. ও-এর মতো এক্স. এম. এল-কে স্থানীয়ভাবে পরিচালনা করে এমন অন্যান্য প্রযুক্তির ব্যবহারকে বাধা দেয় না। আরও দেখুন ওয়েব অ্যাপ্লিকেশন ফ্রেমওয়ার্ক রেফারেন্স এক্সআরএক্সঃ সহজ, মার্জিত, বিপর্যয়কর ড্যান ম্যাকক্রেরির গুগল কোড রিপোজিটরি এক্সআরএক্স ডেভেলপারদের জন্য রূপক ওয়েব এবং এক্সআরএক্স কার্ট ক্যাগলের এক্সআরএক্স প্রশ্ন জেনি টেনিসন এক্সআরএক্স দ্বারা এক্সিস্ট ডাটাবেস ব্যবহার করে ম্যাপিং ইউআরএলএস জেনি টেনিসন এক্সআরএক্স দ্বারা অরবিওন ফর্মগুলির সাথে পারফর্মিং আপডেট জেনি টেনিসন এক্সআরএক্স দ্বারা ড্যান ম্যাকক্রেরির এক্সআরএক্স লকিং গ্রেইন ডিজাইন উইকিবুক এক্সআরএক্স উইকিবুক এক্সআরএক্স উইকিবুক এক্সআরএক্স অ্যাপ্লিকেশন তৈরির টিউটোরিয়াল সহ এক্সিস্ট ডাটাবেস ব্যবহার করে জেসন মনবার্গ জেসি আলামার ব্লগের দ্য এজাইল স্ট্যাক