Tag Archives: মডেল

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : ক্লায়েন্ট সার্ভার মডেল : (DCN – Client Server Model)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

দুটি রিমোট এপ্লিকেশন প্রক্রিয়া দুই ধরণের উপায়ে যোগাযোগ রাখতে পারে,

  • সদৃশ থেকে সদৃশ এপ্লিকেশনে যোগাযোগঃ দুটি রিমোট এপ্লিকেশন একই লেভেলে শেয়ারড রিসোর্স ব্যবহার করে এটি করতে পারে,
  • ক্লায়েন্ট থেকে সার্ভারে যোগাযোগঃ একটি রিমোট প্রক্রিয়া ক্লায়েন্ট হিসেবে সার্ভার রূপে ক্রিয়াশীল অন্য রিমোট প্রক্রিয়ার কাছে রিকোয়েস্ট পাঠাতে পারে। ক্লায়েন্ট সার্ভার মডেলে যেকোনো প্রক্রিয়া ক্লায়েন্ট অথবা সার্ভার হিসেবে কাজ করতে পারে।

ক্লায়েন্ট সার্ভার মডেল

 

যোগাযোগ

ক্লায়েন্ট সার্ভার মডেলে দুটি প্রক্রিয়া বিভিন্ন উপায়ে নিজেদের মধ্যে যোগাযোগ রাখতে পারে,

  • সকেটের মাধ্যমে,
  • রিমোট প্রসেস সেল আরপিসি

 

সকেট

সার্ভাররূপে ক্রিয়াশীল প্রসেস, পোর্ট ব্যবহার করার মাধ্যমে সকেট খোলে, এবং ক্লায়েন্টের রিকোয়েস্টের জন্য অপেক্ষা করে। ক্লায়েন্টরূপে ক্রিয়াশীল প্রক্রিয়া অনুরূপ সকেট খোলে তবে তার কাজ হল রিকোয়েস্ট প্রেরণ করা।

 

রিমোট প্রক্রিয়া সেল

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

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

 

তথ্যসূত্রঃ http://www.tutorialspoint.com/data_communication_computer_network/client_server_model.htm

 

২৩০ ওয়ার্ড, বোনাস আশা করছি। ধন্যবাদ।

 

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : কম্পিউটার নেটওয়ার্ক মডেল (DCN – Computer Network Models)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

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

 

লেয়ারের কাজ

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

লেয়ারের কাজ

 

ওএসআই মডেল

ওপেন সিস্টেম ইন্টারকানেক্ট সব কমুনিকেশন সিস্টেমের জন্য আদর্শ, আইএসও দ্বারা প্রতিষ্ঠিত এই মডেলের সাতটি লেয়ার আছে,

 

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

 

ইন্টারনেট মডেল

ইন্টারনেট টিসিপি বা আইপি প্রটোকল স্যুইট ব্যবহার করে যা ইন্টারনেট মডেলকে বিবৃত করে। এটি চারটি লেয়ারে বিভক্ত,

  • এপ্লিকেশন লেয়ারঃ এপ্লিকেশন ব্যবহারকারীকে নেটওয়ার্ক ব্যবহারের সুযোগ করে দেয়, যেমন এফটিপি, এইচটিটিপি ইত্যাদি।
  • ট্রান্সপোর্ট লেয়ারঃ হোষ্টগুলোর মাঝে কীভাবে ডাটা প্রবাহিত হবে তা ঠিক করা এই লেয়ারের দায়িত্ব।
  • ইন্টারনেট লেয়ারঃ ইন্টারনেট প্রটোকল বা আইপি এই লেয়ারে কাজ করে।
  • লিঙ্ক লেয়ারঃ প্রকৃত ডাটা প্রেরণ বা গ্রহণ করার কৌশল এই লেয়ার নির্ধারণ করে।

 

অ্যাপ এমএল স্থাপত্য (AppML Architecture)

Huge Sell on Popular Electronics

নাজমুল ইসলাম

আধুনিক ওয়েব স্থাপত্য

AppML সমসাময়িক কৌশল এবং আধুনিক ওয়েব ডেভেলপমেন্ট এর ধারনাকে একত্রিত করে।

AppML গতি, সরলতা, এবং কম খরচে উপর নজর দেয়:

  • সেবামূলক MVC আর্কিটেকচার
  • অত্যন্ত কম ব্যান্ডউইথ খরচ
  • ক্লাউড কম্পিউটিং জন্য অনুকূল
  • উপস্থাপনা বা প্রেজেন্টেশন থেকে কন্টেন্টসময়হ সম্পূর্ণ আলাদা করা
  • ইন্টেলিজেন্ট ঘোষণামূলক প্রোগ্রামিং
  • দ্রুত এবং তৎপর ওয়েব ডেভেলপমেন্ট
  • উচ্চ আকার পরিবর্তনযোগ্য এবং পরীক্ষাসক্ষম
  • কনফিগারেশন এবং পুনরায় কনফিগার করা সহজ
  • ব্যবহারকারীর অ্যাকাউন্ট এবং কর্মের জন্য নিপুণ সহায়তা

 

MVC আর্কিটেকচার

AppML এ MVC আর্কিটেকচার ব্যবহার

MVC বলতে বোঝায় মডেল, ভিউ, কন্ট্রোলার

  • মডেল আপনার অ্যাপ্লিকেশন সম্পর্কে বর্ণনা দেয়
  • ভিউ আপনার ডাটা প্রদশন করে
  • কন্ট্রোলার আপনার অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করে

 

উইকিপিডিয়া: মডেল, ভিউ, কন্ট্রোলার

মডেল - কেবল JSON

মডেল অ্যাপ্লিকেশনকে বর্ণনা করে

মডেল বিভিন্ন হার্ডওয়্যার এবং সফটওয়্যার প্ল্যাটফর্ম এ পুনরায় ব্যবহার করা যায় (সার্ভার, পিসি, আইফোন, ট্যাবলেট, ইত্যাদি)

মডেল উপস্থাপনা বা ইউজার ইন্টারফেস (UI) এর সাথে সংশ্লিষ্ট নয়।

মডেল JSON এর মধ্যে লিখিত হয়:

Model


{
 "rowsperpage" : 10,
 "database" : {
     "connection" : "localmysql",
     "sql" : "SELECT CustomerName, City, Country FROM Customers",
     "orderby" : "CustomerName"
 },
 "filteritems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}
 ],
 "sortitems" : [
     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}
 ]
 }

 

ভিউ - কেবল এইচটিএমএল

ভিউ হচ্ছে ডাটা (এবং ইনপুট) দেখানোর জন্য  ইউজার ইন্টারফেস (UI)

ভিউ  HTML এবং CSS এ লেখা হয়:

এইচটিএমএল ভিউ


<!DOCTYPE html>
 <html lang="en-US">
 <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
 <script src="http://www.w3schools.com/appml/2.0.3/appml.js"></script>
 <body>
 
 <div class="container" appml-data="local?model=model_customers">
 <h1>Customers</h1>
 <div appml-include-html="inc_listcommands.htm"></div>
 <div appml-include-html="inc_filter.htm"></div>
 
 <table class="table table-striped table-bordered">
 <tr>
   <th>Customer</th>
   <th>City</th>
   <th>Country</th>
 </tr>
 <tr appml-repeat="records">
   <td>{{CustomerName}}</td>
   <td>{{City}}    </td>
   <td>{{Country}} </td>
 </tr>
 </table>
 </div>
 
 </body>
 </html>

 

 

নিয়ামক (কন্ট্রোলার) - ক্লায়েন্ট এবং / অথবা সার্ভার স্ক্রিপ্ট

একটি ক্লায়েন্ট স্ক্রিপ্ট হচ্ছে একটি ওয়েভ পেজ যা অ্যাপ্লিকেশনকে নিয়ন্ত্রণ করতে পারে।

  • অ্যাপ এমএল মেথড এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
  • অ্যাপ এমএল এইচটিএমএল অ্যাট্রিবিউট এ সঙ্গায়িত ডাটা প্রদর্শন করতে পারে
  • অ্যাপ এমএল অ্যাপ্লিকেশন এইচটিএমএল এ কারো সহায়তা ছাড়াই চালু হতে পারে (লুকানো ভাবে)
  •  (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভার থেকে মডেল ডাটার জন্য অনুরোধ করতে পারে (এসকিউএল সার্ভার)।
  • (ঐচ্ছিক) অ্যাপ এমএল ব্যবহারকারীরা ডাটা সম্পাদনা বা পরিবর্তন করতে পারে।
  • (ঐচ্ছিক) অ্যাপ এমএল ওয়েব সার্ভারে ডাটা প্রদান করতে পারে।

 

সার্ভার স্ক্রিপ্ট অ্যাপ্লিকেশনকে নিন্মক্তভাবে নিয়ন্ত্রণ করতে পারে :

  • গ্রাহকের (ব্রাউজার) কাছ থেকে অনুরোধ গ্রহণ করে
  • গ্রাহককে ডাটা ফেরত দিয়ে
  • গ্রাহকের কাছ থেকে ডাটা গ্রহণ করে
  • সার্ভার এর ডাটা আপডেট করে
  • অনুমোদন ও নিরাপত্তা তদারকী করে

 

প্রোগ্রামিং এর শিল্প

আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।

কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।

ঘোষণামূলক প্রোগ্রামিং

সফটওয়্যার উন্নয়ন প্রায়শই সময়সীমা এবং বাজেটের জন্য ক্ষতিগ্রস্থ হয়। সম্পন্ন সফটওয়্যার এ প্রায়ই প্রচুর কোডিং সমস্যা থাকে। এর কারণ হচ্ছে কোড উন্নয়ন, পরীক্ষা করা এবং পরিচালনা করা কঠিন।

কোডিং এর ক্ষেত্রে আপনাকে কিভাবে করতে হবে থেকে কি করতে হবে তা বর্ণনা করার উপর বেশি গুরুত্ব দিতে হবে।

অ্যাপ এমএল এ মডেল এবং ভিউ এ আপনার অ্যাপ্লিকেশন ঘোষণা করতে হবে।

অ্যাপ এমএল এ খুব কমই (অনেক সময় কিছুই নয়) কোডিং করতে হয়।

 

উইকিপিডিয়া: ঘোষণামূলক প্রোগ্রামিং

 

দ্রুত এবং তৎপর এপ্লিকেশন উন্নয়ন (ডেভেলপমেন্ট)

কম্পিউটার অ্যাপ্লিকেশন এর জটিলতা নিয়ন্ত্রণ, প্রোগ্রামিং এর সঠিক কৌশল।

আবেদন আকার এবং কম জটিলতা রাখা, সকল প্রোগ্রামিং এর প্রধান সমস্যা।

RAD হচ্ছে একটি সফটওয়্যার ডেভেলপমেন্ট মেথড যা দ্রুত প্রোটোটাইপিং এর উদ্দেশ্যে নুন্যতম পরিকল্পনা ব্যবহার করে।

অ্যাপ এমএল অতিদ্রুত প্রোটোটাইপিং সরবরাহ করে, ঐতিহ্যগত উন্নয়ন পদ্ধতির তুলনায় ১০০ গুণ দ্রুত।

অ্যাপ্লিকেশন প্রোটোটাইপ অ্যাপ্লিকেশন মডেল থেকে কোন কোডিং ছাড়াই সরাসরি চালু হতে পারে।

উইকিপিডিয়া: দ্রুত এপ্লিকেশন ডেভেলপমেন্ট

এজাইল সফটওয়্যার উন্নয়ন (Agile software development) হচ্ছে একটি ধাপে ধাপে উন্নয়নের একটি পদ্ধতি, যেখানে ব্যবহারকারী এবং ডেভেলপারদের প্রত্যেক্ষ সহযোগিতায় সমাধান তৈরি করা হয়।

অ্যাপ এমএল দিয়ে অ্যাপ্লিকেশন ধাপে ধাপে  অল্প বৃদ্ধি করে, প্রোটোটাইপ থেকে সম্পন্ন অ্যাপ্লিকেশন লেখা যেতে পারে।

উইকিপিডিয়া: তৎপর সফটওয়্যার ডেভেলপমেন্ট

 

চলবে (To be continue)

 

অ্যাপ এম এল মডেল (AppML Models)

Huge Sell on Popular Electronics

রিদওয়ান বিন শামীম

 

অ্যাপ এম এল মডেল কোনও এপ্লিকেশনকে বিবৃত করে।

 

অ্যাপ এম এল মডেল আসলে কী

অ্যাপ এম এল মডেল একধরনের জাভাস্ক্রিপ্ট অবজেক্ট বা জেএসওএন, যা কোনও এপ্লিকেশনকে বিবৃত করে। একটি ছোট মডেল ডাটাবেস থেকে প্রাপ্ত তথ্যের ভিত্তিতে সম্পূর্ণ এপ্লিকেশনকে বিবৃত করতে পারে।


{
 "database" : {অ্যাপ এম এল
     "connection" : "localmysql",
     "sql" : "SELECT * FROM Customers"}
 }

 

 

অ্যাপ এম এল মডেল যা যা করতে পারে

অ্যাপ এম এল মডেলের কর্মপরিধির মধ্যে আছে,

 

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

 

উদাহরণঃ ইউজারকে ডাটা ফিল্টার করার(সার্চ, সর্ট ইত্যাদি ) সুবিধা দেয়ার জন্য মডেলে ফিল্টার ইনফরমেশন যোগ করা যায়,

 


"filteritems" : [

     {"item" : "CustomerName", "label" : "Customer"},
     {"item" : "City"},
     {"item" : "Country"}
 ]

 

 

 

 

ইউজারকে ডাটা আপডেট করার সুবিধা দেয়ার জন্য মডেলে আপডেট ইনফরমেশন যোগ করা যায়,

 

 


"updateItems" : [
{"item" : "CustomerName"},
{"item" : "Address"},
{"item" : "PostalCode"},
{"item" : "City"},
{"item" : "Country"}
]


 

 

 

মডেল ছাড়া এপ্লিকেশন

আমাদের টিউটোরিয়ালের প্রথম দিকে যেসব এপ্লিকেশন ব্যবহার করা হয়েছে সেগুলোতে কোনও মডেল ব্যবহার করা হয়নি।

 

 

নোটঃ পরবর্তী অধ্যায়গুলোতে আমরা ডাটাবেস, পঠন, ফিল্টার এবং আপডেট ডাটা যা মডেলে বিবৃত হয়েছে, তা নিয়ে আরও আলোচনা করব।