Canigó (framework)
ক্যানিগো হল জেনারেলিট্যাট ডি কাতালুনিয়ার জাভা ই. ই কাঠামোর জন্য নির্বাচিত নাম। উদ্দেশ্য এবং স্থাপত্য ক্যানিগোকে "জেনারেলিট্যাট ডি কাতালুনিয়ার কর্পোরেট সিস্টেম এবং বিভাগগুলির জন্য ওয়েব অ্যাপ্লিকেশনগুলির বিকাশ এবং সম্পাদনের জন্য একটি সাধারণ প্রযুক্তিগত কাঠামো" হিসাবে সংজ্ঞায়িত করা হয়েছে। এটি বিভিন্ন কার্যকারিতা অন্তর্ভুক্ত করেঃ জাভা ই. ই অ্যাপ্লিকেশন বিল্ডিংয়ের জন্য একটি সাধারণ স্থাপত্য। একটি কর্মক্ষেত্র, ডকুমেন্টেশন, সমর্থন এবং এর উপাদানগুলির রক্ষণাবেক্ষণ সরবরাহ করে। জাভা ই. ই-এর সহজাত জটিলতাকে সহজতর করে, একটি রেফারেন্স কাঠামো প্রদান করে। সমগ্র মুক্ত উৎস সম্প্রদায়ের কার্যত মানগুলির সঙ্গে সামঞ্জস্য রেখে একটি সমাধান প্রদান করে। একটি উন্মুক্ত সমাধান প্রদান করে যা কম খরচে যে কোনও সফ্টওয়্যার যুক্ত এবং বিনিময় করার সম্ভাবনাকে সক্ষম করে। জেনারেলিট্যাট ডি কাতালুনিয়ার কর্পোরেট পরিষেবাগুলির সাথে একটি আন্তঃসংযোগ সমাধান প্রদান করে। ক্যানিগোর স্থাপত্য মডেল-ভিউ-কন্ট্রোলারের উপর ভিত্তি করে তৈরি। একটি বিমূর্ত প্রক্রিয়া রয়েছে যা একটি দলের বিভিন্ন ভূমিকা দ্বারা বিকাশ করতে সক্ষম তিনটি প্রধান উপাদানে অ্যাপ্লিকেশন লজিক্সকে বিভক্ত করার অনুমতি দেয়। প্রকৃতপক্ষে ক্যানিগোর স্থাপত্য, একটি এমভিসি কাঠামোগত কাঠামো হিসাবে, 3 টি স্তর এবং 4 টি ক্রস-কাটিং মডিউলে বিভক্তঃ স্তর উপস্থাপনা স্তর ব্যবসায়িক লজিক স্তর ডেটা অধ্যবসায়/সংহতকরণ স্তর কাঠামো কাঠামো মূল সুরক্ষা মডিউল সমর্থন মডিউল অপারেশন মডিউল ক্যানিগোর একটি মডুলার কাঠামো ডেভেলপারদের প্রকল্পের প্রয়োজনীয়তা পূরণের জন্য শুধুমাত্র প্রয়োজনীয় মডিউল ব্যবহার করার বিকল্প দেয়। এই মডিউলগুলি ইন্টারফেসের মাধ্যমে সংজ্ঞায়িত করা হয়, যা তাদের নির্বাচিত বাস্তবায়ন থেকে পৃথক করে। ক্যানিগো একটি সিরিজ রিসোর্স, জেপিএ হিসাবে এপিআই-এর ইন্টিগ্রেশন এবং ওপেন সোর্স প্যাকেজ (স্প্রিং, সোয়াগার,.)-এর উপর ভিত্তি করে তৈরি। এটি পুনরায় ব্যবহারযোগ্য উপাদানগুলির একটি বিস্তৃত ক্যাটালগ যোগ করে সেই প্যাকেজগুলির জন্য এক্সটেনশনও সরবরাহ করে। সবচেয়ে গুরুত্বপূর্ণ স্থাপত্যগত ভিত্তির মধ্যে একটি হল আরইএসটি এপিআই ব্যবহার করে ফ্রন্টএন্ড এবং ব্যাকএন্ডকে বিচ্ছিন্ন করা। এই স্থাপত্যটি স্বাধীন উন্নয়ন দলগুলিকে ফ্রন্টএন্ড এবং ব্যাকএন্ডে কাজ করার অনুমতি দেয়। কাঠামোটি নীচে উল্লিখিত ব্লকগুলি নিয়ে গঠিতঃ কাঠামো স্থাপত্যের ভিত্তি উপাদান স্প্রিং হল জাভা প্ল্যাটফর্মের জন্য লেখা একটি মুক্ত উৎস কাঠামো। প্রথম সংস্করণটি 2002 সালের অক্টোবরে রড জনসন তৈরি করেছিলেন এবং সর্বশেষ মুক্তিপ্রাপ্ত সংস্করণটি 5.0.9, যা 2018 সালের সেপ্টেম্বরের প্রথম সপ্তাহে প্রকাশিত হয়েছিল। ক্যানিগো ওয়েব অ্যাপ্লিকেশনগুলির কনফিগারেশনে সহায়তা করার জন্য এবং বিভিন্ন অংশে সিস্টেম নির্মাণকে সহজতর করার জন্য ডিজাইন করা হয়েছে (সহজেই বিনিময়যোগ্য এবং তাদের মধ্যে দৃশ্যমান), পরিষেবা সংহতকরণ, সুরক্ষা পরিষেবা, ডাটাবেস সংযোগ, লেনদেন ইত্যাদি। বসন্তের মাধ্যমে বাহ্যিক তথ্য অ্যাক্সেস একটি সহজ কাজ কারণ এই কাঠামোটি নিজেই সংস্থানগুলি পরিচালনা করে। এটিতে সাপোর্ট এপিআই রয়েছে এবং এটি জাভা শিল্পের বেশিরভাগ ডেটা অ্যাক্সেস প্রযুক্তি যেমনঃ জেডিবিসি, হাইবারনেট, জেপিএ, জেডিও বা আইবাটিস সহ্য করতে সক্ষম। ক্যানিগোর স্থাপত্যের মূল ভিত্তি হল জাভা ওয়েব অ্যাপ্লিকেশনের প্রযুক্তি বিকাশের সর্বোত্তম অনুশীলনের একটি সম্পূর্ণ সমন্বিত গোষ্ঠী, যা মডুলারও। এগুলি হল প্রকৃত উপাদান যা সিস্টেমটি গঠন করেঃ সোয়াগার হল একটি ওপেন সোর্স সফ্টওয়্যার কাঠামো যা সরঞ্জামগুলির একটি বড় বাস্তুতন্ত্র দ্বারা সমর্থিত যা ডেভেলপারদের আরইএসটিফুল ওয়েব পরিষেবাগুলির নকশা, নির্মাণ, নথিভুক্ত এবং ব্যবহার করতে সহায়তা করে। যদিও বেশিরভাগ ব্যবহারকারী সোয়াগার ইউআই টুল দ্বারা সোয়াগারকে শনাক্ত করেন, সোয়াগার টুলসেটে স্বয়ংক্রিয় ডকুমেন্টেশন, কোড জেনারেশন এবং টেস্ট কেস জেনারেশনের জন্য সমর্থন অন্তর্ভুক্ত রয়েছে। একটি কেন্দ্রীভূত বস্তু এবং পরিষেবার ধারক হিসাবে স্প্রিং4 ফ্রেমওয়ার্ক, যা এক্স. এম. এল ফাইল বা জাভা টীকাগুলির মাধ্যমে সম্পূর্ণরূপে কনফিগারযোগ্য। নির্ভরতা ইনজেকশন একটি অ-অনুপ্রবেশকারী পদ্ধতির সাথে অ্যাপ্লিকেশনের কোডের বাইরে বস্তুর বিন্যাসের অনুমতি দেয়। এটি কনফিগারেশন এবং সম্পদ স্থানীয়করণের জন্য নিবেদিত অ্যাপ্লিকেশনের কোডকে হ্রাস করে। এটি ক্লাসের পরিবর্তে ইন্টারফেসের বিরুদ্ধে প্রোগ্রামিংয়ের মতো সর্বোত্তম অনুশীলনগুলিকেও সহজতর করে, পরিষেবাগুলির সংযোগ বিচ্ছিন্ন করার অনুমতি দেয় এবং অন্যটির জন্য প্রদত্ত বাস্তবায়নের দ্রুত পরিবর্তন ঘটায়। এটি অ্যাস্পেক্ট ওরিয়েন্টেড প্রোগ্রামিং ব্যবহার করে নির্দিষ্ট এপিআই ব্যবহার না করেই লেনদেন পরিচালনার অনুমতি দেয়। জেপিএ জাভা রিলেশনাল ডেটা বেসগুলি ম্যাপ করার জন্য পিওজেও-র উপর ভিত্তি করে একটি ধারাবাহিকতা মডেল সরবরাহ করে। এছাড়াও মঙ্গোডিবি, সবচেয়ে জনপ্রিয় অ-সম্পর্কিত ডাটাবেস, সমর্থিত। সোর্স কোড পরিবর্তন না করে অ্যাপ্লিকেশনের ইভেন্ট ইন্টারসেপশনের জন্য এওপি (অ্যাস্পেক্ট ওরিয়েন্টেড প্রোগ্রামিং)। ফ্রেমওয়ার্ক কোর এই মডিউলটি কাঠামোর মূল অংশ, এখানে প্রধান বৈশিষ্ট্যগুলি অবস্থিতঃ মাল্টি-এনভায়রনমেন্ট কনফিগারেশনঃ স্প্রিং 3 দ্বারা প্রদত্ত প্রপার্টি প্লেসহোল্ডারের উপর ভিত্তি করে। এই পার্থক্যের সাথে এটি কোনও অতিরিক্ত মটরশুটি বা বৈশিষ্ট্য কনফিগারেশন ছাড়াই পরিবেশ-নির্ভর বৈশিষ্ট্যগুলির অস্তিত্বের অনুমতি দেয়। মাল্টি-ল্যাঙ্গুয়েজ (আই18এন): এর উদ্দেশ্য হল একাধিক ভাষার সমর্থনের সুবিধার্থে অ্যাপ্লিকেশন বিকাশের পর্যায়ে সহায়তা করা। ট্রেস পরিষেবাঃ লগ4জে-এর উপর ভিত্তি করে। এটি ট্রেসিং স্তর, আউটপুট, ন্যূনতম ট্রেস স্তর, আউটপুট বিন্যাস, প্রসঙ্গ তথ্যের সংজ্ঞা দেয়। ব্যতিক্রম পরিষেবাঃ অনুরোধ সম্পাদনের সময় যে কোনও ত্রুটির অস্তিত্ব সম্পর্কে তথ্য তৈরি করে। ক্যানিগো ডিফল্টরূপে ব্যতিক্রমগুলির একটি সিরিজ সরবরাহ করে (বেসএক্সসেপশন, কোরএক্সসেপশন,.)। "ট্রাই-ক্যাচ"-এর অত্যধিক ব্যবহার এড়ানোর জন্য এটির একটি ব্যতিক্রম বাধা ব্যবস্থাও রয়েছে। নিরাপত্তা মডিউল এটি ব্যবহারকারীর অনুমোদন এবং প্রমাণীকরণ অ্যাপ্লিকেশন অ্যাক্সেস ম্যানেজমেন্ট সিস্টেম। নিরাপত্তা মডিউলঃ স্প্রিং সিকিউরিটি 4. x-এর উপর ভিত্তি করে। এটি অ্যাপ্লিকেশন ব্যবহারকারীদের অনুমোদন এবং প্রমাণীকরণ পরিচালনা করতে সক্ষম। নিরাপত্তা ব্যাকএন্ডঃ নিরাপত্তা পরিষেবাটি জিআইসিএআর, এস. এ. সি. ই, এল. ডি. এ. পি, ডেটা বেস এবং ইনমেমরির সঙ্গে সমন্বিত। উপস্থাপনা (ইউ. আই) মডিউল ক্যানিগো 3.2.0 থেকে, জে. এস. এফ উপস্থাপনা স্তর প্রযুক্তি হিসাবে অবহেলিত হয়েছে। উপস্থাপনা স্তরের দায়িত্ব কাঠামোর বাইরে কৌণিক বা প্রতিক্রিয়া হিসাবে ফ্রন্ট-এন্ড প্রযুক্তিতে বিশেষজ্ঞ অন্য দলগুলিকে অর্পণ করা হয়েছে। ইন্টিগ্রেশন মডিউল এর লক্ষ্য জেনারেলিট্যাট ডি কাতালুনিয়া দ্বারা প্রদত্ত বিভিন্ন পরিষেবাগুলিতে সহজ প্রবেশাধিকার প্রদান করা। পি. আই. সি. এঃ 'প্লাটাফরমা ডি' ইন্টিগ্রেসিও আই কোল·ল্যাবেরাসিও অ্যাডমিনিস্ট্রেটিভ '(পি. আই. সি. এ) অ্যাক্সেস করার জন্য একটি ইন্টিগ্রেশন জাভা ইন্টারফেস প্রদান করে। এই মডিউলটি সিঙ্ক্রোনাস এবং অ্যাসিঙ্ক্রোনাস অনুরোধগুলি কার্যকর করতে সক্ষম। জিইসিএটিঃ এই মডিউলে জিইসিএটি-র এসএপি পরিষেবা দ্বারা প্রদত্ত চালান পরিচালনার জন্য কার্যকারিতার একটি সেট রয়েছে। পি. এস. আই. এসঃ এটি ক্যাটসার্ট দ্বারা প্রদত্ত একটি ডিজিটাল স্বাক্ষর এবং ডিজিটাল শংসাপত্র পরিষেবা। এস. এ. আর. সি. এ. টি হল পরিকল্পিত অনুরোধের জন্য ওয়েব সার্ভিসেস, এফ. টি. পি/এস. এফ. টি. পি-র মাধ্যমে <আই. ডি1> দ্বারা প্রদত্ত পরিষেবাগুলি কার্যকর করার একটি পদ্ধতি। ডকুমেন্টামঃ ডকুমেন্ট ফাইলিং এবং পুনরুদ্ধারের মতো ব্যবহার ডকুমেন্টাম কার্যকারিতা সক্ষম করে, এটি ফোল্ডার এবং মেটাডেটা পরিচালনা করতেও সক্ষম। এনটিঃ পিআইসিএ-র জন্য একটি কার্যকরী সংযোগকারী যা জেনারেলিট্যাট ডি কাতালুনিয়ার টেলিমেটিকাল বিজ্ঞপ্তিগুলির ব্যবহারকে সহজতর করে। অ্যান্টিভাইরাসঃ এটি জেনারেলিট্যাট ডি কাতালুনিয়ার সিটিটিআই (ইনফরমেশন টেকনোলজিস অ্যান্ড টেলিকমিউনিকেশনস সেন্টার) ফাইল স্ক্যানিং সিস্টেমের একটি সংহতকরণ। এসএপিঃ এটি জেনারেলিট্যাট ডি কাতালুনিয়ার এসএপি ব্যাকএন্ড অ্যাক্সেস করার জন্য একটি সরলীকৃত ইন্টারফেস। ওয়েবসাইট পরিষেবাঃ ক্যানিগো 3-এর কোনও স্থানীয় ওয়েব পরিষেবা মডিউল নেই। জাভার মাধ্যমে কীভাবে ওয়েব পরিষেবাগুলি রপ্তানি, প্রকাশ এবং ব্যবহার করা যায় সে সম্পর্কে একটি সম্পূর্ণ নথিভুক্ত নির্দেশিকা রয়েছে। ক্যানিগো 3 স্প্রিং ডব্লিউএস, জ্যাক্সব এবং ওএক্সএম-এর ব্যবহারকে উৎসাহিত করে। সারিঃ ক্যানিগো 3-এর কোনও সারি ব্যবস্থাপনা মডিউল নেই। সারি থেকে কীভাবে বার্তা তৈরি এবং ব্যবহার করা যায় সে সম্পর্কে একটি নির্দেশিকা রয়েছে। স্প্রিং জেএমএস ব্যবহারের পরামর্শ দেওয়া হয়। অধ্যবসায় মডিউল এই মডিউলটি অ্যাপ্লিকেশন এবং ডাটাবেস ম্যানেজমেন্ট সিস্টেমের মধ্যে ডেটা অধ্যবসায় এবং পুনরুদ্ধারের সাথে অ্যাপ্লিকেশনকে সক্ষম করে। জেপিএঃ জাভা পার্সিস্টেন্স এপিআই ওআরএম (অবজেক্ট-রিলেশনাল ম্যাপিং)-এর জন্য সরঞ্জামগুলিকে একত্রিত করে। ক্যানিগো 3-এ ডিফল্ট জেপিএ বাস্তবায়ন হল হাইবারনেট। স্প্রিং ডেটা জেপিএ সহজেই জেপিএ ভিত্তিক সংগ্রহস্থলগুলি বাস্তবায়ন করা সহজ করে তোলে। এটি স্প্রিং-চালিত অ্যাপ্লিকেশন তৈরি করা সহজ করে তোলে যা ডেটা অ্যাক্সেস প্রযুক্তি ব্যবহার করে। মঙ্গোডিবিঃ মঙ্গোডিবি ডকুমেন্ট ডাটাবেসের সাথে সহজেই সংহতকরণ স্প্রিং ডেটা মঙ্গোডিবি-র জন্য ধন্যবাদ। সমর্থন মডিউল এই মডিউলটি কাঠামোতে কিছু অতিরিক্ত বৈশিষ্ট্য সরবরাহ করে। ফাইল স্থানান্তরঃ সার্ভারকে একটি এইচ. টি. এম. এল আকারে সংযুক্ত ফাইল গ্রহণ করতে সক্ষম করে। মেইল বিজ্ঞপ্তিঃ সার্ভারকে একাধিক ঠিকানায় ইমেল পাঠাতে সক্ষম করে। এটি সাধারণ পাঠ্য এবং এইচ. টি. এম. এল বার্তা বিষয়বস্তু বিন্যাস পরিচালনা করে। এটি একাধিক ফাইল সংযুক্ত করতে পারে। টাস্ক প্ল্যানারঃ স্প্রিং এবং কোয়ার্টজ অবলম্বনে। পূর্বনির্ধারিত সময়সূচী নিয়মের উপর ভিত্তি করে বিলম্বিত কাজগুলি সম্পাদন করার বিকল্পটি সক্রিয় করুন। ও. এল. ইঃ এটি এম. এস এক্সেল এবং ওয়ার্ড ও. এল. ই ডকুমেন্ট ফরম্যাট পরিচালনা করতে পারে। এটি নথি তৈরি, পড়া এবং সংশোধন করার সম্ভাবনাকে সক্ষম করে। এটি পিওআই গ্রন্থাগারের উপর ভিত্তি করে তৈরি। একত্রীকরণঃ ওয়ার্ডএমএল বিন্যাসে নথির সংমিশ্রণ। একটি ট্যাগ করা নথি থেকে শুরু করে, সেই চলকগুলি একটি অভিধানে সংজ্ঞায়িত মানগুলির একটি গোষ্ঠী দ্বারা বিনিময় করা হয়। এস. এফ. টি. পিঃ একটি সুরক্ষিত প্রোটোকলের মাধ্যমে সার্ভার এবং অন্যান্য সার্ভারের মধ্যে ফাইল ট্রান্সমিশন সক্ষম করে। এটি জেএসসিএইচ এবং কমন্স-ভিএফএস গ্রন্থাগারের উপর ভিত্তি করে তৈরি। অপারেশন মডিউল এই মডিউলটি প্রয়োগগুলিতে একটি বৈশিষ্ট্য যোগ করে যা সম্পাদন এবং যন্ত্রগত তথ্য তৈরি করে। এই তথ্য পর্যবেক্ষণ সরঞ্জাম দ্বারা খনন এবং প্রক্রিয়াকরণের জন্য প্রস্তুত। ইনস্ট্রুমেন্টেশনঃ অ্যাপ্লিকেশনটিকে ইনস্ট্রুমেন্টেশন ডেটা (প্রশ্ন গণনা, ত্রুটি গণনা,) তৈরি করার ক্ষমতা দিয়ে সক্ষম করে, এই ডেটা অ্যাপ্লিকেশনটির সম্পাদন থেকে আসে। পর্যবেক্ষণঃ ইন্সট্রুমেন্টেশন মডিউল তৈরি করা ডেটাতে অ্যাক্সেস পেতে অ্যাপ্লিকেশনটিকে একটি স্ক্রিন দেখানোর জন্য সক্ষম করে। লগিংঃ অ্যাপ্লিকেশনটিকে লগ অ্যাপেনডার (সক্রিয়, নিষ্ক্রিয়, লগ স্তর পরিবর্তন) পরিচালনা করতে এবং ওয়েবসকেটের সাহায্যে রিয়েল টাইমে লগ দেখতে সক্ষম করে। বাহ্যিক লিঙ্ক পোর্টাল ডি ক্যানিগো ক্যাটালোনিয়ার সরকার জাভা নির্দিষ্টকরণ জাভা এন্টারপ্রাইজ প্ল্যাটফর্মের অনুরোধ করেছে