এই নিবন্ধের মডিউল: iFlow Inspector
SAP CPI naming conventions: আপনার team প্রয়োগ করতে পারে এমন একটি rule pack
SAP CPI-এর steps, channels, properties ও ProcessDirect addresses-এর naming conventions, team-এর শেয়ার করা rule pack হিসেবে, এবং প্রতিটি iFlow কীভাবে এর সঙ্গে যাচাই করবেন।

বেশিরভাগ SAP Cloud Integration (SAP CPI) team-এর naming conventions থাকে। কম team-এরই এমন conventions থাকে যা প্রতিটি iFlow মেনে চলে, কারণ নিয়মগুলো থাকে কোনো wiki পেজে, আর transport-এর আগে কেউ Content Modifier-এর নাম যাচাই করে না।
এই নিবন্ধ steps, channels, properties ও addresses-এর জন্য একটি শুরুর convention প্রস্তাব করে, দেখায় কীভাবে সেটিকে এমন নিয়ম হিসেবে লিখবেন যা একটি টুল যাচাই করতে পারে, এবং একটি team কীভাবে সেটি শেয়ার ও প্রয়োগ করতে পারে।
SAP CPI-তে নাম কেন গুরুত্বপূর্ণ
কিছু ভাঙলে আপনি step-এর নামই দেখেন। Monitor ব্যর্থ step-কে নাম ধরে জানায়, "order ID সেট করা step" খুঁজলে সেটি তখনই পাওয়া যায় যখন নামেই তা বলা থাকে, আর একটি design ডকুমেন্ট বা hand-over পড়তে diagram-এর labels-এর মতোই লাগে। "Content Modifier 3" কিছুই বলে না; CM_SetOrderHeaders বলে এটি কী করে।
সামঞ্জস্যপূর্ণ নাম দুটি iFlow-কে তুলনীয়ও করে: convention জানা একজন reviewer team-এর যেকোনো iFlow এক নজরে পড়তে পারেন।
একটি শুরুর convention
Step-এর ধরনের জন্য একটি prefix, তারপর সেটি কী করে, PascalCase-এ: বেশিরভাগ team-এর জন্য এটুকুই যথেষ্ট। এটি সেই pack যা Kitegra-এর সঙ্গে আসে; এটি মানিয়ে নেওয়ার জন্য একটি শুরুর বিন্দু, SAP-এর কোনো standard নয়:
| Element | প্যাটার্ন | উদাহরণ |
|---|---|---|
| Content Modifier | CM_<Action> | CM_SetOrderHeaders |
| Groovy বা JavaScript script | GS_<Action> | GS_BuildPayload |
| Router | RT_<Decision> | RT_ByOrderType |
| Request Reply | RR_<System> | RR_S4HanaOData |
| Content Enricher | CE_<Lookup> | CE_CustomerMaster |
| Process Call | PC_<Process> | PC_CallValidateOrder |
| Local Integration Process | LIP_<Purpose> | LIP_ValidateOrder |
| Exception Subprocess | ESP_<Purpose> | ESP_LogAndAlert |
| Message Mapping | MM_<Source>_to_<Target> | MM_Order_to_SalesOrder |
| Sender ও Receiver | <PascalCase> | S4Hana, Salesforce |
| Exchange property | <camelCase> | orderId |
| ProcessDirect address | /<Path> | /orders/validate |
Convention-কে নিয়ম হিসেবে লিখুন
যে convention একটি টুল যাচাই করতে পারে, তা হলো নিয়মের একটি তালিকা, প্রতিটি ধরনের element-এর জন্য একটি। Literal text হুবহু মিলতে হবে; <Placeholder> যেকোনো text বোঝায়; <PascalCase>, <camelCase>, <UPPER>, <lower> ও <Number> সেই আকারের text বোঝায়। প্রতিটি ধরনের প্রথম নিয়মটি প্রযোজ্য হয়, আর প্রতিটি নিয়মের একটি গুরুত্ব থাকে: "ত্রুটি", "সতর্কতা" বা "তথ্য"।
Kitegra-এ নিয়মগুলো একটি JSON rule pack। একটি অংশ:
{
"rules": [
{
"id": "content-modifier",
"target": "content-modifier",
"pattern": "CM_<Action>",
"example": "CM_SetOrderHeaders",
"notes": "Content Modifier: CM_ and what it sets.",
"severity": "warning",
"enabled": true
},
{
"id": "mapping",
"target": "mapping",
"pattern": "MM_<Source>_to_<Target>",
"example": "MM_Order_to_SalesOrder",
"notes": "Message Mapping: source and target message.",
"severity": "info",
"enabled": true
},
{
"id": "property",
"target": "property",
"pattern": "<camelCase>",
"example": "orderId",
"notes": "Exchange property names in camelCase.",
"severity": "info",
"enabled": true
}
]
}Team হিসেবে এতে একমত হন
- এক্সটেনশনের options পেজ খুলে "নামকরণের নিয়ম" খুঁজুন। এটি default pack দিয়ে শুরু হয়।
- কোনো নিয়মের "প্যাটার্ন", "গুরুত্ব" বা "নোট" বদলান, "নিয়ম চালু" দিয়ে কোনোটি বন্ধ করুন, অথবা "নিয়ম যোগ করুন" বেছে নিয়ে ঠিক করুন সেটি "যা যাচাই করে"।
- "JSON এক্সপোর্ট" বেছে নিন এবং ফাইলটি সেখানে রাখুন যেখানে team তার standards রাখে, transport guidelines-এর পাশে।
- প্রত্যেক সহকর্মী সেই ফাইল দিয়ে "JSON ইমপোর্ট" বেছে নেন। Kitegra দিয়ে সাইন ইন থাকলে pack-টি তারপর প্রতিটি কম্পিউটারে তাঁদের সঙ্গে থাকে।
Sync একজন মানুষের pack তাঁর সব কম্পিউটারে একই রাখে; শেয়ার করা JSON ফাইলই পুরো team-কে একই নিয়মে রাখে।
একটি iFlow নিয়মের সঙ্গে যাচাই করুন
iFlow খুলুন, "Kitegra টুল" বোতামে ক্লিক করে "ইন্সপেক্টর" বেছে নিন (অথবা Alt+Shift+K চাপুন)। "নামকরণ" tab নিয়মের বাইরের প্রতিটি নাম দেখায়, আর বোতামে তাদের সংখ্যা থাকে: আসল নাম, কী "প্রত্যাশিত" ছিল, একটি "উদাহরণ" এবং, step-এর content অনুমতি দিলে, step-টি যা করে তা থেকে তৈরি একটি "প্রস্তাবিত" নাম। কোনো finding-এ ক্লিক করলে diagram-এ সেই step বেছে নেওয়া হয়।
Edit mode-এ "নাম বদলান" প্রস্তাবিত নামটি step-এর Name field-এ টাইপ করে দেয়। এটি কখনো সেভ করে না: panel বলে "নাম বদলানো হয়েছে। রাখতে iFlow সেভ করুন।", আর সিদ্ধান্ত আপনার।
একই findings iFlow report-এ design যাচাইয়ের পাশে দেখা যায়, যেমন iFlow review checklist দেখায়, আর ভালো নাম একটি তৈরি করা design ডকুমেন্ট পড়তে সহজ করে।
Kitegra কীভাবে সাহায্য করে
নামকরণ হলো Kitegra-এর iFlow Inspector-এর অংশ। যাচাইটি আপনার browser-এ iFlow-এর model পড়ে; সাইন ইন করলে আপনার rule pack আপনার Kitegra অ্যাকাউন্টের সঙ্গে sync হয়, আর iFlow-এর content কখনো পাঠানো হয় না।
Helper, Message Monitor, iFlow Inspector ও iFlow Docs প্রত্যেকে সেই iFlow-গুলো গণনা করে যেগুলোতে আপনি এগুলো ব্যবহার করেন: Kitegra অ্যাকাউন্ট ছাড়া প্রতি মডিউলে 5টি, Free প্ল্যানে 50, Starter-এ 100 এবং Pro-তে 300; Business-এ কোনো সীমা নেই। Toolbox ও workspace-এর বাড়তি সুবিধাগুলো ফ্রি। প্ল্যানগুলো তুলনা করুন।
আপনার পরবর্তী iFlow-এ চেষ্টা করুন
Kitegra, SAP Integration Suite ডিজাইনারের চারপাশে কী কী যোগ করে তা পড়ুন, অথবা Kitegra-এর অন্য Chrome এক্সটেনশনগুলোর পাশে এটি দেখুন।
সাধারণ জিজ্ঞাসা
SAP কি CPI-এর জন্য কোনো অফিসিয়াল naming convention দেয়?
SAP guidelines প্রকাশ করে, কিন্তু প্রতিটি team নিজের নিয়ম ঠিক করে। এই নিবন্ধের pack মানিয়ে নেওয়ার জন্য একটি শুরুর বিন্দু।
একটি step-এর নামে কী থাকা উচিত?
Step-এর ধরন এবং সেটি কী করে, যেমন order headers সেট করা একটি Content Modifier-এর জন্য CM_SetOrderHeaders।
আমি কীভাবে নামকরণের নিয়ম আমার team-এর সঙ্গে শেয়ার করব?
Options পেজ থেকে rule pack JSON হিসেবে export করুন, ফাইলটি team-এর standards-এর সঙ্গে রাখুন, এবং প্রত্যেক সহকর্মীকে সেটি import করতে দিন।
এক্সটেনশন কি নিজে থেকে steps-এর নাম বদলায়?
না। Edit mode-এ "নাম বদলান" প্রস্তাবিত নামটি step-এর Name field-এ টাইপ করে, আর iFlow আপনি নিজে সেভ করেন।
আমি কি কোনো নিয়মকে warning-এর বদলে error করতে পারি?
হ্যাঁ। প্রতিটি নিয়মের একটি গুরুত্ব থাকে: "ত্রুটি", "সতর্কতা" বা "তথ্য"।
Exchange property-এর নামও কি যাচাই করা হয়?
হ্যাঁ। Default pack exchange properties-এর জন্য camelCase আশা করে, আর আপনি সেই নিয়ম বদলাতে পারেন।