SAP CPI پے لوڈ ٹولز: براؤزر میں موازنہ، تبدیلی اور ٹیسٹ ڈیٹا کی تیاری
دو payloads کا موازنہ کریں، SAP کے converter قواعد کے ساتھ XML، JSON، YAML اور CSV تبدیل کریں، faults والے ٹیسٹ payloads بنائیں، اور Groovy snippets داخل کریں، iFlow ڈیزائنر کے ساتھ offline۔
SAP Cloud Integration (SAP CPI) کے کسی iFlow پر آدھا کام payload کے گرد ہوتا ہے: دو messages جو ایک جیسے ہونے چاہئیں مگر نہیں ہیں، ایک JSON body جسے receiver، XML میں چاہتا ہے، error handling کے لیے ٹیسٹ messages کا ایک سیٹ، اور Groovy کی وہ لائن جو آپ ہر ہفتے لکھتے ہیں اور کبھی یاد نہیں رہتی۔ یہ کام عموماً کسی text editor، کسی online converter اور آپ کے اپنے script پر جا کر ختم ہوتے ہیں۔
Kitegra کا Toolbox انہیں براؤزر میں، iFlow ڈیزائنر کے ساتھ لے آتا ہے: پے لوڈ موازنہ، فارمیٹ کنورٹر، ٹیسٹ پے لوڈ جنریٹر، چیٹ شیٹ کے ساتھ Groovy snippets، اور HTTP Runner۔ HTTP Runner سے بھیجی گئی requests کے سوا یہ سب offline کام کرتے ہیں۔ آپ جو paste کرتے ہیں وہ صفحے میں ہی رہتا ہے، نہ کبھی محفوظ ہوتا ہے نہ کہیں بھیجا جاتا ہے۔
Toolbox کہاں ملے گا
ایکسٹینشن کا popup کھولیں اور "ٹولز" چنیں۔ Toolbox کی فہرست ہر ٹول کو اس کے اپنے tab میں کھولتی ہے: پے لوڈ موازنہ، فارمیٹ کنورٹر، ٹیسٹ پے لوڈ جنریٹر، اسنیپٹس اور چیٹ شیٹ، HTTP Runner اور iFlow Docs۔ کسی iFlow پر، ڈایاگرام toolbar میں Kitegra باکس کا مینو اسنیپٹس اور نوٹس کو بھی صفحے پر panels کی صورت میں کھولتا ہے۔
ہر control کے ساتھ ایک چھوٹا (i) ہوتا ہے جو بتاتا ہے کہ وہ کیا کرتا ہے۔ Toolbox آپ کے پلان میں کوئی iFlow نہیں گنتا۔
پے لوڈ موازنہ
دو payloads paste کریں، انہیں فائلوں سے load کریں یا صفحے پر drop کریں، اور فرق لائن بہ لائن نشان زد ہو جاتے ہیں۔ "پچھلا" اور "اگلا" ایک فرق سے دوسرے پر لے جاتے ہیں، اور ساتھ بتاتے ہیں کہ کل کتنے فرق ہیں۔
- خالی جگہ نظرانداز کریں: جو لائنیں صرف spaces، tabs یا indentation میں مختلف ہوں، برابر گنی جاتی ہیں۔
- XML معمول پر لائیں: attributes کو ترتیب دیتا ہے، namespace prefixes کو نظرانداز کرتا ہے اور دونوں طرف indent کرتا ہے، تاکہ صرف اصل تبدیلیاں باقی رہیں۔
- JSON معمول پر لائیں: keys کو ترتیب دیتا ہے اور indent کرتا ہے۔
- صرف فرق: ایک جیسی لائنیں چھپا دیتا ہے، اور ان کی جگہ چھپی ہوئی لائنوں کی تعداد دکھاتا ہے۔
- A اور B کی جگہ بدلیں: جو added دکھ رہا تھا وہ removed دکھتا ہے۔
جو payload درست ساخت والا XML یا valid JSON نہ ہو، اس کا بھی موازنہ ہوتا ہے، text کے طور پر۔ Message Monitor میں trace کیے گئے کسی step کے payload viewer میں اگلے اسٹیپ سے موازنہ کریں موجود ہے، جو اس step سے پہلے اور بعد کی body کے ساتھ یہ صفحہ کھولتا ہے۔ دیکھیں کسی message کو step بہ step trace کرنا۔
فارمیٹ کنورٹر
XML، JSON، YAML، CSV یا کوئی بھی text paste کریں، یا فائل load کریں۔ فارمیٹ content سے پہچانا جاتا ہے، اور صرف وہی conversions پیش کی جاتی ہیں جو اس پر لاگو ہوں:
- XML سے JSON اور JSON سے XML، SAP کے اپنے converters کے قواعد کے مطابق:
@namemembers، attributes ہیں،$کسی element کا text ہے، اور array اپنے element کو دہراتا ہے۔ options وہی ہیں جو آپ iFlow میں set کرتے ہیں: Add XML Root Element، Suppress JSON Root Element اور وہ elements جو ہمیشہ arrays کے طور پر لکھے جاتے ہیں۔ - CSV سے JSON یا XML اور واپس، خود پہچانے گئے یا آپ کے چنے ہوئے separator، header row اور row element کے نام کے ساتھ۔
- YAML سے JSON اور JSON سے YAML۔
- XML سے اخذ کیا گیا XSD، اور XSD سے نمونہ XML۔
- XML اور JSON کے لیے pretty print اور minify۔
- Base64 اور URL کا encode اور decode؛ XML، JSON اور Groovy strings کا escape اور unescape۔
ان پٹ کے طور پر استعمال کریں نتیجے کو واپس input box میں ڈال دیتا ہے، تاکہ آپ اسے دوبارہ convert کر سکیں۔ "تبدیل کریں" کے ساتھ تین اور tabs ہیں:
- تصدیق کریں چیک کرتا ہے کہ input درست ساخت کا ہے، اور ہر مسئلہ اس کی لائن اور کالم کے ساتھ دکھاتا ہے۔ اسے XSD دیں تو XML کے elements، ان کی ترتیب اور تعداد، attributes اور simple types بھی چیک ہوتے ہیں۔ یہ ہلکی جانچ ہے: namespaces، imports، includes، substitution groups اور keys چیک نہیں ہوتے۔
- تلاش کریں اور بدلیں، JavaScript regular expressions اور ان کے groups کے ساتھ۔
- بیچ کئی فائلوں کو ایک ہی طرح convert کرتا ہے اور نتائج ایک ZIP میں download کرتا ہے۔ جو فائل fail ہو وہ چھوڑ دی جاتی ہے اور فہرست میں دکھائی جاتی ہے۔
ٹیسٹ پے لوڈ جنریٹر
Error handling کسی iFlow کا سب سے کم ٹیسٹ ہونے والا حصہ ہے، کیونکہ خراب messages کسی کے پاس نہیں ہوتے۔ جنریٹر انہیں ایک اصل نمونے سے بناتا ہے۔
- ایک اصل message paste یا upload کریں: XML، JSON، یا header row والا CSV۔
- fields کی table دیکھیں۔ ہر field کی قسم اس کی value سے اندازہ کی جاتی ہے: text، integer، decimal، boolean، تاریخ، تاریخ اور وقت، ای میل، currency، ملک، UUID یا null۔
- ہر field کے لیے ایک قاعدہ چنیں: نمونے کی value "برقرار رکھیں"، "اسی قسم کا رینڈم"، "ترتیب"، یا values کی "فہرست سے منتخب کریں"۔
- طے کریں کہ کتنے payloads بنانے ہیں (1000 تک) اور ان میں سے کتنے حصے میں fault ہو۔
- faults کی اقسام چنیں اور "جنریٹ کریں" پر کلک کریں۔
faults وہی ہیں جنہیں receivers رد کرتے ہیں: لازمی field کا غائب ہونا، خالی field، غلط type، غلط تاریخ، ای میل، currency یا ملک، منفی مقدار، غلط namespace، خراب XML، JSON یا CSV، duplicate ID، اضافی field اور null value۔ ہر خراب payload میں ایک fault ہوتا ہے۔
ایک ہی نمونہ، قواعد اور seed ہمیشہ وہی payloads دیتے ہیں، اس لیے ٹیسٹ اسی data کے ساتھ دوبارہ چلایا جا سکتا ہے۔ ZIP ڈاؤن لوڈ کریں ہر payload کی ایک فائل دیتا ہے، ساتھ ایک manifest.json جو ہر فائل کا fault اور اس کا بدلا ہوا field بتاتی ہے۔ ایک فائل کے طور پر ڈاؤن لوڈ کریں JSON Lines لکھتا ہے، یا XML اور CSV جن کے درمیان ایک خالی لائن ہوتی ہے۔ Runner کے لیے ڈیٹا سیٹ کے طور پر محفوظ کریں یہ سیٹ HTTP Runner کو دے دیتا ہے، جو ہر payload آپ کے iFlow کو بھیج کر دکھا سکتا ہے کہ کون سے جواب توقع کے مطابق آئے۔
Groovy snippets اور چیٹ شیٹ
اسنیپٹس tab میں Cloud Integration scripts کے لیے Groovy کے 32 patterns ہیں۔ ہر ایک processData(Message message) کے اندر رکھنے کے لیے لکھا گیا ہے، اور class names پورے لکھے گئے ہیں تاکہ کسی import کی ضرورت نہ پڑے۔ ان میں شامل ہیں: body، headers اور exchange properties پڑھنا اور set کرنا، بڑی body کو stream کرنا، XmlSlurper، XmlParser اور MarkupBuilder، XXE سے محفوظ XML parsing، JsonSlurper اور JsonBuilder، monitoring میں قابلِ تلاش values، message log میں attachments، واضح error کے ساتھ fail کرنا، exception subprocess میں HTTP error، Secure Store credentials، اور Value Mapping اور Partner Directory lookups۔
انہیں نام یا tag سے تلاش کریں۔ اگر ڈیزائنر میں کوئی script، edit mode میں کھلا ہو تو داخل کریں snippet کو cursor پر لکھ دیتا ہے؛ ورنہ اسے copy کریں۔ اپنے شامل کریں آپ کے اپنے 20 تک snippets رکھتا ہے، جو سائن اِن ہونے پر آپ کے Kitegra اکاؤنٹ کے ساتھ sync ہوتے ہیں۔ ان میں passwords یا keys نہ رکھیں۔
چیٹ شیٹ tab میں وہ سب ہے جو آپ ہر ہفتے دیکھتے ہیں: Simple operators، مثالوں کے ساتھ Java date patterns، نمونہ XML پر چلنے والے XPath 1.0 functions، اور SAP اور Apache Camel کی documentation کے links۔ کسی بھی مثال پر کلک کر کے اسے copy کریں۔ خود expressions کی وضاحت SAP CPI میں Camel Simple expressions میں ہے۔
کسی iFlow میں پہلے سے موجود scripts کو سمجھنے کے لیے iFlow Docs میں "اسکرپٹس کی وضاحت" استعمال کریں۔ یہ ہر script کے لیے اس کا مقصد، وہ کیا پڑھتا ہے، کیا set یا تبدیل کرتا ہے، اس کی بنیادی logic، اس کے استعمال کردہ SAP APIs اور اس کے خطرات بتاتا ہے۔
HTTP Runner
HTTP Runner آپ کے iFlow کے HTTPS endpoints کو Process Integration Runtime کی service key سے OAuth کے ساتھ call کرتا ہے، requests کو collections میں رکھتا ہے، اور جوابات کو چیک کرتا ہے۔ "iFlow معلومات" میں ہر endpoint کو cURL کے طور پر copy کیا جا سکتا ہے یا Runner میں کھولا جا سکتا ہے۔ پوری تفصیل service key سے HTTPS iFlow ٹیسٹ کرنا میں ہے۔
یہ کیا رکھتا ہے، اور آپ کے پلان میں کیا شامل ہے
موازنہ، کنورٹر، جنریٹر اور چیٹ شیٹ صفحے میں چلتے ہیں اور کچھ نہیں رکھتے۔ آپ کے اپنے snippets، اور auth values یا خفیہ variables کے بغیر HTTP Runner کے collections، سائن اِن ہونے پر آپ کے Kitegra اکاؤنٹ کے ساتھ sync ہوتے ہیں۔
offline ٹولز ہر پلان میں ہیں۔ HTTP Runner کا استعمال Free اور Starter پر محدود ہے، اور Pro اور ٹیم پلانز پر مکمل۔ Kitegra کے لانچ کے دوران، سائن اِن کرنے والے ہر شخص کے لیے ہر ٹول کھلا ہے، Free پلان پر بھی۔ پلانز کا موازنہ کریں۔
اپنے اگلے iFlow میں آزمائیں
پڑھیں کہ Kitegra، SAP Integration Suite ڈیزائنر کے ارد گرد کیا اضافہ کرتا ہے، یا دیکھیں کہ Toolbox کیا کچھ کرتا ہے۔
اکثر پوچھے جانے والے سوالات
کیا میرے payloads کہیں بھیجے جاتے ہیں؟
نہیں۔ موازنہ، کنورٹر، جنریٹر اور چیٹ شیٹ براؤزر کے صفحے میں چلتے ہیں۔ جو آپ paste یا load کرتے ہیں وہ نہ محفوظ ہوتا ہے نہ بھیجا جاتا ہے۔
کیا کنورٹر وہی نتیجہ دیتا ہے جو SAP کے converters دیتے ہیں؟
یہ SAP کے JSON to XML اور XML to JSON converters کے وہی قواعد اور options اپناتا ہے: attributes، element text، arrays، شامل کیا گیا root element اور ہٹایا گیا JSON root۔ جب نتیجہ بالکل درست ہونا ضروری ہو تو iFlow چلائیں۔
کیا میں بنایا گیا ٹیسٹ سیٹ دہرا سکتا ہوں؟
جی ہاں۔ ایک ہی نمونہ، قواعد اور seed ہمیشہ وہی payloads دیتے ہیں۔ faults بدلنے سے values ویسی ہی رہتی ہیں۔
میں Groovy script میں snippet کیسے داخل کروں؟
ڈیزائنر میں script کو edit mode میں کھولیں، cursor وہاں رکھیں جہاں snippet جانا ہے، اور snippet پر "داخل کریں" پر کلک کریں۔ پھر iFlow خود محفوظ کریں۔
کیا Toolbox، iFlows گنتا ہے؟
نہیں۔ صرف Helper، Message Monitor، iFlow Inspector اور iFlow Docs، iFlows گنتے ہیں۔