Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

.Net 1.1, 2.0 ή 3.0?

Îåêßíçóå áðü ôï ìÝëïò Thiseas. Τελευταία δημοσίευση από το μέλος Thiseas στις 03-06-2007, 17:51. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-06-2007, 11:34 32511

    .Net 1.1, 2.0 ή 3.0?

    Στην εταιρια που εργάζομαι έχουμε αναπτύξει και συντηρούμε κάποια εμπορικά προγράμματα.

    Μερικά τα ονομάζουμε WMS και ERP,.... ελπίζοντας οτι έχουμε καταφέρει να τα κάνουμε να υλοποιούν (τουλάχιστον) όσα υποσχόμαστε προφορικά!
    Θεωρούμε οτι το έχουμε καταφέρει ως ένα σημείο με δεομένο οτι είμαστε μια μικρή εταιρία με πολύ μεγάλους πελάτες....  ok ok σταματάω την κίτρινη διαφήμιση...

    Τα εργαλεία-τεχνολογίες-libs που έχουμε κυρίως χρησιμoποιήσει είναι:
    Delphi 7.0
    MS SQL Server 2000
    ADO 2.0
    COM
    [Sorry που σας τα "πετάω" όλα μαζί  για λόγους οικονομίας και.... τεμπελιάς μου]

    H "αρχιτεκτονική" που ακολουθούμε είναι 3-tier με:
    Τον database server σε ένα machine, μαζί με τον application server και στους clients το EXE.
    Δεν είναι WEB εφαρμογή!

    Θέλουμε να αλλάξουμε αυτήν την προσέγγιση και να "πάμε" σε .Net τεχνολογία κυρίως μετά από πρόταση του γράφωντος....Geeked.
    Αυτό σημαίνει οτι αν δεν πάει κάτι καλά.... καλό θα ήτανε να με βοηθήσετε να βρω καμιά δουλίτσα.... (οτι να' ναι βρε παιδιά  ...Smile)

    Λοιπόν... να σοβαρευτώ λίγο:
    Έχω τους εξής προβληματισμούς:

    Προβληματισμός 1: Επαφή με Internet.
    Επειδή η εφαρμογή μας έχει πολύ συχνά IO με τον χρήστη (είτε από τον πληκτρολόγιο) είτε από RFTs (Remote Frequency Terminals - Ασύρματα Τερματικά) πιστεύω οτι δεν θα πρέπει να κινηθούμε σε μια εφαρμογή web-άτη και υλοποιημένη στον Internet Explorer μιας και θα "χάσουμε" πολύ σε User Interface.
    Αν και εφόσων κάτι απαιτεί WEB καλύτερο είναι να προτιμήσουμε windows Forms και Web-Services.

    Προβληματισμός 2: Μη Επαφή με Internet. Smile
    Το μεγαλύτερο μέρος της εφαρμογής μας μάλλον δεν θα έχει access στο ιντερνετ (θα είναι σε LAN),... και αυτό για να είναι ταχύτερο οπότε εδώ δεν "παίζουν" τα Web-Services...
    Είναι σωστή αυτή η προσέγγιση?
    Ή υπάρχει κάποια library (ή sevice ή δεν ξέρω εγώ τι άλλο) που να "καταλαβαίνει" αν είσαι σε WAN-WEB ή σε LAN και ανάλογα να χρησιμποιεί την αποδοτικότερη τεχνολογία επικοινωνίας...?

    Προβληματισμός 3: .Net Framework.
    Άκουσα και διάβασα κάπου (δεν θυμάμε πλέον που) οτι  αν είχες αναπτύξει μια εφαρμογή σε .Net 1.1 και είχες φτιάξει μια ιεραρχία κλάσεων βασιζόμενος σε κλάσεις του 1.1.... τότε στο 2.0... έχασες! Έπρεπε να τα ξαναφτιάξεις από την αρχή, γιατί η Microsoft άλλαξε την ιεραρχία και την ονοματολογία των βασικών κλάσεων της!
    Το ίδιο συνέβει και από το .Νετ 2.0 στο .Net 3.0.
    Επίσης,... οι compilers οι δικοί μας, οι βιβλιοθήκες και τo OS των πελατών μας δεν υποστηρίζουνε .Net 3.0.
    To να τα κάνουμε να "υποστηρίζουνε" είναι μια χρονοβόρα, κοστοβόρα και ίσως επικύνδινη διαδικασία. Ξέρετε τώρα!! Αν όλα δουλεύουε σωστά και αλλάξει κάτι.... μπορεί να μην δουλεύει ξαφνικά ΤΙΠΟΤΑ!! Εμείς και βασικά οι πελάτες μας δεν έχουνε αυτήν την .... "πολυτέλεια"!
    Ποιός μου λέει εμένα αν αύριο η Microsoft αποφασίσει να πάει στο .Net 4.0!!! και Φτού κι απ΄την αρχή!!
    Δεν θα αντέξουμε τέτοιες αλλαγές,... και φυσικά τα πρώτα βέλη θα πέσουν σ' αυτόν που είχε την φαεινή ιδέα να πάμε σε .Net!!!

    θα εκτιμούσα πάρα πολύ, τον σχολιασμό σας στους παραπάνω προβληματισμούς μαυ...

    Thnx!!!

     

     

     


    Nothing to declare...
  •  03-06-2007, 13:00 32519 σε απάντηση της 32511

    Απ: .Net 1.1, 2.0 ή 3.0?

    Καταρχήν μερικά από αυτά τα θέματα θα τα συζητήσουμε στο event της Τρίτης, με αφορμή την παρουσίαση του Windows Communication Foundation. βλ. εδώ
    Κατά άλλα ορίστε τα σχόλιά μου:

    1. Συμφωνώ. Επίσης προτείνω να το συνδυάσεις με το ClickOnce για να έχεις αυτόματες ενημέρωσεις των clients.
    2. Δεν συμφωνώ απολύτως. Δεν είναι κακό να χρησιμοποιήσεις web services σε εσωτερικό δίκτυο, εκτός κι αν έχεις απαιτήσεις για εξαιρετικά γρήγορη επικοινωνία για real time παρακολούθηση διαδικασιών. Διαφορετικά αν μιλάμε για μια τύπου request/response επικοινωνία όπου μεταφέρεις δεδομένα προς παρουσίαση/αποθήσευση κλπ. τα web services είναι καλή επιλογή. Και έχεις πάντα την επιλογή να βγάλεις το σύστημα στο internet εύκολα με SSL αν το απαιτήσουν οι περιστάσεις. Τα web services δεν είναι τόσο αργά όσο φαντάζεσαι. Θα έχεις την ταχύτητα μιας web εφαρμογής, χωρίς όμως να μεταφέρεις περιττά στοιχεία (π.χ. περιττή html).
    3. Το μόνο που ισχύει από αυτά που λες είναι ότι δεν μπορείς να χρησιμοποιήσεις από ένα .net 1.1 πρόγραμμα (dll ή exe) ένα άλλο dll που έχει γραφεί σε .net 2.0 ή .net 3.0. Κατά τα άλλα, αν έχεις κάτι σε 1.1 μπορείς να ανοίξεις πολύ εύκολα το project στο vs 2005 και να το αναβαθμίσεις χωρίς πρόβλημα σε .net 2.0. Το πολύ να έχεις μερικά warnings. Πιθανότατα όχι. Το .net 3.0 λειτουργεί πάνω στο runtime του 2.0 προσθέτοντας απλά μερικά, αλλά σημαντικά, extensions. Υπάρχει πλήρης συμβατότητα μεταξύ τους. Κατά τη γνώμη μου το 3.0 θα έπρεπε να λέγεται 2.5! Μάλλον το όνομα 3.0 δώθηκε για λόγους marketing.

    Κατά τα άλλα, κανένας πελάτης ή προμηθευτής λογισμικού δεν έχει την πολυτέτεια ξαφνικά να μην δουλεύει τίποτα! :)

    edited: Κατά τα άλλα, όπως θα δούμε και το event της Τρίτης, αν επιλέξεις .NET 3.0 και Windows Communication Foundation, το οποίο θα έκανα εγώ αν ξεκινούσα κάτι σήμερα, θα δεις ότι αν θα χρησιμοποιήσεις web services ή .net remoting ή msmq δεν εξαρτάται τόσο από τον κώδικα που θα γράψεις στον server αλλά από το configuration του. Που σημαίνει ότι το αλλάζεις χωρίς να κάνεις build τον κώδικα.
     


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  03-06-2007, 14:00 32524 σε απάντηση της 32511

    Απ: .Net 1.1, 2.0 ή 3.0?

    Thiseas:
    Προβληματισμός 1: Επαφή με Internet.
    Επειδή η εφαρμογή μας έχει πολύ συχνά IO με τον χρήστη (είτε από τον πληκτρολόγιο) είτε από RFTs (Remote Frequency Terminals - Ασύρματα Τερματικά) πιστεύω οτι δεν θα πρέπει να κινηθούμε σε μια εφαρμογή web-άτη και υλοποιημένη στον Internet Explorer μιας και θα "χάσουμε" πολύ σε User Interface.
    Αν και εφόσων κάτι απαιτεί WEB καλύτερο είναι να προτιμήσουμε windows Forms και Web-Services.

    Νομίζω την καλύτερη απάντηση σε αυτό τον προβληματισμό σου αποτελεί το post "The [intranet] web client is dead!" στο weblog του Patrick Malone.

    Thiseas:
    Προβληματισμός 2: Μη Επαφή με Internet. Smile
    Το μεγαλύτερο μέρος της εφαρμογής μας μάλλον δεν θα έχει access στο ιντερνετ (θα είναι σε LAN),... και αυτό για να είναι ταχύτερο οπότε εδώ δεν "παίζουν" τα Web-Services...
    Είναι σωστή αυτή η προσέγγιση?
    Ή υπάρχει κάποια library (ή sevice ή δεν ξέρω εγώ τι άλλο) που να "καταλαβαίνει" αν είσαι σε WAN-WEB ή σε LAN και ανάλογα να χρησιμποιεί την αποδοτικότερη τεχνολογία επικοινωνίας...?

    Όπως είπε και ο Δημήτρης παραπάνω, πρέπει να δεις το WCF. Tα Web services αποτελούν μέρος του, αλλά δεν είναι μόνα αυτά που υπάρχουν μέσα σε αυτό. Η εξέλιξη της τεχνολογίες Remoting που είχε παρουσιαστεί με τα .NET Framework v1.0 και v1.1, είναι και αυτή μέσα στο WCF. Ίσως το event της Τρίτης λύσει τις απορίες σου...

    Thiseas:
    Προβληματισμός 3: .Net Framework.
    Άκουσα και διάβασα κάπου (δεν θυμάμε πλέον που) οτι  αν είχες αναπτύξει μια εφαρμογή σε .Net 1.1 και είχες φτιάξει μια ιεραρχία κλάσεων βασιζόμενος σε κλάσεις του 1.1.... τότε στο 2.0... έχασες! Έπρεπε να τα ξαναφτιάξεις από την αρχή, γιατί η Microsoft άλλαξε την ιεραρχία και την ονοματολογία των βασικών κλάσεων της!
    Το ίδιο συνέβει και από το .Νετ 2.0 στο .Net 3.0.
    Επίσης,... οι compilers οι δικοί μας, οι βιβλιοθήκες και τo OS των πελατών μας δεν υποστηρίζουνε .Net 3.0.
    To να τα κάνουμε να "υποστηρίζουνε" είναι μια χρονοβόρα, κοστοβόρα και ίσως επικύνδινη διαδικασία. Ξέρετε τώρα!! Αν όλα δουλεύουε σωστά και αλλάξει κάτι.... μπορεί να μην δουλεύει ξαφνικά ΤΙΠΟΤΑ!! Εμείς και βασικά οι πελάτες μας δεν έχουνε αυτήν την .... "πολυτέλεια"!
    Ποιός μου λέει εμένα αν αύριο η Microsoft αποφασίσει να πάει στο .Net 4.0!!! και Φτού κι απ΄την αρχή!!
    Δεν θα αντέξουμε τέτοιες αλλαγές,... και φυσικά τα πρώτα βέλη θα πέσουν σ' αυτόν που είχε την φαεινή ιδέα να πάμε σε .Net!!!

    Δεν ισχύει αυτό που περιγράφεις. Σίγουρα υπάρχουν αλλαγές σε namespaces από το v1.1 στο v2.0. Πρώτα από όλα, όλος ο κώδικας του v1.1 γίνεται complile "as is" στο v2.0. Ναι, θα πάρεις warnings ότι άμα θες να συντηρήσεις τον κώδικα αυτό σε v2.0 θα πρέπει να κάνεις κάποιες αλλαγές για να εξασφαλίσεις ότι δεν θα έχεις πρόβλημα στις νεότερες εκδόσεις. Από εκεί και πέρα και το v3.0 που κυκλοφόρησε με τα Windows Vista και το v3.5 που θα κυκλοφορίσει προς το τέλος αυτού του χρόνου, έχουν σαν βάση τα namespaces του v2.0 και απαιτούν το v2.0 για να τρέξουν. Και το v3.0 και το επερχόμενο v3.5 δεν αποτελούν ξαναγράψιμο του .NET Framework, είναι προσθήκες και επεκτάσεις σε αυτό. Αν κάποια νεότερη βάση του framework δημιουργηθεί στο μέλλον, θα είναι backward compatible, σίγουρα με το v2.0/v3.0/v3.5, μπορεί όχι με τα v1.0/v1.1, μιας και θα υπάρχει τέτοια βάση εγκατεστημένου κώδικα και θα αποτελεί "αυτοκονία" της Microsoft να μην κάνει κάτι τέτοιο.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  03-06-2007, 17:02 32528 σε απάντηση της 32511

    Απ: .Net 1.1, 2.0 ή 3.0?

    Ως προς το #3:

    Να προσθέσω σε αυτά που είπαν οι προηγούμενοι ότι υπάρχει και η δυνατότητα, όταν πλέον η εφαρμογή είναι live, να χρησιμοποιήσει κανείς manifest file ώστε να την "οδηγήσει" την εφαρμογή να φορτώνει διαφορετικά library assemblies από αυτά με τα οποία έγινε compile. Το κόλπο πετυχαίνει όσο υπάρχει συμβατότητα στις μεθόδους, τις παραμέτρους τους και τις επιστρεφόμενες τιμές.

     

    [Edit]

    To feature αυτό του .NET Framework λέγεται Side-by-Side deployment και ανάλογα έχουμε τα side-by-side assemblies. Περισσότερες πληροφορίες εδώ: http://msdn2.microsoft.com/en-us/library/aa376307.aspx


    Vir prudens non contra ventum mingit
  •  03-06-2007, 17:51 32530 σε απάντηση της 32528

    Απ: .Net 1.1, 2.0 ή 3.0?

    Κατ' αρχάς να ευχαριστήσω πολυ για τις απαντήσεις σας.

    Ναι, είδα την αναφορά για την παρουσίαση της Τρίτης και κατάλαβα οτι κάνει perfect match με αυτά που θέλουμε...

    Θα ήτανε πολύ χρήσιμο να είμαι εκεί όσο και δηστυχώς το ίδιο δύσκολο (την συκγεκριμένα ημέρα) ... BTW i ll do my best to be there


    Nothing to declare...
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems