सामग्री पर जाएँ
← ब्लॉग पर वापस जाएँ

इस लेख का मॉड्यूल: Integration Flow Helper

SAP CPI में Externalize Parameters, स्टेप सेटिंग्स कॉपी करें और SAP Business Accelerator Hub से API इम्पोर्ट करें

एक कदम में निश्चित addresses को {{parameters}} में बदलें, किसी step की सेटिंग्स दूसरे iFlow में कॉपी करें, OData queries को टेम्पलेट के रूप में सहेजें, Hub से APIs इम्पोर्ट करें, sample पर XPath जाँचें और mapping expressions व्यवस्थित करें।

SAP Cloud Integration (SAP CPI) के किसी iFlow में सबसे धीमा काम अक्सर logic नहीं होता। धीमा काम है एक ही receiver address को तीन tenants में टाइप करना, दस Content Modifier rows को हाथ से एक iFlow से दूसरे में कॉपी करना, पिछले महीने लिखी OData query को फिर से बनाना, या सिर्फ़ किसी entity set के fields जानने के लिए API specification डाउनलोड करना।

Kitegra के Helper में अब इनमें से हर काम के लिए एक टूल है, SAP Integration Suite के डिज़ाइनर के ठीक बगल में: Externalize Parameters, OData क्वेरी टेम्पलेट के साथ स्टेप सेटिंग्स कॉपी और पेस्ट, SAP Business Accelerator Hub से इम्पोर्ट, आपके sample payload पर XPath जाँच, और Message Mapping expressions को व्यवस्थित करना। यह लेख बताता है कि हर टूल क्या करता है, वह आपके iFlow को कब बदलता है, और क्या जैसा है वैसा रखता है।

एक कदम में Externalize Parameters

अगर कोई address सीधे receiver channel में लिखा हो, तो हर बार iFlow के DEV से QA और फिर PROD में जाने पर iFlow को ही edit करना पड़ता है। SAP का समाधान externalized parameter है: field में {{Receiver_OData_Address}}, और उसका मान हर tenant में Configure से सेट होता है। Externalize Parameters यह टाइपिंग आपके लिए कर देता है।

कोई iFlow खोलें, SAP में Edit दबाएँ, और Kitegra मेनू में Externalize Parameters चुनें। पैनल उन निश्चित मानों की सूची दिखाता है जो आमतौर पर tenants के बीच अलग होते हैं:

  • पते: URLs, hosts, endpoints, paths, directories और WSDLs। ये आपके लिए पहले से चुने रहते हैं, सिवाय proxy addresses और ProcessDirect या JMS addresses के।
  • अन्य मान: queue और Data Store के नाम, OData paths और queries, timeouts, credential names और aliases, और ports।
  • Content Modifier और Write Variables की tables में constants।

हर मान को एक सुझाया गया नाम मिलता है, जैसे Receiver_OData_Address, जो participant और field से बनता है, और जिसे आप बदल सकते हैं। जो मान पहले से {{…}} या ${…} हैं, वे वैसे ही दिखाए जाते हैं। Externalize पर क्लिक करें, और चुने गए fields खुले iFlow में parameters बन जाते हैं। जब तक आप SAP में iFlow सेव नहीं करते, कुछ भी सेव नहीं होता।

चलाने के बाद, पूर्ववत करें पिछले मान वापस ले आता है, और मौजूदा मान कॉपी करें हर parameter को उस मान के साथ कॉपी करता है जिसकी जगह उसने ली: deploy के बाद SAP Configure में हर मान माँगता है, और आप उन्हें वहाँ paste कर देते हैं। हर iFlow के आख़िरी दस runs Undo के लिए रखे जाते हैं। जब किसी receiver का address iFlow में लिखा हो, तो iFlow Inspector की डिज़ाइन जाँचें इसी टूल की ओर इशारा करती हैं।

किसी स्टेप की सेटिंग्स दूसरे स्टेप या iFlow में कॉपी करें

Kitegra मेनू में स्टेप सेटिंग्स कॉपी और पेस्ट चुनें, diagram पर कोई step चुनें (या पैनल में चुनें), और सेटिंग्स कॉपी करें पर क्लिक करें। कॉपी में step के headers, exchange properties और adapter fields होते हैं। पैनल इस ब्राउज़र में हर tenant और iFlow के लिए आपकी आख़िरी दस कॉपियाँ रखता है, सबसे नई सबसे ऊपर।

Paste करने के लिए SAP में Edit दबाएँ, लक्ष्य step चुनें और इसमें पेस्ट करें पर क्लिक करें। लिखने से पहले पैनल उन fields की सूची दिखाता है जो बदलेंगे। हर table के लिए आप रखें, पंक्तियाँ जोड़ें (सिर्फ़ वे कॉपी की गई rows जोड़ता है जो मौजूद नहीं हैं) या पंक्तियाँ बदलें चुनते हैं। कॉपी सिर्फ़ उसी प्रकार के step में जाती है, और वह दूसरे iFlow में भी जा सकती है, सिवाय EDMX path और script fields के, जो उस iFlow की फ़ाइलों के नाम बताते हैं जिससे वे आए हैं। Undo आख़िरी paste से हुए बदलाव वापस कर देता है।

OData क्वेरी टेम्पलेट

यही पैनल OData क्वेरी टेम्पलेट भी रखता है। कोई OData receiver channel चुनें जिसकी query आप बना चुके हैं, क्वेरी को टेम्पलेट के रूप में सहेजें पर क्लिक करें और उसे एक नाम दें। टेम्पलेट operation, resource path और query options जैसे $select, $filter और $expand रखता है। बाद में, edit mode में, कोई दूसरा OData receiver चुनें और लागू करें पर क्लिक करें। किसी मौजूदा नाम से सेव करने पर वह टेम्पलेट बदल जाता है। options के बारे में जानने के लिए OData receiver के query options देखें।

कॉपियाँ और टेम्पलेट इस ब्राउज़र के extension storage में रहते हैं। वे आपके Kitegra खाते के साथ sync नहीं होते और कभी कहीं नहीं भेजे जाते।

SAP Business Accelerator Hub से API इम्पोर्ट करें

Helper किसी EDMX से OData entity sets और fields, और किसी OpenAPI फ़ाइल से HTTP paths सुझाता है। Hub इम्पोर्ट के साथ अब आपको वह फ़ाइल पहले डाउनलोड करने की ज़रूरत नहीं। एक्सटेंशन के popup में किसी iFlow का पेज उसके Sample payload और API specification के साथ खोलें, और SAP Business Accelerator Hub से इम्पोर्ट करें ढूँढें।

  1. पहली बार एक्सेस की अनुमति दें पर क्लिक करें: ब्राउज़र एक बार api.sap.com की एक्सेस माँगता है। जब तक आप सहमति नहीं देते, Kitegra के पास यह एक्सेस नहीं होती।
  2. कोई API खोजें, जैसे API_PRODUCT_SRV। खोजने के लिए साइन इन की ज़रूरत नहीं।
  3. इम्पोर्ट पर क्लिक करें। specification डाउनलोड करने के लिए इस ब्राउज़र में api.sap.com पर साइन इन होना ज़रूरी है; अगर आप साइन इन नहीं हैं, तो पैनल यह बताता है और Hub खोल देता है।

इसके बाद OData API के entity sets और fields उस iFlow के उन OData receivers में सुझाए जाते हैं जिनका अपना कोई EDMX नहीं है। REST API के paths HTTP fields में सुझाए जाते हैं, बिल्कुल वैसे जैसे आपने फ़ाइल लोड की हो, जिसका वर्णन OpenAPI और Postman वाले लेख में है। specification हर iFlow के लिए, सिर्फ़ इसी ब्राउज़र में, 8 MB तक रखी जाती है, और हटाएँ उसे मिटा देता है।

आपके sample payload पर जाँचा गया XPath

iFlow के लिए sample payload सेव हो, तो Helper पहले से ही उससे XPath paths सुझाता है। अब वह आपके टाइप किए XPath की जाँच भी करता है। जब sample का कोई node मेल नहीं खाता, तो field के नीचे चेतावनी आती है: "sample payload का कोई node इस XPath से मेल नहीं खाता।" जब मेल खाता है, तो एक info line मिला हुआ मान दिखाती है।

यह जाँच Content Modifier के headers और properties और Write Variables की XPath rows, XML Router की conditions और XPath splitters पर होती है। यह सिर्फ़ वहीं चलती है जहाँ सेव किया गया sample सच में उस step तक पहुँचता है: ऐसा XML sample जिसके पहले सिर्फ़ body को बनाए रखने वाले steps हों, या एक JSON to XML Converter के बाद JSON sample। Local Integration Processes, Exception Subprocesses में और ${…} या {{…}} से बने XPaths पर यह चुप रहती है, इसलिए चेतावनी का मतलब असली बेमेल है।

Message Mapping expression को व्यवस्थित करें

दर्जन भर functions वाला Message Mapping expression जल्दी ही एक-दूसरे को काटती लाइनों की गुत्थी बन जाता है। Expression canvas पर अब SAP के अपने बटनों के बगल में एक व्यवस्थित करें बटन है। यह nodes को source fields से target तक क्रम में लगाता है। Edit mode में Save लेआउट को बनाए रखता है और उसके बगल का undo बटन उसे पहले जैसा कर देता है; view mode में यह सिर्फ़ पढ़ने में मदद करता है, और SAP के expression को फिर से बनाने पर लेआउट चला जाता है। SAP में कुछ भी सेव या भेजा नहीं जाता। iFlow diagram का भी अपना Arrange बटन है, edit mode में, Undo के साथ।

आपके iFlow में क्या बदलता है

Externalize Parameters, paste और टेम्पलेट लागू करना डिज़ाइनर में खुले iFlow में लिखते हैं, सिर्फ़ edit mode में, और डिज़ाइनर iFlow को बदला हुआ दिखाता है। ये कभी सेव या deploy नहीं करते: सेव आप SAP में करते हैं, या बदलाव छोड़ने के लिए Discard करते हैं। इनमें से हर टूल को options पेज पर, "टूल" के अंदर, अलग से बंद किया जा सकता है; वह तुरंत डिज़ाइनर से हट जाता है। Externalize, स्टेप कॉपी और पेस्ट और Hub इम्पोर्ट paid प्लान का हिस्सा हैं, Free पर कुछ उपयोगों के साथ; XPath जाँच और Arrange मुफ़्त हैं। Kitegra के लॉन्च के दौरान, साइन इन किए हर व्यक्ति के लिए हर टूल खुला है। प्लान की तुलना करें।

अपने अगले iFlow में आज़माएँ

पढ़ें कि Kitegra, SAP Integration Suite के डिज़ाइनर के आसपास क्या-क्या जोड़ता है, या Deploy दबाने के बाद यह क्या करता है।

अक्सर पूछे जाने वाले प्रश्न

SAP CPI में receiver address को externalize कैसे करूँ?

SAP में Edit दबाएँ, Kitegra मेनू में Externalize Parameters खोलें, address को चुना हुआ रहने दें, उसका नाम जाँचें और Externalize पर क्लिक करें। iFlow सेव करें, फिर Configure में हर tenant का मान सेट करें; मौजूदा मान कॉपी करें आपको paste करने के लिए पुराने मान देता है।

क्या मैं Content Modifier rows को दूसरे iFlow में कॉपी कर सकता हूँ?

हाँ। step की सेटिंग्स कॉपी करें, दूसरा iFlow edit mode में खोलें, कोई Content Modifier चुनें और paste करें। सिर्फ़ गायब rows जोड़ने के लिए पंक्तियाँ जोड़ें चुनें, या पंक्तियाँ बदलें।

क्या Hub इम्पोर्ट के लिए api.sap.com खाते की ज़रूरत है?

खोज बिना खाते के काम करती है। specification डाउनलोड करने के लिए उसी ब्राउज़र में api.sap.com पर आपका साइन इन होना ज़रूरी है।

क्या मेरी स्टेप कॉपियाँ और टेम्पलेट sync होते हैं?

नहीं। वे इस ब्राउज़र के extension storage में रहते हैं और कभी कहीं नहीं भेजे जाते।

क्या इनमें से कोई टूल मेरा iFlow सेव या deploy करता है?

नहीं। ये टूल edit mode में खुले iFlow में लिखते हैं; उसे सेव आप SAP में करते हैं, या बदलाव छोड़ देते हैं।

डिज़ाइनर छोड़े बिना iFlows पर काम करें

Kitegra को Chrome या Microsoft Edge में जोड़ें। मुफ़्त में शुरू करें, किसी खाते की ज़रूरत नहीं।