Tag Archives: এপিআই

নোড.জেএস । Node.js – আরইএসটি সম্পন্ন এপিআই

Huge Sell on Popular Electronics

নোড . জে এস । Node.js - আরইএসটি সম্পন্ন এপিআই
রিদওয়ান বিন শামীম

আরইএসটি আর্কিটেকচার কীঃ আরইএসটির মানে হল, রিপ্রেজেন্টেশনাল স্টেট ট্রান্সফার। এটি ওয়েব স্ট্যান্ডার্ডভিত্তিক আর্কিটেকচার এবং এইচটিটিপি প্রটোকল ব্যবহার করে। Roy Fielding এটিকে ২০০০ সালে প্রবর্তন করেন।

আরইএসটি সার্ভার রিসোর্সে এক্সেস নিশ্চিত করে, ক্লায়েন্ট এইচটিটিপি প্রটোকল ব্যবহার করে এর পরিবর্তন ও পরিবর্ধন করে থাকেন। আরইএসটি টেক্সট, জেএসওএন ও এক্সএমএলভিত্তিক রিপ্রেজেন্টেশন ব্যবহার করে রিসোর্স রিপ্রেজেন্ট করতে। এদের মধ্যে জেএসওএন সবচেয়ে জনপ্রিয়।

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

আরইএসটি সম্পন্ন ওয়েব সার্ভারঃ এপ্লিকেশন ও সিস্টেমের প্রটোকল ও স্ট্যান্ডার্ডের সমন্বয়ে ওয়েব সার্ভার গঠিত হয়।

লাইব্রেরীর জন্য আরইএসটি তৈরি করাঃ জেএসওএন ডাটাবেসে users.json নামক ফাইলের ক্ষেত্রে

{
"user1" : {
"name" : "mahesh",
"password" : "password1",
"profession" : "teacher",
"id": 1
},
"user2" : {
"name" : "suresh",
"password" : "password2",
"profession" : "librarian",
"id": 2
},
"user3" : {
"name" : "ramesh",
"password" : "password3",
"profession" : "clerk",
"id": 3
}
}

এসবের ভিত্তিতে যে আরইএসটি এপিআই পাই তাদের তালিকা,

S. N. URI HTTP Method POST body Result
1 listUsers GET empty সব ইউজারের তালিকা দেখায়
2 addUser POST JSON String নতুন ইউজারে বিবরণ সংযুক্তি
3 deleteUser DELETE JSON String বিদ্যমান ইউজার ডিলিট করা
4 :id GET empty ইউজারের বিবরণ প্রদর্শন

লিস্ট ইউজারঃ আমাদের প্রথম আরইএসটি এপিআই listUsers এপিআই server.js ফাইলে নিচের কোড ব্যবহার করে পাই,

var express = require('express');
var app = express();
var fs = require("fs");

app.get('/listUsers', function (req, res) {
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
console.log( data );
res.end( data );
});
})

var server = app.listen(8081, function () {

var host = server.address().address
var port = server.address().port

console.log("Example app listening at http://%s:%s", host, port)

})

লোকাল মেশিনে নির্দিষ্ট http://127.0.0.1:8081/listUsers এপিআইতে ব্যবহার করে আমরা পাই,

{
"user1" : {
"name" : "mahesh",
"password" : "password1",
"profession" : "teacher",
"id": 1
},
"user2" : {
"name" : "suresh",
"password" : "password2",
"profession" : "librarian",
"id": 2
},
"user3" : {
"name" : "ramesh",
"password" : "password3",
"profession" : "clerk",
"id": 3
}
}

ইউজার সংযুক্ত করাঃ নিচের এপিআই দ্বারা নতুন ইউজার সংযুক্ত করা হয়,

user = {
"user4" : {
"name" : "mohit",
"password" : "password4",
"profession" : "teacher",
"id": 4
}
}

addUser এপিআই দ্বারা ডাটাবেসে নতুন ইউজার সংযুক্ত করা হয়,

var express = require('express');
var app = express();
var fs = require("fs");

var user = {
"user4" : {
"name" : "mohit",
"password" : "password4",
"profession" : "teacher",
"id": 4
}
}

app.get('/addUser', function (req, res) {
// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
data["user4"] = user["user4"];
console.log( data );
res.end( JSON.stringify(data));
});
})

var server = app.listen(8081, function () {

var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)

})

লোকাল মেশিনে এপিআইতে http://127.0.0.1:8081/addUsers ব্যবহার করে যে ফলাফল আমরা পাব তা হল,

{ user1:
{ name: 'mahesh',
password: 'password1',
profession: 'teacher',
id: 1 },
user2:
{ name: 'suresh',
password: 'password2',
profession: 'librarian',
id: 2 },
user3:
{ name: 'ramesh',
password: 'password3',
profession: 'clerk',
id: 3 },
user4:
{ name: 'mohit',
password: 'password4',
profession: 'teacher',
id: 4 }
}

শো ডিটেইলঃএর জন্য যে এপিআই ব্যবহার করতে হবে তা হল,

var express = require('express');
var app = express();
var fs = require("fs");

app.get('/:id', function (req, res) {
// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
var user = users["user" + req.params.id]
console.log( user );
res.end( JSON.stringify(user));
});
})

var server = app.listen(8081, function () {

var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)

})

উপরের সার্ভিসকে http://127.0.0.1:8081/2 ব্যবহার করে লোকাল মেশিনে কল দেয়াতে হয়।

{
"name":"suresh",
"password":"password2",
"profession":"librarian",
"id":2
}

ইউজার ডিলিট করার জন্যঃ এক্ষেত্রে যে এপিআই ব্যবহৃত হয় তা হল,

var express = require('express');
var app = express();
var fs = require("fs");

var id = 2;

app.get('/deleteUser', function (req, res) {

// First read existing users.
fs.readFile( __dirname + "/" + "users.json", 'utf8', function (err, data) {
data = JSON.parse( data );
delete data["user" + 2];

console.log( data );
res.end( JSON.stringify(data));
});
})

var server = app.listen(8081, function () {

var host = server.address().address
var port = server.address().port
console.log("Example app listening at http://%s:%s", host, port)

})

উপরের সার্ভিসকে http://127.0.0.1:8081/deleteUser ব্যবহার করে লোকাল মেশিনে কল দিলে যে ফলাফল আসবে,

{ user1:
{ name: 'mahesh',
password: 'password1',
profession: 'teacher',
id: 1 },
user3:
{ name: 'ramesh',
password: 'password3',
profession: 'clerk',
id: 3 }
}

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

অ্যাপ এমএল রেফারেন্স – এপিআই (AppML Reference – API)

Huge Sell on Popular Electronics

আদনান নাহিদ

 

অ্যাপ এমএল মেথড

 

মেথড বা পদ্ধতি বিবরণ
new AppML() একটি নতুন AppML অবজেক্ট বা বস্তু তৈরি করুন
appml ("name") নির্দিষ্ট নামের AppML অবজেক্ট বা বস্তু ফেরত দেয়
displayMessage(text) নির্দিষ্ট বার্তা প্রদর্শন করে
getData() অ্যাপ্লিকেশন থেকে তথ্য গ্রহণ করে
run() একটি অ্যাপ্লিকেশন অবজেক্ট বা বস্তু চালু করে
setError(no, description) একটি নির্দিষ্ট ত্রুটি এবং ত্রুটির বর্ণনা সেট করুন

 

AppML প্রোপার্টি

প্রোপার্টি বিবরণ
appName অ্যাপ্লিকেশন নাম (ধারক আইডি)
controller Aplication ধারক উপাদান
data অ্যাপ্লিকেশন ডাটা অবজেক্ট বা বস্তু
dataSource অ্যাপ্লিকেশন তথ্যের উৎস
displayType অ্যাপ্লিকেশন টাইপ ("ফর্ম" অথবা "তালিকা")
message আবেদন বার্তা
error অ্যাপ্লিকেশন অবজেক্ট বা বস্তুর ত্রুটি

 

ডেটা বস্তুর বৈশিষ্ট্যাবলী

প্রোপার্টি বিবরণ
data.model অ্যাপ্লিকেশন তথ্য মডেল
data.records অ্যাপ্লিকেশন রেকর্ড (তথ্য)

 

AppML ফরম মডেল বা পদ্ধতি

পদ্ধতি বিবরণ
newRecord() বর্তমান ফর্ম পুনরায় সেট করা
saveRecord() বর্তমান রেকর্ড সংরক্ষণ
deleteRecord() বর্তমান রেকর্ড মুছে ফেলা
closeForm() বর্তমান ফর্ম বন্ধ করা

 

AppML ফিল্টার প্রোপার্টি

পদ্ধতি বিবরণ
OrderBys ফিল্ডের নাম অনুসারে অ্যারে (Array) এর ক্রম
orderByDirections নির্দেশ অনুসারে অ্যারে (Array) এর ক্রম
queryFields ক্যোয়ারী ফিল্ডের নামের অ্যারে (Array)
queryValues ক্যোয়ারী মানের অ্যারে (Array)
queryTypes ক্যোয়ারী এর প্রকারের অ্যারে (Array)

 

অ্যাপ এম এল এপিআই (AppML API)

Huge Sell on Popular Electronics

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

 

অ্যাপ এম এল এপিআই অ্যাপ এম এল এর প্রক্রিয়া ও বৈশিষ্ট্য প্রকাশ করে থাকে।

 

প্রক্রিয়া ও বৈশিষ্ট্য দ্বারা কি কি সম্ভব?

প্রক্রিয়া ও বৈশিষ্ট্যের মাধ্যমে-

  • অ্যাপ এম এল এপ্লিকেশন তৈরি করা সম্ভব,
  • এপ্লিকেশনকে ডাটা দ্বারা সমৃদ্ধ করা সম্ভব,
  • ওয়েবপেজে ব্যবহারের জন্য এপ্লিকেশন ডাটা সন্ধান করা সম্ভব

 

উদাহরণঃ

new AppML() দ্বারা নতুন অ্যাপ এম এল অবজেক্ট তৈরি করা সম্ভব,

dataSource অ্যাপ এম এল অবজেক্টের ডাটা সোর্স নির্ণয় করে,

data.records ডাটা রেকর্ড সংরক্ষণ করে।

 

রেকর্ড সংরক্ষণ করে এইচটিএমএল উপাদানে অবজেক্ট দেখা সম্ভব।

উদাহরণ


// Create an AppML object and fetch the data
 obj = new AppML();
 obj.dataSource = "http://www.w3schools.com/appml/customers.php";
 obj.getData();
 
 // Locate the data records
 myArr = obj.data.records;
 len = myArr.length;
 
 // Display the records
 for (i = 0; i < myArr.length; i++) {
     txt += myArr[i].CustomerName + "<br>";
 }
 document.getElementById("demo").innerHTML = txt;

 

 

ফলাফলঃ


 Alfreds Futterkiste
 Berglunds snabbköp
 Centro comercial Moctezuma
 Ernst Handel
 FISSA Fabrica Inter. Salchichas S.A.
 Galería del gastrónomo
 Island Trading
 Königlich Essen
 Laughing Bacchus Wine Cellars
 Magazzini Alimentari Riuniti
 North/South
 Paris spécialités
 Rattlesnake Canyon Grocery
 Simons bistro
 The Big Cheese
 Vaffeljernet
 Wolski Zajazd

 

 

অ্যাপ এম এল এর কিছু প্রক্রিয়া

 

প্রক্রিয়া বর্ণনা
new AppML() নতুন AppML অবজেক্ট তৈরি করে
run() একটি এপ্লিকেশন অবজেক্ট রান করায়
appml("name") appml অবজেক্টকে নির্ধারিত নামসহ পুনরাবৃত্ত করে
displayMessage(text) নির্ধারিত ম্যাসেজ প্রদর্শন করে
setError(no, description) ভুল এবং ভুলের বিবরণ প্রদর্শন করে

 

অ্যাপ এম এল এর কিছু বৈশিষ্ট্য

বৈশিষ্ট্য বর্ণনা
appName আইডিসহ এপ্লিকেশনের নাম
container এপ্লিকেশনের কন্টেইনার উপাদান
controller এপ্লিকেশনের কন্ট্রোলার
data এপ্লিকেশনের ডাটা অবজেক্ট
dataSource এপ্লিকেশনের ডাটা সোর্স
message এপ্লিকেশন ম্যাসেজ

 

ডাটা অবজেক্টের কিছু বৈশিষ্ট্য

 

বৈশিষ্ট্য বর্ণনা
data.model এপ্লিকেশনের ডাটা মডেল
data.records এপ্লিকেশনের ডাটা রেকর্ড