<?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>Απ: C# και εκτέλεση εφαρμογών σε Unix</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/37107.aspx</link><pubDate>Fri, 09 Nov 2007 02:48:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:37107</guid><dc:creator>Κώστας Μιχαλόπουλος</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/37107.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=37107</wfw:commentRss><description>Άν κατάλαβα καλά τι θέλεις να κάνεις, πιστεύω το να χρησιμοποιήσεις κάτι απλό όπως ένα CGI script που παίρνει τα δεδομένα μέσω POST request και στέλνει πίσω τα αποτελέσματα είναι αρκετά εύκολο.&lt;br&gt;&lt;br&gt;Εναλλακτικά αν δεν θέλεις να πέφτει η σύνδεση με κάθε request (ή δεν θέλεις να φτιάξεις CGI ή να τρέχεις web server), μπορείς και να χρησιμοποιήσεις κάτι ακόμα πιο απλό: έναν inetd server. Αυτό δουλεύει με τον εξής τρόπο: ορίζεις μια πόρτα στο inetd configuration και ένα πρόγραμμα. Όταν ανοίξει ένα connection σε αυτή την πόρτα, το inetd εκτελεί το πρόγραμμα. Όλα τα δεδομένα έρχονται απο το client στο server, τα στέλνει στο standard input (στο Unix μπορείς να χρησιμοποιήσεις την select() με το stdin αρχείο για να δεις αν υπάρχουν διαθέσιμα δεδομένα και την scanf ή την fread για να λάβεις τα δεδομένα). Ότι θέλεις να στείλεις, τα στέλνεις στο standard output (με την printf ή την fwrite στο stdout για παράδειγμα). Δεν χρειάζεται να μπλέκεσαι με sockets, κλπ ούτε να μπερδεύεσαι με θέματα πολλαπλών clients κλπ, αφού το inetd αναλαμβάνει το κομμάτι αυτό.&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: C# και εκτέλεση εφαρμογών σε Unix</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/30887.aspx</link><pubDate>Wed, 25 Apr 2007 05:43:09 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:30887</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/30887.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=30887</wfw:commentRss><description>&lt;P&gt;Το τί θα χρησιμοποιήσεις εξαρτάται κυρίως από το τί σε βολεύει να φτιάξεις στην πλευρά του Unix. Μπορείς βέβαια να φτιάξεις socket servers στο Unix, Web Services, ακόμα και να χρησιμοποιήσεις&amp;nbsp;Rexec ή&amp;nbsp;SSH. Εξαρτάται τί σου είναι ευκολότερο. &lt;/P&gt;
&lt;P&gt;Χρησιμοποιώντας sockets, πρέπει να κάνεις τα πάντα με το χέρι, να χειριστείς τις συνδέσεις, μηνύματα λάθους κλπ., ενώ μόνο οι δικές σου εφαρμογές θα μπορούν να επικοινωνήσουν με το Unix. Αν βέβαια δουλεύεις άνετα με scripts, Perl ή κάτι αντίστοιχο, και η δημιουργία των sockets δεν είναι πρόβλημα, ίσως να είναι καλή λύση.&lt;/P&gt;
&lt;P&gt;Web Services θα χρησιμοποιήσεις μόνο και μόνο για να μπορούν διάφοροι clients να επικοινωνήσουν με τα scripts. Τα web services καλύπτουν σε μεγάλο βαθμό και θέματα κλήσεων και&amp;nbsp;αναφοράς λαθών.&lt;/P&gt;
&lt;P&gt;Τέλος, μπορείς να χρησιμοποιήσεις RExec ή SSH, π.χ. με τα components της &lt;A href="http://www.nsoftware.com/ipworks/"&gt;nSoftware&lt;/A&gt;&amp;nbsp;ή της &lt;A href="http://www.dart.com"&gt;Dart&lt;/A&gt;, για να εκτελέσεις τα script. Υπάρχουν και open source εργαλεία για telnet και SSH. Δες το &lt;A href="http://csharp-source.net/open-source/network-clients"&gt;http://csharp-source.net/open-source/network-clients&lt;/A&gt;&amp;nbsp;για μία λίστα από open source projects.&lt;/P&gt;</description></item><item><title>Απ: C# και εκτέλεση εφαρμογών σε Unix</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/30884.aspx</link><pubDate>Wed, 25 Apr 2007 03:48:35 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:30884</guid><dc:creator>Pak</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/30884.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=30884</wfw:commentRss><description>Ναι.. Με Xml web services! Πιστευω θα είναι είναι το πιο σωστό...</description></item><item><title>C# και εκτέλεση εφαρμογών σε Unix</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/30881.aspx</link><pubDate>Wed, 25 Apr 2007 03:42:15 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:30881</guid><dc:creator>wizo</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/30881.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=16&amp;PostID=30881</wfw:commentRss><description>Καλησπέρα και καλώς σας βρήκα. Αυτή είναι η επίσημα πρώτη μου δημοσίευση και χρειάζομαι την άποψη σας σε κάτι.&lt;br&gt;Θέλω να αναπτύξω μία εφαρμογή (σε C#, αυτό είναι το μόνο σίγουρο) η οποία θα τρέχει -προφανώς- σε Windows αλλά θα συνδέεται σε ένα Solaris server.&lt;br&gt;Το επιθυμητό είναι να δίνεται η δυνατότητα στον χρήστη να εκτελεί εφαρμογές του Server η οποίες παράγουν κάποια αρχεία. Τα αρχεία αυτά θέλουμε να βλέπουμε στα Win.&lt;br&gt;Δλδ. έχουμε κάποια εκτελέσιμα προγράμματα (scripts κυρίως) σε Solaris τα οποία παράγουν αρχεία από μία βάση και η εφαρμογή μας θα πρέπει να εκτελεί αυτά, να περιμένει να παραχθούν τα αρχεία και έπειτα να τα προβάλει στην οθόνη του win user.&lt;br&gt;&lt;br&gt;Σαν πρώτη ιδέα έχω την δημιουργία του κλασικού client - server (socket) μοντέλου. Άνοιγμα socket,bind και γράψιμο σε αυτό τα παραχθέντα αρχεία. &lt;br&gt;C# δλδ στα Win (client) και C++ στο Solaris (Server).&lt;br&gt;Επειδή όμως το όλο consept περιστρέφετε γύρω από αρχεία και θα ήθελα το σύστημα να είναι όσο δυνατό ποιό ευέλικτο η ερώτηση μου είναι η εξής: &lt;br&gt;Υπάρχει κάποια τεχνολογία (την οποία πιθανότατα αγνοώ, Corba π.χ ) η κάποιος καλύτερος τρόπος για να πραγματοποιηθεί αυτό?\&lt;br&gt;&lt;br&gt;Ευχαριστώ εκ των προτέρων.&lt;br&gt;&lt;br&gt;</description></item></channel></rss>