2015-06-28 5 views
7

मेरे पास जैस्पर रिपोर्ट सर्वर (www.example.com पर स्थापित) और एक अलग जावा/जेएसपी एप्लिकेशन (www.example.net पर स्थापित) है, और मैं रिपोर्ट बनाने के लिए विभिन्न विकल्पों का पीछा कर रहा हूं।जैस्पर और एक अलग अनुप्रयोग के बीच संचार

विकल्प 1 (वर्तमान कार्यशील समाधान)

मेरे वर्तमान कार्यशील समाधान है कि जावा/JSP आवेदन में उपयोगकर्ता के लॉग, और एक रिपोर्ट का चयन करता है। आवेदन रिपोर्ट है, जो यह fileNameXML के रूप में बचत होती है की एक एक्सएमएल प्रतिनिधित्व बनाता है और फिर यह तो जैस्पर को भेज देता है जैसे कि निम्न कोड का उपयोग कर सर्वर रिपोर्ट:

 <IFRAME height="600" width="1000" src="https://www.example.com/jasperserver/flow.html? 
    _flowId=viewReportFlow&standAlone=true&_flowId=viewReportFlow& 
    ParentFolderUri=%2Freports& 
    reportUnit=%2Freports%2FExample_Report_2&j_username=user& 
    j_password=password& 
net.sf.jasperreports.xml.source=https://www.example.net/<%=fileNameXML%>">        
    </IFRAME> 

(ध्यान दें कि भले ही मैं एक उपयोगकर्ता नाम गुजरती हैं और URL में पासवर्ड, सुरक्षा के साथ समझौता नहीं है, क्योंकि filenameXML मैं कनेक्ट जैस्पर www.example.net पर SQL सर्वर डेटाबेस के लिए सीधे सर्वर रिपोर्ट, और उत्पादन String fileName = UUID.randomUUID().toString() + fileExt;)

का उपयोग कर विकल्प 2

बनाई गई है उस तरह से रिपोर्ट करता है। इस दृष्टिकोण का नुकसान यह है कि (ए) मुझे जैस्पर रिपोर्ट्स (बी) में सभी उपयोगकर्ताओं को स्थापित करने की आवश्यकता होगी, मुझे सुरक्षा-जागरूक तरीके से पैरामीटर पारित करने की आवश्यकता होगी ताकि प्रत्येक उपयोगकर्ता केवल अपने डेटा तक पहुंच सके (सी) मैं केवल

मेरे आदर्श समाधान

हालांकि मैं वास्तव में जैस्पर के माध्यम से अपने आवेदन की गणना उपयोग करने में सक्षम होना चाहते हैं अपने आवेदन की गणना करने के लिए डेटाबेस के लिए उपयोग किया है, और नहीं, और बाईपास लॉगिंग मेरे आवेदन में

इसका एक फायदा यह है कि मेरे आवेदन में अभी तक उचित मोबाइल पहुंच नहीं है, और उपयोगकर्ता जैस्पर मोबाइल एप्लिकेशन ऐप डाउनलोड कर सकते हैं और वहां से रिपोर्ट तक पहुंच सकते हैं।

यह निम्नलिखित शामिल होगा: जैस्पर में

  1. उपयोगकर्ता लॉग
  2. उपयोगकर्ता का चयन करता है रिपोर्ट
  3. जैस्पर कुछ पैरामीटरों वाले अपने आवेदन कॉल
  4. आवेदन xml फ़ाइल
  5. आवेदन एक रिटर्न बनाता है इस फ़ाइल से लिंक
  6. जैस्पर रिपोर्ट
  7. दिखाता है

इसे प्राप्त करने का सबसे अच्छा तरीका क्या है?

उत्तर

0

मुझे लगता है कि यह करने के लिए सबसे अच्छा तरीका है करने के लिए:।

  • कि सुलभ कभी भी है और में लॉग इन करने की आवश्यकता नहीं है जो आपके ऐप्लिकेशन में URL बनाएँ आप स्प्रिंग या किसी अन्य ढांचे उपयोग कर रहे हैं, बताते हुए यह अच्छा होगा क्योंकि मैं आपको यह दिखा सकता हूं कि यह कैसे करें।

इस बिल्ली को त्वचा के कई तरीके हैं। मुझे बताएं कि आप किस तकनीक का उपयोग कर रहे हैं और शायद हम वहां से शुरू कर सकते हैं। हमने अभी आवश्यक आवश्यकता को लागू किया है।

धन्यवाद।

+0

मैंने नीचे मतदान किया है क्योंकि यह उत्तर बहुत अस्पष्ट है – gordon613

+0

आप अपना लॉगिन/सत्र ट्रैकिंग कैसे प्रबंधित कर रहे हैं? फिर, अवधारणा, क्योंकि यह एक अवधारणा है, अस्पष्ट है। और आप समस्या के लिए एक दृष्टिकोण पूछ रहे हैं जो मैं यह समझने की कोशिश कर रहा हूं कि यह आपके लिए काम करता है या नहीं। यदि मैं वसंत का उपयोग करके इसे लागू करना चाहता था। मेरे पास एक इंटरसेप्टर होगा जो मेरे ऐप में आने वाले यूआरएल अनुरोधों की जांच करता है। यदि मैंने एक विशिष्ट यूआरएल मारा है, तो कहें, 'myApp/getCalculations', मैं लॉगिन/सत्र जांच कार्यक्षमता को बाईपास कर दूंगा और अनुरोधकर्ता को सभी आवश्यक जानकारी प्रदान कर सकता हूं, शायद एक धारावाहिक वस्तु, स्ट्रिंग, जेसन, आदि के माध्यम से (जो भी अनुरोधकर्ता समझता है)। चीयर्स! – Miki

+0

उत्तर देने के लिए धन्यवाद। आइए हम कहें कि मैं एक यूआरएल बनाता हूं जो गणना करता है (और आपके द्वारा सुझाए गए लॉगिन को बाईपास करता है), आप कैसे सुझाव देंगे कि जैस्पर इस यूआरएल के साथ संवाद करता है। विशेष रूप से यह इसे कैसे कॉल करेगा, और यह XML डेटा कैसे प्राप्त करेगा जो यह यूआरएल उत्पन्न करेगा? – gordon613

संबंधित मुद्दे