মূল কনটেন্টে যান
← ব্লগে ফিরে যান

এই নিবন্ধের মডিউল: iFlow Inspector

SAP CPI naming conventions: আপনার team প্রয়োগ করতে পারে এমন একটি rule pack

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

SAP CPI naming conventions: আপনার team প্রয়োগ করতে পারে এমন একটি rule pack

বেশিরভাগ 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 ModifierCM_<Action>CM_SetOrderHeaders
Groovy বা JavaScript scriptGS_<Action>GS_BuildPayload
RouterRT_<Decision>RT_ByOrderType
Request ReplyRR_<System>RR_S4HanaOData
Content EnricherCE_<Lookup>CE_CustomerMaster
Process CallPC_<Process>PC_CallValidateOrder
Local Integration ProcessLIP_<Purpose>LIP_ValidateOrder
Exception SubprocessESP_<Purpose>ESP_LogAndAlert
Message MappingMM_<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 হিসেবে এতে একমত হন

  1. এক্সটেনশনের options পেজ খুলে "নামকরণের নিয়ম" খুঁজুন। এটি default pack দিয়ে শুরু হয়।
  2. কোনো নিয়মের "প্যাটার্ন", "গুরুত্ব" বা "নোট" বদলান, "নিয়ম চালু" দিয়ে কোনোটি বন্ধ করুন, অথবা "নিয়ম যোগ করুন" বেছে নিয়ে ঠিক করুন সেটি "যা যাচাই করে"।
  3. "JSON এক্সপোর্ট" বেছে নিন এবং ফাইলটি সেখানে রাখুন যেখানে team তার standards রাখে, transport guidelines-এর পাশে।
  4. প্রত্যেক সহকর্মী সেই ফাইল দিয়ে "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 আশা করে, আর আপনি সেই নিয়ম বদলাতে পারেন।

ডিজাইনার না ছেড়েই iFlows-এ কাজ করুন

Kitegra Chrome বা Microsoft Edge-এ যোগ করুন। ফ্রিতে শুরু করুন, কোনো অ্যাকাউন্ট লাগবে না।