<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Design &amp; Architecture</title><link>https://www.dotnetzone.gr:443/cs/forums/16/ShowForum.aspx</link><description>Θέματα αρχιτεκτονικής και σχεδιασμού εφαρμογών (design patterns, object orientation, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22451.aspx</link><pubDate>Tue, 19 Dec 2006 00:10:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22451</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22451.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22451</wfw:commentRss><description>Πιθανώς να μπορούσες να το γυρίσεις απ'το web service σε base64, αλλά αυτό θα "φουσκώσει" αρκετά το μέγεθος ... με handler θα ήταν πολύ καλύτερα.</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22448.aspx</link><pubDate>Mon, 18 Dec 2006 23:55:12 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22448</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22448.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22448</wfw:commentRss><description>Αυτό τώρα είναι ένα θέμα και ήθελα να το αντιμετωπίσω λίγο αργότερο. Η αλήθεια είναι ότι το request για να λάβει ο client το αρχείο γίνεται με web service, οπότε δεν ξέρω αν μπορώ να δώσω το αρχείο έτσι. Διαφορετικά θα έπρεπε να φιάξω μια aspx που να το κάνει αυτό ή έναν httphandler.</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22445.aspx</link><pubDate>Mon, 18 Dec 2006 23:30:52 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22445</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22445.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22445</wfw:commentRss><description>Δημήτρη, χρειάζεσαι το παραγώμενο zip αρχείο στο server ? Αν όχι, αντί για FileStream στο ZipLib, δώστου κατευθείαν το Response.OutputStream έχοντας θέσει τους headers σε file-attached και το κατάλληλο content-type ... δε θα χτυπάς (μάλλον) ουτέ καν το δίσκο του server σου έτσι.</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22408.aspx</link><pubDate>Mon, 18 Dec 2006 06:51:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22408</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22408.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22408</wfw:commentRss><description>Λοιπόν. Έχουμε και λέμε. Θα δώσω δυο δυνατότητες εξαγωγής δεδομένων:&lt;br&gt;&lt;br&gt;&lt;b&gt;1) Εξαγωγή πολύ συγκεκριμένων δεδομένων σε xml&lt;/b&gt;. Ο χρήστης θα μπορεί απλά να δώσει ένα σετ κριτηρίων που θα προσδιορίζει τα δεδομένα που θα πάρει. Το xml θα είναι αυτό που δημιουργείται από την dataset.WriteXml, όταν οριστεί τύπος Nested για τα relation που περιέχει, έτσι ώστε τα related records ενός record να εμφανίζονται σαν nested nodes. Επειδή το σύστημα είναι client/server και επειδή το παραγώμενο xml μπορεί να είναι μεγάλο, βρήκα ένα τρόπο να κάνω WriteXml απευθείας σε αρχείο zip. Δεν είναι τίποτα φοβερό, αλλά είπα να το βγάλω στο blog μου. Αν θέλετε ρίξτε και κανένα σχόλιο να μου κάνετε σεφτέ!!! &lt;a href="http://www.papadi.gr/Default.aspx?tabid=284&amp;amp;BlogID=4"&gt;Write dataset contents to zip file&lt;/a&gt;.&lt;br&gt;&lt;br&gt;&lt;b&gt;2) &lt;/b&gt;Κατά τα άλλα θα ακολουθήσω αυτό που είπε και ο anjelinio, δηλαδή θα σηκώσω ένα &lt;b&gt;reporting services model σε ένα report server του SQL Server 2005&lt;/b&gt;. Βάση αυτού του μοντέλου θα μπορούν να γίνουν reports σχεδόν που οτιδήποτε υπάρχει στη βάση δεδομένων, χωρίς όμως ο χρήστης να εκτελεί απευθείας queries σε αυτή. Με μια μικρή μελέτη είδα ότι τα Reporting Services είναι ένα φανταστικό εργαλείο. Περισσότερο μου άρεσε ο Report Designer που γίνεται deploy με click once, καθώς και η δυνατότητα απευθείας προβολής ενός report από τον browser, το οποίο θα βολέψει περισσότερο executive χρήστες.&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22236.aspx</link><pubDate>Fri, 15 Dec 2006 02:37:28 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22236</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22236.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22236</wfw:commentRss><description>Κατατοπιστικότατος!</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22234.aspx</link><pubDate>Fri, 15 Dec 2006 02:22:08 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22234</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22234.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22234</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;papadi wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Θα σε βομβαρδίσω!!!&lt;br&gt;Τι εννοείς "έχουμε κάνει expose το μοντέλο της βάσης σε ...models;". Έχεις αντιγράψει την βάση σου σε άλλη βάση; Δεν είμαι πολύ εξοικοιωμένος με τα reporting services και φαίνεται ότι πρέπει να κάνω κάτι άμεσα. &lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Τα Reporting Services μπορούν να δουλέψουν ως εξής ... έχεις τη δυνατότητα να φτιάξεις ένα "μοντέλο" - κάτι σαν view που έχει πάρει speed-άκια είναι αυτό - και να το κάνεις deploy σε ένα web application που στήνουν τα reporting services. Μετά, με τον Report Builder, ένα click-once deployed application που μοιάζει λίγο με designer στην Access ή κάτι παρόμοιο, μπορούν οι users σου να κάνουν login remotely στα R.S. και να φτιάχουν reports πάνω σε αυτό το μοντέλο. Μπορούν μάλιστα να σώσουν αυτά τα reports στα reporting services και να μπορούν να τα δούν κι άλλοι χρήστες απο web interface.&lt;br&gt;&lt;br&gt;Είναι λίγο ιδιότροπο βέβαια το authentication / authorization πάνω στα R.S. αλλά σε ένα σχετικά απλό σενάριο του ποιός μπορεί να δεί ποια μοντέλα είναι σχετικά απλό. &lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;papadi wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;&lt;br&gt;Αν έχουν full access στη βάση τότε που μπαίνει το "framework" σου και τα xml config;&lt;br&gt;Όταν λες menus, authorization κλπ; Γράφουν κώδικα είναι είναι configurable;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;&lt;br&gt;Εκτός απο τα user reports, υπάρχει η δυνατότητα να γράψεις τα queries σου σε κάποια xml config files που έχουμε κάπου στον "πάτο" της όλης ιστορίας, τα οποία περιλαμβάνουν και κάποια άλλα metadata, όπως π.χ. ποιοί ρόλοι έχουν access σε αυτά. Έτσι, μπορούν οι "δημόσιοι" να προσθέτουν reports για όποια user groups θέλουν, και αυτά να εμφανίζονται @runtime στα αντίστοιχα μενού των χρηστών. Είναι απλώς ένας εναλλακτικός τρόπος να προσθέτεις reports στο σύστημα ... "απο κάτω". &lt;br&gt;&lt;br&gt;[ &lt;i&gt;Να πώ εδώ, οτι το datasource του κάθε report που δεν έχει φτιαχτεί απο κάποιον user, παίρνει data απο τα queries που περιέχονται σε αυτά τα config files. Αυτά που έχουν φτιαχτεί απο users, παίρνουν δεδομένα βάσει του μοντέλου το οποίο χρησιομοποίησαν για να φτιάξουν το report τους - επίσης να πώ οτι κι εγώ ίσως δεν καταλάβω τί εννοώ όταν ξαναδιαβάσω αυτή την πρόταση που μόλις έγραψα&lt;/i&gt; :D ]&lt;br&gt;&lt;br&gt;Τώρα φίλε Πάνο ... η χρήση reporting services δεν αποκλείει τη χρήση ενός Data Warehouse. Ένα ακόμη data source για τα reporting services είναι. Επειδή όμως ήσουν ένα χρόνο στην εταιρία ( &lt;i&gt;σε παλιά σου posts μάλιστα την κατονομάζεις σχεδόν .. περήφανα&lt;/i&gt; :P ) και ξέρεις πως είναι τα πράγματα, μπορείς να φανταστείς οτι απλώς δεν είχαμε το χρόνο να κάνουμε και μια τέτοια υλοποίηση. &lt;br&gt;&lt;br&gt;Παρόλα αυτά, και αν και δεν είμαι καθόλου data warehouse oriented προσωπικά, δε νομίζω οτι η κυρία Βασιλική της "&lt;i&gt;Συνεταιριστικής Τράπεζας Παραμεθωρίου&lt;/i&gt;" θα "την πάλευε" έχοντας ένα interface μπροστά της το οποίο δεν είναι όσο απλός είναι ο&amp;nbsp; Report Builder αυτή τη στιγμή :P Αυτό χρειάζοντας οι χρήστες μας, οι οποίοι δεν ξέρουν καν τι είναι ένας κύβος ... του Rubick, αυτό δώσαμε. Θέλω να πιστεύω - &lt;i&gt;και ήδη έχουμε κινηθεί προς αυτή την κατεύθυνση&lt;/i&gt; - οτι το μέλλον θα μας βρεί Data Warehouse enabled μέσα στο επόμενο 6-μηνο. &lt;br&gt;&lt;br&gt;Αυτά απο 'μένα ... επιστρέφω στις κωδικογραφίες μου τώρα. &lt;br&gt;&lt;br&gt;&lt;u&gt;&lt;b&gt;Disclaimer&lt;/b&gt;&lt;/u&gt;: Τα Ονόματα και ιδρύματα που αναφέρθησαν σε αυτό το post είναι σχεδόν fictional, και δεν υπήρχε καμμία πρόθεση να υποτιμήσω καμμία Συνεταιριστική Τράπεζα ή οποιαδήποτε συμπαθέστατη κυρία Βασιλική ( &lt;i&gt;μια απ'αυτές είναι και θεία μου στην τελική ...&lt;/i&gt; ) :D .. και φυσικά κανένα συνδαιτήμονα DotNetZoner.&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22230.aspx</link><pubDate>Fri, 15 Dec 2006 01:21:06 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22230</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22230.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22230</wfw:commentRss><description>Η απαίτηση στην περίπτωσή μου είναι γενική και έχει να κάνει με το να παρέχει το σύστημά μου στους ανθρώπους της υποστήριξης και τους administrators ή advanced users των πελατών να κάνουν διάφορα πράγματα. Όχι να κάνω εγώ κάτι συγκεκριμένο, π.χ. ένα συγκεκριμένο cube για κάποια χρήση. Το προϊόν, γιατί περί προϊόντος πρόκειται - όχι για κάποια custom λύση για κάποιο πελάτη, πρέπει να δίνει τη δυνατότητα σε κάποιον να τραβήξει δεδομένα. Αυτός ο κάποιος, είτε είναι προσωπικό υποστήριξης, είτε ο πελάτης, μπορεί να αποφασίσει να κάνει cubes, dw και ότι άλλο θέλει ή απλά να πάρει ένα .xls με μια λίστα.&lt;br /&gt;
&lt;br /&gt;
Οπότε αυτό που θέλω είναι έναν elegant τρόπο να κάνω expose τα δεδομένα μου, αντί να δώσω ως έχει την OLTP βάση και να πως σε οποιονδήποτε να κάνει ότι θέλει εκεί!</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22223.aspx</link><pubDate>Fri, 15 Dec 2006 00:06:00 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22223</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22223.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22223</wfw:commentRss><description>Θα επανέλθω το βραδάκι Δημήτρη ( και Πάνο ... ) γιατί αυτή τη στιγμή τρέχουμε και δε φτάνουμε ... :P</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22203.aspx</link><pubDate>Thu, 14 Dec 2006 20:02:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22203</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22203.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22203</wfw:commentRss><description>Αυτό που περιγράφει ο anjelinio θα μπορούσε να γίνει πολύ ευκολότερα χρησιμοποιώντας ένα Data Warehouse. Έτσι κι αλλιώς, για να δημιουργηθούν τα reports χρειάζεται να τρέξουν περίπλοκα scripts, τα οποία από τη μία διαβάζουν δεδομένα και τα συνδυάζουν, από την άλλη υπολογίζουν τιμές στα συνδυασμένα δεδομένα. Το πρώτο βήμα είναι ίδιο σχεδόν με το ETL βήμα ενός DW. Θα έλεγα μάλλον ότι είναι (πολύ) ευκολότερο με DW. Το δεύτερο βήμα είναι παιχνιδάκι έτσι και φτιάξεις ένα κύβο.&lt;br /&gt;
&lt;br /&gt;
Αυτό που έχω διαπιστώσει πάντως είναι ότι οι περισσότεροι προγραμματιστές και οι manager τους δεν χρησιμοποιούν DW γιατί άκουσαν ότι είναι δύσκολα, όχι γιατί είναι πράγματι δυσκολότερα από τις λύσεις με scripts. Αν ξέρεις τί θέλεις, και δεν ζητάς τη θεραπεία "δια πάσαν νόσον" κλπ., ένα dw για αυτό που περιγράφει ο anjelinio μπορεί να γίνει σε 2 εβδομάδες (διαπιστωμένο, όχι εκτίμηση). Τα αντίστοιχα scripts θα χρειαστούν τον ίδιο, αν όχι περισσότερο χρόνο. Η διαφορά είναι ότι το DW τροποποιείται πολύ ευκολότερα, η προσθήκη νέων υπολογισμών και κριτητρίων, π.χ. για κατανομή επιδοτήσεων, είναι πολύ ευκολότερη, ενώ η ταχύτητα πολύ μεγαλύτερη.&lt;br /&gt;
&lt;br /&gt;
Το πρόβλημα είναι ότι όταν προτείνεις σε κάποιον "να φτιάξουμε reporting database ή data warehouse" φοβάται ότι η περιπλοκότητα θα είναι πολύ μεγάλη, ότι το έργο θα πάρει πολύ χρόνο, κλπ, κλπ, κλπ. Το αποτέλεσμα είναι ότι καταλήγει το κάθε νέο report να είναι μία πολύ δύσκολη δουλειά, εκεί που μπορούσε να είναι πολύ εύκολη.</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22201.aspx</link><pubDate>Thu, 14 Dec 2006 19:41:34 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22201</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22201.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22201</wfw:commentRss><description>Θα σε βομβαρδίσω!!!&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/mistblue/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;anjelinio wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;Έχω 3 real life σενάρια να συνεισφέρω ... κανένα δεν είναι τόσο advanced όσο το data-marting, αλλά .. προσεγγίζει κάπως, τουλάχιστον το ένα.&lt;br&gt;Στο σύστημα που διαχειρίζεται τις υποβολές προτάσεων για το 3ο ΚΠΣ, υπάρχουν εγκατεστημένα σε ένα "τρίτο" μηχάνημα reporting services. Data source για αυτά είναι η βάση της κυρίως εφαρμογής, μέσω ενός hand crafted extention για τα Reporting Services του SQL 2005. Επειδή ο τελικός χρήστης είναι υπάλληλος σε μια τράπεζα, και είναι πιο εξοικειωμένος με το Excel απ'ότι με ... xml ... έχουμε κάνει expose το μοντέλο της βάσης σε .. models, τα οποία μπορούν να χρησιμοποιήσουν με τον Report builder των R.S. - ο Report Builder είναι click-once deployed, κι έτσι ο κάθε τραπεζικός μπορεί να φτιάξει ότι report θέλει, κι ότι τραβάει η ψυχούλα του πάνω στα δεδομένα που αφορούν την τράπεζά του.&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Αν μπορούσες να αναλύσεις λίγο παραπάνω σε αυτό το σημείο... &lt;br&gt;Τι εννοείς "έχουμε κάνει expose το μοντέλο της βάσης σε ...models;". Έχεις αντιγράψει την βάση σου σε άλλη βάση; Δεν είμαι πολύ εξοικοιωμένος με τα reporting services και φαίνεται ότι πρέπει να κάνω κάτι άμεσα. Αυτό με τον click-once deployed builder θα το δοκιμάσω. Άλλωστε και η δική μου εφαρμογή είναι click-once deployed και ταιριάζει! (έτσι όπως το έθεσα είναι σαν να έλεγα ότι το αυτοκίνητό μου ταιριάζει με τα παπούτσια!).&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/mistblue/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;anjelinio wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;&lt;br&gt;Στην ίδια εφαρμογή, ο κυρίως πελάτης - το κράτος ας πούμε - έχει κάποιους ανθρώπους οι οποίοι είναι πληροφορικάριοι. Για δικές τους ανάγκες, χρειάζεται να φτιάχνουν reports, αλλά έχοντας full access στη βάση. Για αυτούς, το μέρος όλου αυτού του "framework" το οποίο είναι κάτω απο όλα αυτά - xml config αρχεία τα οποία περιέχουν τα queries και κάποια άλλα attributes δουλεύει μια χαρά. Γράφουν την sql τους, τα menus, authorization πάνω σε ρόλους κτλ κτλ στο lowest level possible στα πλαίσια της εφαρμογής και είναι happy as they can be.&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Αν έχουν full access στη βάση τότε που μπαίνει το "framework" σου και τα xml config;&lt;br&gt;Όταν λες menus, authorization κλπ; Γράφουν κώδικα είναι είναι configurable;&lt;br&gt;&lt;br&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/mistblue/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;anjelinio wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;&lt;br&gt;.. αν όλα αυτά έχουν κάτι να συνεισφέρουν στο αρχικό ερώτημα .. :) .. ( &lt;i&gt;αν όχι .. sorry ρε παιδιά, τι να κάνεις ... 12 η ώρα το βράδυ ... απο πρώτη μέρα στη δουλειά μετά απο άδεια και τέτοια ... &lt;/i&gt;:P )&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Θα αστειέυσαι! Συνεισφέρουν και πολύ μάλιστα...&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22198.aspx</link><pubDate>Thu, 14 Dec 2006 18:50:26 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22198</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22198.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22198</wfw:commentRss><description>&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/mistblue/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;KelMan wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td valign="top" class="txt4"&gt;&lt;p&gt;Η ΒΙ λύση δεν προσφέρεται για "πάσα νόσο και πάσα μ*****". Πχ δεν προσφέρεται για να συσχετίσει κανείς τα data σου με data από άλλες πηγές καθώς είναι δύσκολο το merging των δεδομένων. Από την άλλη, και διαφορετική βάση να έχεις κάπως θα πρέπει να τα τραβήξεις για να τα δώσεις. Αν πρόκειται να κάνει αυτή&amp;nbsp;τη δουλειά ο χρήστης, θα πρέπει να του δώσεις κάτι σαν query wizard. Ίσως να χρειάζεται να ακολουθήσεις ένα κλιμακωτό approach: Δυνατότητα για "save as..." του "ό,τι βλέπει ο χρήστης στο Grid" για να πιάσεις τη μάζα των export αναγκών που έχουν συνήθως οι απλοί χρήστες. Σε δεύτερο επίπεδο έναν μηχανισμό σαν αυτόν που σου περιέγραψα με τα templates για να δίνεις εύκολα export σενάρια όταν στα ζητάνε. Αν φτιάξεις κι έναν designer γι αυτήν τη δουλειά, μπορείς να τον ενσωματώσεις για τους advanced χρήστες. Σε τρίτο επίπεδο ένα απλό BI tool ώστε να μπορείς να εξυπηρετήσεις ποικιλία από reports και τέλος αν σε ενδιαφέρει το scalability και το performance και για να μπορέσεις να εξυπηρετήσεις μεγάλο όγκο από data, περνάς σε&amp;nbsp;λύσεις τύπου Analysis Services. Βέβαια, αν βάλεις κάτω τον χρόνο υλοποίησης που απαιτεί κάθε ένα από τα παραπάνω σε σχέση με το κόστος, κλπ, κλπ ίσως δεις ότι μπορείς να φτάσεις μέχρι κάποιο σημείο και τα υπόλοιπα θα είναι&amp;nbsp;"nice-to-have"...&amp;nbsp;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;br&gt;Φαίνεται πως κάπως έτσι είναι. Θα κάνω ένα απλό export σε xml για τον χρήστη, όχι όμως από το grid. Είτε του αρέσει είτε όχι, εγώ xml θα βγάλω. Ούτε excel, ούτε text delimited.&lt;br&gt;Για τους λοιπούς ίσως κάνω ένα νέο μοντέλο της βάσης, λιγότερο κανονικοποιημένο, που να αντιγράφονται εκεί τα δεδομένα με DTS και να αφήνω τον κόσμο να παίζει εκεί όπως θέλει.... συνέχεια στα σχόλια του angelinio...&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22180.aspx</link><pubDate>Thu, 14 Dec 2006 07:53:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22180</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22180.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22180</wfw:commentRss><description>Έχω 3 real life σενάρια να συνεισφέρω ... κανένα δεν είναι τόσο advanced όσο το data-marting, αλλά .. προσεγγίζει κάπως, τουλάχιστον το ένα. &lt;br&gt;&lt;br&gt;Στο σύστημα που διαχειρίζεται τις υποβολές προτάσεων για το 3ο ΚΠΣ, υπάρχουν εγκατεστημένα σε ένα "τρίτο" μηχάνημα reporting services. Data source για αυτά είναι η βάση της κυρίως εφαρμογής, μέσω ενός hand crafted extention για τα Reporting Services του SQL 2005. Επειδή ο τελικός χρήστης είναι υπάλληλος σε μια τράπεζα, και είναι πιο εξοικειωμένος με το Excel απ'ότι με ... xml ... έχουμε κάνει expose το μοντέλο της βάσης σε .. models, τα οποία μπορούν να χρησιμοποιήσουν με τον Report builder των R.S. - ο Report Builder είναι click-once deployed, κι έτσι ο κάθε τραπεζικός μπορεί να φτιάξει ότι report θέλει, κι ότι τραβάει η ψυχούλα του πάνω στα δεδομένα που αφορούν την τράπεζά του.&lt;br&gt;&lt;br&gt;Πρέπει εδώ να πώ οτι η υλοποίηση αυτού του πράγματος είναι ... painful to say the least. Ακόμη περιμένουμε patches απο τη μαμά MS Αμερικής για κάποια issues όταν τρέχεις πίσω απο proxies .. αλλά αυτό είναι irrelevant. Δουλεύει.&lt;br&gt;&lt;br&gt;Στην ίδια εφαρμογή, ο κυρίως πελάτης - το κράτος ας πούμε - έχει κάποιους ανθρώπους οι οποίοι είναι πληροφορικάριοι. Για δικές τους ανάγκες, χρειάζεται να φτιάχνουν reports, αλλά έχοντας full access στη βάση. Για αυτούς, το μέρος όλου αυτού του "framework" το οποίο είναι κάτω απο όλα αυτά - xml config αρχεία τα οποία περιέχουν τα queries και κάποια άλλα attributes δουλεύει μια χαρά. Γράφουν την sql τους, τα menus, authorization πάνω σε ρόλους κτλ κτλ στο lowest level possible στα πλαίσια της εφαρμογής και είναι happy as they can be.&lt;br&gt;&lt;br&gt;Πέρα τώρα απο τα "βαριά" reports, κάθε process/workflow/πες-το-όπως-θες-ένας-wizard-είναι-με-30-steps χρειάζεται να μπορεί στο τέλος να εκτυπωθεί. Σε Word, σε PDF ... wherever. Πάνω λοιπόν απο το base framework υπάρχουν "filter chains" τα οποία:&lt;br&gt;&lt;br&gt;1. Διαβάζουν τα απαραίτητα δεδομένα απο τη βάση, as raw as they come&lt;br&gt;2. Κάνουν καποια transformations, calculations etc.&lt;br&gt;3. Εξάγουν το τελικό αποτέλεσμα σε κάποια "exportable/importable/printable" μορφή.&lt;br&gt;&lt;br&gt;Κι έτσι κάπως, έχεις xml exports, συμβατά με το ΟΠΣ ας πούμε ... &lt;br&gt;&lt;br&gt;Κι αυτό το "πακετάκι", μια χαρά έχει δουλέψει. Αν μάλιστα το υλοποιήσεις και σε ένα IHttpAsyncHandler είναι και αρκετά πολύ scalable. &lt;br&gt;&lt;br&gt;Όπως βλέπεις λοιπόν, με ένα layered approach, μπορείς να έχεις σχεδόν όποια λύση θέλεις, ανάλογα τις απαιτήσεις των πελατών σου. Αλλά όπως είπε κι ο Μάνος, πρέπει πρώτα να ξέρεις αυτές τις απαιτήσεις. Κι εμείς δεν ξεκινήσαμε έχοντας όλο αυτό το πράγμα στο μυαλό μας - απλώς είμασταν τυχεροί και είχαμε κρατήσει μια "αρχιτεκτονική" η οποία ήταν "ανοιχτή σε προτάσεις" :D ... αλλά σε κάθε βήμα, είχαμε πολύ συγκεκριμένους στόχους. &lt;br&gt;&lt;br&gt;.. αν όλα αυτά έχουν κάτι να συνεισφέρουν στο αρχικό ερώτημα .. :) .. ( &lt;i&gt;αν όχι .. sorry ρε παιδιά, τι να κάνεις ... 12 η ώρα το βράδυ ... απο πρώτη μέρα στη δουλειά μετά απο άδεια και τέτοια ... &lt;/i&gt;:P )&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22177.aspx</link><pubDate>Thu, 14 Dec 2006 07:46:30 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22177</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22177.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22177</wfw:commentRss><description>&lt;P&gt;Η ΒΙ λύση δεν προσφέρεται για "πάσα νόσο και πάσα μ*****". Πχ δεν προσφέρεται για να συσχετίσει κανείς τα data σου με data από άλλες πηγές καθώς είναι δύσκολο το merging των δεδομένων. Από την άλλη, και διαφορετική βάση να έχεις κάπως θα πρέπει να τα τραβήξεις για να τα δώσεις. Αν πρόκειται να κάνει αυτή&amp;nbsp;τη δουλειά ο χρήστης, θα πρέπει να του δώσεις κάτι σαν query wizard. Ίσως να χρειάζεται να ακολουθήσεις ένα κλιμακωτό approach: Δυνατότητα για "save as..." του "ό,τι βλέπει ο χρήστης στο Grid" για να πιάσεις τη μάζα των export αναγκών που έχουν συνήθως οι απλοί χρήστες. Σε δεύτερο επίπεδο έναν μηχανισμό σαν αυτόν που σου περιέγραψα με τα templates για να δίνεις εύκολα export σενάρια όταν στα ζητάνε. Αν φτιάξεις κι έναν designer γι αυτήν τη δουλειά, μπορείς να τον ενσωματώσεις για τους advanced χρήστες. Σε τρίτο επίπεδο ένα απλό BI tool ώστε να μπορείς να εξυπηρετήσεις ποικιλία από reports και τέλος αν σε ενδιαφέρει το scalability και το performance και για να μπορέσεις να εξυπηρετήσεις μεγάλο όγκο από data, περνάς σε&amp;nbsp;λύσεις τύπου Analysis Services. Βέβαια, αν βάλεις κάτω τον χρόνο υλοποίησης που απαιτεί κάθε ένα από τα παραπάνω σε σχέση με το κόστος, κλπ, κλπ ίσως δεις ότι μπορείς να φτάσεις μέχρι κάποιο σημείο και τα υπόλοιπα θα είναι&amp;nbsp;"nice-to-have"...&amp;nbsp;&lt;/P&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22170.aspx</link><pubDate>Thu, 14 Dec 2006 07:22:14 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22170</guid><dc:creator>Dimitris Papadimitriou</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22170.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22170</wfw:commentRss><description>Παρεξήγησης. Το "σοβαρό σύστημα" πήγαινε στο "αφήνω τους χρήστες να πάρουν ότι θέλουν από την OLTP βάση και δεν κάνω τίποτα.&lt;br&gt;
&lt;br&gt;
Οπότε, αν κατάλαβα καλά, μια πρόταση είναι να δημιουργήσω μια δεύτερη βάση και να περάσω τα δεδομένα μου εκεί και να αφήσω τον κόσμο να παίξει εκεί, αντί να του δώσω XML.&lt;br&gt;
&lt;br&gt;
Δεν προσδιόρισα τον σκοπό του export, γιατί δεν είναι ξεκάθαρος. Υπάρχουν άλλοι πελάτες που θέλουν να συσχετίσουν τα δεδομένα με άλλα άλλων πηγών και άλλοι που θέλουν να κάνουν reporting εργασίες. Γενικά θέλω να δώσω πρόσβαση στα δεδομένα της OLTP βάσης για θεραπεία "πάσας νόσου και πάσας μ....". Και επειδή δεν με ενθουσιάζει να μπαίνει χέρι στην βάση μου, θέλω να δώσω τα δεδομένα κάπου αλλού.&lt;br&gt;
&lt;br&gt;
Οικονομικό BI tool ε; π.χ.; για το Hyperion μιλάς;&lt;br&gt;</description></item><item><title>Απ: Export δεδομένων από ένα σύστημα</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/22163.aspx</link><pubDate>Thu, 14 Dec 2006 04:45:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:22163</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/22163.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=22163</wfw:commentRss><description>&lt;P&gt;Ναι, αυτό εννοούσα όταν έλεγα για technology-specific λύσεις. Σίγουρα είναι πολύ δύσκολο να δώσεις μια τέτοια λύση ως shrink wrapped application. &lt;/P&gt;
&lt;P&gt;Γενικά πάντως θα πρέπει πρώτα να προσδιορίσουμε το ζητούμενο στην διαδικασία του export. Θέλουμε data για χρήση από άλλα συστήματα; Θέλουμε data για τον χρήστη, να τα παίρνει στο Excel ή/και την Access; Θέλουμε data για Reporting; Θέλουμε κάτι που να γίνεται ad-hoc ή όχι; Ουσιαστικά αυτά σε οδηγούν στο τι θα κάνεις. Υπάρχει&amp;nbsp;αρκετός δρόμος από το grid control που έχει "save as..." button μέχρι την BI λύση.&lt;/P&gt;</description></item></channel></rss>