Tag Archives: এপ্লিকেশন

নোড.জেএস – প্রথম এপ্লিকেশন (Node.js – First Application)

Huge Sell on Popular Electronics

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

 

নড জেএসের মাধ্যমে ‘হ্যালো ওয়ার্ল্ড’ তৈরির আগে নড জেএসের এপ্লিকেশনের অংশগুলো দেখে নেয়া যাক, এর তিনটি খুব গুরুত্বপূর্ণ অংশ আছে,

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

 

নড জেএস এপ্লিকেশন তৈরি করা

প্রথম ধাপ, প্রয়োজনীয় মডিউল ইমপোর্ট করা

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


var http = require("http");

 

দ্বিতীয় ধাপ, সার্ভার তৈরি করা

পরবর্তী ধাপে আমরা তৈরি করা এইচটিটিপি ইন্সটেন্স ব্যবহার করি ও http.createServer() তে কল করা হয় সার্ভার ইনটেন্স তৈরি করতে। এরপরlisten মেথড ব্যবহার করে আমরা একে port 8081এর সাথে সংযুক্ত করি। একটি ফাংশনকে প্যারামিটার রিকোয়েস্ট ও রেসপন্সসহ পাস করানো হয়। নিচের ব্যবহারিক প্রয়োগ ‘হ্যালো ওয়ার্ল্ড’ ফলাফল দেখাবে।


http.createServer(function (request, response) {
     // Send the HTTP header
     // HTTP Status: 200 : OK
     // Content Type: text/plain
     response.writeHead(200, {'Content-Type': 'text/plain'});
     // Send the response body as "Hello World"
     response.end('Hello World\n');
}).listen(8081);
// Console will print the message
console.log('Server running at http://127.0.0.1:8081/');

 

উপরের কোড এমন এইচটিটিপি সার্ভার তৈরির জন্য যথেষ্ট যা লোকাল মেশিনের 8081 portএর সাথে সমন্বয় সাধন করে।

 

তৃতীয় ধাপ, রিকোয়েস্ট ও রেসপন্স টেস্ট করা

main.js ফাইলে পূর্বে উল্লেখিত দুটি ধাপের সমন্বয় করে নিচের নত করে এইচটিটিপি সার্ভার চালু করতে হয়,


var http = require("http");
http.createServer(function (request, response) {
    // Send the HTTP header
    // HTTP Status: 200 : OK
    // Content Type: text/plain
    response.writeHead(200, {'Content-Type': 'text/plain'});
    // Send the response body as "Hello World"
    response.end('Hello World\n');
}).listen(8081);
// Console will print the message
console.log('Server running at http://127.0.0.1:8081/');

 

এখন সার্ভার চালুর জন্য main.jsকে সম্পাদন করতে হয় নিচের মত করে,


$ node main.js

 

আউটপুট ভেরিফাই করলে দেখব, সার্ভার চালু হয়ে গেছে।


Server running at http://127.0.0.1:8081/

 

নড জেএস সার্ভারে রিকোয়েস্ট করা

যেকোনো ব্রাউজারে http://127.0.0.1:8081/ ওপেন করে রেজাল্ট দেখব, ‘হ্যালো ওয়ার্ল্ড’ ।

Node.js server

অভিনন্দন! আমাদের প্রথম এইচটিটিপি সার্ভার তৈরি ও চালু হল যা port 8081 এর সকল এইচটিটিপি রিকোয়েস্টের সাড়া দেয়।

 

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : নেটওয়ার্ক সার্ভিসসমূহ (DCN – Network Services)

Huge Sell on Popular Electronics

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

 

 

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

 

ডিরেক্টরি সার্ভিস

এই ধরণের সফটওয়ার সিস্টেম তথ্য সংরক্ষণ, ব্যবস্থাপনা ও এতে প্রবেশের সাথে সংশ্লিষ্ট সকল কাজ তত্ত্বাবধায়ন করে থাকে। এর কয়েকটি দিক আছে,

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

 

ফাইল সার্ভিস

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

 

কমুনিকেশন সার্ভিস

নেটওয়ার্ক বিভিন্ন কমুনিকেশনের মাধ্যম নিয়ন্ত্রণ করে যেমন,

  • ইমেইল,
  • সামাজিক যোগাযোগ,
  • ইন্টারনেট চ্যাট,
  • ডিসকাশন বোর্ড,
  • রিমোট এক্সেস।

 

এপ্লিকেশন সার্ভিস

নেটওয়ার্ক কিছু এপ্লিকেশন ভিত্তিক সার্ভিস দিয়ে থাকে, এগুলো হল,

  • রিসোর্স শেয়ারিং,
  • ডাটাবেস,
  • ওয়েব সার্ভিস ইত্যাদি ।

 

 

 

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : এপ্লিকেশন প্রটোকল : (DCN – Application Protocols)

Huge Sell on Popular Electronics

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

 

এমন বেশ কয়েকটি প্রটোকল আছে যারা এপ্লিকেশন লেয়ারে ব্যবহারকারীর জন্য কাজ করে। এদের মোটামুটি দুই ভাগে ভাগ করা যায়,

যেসব প্রটোকল সরাসরি ব্যবহারকারীর জন্য কাজ করে।যেমন ইমেইল।

আর যেসব প্রটোকল ব্যবহারকারীর জন্য সাহায্যকারী প্রটোকলকে সাহায্য করে। যেমন ডিএনএস।

 

কয়েক ধরণের এপ্লিকেশন প্রটোকল সম্পর্কে নিচে আলোচনা করা হল।

ডোমেইন নেম সিস্টেম বা ডিএনএস

ক্লায়েন্ট সার্ভার মডেলে কাজ করে। ট্রান্সপোর্ট লেয়ার কমুনিকেশনে UDP প্রটোকল ব্যবহার করে, এটি UDP port 53 ব্যবহার করে, FQDN এর সাথে প্রস্তাবিত হয় এবং সংশ্লিষ্ট আইপি এড্রেসের সাথে প্রকল্পিত হয়।

সিম্পল মেইল ট্রান্সফার প্রটোকল

এক ইউজার থেকে আরেক ইউজারের কাছে মেইল পাঠাতে ব্যবহৃত হয়, এটি সার্ভার সাইডে প্রেরণের জন্য SMTP ব্যবহার করে, SMTP TCP port number 25 এবং 587 ব্যবহার করে থাকে।

ফাইল ট্রান্সফার প্রটোকল বা এফটিপি

এটি বহুল ব্যবহৃত প্রটোকল, TCP port 20 ব্যবহার করে থাকে, এই পদ্ধতিতে ইউজার সার্ভারে ফাইলের জন্য রিকোয়েস্ট করে। সার্ভার টিসিপি কানেকশন ব্যবহার করে প্রক্রিয়া সম্পন্ন করে থাকে।

পোস্ট অফিস প্রটোকল

ইউজার এজেন্ট ব্যবহৃত সাধারণ ট্রান্সফার প্রটোকল। TCP port 110 ব্যবহার করে।

হাইপার টেক্সট ট্রান্সফার প্রটোকল

এটি ওয়ার্ল্ড ওয়াইড ওয়েবের ভিত্তি। পেজ ও টেক্সট ডকুমেন্টে হাইপারলিঙ্ক ব্যবহার করে। এইচটিটিপি ১.১ ও১.০, এই দুটি ভার্সন আছে।

 

ডেটা কমিউনিকেশন ও কম্পিউটার নেটওয়ার্ক : এপ্লিকেশন লেয়ার : ভূমিকা (DCN – Application Layer Introduction)

Huge Sell on Popular Electronics

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

 

এপ্লিকেশন লেয়ার ওসিআই এবং টিসিপি/আইপি লেয়ারড মডেলের সবচেয়ে উঁচু লেয়ার। এটি এর ইউজার ও ইউজার এপ্লিকেশন উভয়ের সাথে সম্পৃক্ততার স্বাতন্ত্র্যের কারণে দুটি লেয়ারড মডেলেই বিদ্যমান একটি বিষয়। এই লেয়ার কমুনিকেশন সিস্টেমের সাথে জড়িত-এমন এপ্লিকেশনের জন্য প্রযোজ্য।

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

যখন এপ্লিকেশন লেয়ার প্রটোকল রিমোট হোষ্টে অবস্থিত এর সদৃশ এপ্লিকেশন লেয়ার প্রটোকল(peer application layer protocol) এর সাথে যোগাযোগ করতে চায় তখন এটি তথ্য বা ডাটা ট্রান্সপোর্ট লেয়ারে অর্পণ করে, ট্রান্সপোর্ট লেয়ার তার নিচের সব লেয়ারের সহযোগিতায় বাকি কাজ সম্পন্ন করে।

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

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

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

যে সফটওয়ারই ব্যবহার করা হোক না কেন, এটিই সফটওয়ারে ব্যবহৃত এপ্লিকেশন লেয়ারে প্রতীয়মান প্রটোকল। ডিএনএস এমন একটি প্রটোকল যা ইউজার এপ্লিকেশন প্রটোকল যেমন এইচটিটিপিকে এর কাজ সম্পন্ন করতে সাহায্য করে।

 

অ্যাপ এম এল ক্লায়েন্ট (The AppML Client)

Huge Sell on Popular Electronics

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

 

পরবর্তী অধ্যায়গুলোতে আমরা ওয়েব ব্রাউজারে ওয়েব এপ্লিকেশন তৈরি করব।

 

অ্যাপ এম এল ক্লায়েন্ট

অ্যাপ এম এল ক্লায়েন্ট হল একধরনের জাভাস্ক্রিপ্ট যা যেকোনো ওয়েব ব্রাউজারে চলতে পারে।

এটি এক লাইনের কোডের মাধ্যমেই যেকোনো এইচটিএমএল পেজে যোগ করা যায়,


<scriptsrc="http://www.w3schools.com/appml/2.0.3/appml.js"></script>


 

অ্যাপ এম এল ক্লায়েন্ট এইচটিএমএল এট্রিবিউট ব্যবহার করে যেকোনো এইচটিএমএল উপাদানে এক্সটারনাল ডাটা যোগ করার সুবিধা দেয়।


<tableappml-data="customers.js">


 

 

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


<td>{{CustomerName}}</td>


 

 

{{ ... }} হল অ্যাপ এম এল ডাটার সংস্থাপন চিহ্ন।

 

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


 <tr appml-repeat="records">
 ..
 .
 </tr>

 

 

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

 

অ্যাপ এম এল ওয়েব এপ্লিকেশন

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


সিআরইউডি বা CRUD: Create, Read, Update, Delete.


 

 

অ্যাপ এম এল সার্ভার

অ্যাপ এম এল দুটি সার্ভার টাইপ ব্যবহার করে, পিএইচপি ও ডটনেট।

অ্যাপ এম এল সার্ভার স্ক্রিপ্ট ব্যবহার করে এসকিউএল ডাটাবেসে যেমন মাইএসকিউএল ও এসকিউএল ডাটাবেসে প্রবেশ করা যায়। এই সার্ভার স্ক্রিপ্ট অত্যন্ত শক্তিশালী, যেকোনো পিএইচপি ও ডটনেট সার্ভারে ইন্সটল করা যায়।

 

অ্যাপ এম এল ওয়েব এসকিউএল

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


<scriptsrc="http://www.w3schools.com/appml/2.0.3/appml_sql.js"></script>