|
-
15-04-2011, 18:07
|
-
Chrysostomos Kolovos
-
-

-
Μέλος από τις 19-08-2008
-
Volos - Athens
-
Δημοσιεύσεις 90
-
-
|
.net applications vs access applications vba με sql server
Έχουμε ένα πελάτη που χρησιμοποιεί εφαρμογές γραμμένες σε access με sql server από πίσω και εμείς του προτείναμε τις εφαρμογές μας γραμμένες σε .net με sql server πάλι από πίσω. Και προέκυψε το εξής ερώτημα. Γιατί το .net είναι "καλύτερο" από την access; Μου ζήτησαν λοιπόν να γράψω κάτι που να αναλύει το συγκεκριμένο ζήτημα. Μόλις ξεκίνησα την έρευνα μου για να το καλύψω ολοκληρωμένα το "ζήτημα" και είπα να γράψω ένα post και εδώ για τυχόν προτάσεις ή επισημάνσεις που μπορεί να φανούν χρήσιμες. Αφορά χειρισμό Βάσεων Δεδομένων με αρκετά Data, αγγίζουν σχεδόν το 1G. Θα γράψω αν είναι εδώ μετά τα θέματα που θα αναφέρω μην ξέχασα κανένα.
Ευχαριστώ.
|
|
-
16-04-2011, 01:03
|
-
George Parissis
-
-

-
Μέλος από τις 04-02-2011
-
New York
-
Δημοσιεύσεις 272
-
-
|
Απ: .net applications vs access applications vba με sql server
Το μόνο θέμα πάνω στο οποίο θα μπορούσες να πατήσεις και να τον πείσεις είναι πως με μία γλώσσα .Net θα έχεις περισσότερες δυνατότητες να φτιάξεις ένα καλύτερο UI δεδομένου πως η Access σε περιορίζει σε αυτά που έχει. Εκτός και αν υπάρχουν και εκεί τρίτοι κατασκευαστές που να φτιάχνουν controls αλλά δεν έτυχε να δω κάτι στο internet για αυτό.
Όλοι οι υπόλοιποι λόγοι αφορούν περισσότερο εμάς τους προγραμματιστές παρά τον πελάτη. Σχεδίαση εφαρμογής, ενσωμάτωσει νέων τεχνολογιών (WPF, Silverlight κτλ) πράγματα τα οποία δεν αφορούν τον πελάτη γιατί όπως ανέφερες ήδη έχει την εφαρμογή και την χρησιμοποιεί.Επίσης δεν γνωρίζω αν η Access έχει την δυνατότητα όπως φτιάχνεις την εφαρμογή για Windows να ετοιμάζει επίσης και την Inernet version παράλληλα αλλά πιστεύω ότι θα είναι θέμα χρόνου και αυτό. Αυτό το αναφέρω γιατί τώρα τελευταία δέχομαι ερωτήσεις από πελάτες για το αν η τάδε εφαρμογή που έχουν μπορεί να παίξει και στο Internet.
Η Access είναι RAD εργαλείο με πάρα πολλά πλεονεκτήματα και αν δεν υπάρχουν πραγματικοί λόγοι που θα οδηγήσουν κάποιον σε μία γλώσσα προγραμματισμού δύσκολα την απορρίπτεις.
|
|
-
16-04-2011, 02:25
|
-
nikolaosk
-
-

-
Μέλος από τις 28-04-2007
-
Αθήνα
-
Δημοσιεύσεις 1.418
-
-
|
Απ: .net applications vs access applications vba με sql server
To .Net είναι ένας όρος που έφερε στην ζωή μας η Microsoft περίπου 12 χρόνια πριν.Με το όρο αυτό θέλησε να περιγράψει μια σειρά products και services που περιγράφουν το όραμα της για το πως πρέπει να σχεδιάζονται,να υλοποιούνται και να τεστάρονται τα software applications. Από τότε πολλά έχουν αλλάξει. Όταν υλοποιείς εφαρμογές με το .Net, έχεις το .net runtime να αναλαμβάνει μια σειρά πραγμάτων για σένα. To CLR διαχειρίζεται την μνήμη,κάνει compile τον κώδικα(managed κώδικα) , εκτελεί τον κώδικα και γενικά "επιβλέπει" πράγματα όπως security και thread management. Έχεις επίσης στην διάθεση σου μια σειρά DLLs , libraries (FCL) που σου παρέχουνε χιλιάδες classes,types,objects, methods,properties για να κάνεις το οτιδήποτε από το να συνδεθείς σε μια βάση και να γράψεις ένα web service.Γιατί να μην χρησιμοποιήσεις όλο αυτό τον έτοιμο κώδικα για να γράψεις την εφαρμογή σου? Θα φτιάξεις μια εφαρμογή που θα είναι Object Oriented με όλα τα πλεονεκτήματα που προσφέρει αυτό-OOP constructs and patterns. Το .Net έχει καλύτερο και αποδοτικότερο τρόπο να συνδεθεί (διαβάσει και τροποποιήσει) δεδομένα από ότι η Access.Θα έχεις καλύτερο performance. Όσο αφορά το user interface μπορείς να κάνεις κάτι πολύ καλύτερο από ότι θα κάνεις με την Access. Επίσης θα μπορείς εύκολα να κάνεις upgrade στο UI στο μέλλον αν χρειαστεί. Γράφοντας μια εφαρμογή σε .Net μπορείς πολύ εύκολα να κάνεις scaling αργότερα όταν αυτό χρειαστεί. Έχεις ένα IDE (Visual Studio) που σε βοηθάει να γράψεις εύκολα και γρήγορα κώδικα. Είναι πολύ πιο εύκολο να κάνεις deploy μια .Net εφαρμογή. Πρέπει να υπάρχει εγκατεστημένη η Access στους clients? έχετε σκεφτεί το Licensing και το κόστος που αυτό επιφέρει? Επίσης υπάρχουν άπειρα resources στο Internet και αλλού για να κάνεις σχεδόν το οτιδήποτε στο .Net.
Νικόλαος Καντζέλης BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
|
|
-
16-04-2011, 09:29
|
-
dimos.homatas
-
-

-
Μέλος από τις 13-12-2010
-
Θεσσαλονίκη
-
Δημοσιεύσεις 319
-
-
|
Απ: .net applications vs access applications vba με sql server
nikolaosk:
Θα φτιάξεις μια εφαρμογή που θα είναι Object Oriented με όλα τα πλεονεκτήματα που προσφέρει αυτό-OOP constructs and patterns.
Χρυσόστομε, αν δεν γίνεται αυτό κατανοητό στον πελάτη, τότε μήπως ΔΕΝ τον θέλετε σαν πελάτη; Συνήθως αυτοί που λένε πράγματα σαν αυτό που περιγράφεις, τείνουν μετά να αποδεικνύονται προβληματικοί και μη συνεργάσιμοι πελάτες (στο μυαλό τους κάνουν οικονομία).
"When the darkness rises up from inside - that is normal. It's when you reach down to pull it up - that the noxious warnings sound." Tuzak, Farscape
|
|
-
16-04-2011, 10:31
|
-
Chrysostomos Kolovos
-
-

-
Μέλος από τις 19-08-2008
-
Volos - Athens
-
Δημοσιεύσεις 90
-
-
|
Απ: .net applications vs access applications vba με sql server
φωνάζουν στο γραφειο το Ζαχαρίας Δεντοφτιάχνω -Καλημέρα, Απο αύριο αφήνουμε το .net και σχεδιάζουμε σε access. 
|
|
-
16-04-2011, 10:53
|
-
cap
-
-

-
Μέλος από τις 14-01-2005
-
Βύρωνας, Αθήνα
-
Δημοσιεύσεις 2.750
-
-
|
Απ: .net applications vs access applications vba με sql server
Αυτού του τύπου οι ερωτήσεις δηλώνουν μη εξοικείωση του πελάτη με τα τεκταινόμενα κατά την τελευταία 10ετία, κάτι όχι απαραίτητα κακό, μια και αυτό είναι δική μας δουλειά :) Ο πελάτης θέλει να κάνει τη δουλειά του όσο το δυνατόν καλύτερα και φθηνότερα.
Σε ένα τέτοιο τύπο πελάτη, που δεν έχει το τεχνικό υπόβαθρο για να βγάλει μόνος του τα συμπεράσματά του, πρέπει να εντοπίσουμε ποιά επιχειρήματά μας τον ενδιαφέρουν πραγματικά. Κατά τη γνώμη μου αυτά είναι:
- Ευελιξία. Γράφοντας σε .net η εφαρμογή είναι ευκολότερα συντηρήσιμη, και η εύρεση ανθρώπων για να τη συντηρήσουν μπορεί να γίνει από πολύ μεγαλύτερο pool από ο,τι πιθανώς υπάρχει για Access. - Επεκτασιμότητα.Οι εφαρμογές που έχουν front-end σε access έχουν συγκεκριμένη λειτουργικότητα, η οποία μπορεί να καλύπτει τις βασικές απαιτήσεις του πελάτη για ένα front-end, όμως δεν είναι εύκολα (και φθηνά) επεκτάσιμη. - Υποστήριξη. Αν και η Access υποστηρίζεται από τη Microsoft, η υποστήριξή της ως RAD tool για front-ends είναι, αν μη τι άλλο, περιορισμένη. Από την άλλη, στο .net κόσμο υπάρχουν εργαλεία και εφαρμογές, καθώς και κοινότητες προγραμματιστών που μπορούν να σε βοηθήσουν να αντιμετωπίσεις προβλήματα και θέματα λειτουργικότητας πολύ ευκολότερα και ταχύτερα. - Συντήρηση. Είναι σίγουρος οτι σε 5 χρόνια από τώρα θα βρεί προγραμματιστές που θα έχουν τις γνώσεις (και τη διάθεση) να συντηρήσουν κάτι το οποίο έχει φτιαχτεί σε ένα και μοναδικό RAD εργαλείο μεγάλης ηλικίας το οποίο πιθανόν να υποστηρίζεται λιγότερο ακόμα και από ο,τι σήμερα; Και ποιό θα είναι το κόστος της συντήρησης; Στο .net έχει να κάνει με ένα framework και μια μεγάλη κοινότητα ανθρώπων (βλέπε και "ευελιξία").
Βασικά δεν είπα κάτι παραπάνω από ο,τι είπαν οι άλλοι συνάδελφοι, απλά τα "πακέταρα" λίγο διαφορετικά.
Η ερώτηση του πελάτη είναι απόλυτα λογική, όμως θα πρέπει να την παραλληλίσουμε με τη λογική του "γιατί να πάρω καινούριο αυτοκίνητο, το μοντέλο του '50 που έχω κάνει μια χαρά τη δουλειά του". Φυσικά, αν το μόνο που θέλεις είναι να πηγαίνεις και να έρχεσαι από το σπίτι στο γραφείο και τα ανάποδα. Ομως, τα ανταλλακτικά είναι ακριβά και δυσεύρετα, κανένας δεν κάνει service εύκολα σε ένα τόσο παλιό αμάξι, είναι πιθανό να σε "αφήσει" πολύ συχνότερα από ο,τι θα ήθελες, και αν θελήσεις να πας πιο μακριά από το σύνηθες απλά...ξέχνα το. Δυσανάλογο παράδειγμα μεν, αλλά κάτι τέτοιο θα μπορούσε κανείς να φέρει αναλογικά ως επιχείρημα για την Access.
Τελος, δεν υπάρχει στην πραγματικότητα "καλύτερο" και "χειρότερο". Ολα εξαρτώνται από τη χρήση. Αν ο πελάτης πραγματικά το μόνο που θέλει είναι μια front-end φορμίτσα για να καταχωρεί δεδομένα σε μερικά tables, και προβλέπει ότι αυτό θα είναι αρκετό για τα 10 επόμενα χρόνια, τότε και clipper σε dos εφαρμογή να είχε, του είναι ίσως αρκετή.
Σωτήρης Φιλιππίδης DotSee Web Services
|
|
-
16-04-2011, 10:56
|
-
cap
-
-

-
Μέλος από τις 14-01-2005
-
Βύρωνας, Αθήνα
-
Δημοσιεύσεις 2.750
-
-
|
Απ: .net applications vs access applications vba με sql server
Chrysostomos Kolovos:φωνάζουν στο γραφειο το Ζαχαρίας Δεντοφτιάχνω -Καλημέρα, Απο αύριο αφήνουμε το .net και σχεδιάζουμε σε access. 
Σωτήρης Φιλιππίδης DotSee Web Services
|
|
-
17-04-2011, 18:09
|
-
George Parissis
-
-

-
Μέλος από τις 04-02-2011
-
New York
-
Δημοσιεύσεις 272
-
-
|
Απ: .net applications vs access applications vba με sql server
cap:Αυτού του τύπου οι ερωτήσεις δηλώνουν μη εξοικείωση του πελάτη με τα τεκταινόμενα κατά την τελευταία 10ετία, κάτι όχι απαραίτητα κακό, μια και αυτό είναι δική μας δουλειά :) Ο πελάτης θέλει να κάνει τη δουλειά του όσο το δυνατόν καλύτερα και φθηνότερα.
Σε ένα τέτοιο τύπο πελάτη, που δεν έχει το τεχνικό υπόβαθρο για να βγάλει μόνος του τα συμπεράσματά του, πρέπει να εντοπίσουμε ποιά επιχειρήματά μας τον ενδιαφέρουν πραγματικά. Κατά τη γνώμη μου αυτά είναι:
- Ευελιξία. Γράφοντας σε .net η εφαρμογή είναι ευκολότερα συντηρήσιμη, και η εύρεση ανθρώπων για να τη συντηρήσουν μπορεί να γίνει από πολύ μεγαλύτερο pool από ο,τι πιθανώς υπάρχει για Access.
- Επεκτασιμότητα.Οι εφαρμογές που έχουν front-end σε access έχουν συγκεκριμένη λειτουργικότητα, η οποία μπορεί να καλύπτει τις βασικές απαιτήσεις του πελάτη για ένα front-end, όμως δεν είναι εύκολα (και φθηνά) επεκτάσιμη.
- Υποστήριξη. Αν και η Access υποστηρίζεται από τη Microsoft, η υποστήριξή της ως RAD tool για front-ends είναι, αν μη τι άλλο, περιορισμένη. Από την άλλη, στο .net κόσμο υπάρχουν εργαλεία και εφαρμογές, καθώς και κοινότητες προγραμματιστών που μπορούν να σε βοηθήσουν να αντιμετωπίσεις προβλήματα και θέματα λειτουργικότητας πολύ ευκολότερα και ταχύτερα.
- Συντήρηση. Είναι σίγουρος οτι σε 5 χρόνια από τώρα θα βρεί προγραμματιστές που θα έχουν τις γνώσεις (και τη διάθεση) να συντηρήσουν κάτι το οποίο έχει φτιαχτεί σε ένα και μοναδικό RAD εργαλείο μεγάλης ηλικίας το οποίο πιθανόν να υποστηρίζεται λιγότερο ακόμα και από ο,τι σήμερα; Και ποιό θα είναι το κόστος της συντήρησης; Στο .net έχει να κάνει με ένα framework και μια μεγάλη κοινότητα ανθρώπων (βλέπε και "ευελιξία").
Βασικά δεν είπα κάτι παραπάνω από ο,τι είπαν οι άλλοι συνάδελφοι, απλά τα "πακέταρα" λίγο διαφορετικά.
Η ερώτηση του πελάτη είναι απόλυτα λογική, όμως θα πρέπει να την παραλληλίσουμε με τη λογική του "γιατί να πάρω καινούριο αυτοκίνητο, το μοντέλο του '50 που έχω κάνει μια χαρά τη δουλειά του". Φυσικά, αν το μόνο που θέλεις είναι να πηγαίνεις και να έρχεσαι από το σπίτι στο γραφείο και τα ανάποδα. Ομως, τα ανταλλακτικά είναι ακριβά και δυσεύρετα, κανένας δεν κάνει service εύκολα σε ένα τόσο παλιό αμάξι, είναι πιθανό να σε "αφήσει" πολύ συχνότερα από ο,τι θα ήθελες, και αν θελήσεις να πας πιο μακριά από το σύνηθες απλά...ξέχνα το. Δυσανάλογο παράδειγμα μεν, αλλά κάτι τέτοιο θα μπορούσε κανείς να φέρει αναλογικά ως επιχείρημα για την Access.
Τελος, δεν υπάρχει στην πραγματικότητα "καλύτερο" και "χειρότερο". Ολα εξαρτώνται από τη χρήση. Αν ο πελάτης πραγματικά το μόνο που θέλει είναι μια front-end φορμίτσα για να καταχωρεί δεδομένα σε μερικά tables, και προβλέπει ότι αυτό θα είναι αρκετό για τα 10 επόμενα χρόνια, τότε και clipper σε dos εφαρμογή να είχε, του είναι ίσως αρκετή.
Θεωρώ ότι είναι η πιο σωστή τοποθέτηση επάνω στο ερώτημα, το παράδειγμα όμως με τα αυτοκίνητα δεν είναι το κατάλληλο. Στη θέση του θα έβαζα την περίπτωση αγοράς κινητού. Σχεδόν κάθε χρόνο που πάω να πάρω κινητό ο πωλητής προσπαθεί με ζήλο να μου παρουσιάζει τα νέα μοντέλα που έχουν βγει με Touch Screen, με το x λειοτυργικό με τις τόσες εφαρμογές και της δυνατότητες που έχει και κάθε χρόνο του λέω τα ίδια. Να μιλάω θέλω απλά και να στέλνω κάπου κάπου κανένα μήνυμα τίποτα παραπάνω. Καταλαβαίνετε φυσικά με το παράδειγμα που έδωσα από πόσο διαφορετική γωνία βλέπω το όλο θέμα.
Από ότι έχω καταλάβει ο συγκεκριμένος πελάτης πλήρωσε κάποια στιγμή στο παρελθόν, ή μπορεί και ο ίδιος με της λίγες γνώσεις που έχει να έφτιαξε κάτι στην Access για να κάνει την δουλειά του. Αν είναι το πρώτο τότε οικονομικά του έφυγαν κάποια λεφτά για να κάνει την δουλειά του, αν είναι το δεύτερο και δεδομένο ότι ο προγραμματισμός δεν είναι η κύρια δουλειά του τότε οι απαιτήσεις του θα ήταν πολύ απλές γιατί όπως μας λέει το αρχικό post αυτό που έχει φτιάξει το δουλεύει, δεν είναι ότι το παράτησε. Φρόντισε όμως αντί να χρησιμοποιήσει την Access σαν βάση δεδομένων να έχει SQL Server από πίσω... χμμ.
Ξαφνικά μετά από καιρό έρχεται κάποιος και λέει λίγο πολύ, εδώ θέλω να βάλετε λίγο την φαντασία να δουλέψει και να λέει. Access;;; Βάλε άνθρωπέ μου .Net να κάνεις την δουλειά σου καλύτερα. Και εκεί σωστά σε ρωτάει ο πελάτης, γιατί αυτό που έχω και ΠΡΟΣΟΧΗ το ΔΟΥΛΕΥΩ τι έχει; Καλά εντάξει σύμφωνοι δεν ήμουν μπροστά για να ξέρω ακριβώς τι ειπώθηκε αλλά από κάπου θα ξεκίνησε η συζήτηση και κάπου εδώ θα είχε καταλήξει.
Ναι συμφωνώ .Net ανώτερο αλλά για απλές λύσεις, για απλό Data Entry χωρίς πολύπλοκο Business Logic ένα οποιοδήποτε RAD εργαλείο είναι η καλύτερη λύση. Oικονομική, στρωτή διαδικασία και τυποποιημένη εφόσων το RAD εργαλείο αναλαμβάνει να κάνει αυτά που διαφορετικά θα γράφαμε εμείς με τον κώδικα ή με το οποιοδήποτε εργαλείο για .Net που υπάρχει και δεν είναι λίγα.
Φυσικά το Project κάποια στιγμή μπορεί να μεγαλώσει, οι απαιτήσεις να αλλάξουν οπότε να αλλάξει και αυτό και κάπου εκεί λες, αχ! μακάρι να είχα την ιδέα τότε που το έφτιαχνα να το ξεκίναγα σε .Net και ας ήταν απλό, τώρα θα χρειαστεί να το ξαναφτιάξω, εδώ όμως η περίπτωση δεν είναι τέτοια. Πάμε να πουλήσουμε σε πελάτη εφαρμογή που έχει ήδη μία με την οποία κάνει την δουλειά του και δεν ήρθε αυτός σε εμάς αλλά εμείς πήγαμε σε αυτόν. ΠΟΛΥ σωστά ο πελάτης λοιπόν ρωτάει γιατί να αλλάξω;
Εκεί λοιπόν θα πρέπει να του πεις κάτι για να μπορεί και να το συγκρίνει άμεσα με αυτό που έχει. Να φτιάξεις κάτι γρήγορα στο .Net και να το βάλεις δίπλα σε αυτό που έχει για να το δει και να πειστεί. Όλα όσα αναφέρθηκαν σε αυτή την συζήτηση είναι προτάσεις για να πείσεις έναν προγραμματιστή να αρχίσει να δουλεύει σε .Net και όχι έναν πελάτη να επιλέξει .Net Στην τελική αυτόν δεν τον ενδιαφέρει.
Όσο για την συντήρηση που αναφέρθηκε παραπάνω έχω να πω το εξής. Αν ο πελάτης είχε πληρώσει κάποιον για να του φτιάξει την εφαρμογή τότε δεν γνωρίζουμε αν έχει ακόμα συνεργασία με αυτόν. Αν πάλι την είχε φτιάξει μόνος του τότε δεν τίθεται και θέμα. Αν όμως πάει σε .Net πρώτον είναι σίγουρο ότι τα παιδιά δεν θα δώσουν πηγαίο για να μπορεί ο πελάτης να επιλέξει στο μέλλον έναν άλλο προγραμματιστή και δεύτερον δεν είναι σίγουρο ότι θα συνεργάζονται για πάντα με τον πελάτη γιατί όπως γνωρίζουμει όλες οι σχέσεις έχουν και ένα τέλος. Οπότε το ίδιο και το αυτό δυστυχώς.
Προσωπικά δύσκολα τον βλέπω να πείθει τον πελάτη... όπως δύσκολα βλέπω το κάθε πωλητή κινητών να προσπαθεί να με πείσει να αγοράσω ένα κινητό τον 300-500€ όταν οι απαιτήσεις μου είναι για τον 100€.
|
|
-
26-04-2011, 15:05
|
-
masteripper
-
-
-
Μέλος από τις 21-04-2007
-
-
Δημοσιεύσεις 18
-
-
|
Απ: .net applications vs access applications vba με sql server
Αν η εφαρμογή του πελάτη είναι "μικρή" πιθανόν να είναι καλύτερα να μείνει σε Access καθως μπορεί να "παραμετροποιηθεί" σαφώς πιο εύκολα απο μια εφαρμογή σε .NET ενώ η απόδοση της Access σε καποιες περιπτώσεις μπορεί να είναι αρκετα υψηλή (βλέπε εκατομμύρια εγγραφές) .
Βέβαια όλα έχουν σχέση με το στήσιμο της εφαρμογής και τις απαιτήσεις.
|
|
|
|
|