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

 

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

ποιό εργαλείο object-relational mapping (ORM) ?

Îåêßíçóå áðü ôï ìÝëïò voulgeor. Τελευταία δημοσίευση από το μέλος γιωργος μπακογιαννης στις 29-09-2007, 08:33. Υπάρχουν 17 απαντήσεις.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  27-06-2007, 11:09 33211

    ποιό εργαλείο object-relational mapping (ORM) ?

    παιδιά help ..
    ψάχνω ένα εργαλείο orm που να δημιουργεί και τις κλασεις για remoting..
    και ++ αν έχει κάποιον app server..

    ψάξε ψάξε έχω βρεί

    deklarit
    http://www.deklarit.com/portal/hgxpp001.aspx?12


    tierdeveloper
    http://www.alachisoft.com/main_index.html


    kai devforce
    http://www.ideablade.com/

    οι τελευταίοι έχουν και πολy καλό application server τον οποιο όμως τον δίνουν +++
    δηλαδή δίνεις 4500 $ για το devforce enterprice
    kai +15000$ για τον bos για <100 χρήστες κάθε φορά που τον κάνεις deploy με κάποιο aplication

    είναι πολά τα λεφτά Αρη Big Smile

    αν γνωρίζτετε κάτι καλύτερο (και φθηνότερο φυσικά...)
    .

    ευχαριστώ πολύ




    Γιώργος
  •  27-06-2007, 18:47 33226 σε απάντηση της 33211

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Δες και αυτό http://www.lastcomponent.com/


    while (!dead) learn();
  •  26-09-2007, 17:25 35463 σε απάντηση της 33211

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Δεν ξέρω αν ελιναι αυτό που ψάχνεις αλλά κοίταξε αυτό:

    LLBGen Pro
    www.llblgen.com

    New Yorker


    Στέφανος
    New Yorker
  •  26-09-2007, 17:56 35465 σε απάντηση της 35463

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Ε, αυτή την κουβέντα την είχα χάσει! Βλέπεις, ξεκίνησε όταν περίμενα τον ΟΤΕ να μεταφέρει τη γραμμή μου ... για ένα μήνα.

    Καταρχήν, άλλο πράγμα το ORM, άλλο μα τελείως άλλο, μα εντελώς άσχετα άλλο είναι ο app server και το Remoting (το οποίο μας άφησε χρόνους μεταξύ άλλων). Στο Remoting δεν θα αναφερθώ, καθώς (πέρα από το ότι καταργήθηκε με το WCF) ήταν κατάλληλο μόνο για interprocess communication στο ίδιο μηχάνημα. Κάτι το οποίο άλλωστε η μαμά Microsoft το λέει από το 2003. Οι κατάλληλες τεχνολογίες για distributed apps ήταν πάντα τα Web Services (για Interop) ή τα Enterprise Services (για transaction management, security, lifecycle management κλπ). Όλα αυτά πλέον έχουν μπει κάτω από την ομπρέλα του WCF.

    Μιλώντας τώρα για ORM, ο χώρος στο .NET είναι σε συνεχή αναβρασμό. Σε αντίθεση με τη Java, όπου το Hibernate είναι το Α και το Ω, στο .NET υπάρχουν δεκάδες εργαλεία με παρόμοια χαρακτηριστικά αλλά διαφορετικές φιλοσοφίες. Το NHibernate είναι κλασσικό ORM με mapping files, αν και ως Open Source δεν προλαβαίνει να ακολουθήσει τις εξελίξεις της πλατφόρμας. Η ταχύτητα ανάπτυξης του όμως αυξάνεται συνεχώς καθώς αυξάνονται οι developers που το χρησιμοποιούν και συνεισφέρουν στο έργο. Το LLBLGen Pro από την άλλη βασίζεται στη δημιουργία κώδικα. Είναι επίσης πολύ καλό, με πολύ καλή υποστήριξη και features.

    Το Φεβρουάριο του 2006 ο Jason Mauss έγραψε το How-To-Select an Object-Relational Mapping Tool for .NET όπου σύγκρινε περίπου 30 ORMs. Από τότε, σχεδόν όλα τα ORM έχουν εξελιχθεί σε σημείο που παρέχουν σχεδόν τα ίδια features! Διαφοροποιήσεις υπάρχουν πάντως σε πιο εξεζητημένα θέματα, όπως π.χ. κατά πόσο το ORM συνεργάζεται με το LINQ.

    Για τους app server (και τί είναι ή εννοεί ο καθένας app server) θα απαντήσω αργότερα, αλλά η βασική ιδέα είναι: Τί παραπάνω από το WCF χρειάζεσαι? Ουκ ολίγα, αλλά η ερώτηση είναι σημαντική για να ξεχωρίσουν οι απαιτήσεις και τα προϊόντα

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  26-09-2007, 18:06 35467 σε απάντηση της 35465

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Παναγιώτης Καναβός:

    Το NHibernate είναι κλασσικό ORM με mapping files, αν και ως Open Source δεν προλαβαίνει να ακολουθήσει τις εξελίξεις της πλατφόρμας.

    To NHibernate έχει μεγάλο learning curve αλλά έχει μεγάλες ικανότητες. Αν θέλεις κάτι για μικρά projects, διάλεξε κάτι πιο απλό όπως το LLBGen.

    New Yorker.


    Στέφανος
    New Yorker
  •  26-09-2007, 20:35 35478 σε απάντηση της 35467

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Συμφωνώ σε αυτό. Το NHibernate θέλει δουλειά και προσοχή. Ένα από τα συχνότερα προβλήματα στα οποία πέφτουν οι νέοι χρήστες είναι να φορτώνουν ένα αντικείμενο από τη βάση και μαζί με αυτό, χωρίς να το καταλάβουν, και όλα τα αντικείμενα με τα οποία σχετίζεται! Αλλάζοντας ένα και μόνο attribute στο XML mapping file το πρόβλημα λύνεται, αλλά πολλοί την πατάνε. Το καλό του NHibernate (πέρα από την τιμή) είναι ότι υποστηρίζει πάρα πολλές βάσεις: ακόμα και αυτές οι οποίες δεν υποστηρίζονται από την έκδοση για .NET έχουν drivers στην έκδοση για Java. Είναι αρκετά εύκολο να αντιγράψει κανείς τον driver από τη Java στο .NET. Και πάλι όμως, δεν μιλάμε για νέους χρήστες.

    Υπάρχει πάντως και η λύση του Castle ActiveRecord, το οποίο εσωτερικά χρησιμοποιεί NHibernate για να συνδέσει κλάσεις με πίνακες χωρίς πολύ φασαρία.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  26-09-2007, 21:21 35480 σε απάντηση της 35478

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Συμφωνώ.

    Εγώ δουλεύω το EntitySpaces (www.entrityspaces.net).

    Είναι φτηνό και έχει ότι χρειάζομαι.

    New Yorker

     


    Στέφανος
    New Yorker
  •  27-09-2007, 09:12 35493 σε απάντηση της 35480

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Εγώ έχω δουλέψει με το LLBLGen Pro σε δύο workgroup app projects. Ειδικότερα το δεύτερο ήταν πολύ "specs on the fly" και αυτό που με ικανοποίησε ιδιαίτερα ήταν το πόσο αναίμακτα πέρναγαν οι αλλαγές από τη βάση στον κώδικα...


    Vir prudens non contra ventum mingit
  •  27-09-2007, 09:19 35495 σε απάντηση της 35493

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Και τώρα βγάζει και LINQ for LLBLGen Pro! Πλάκα-πλάκα, ένα από τα μεγαλύτερα ατού του LLBLGen Pro είναι ο δημιουργός, ο Frans Bouma και το καλό community. Δεν φτάνει το NHibernate αλλά είναι πολύ καλό.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  27-09-2007, 23:48 35536 σε απάντηση της 35495

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Δεν προλάβαμε να αναφέρουμε το EntitySpaces και στο DotNetRocks ανεβάσανε podcast του Mike Griffin γι αυτό!


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-09-2007, 06:13 35542 σε απάντηση της 35536

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Funny!

    Μου αρέσει το EntitySpaces γιατί γίνεται install σε μερικά λεπτά και με πολύ λίγη προσπάθεια κάνεις generate τον κώδικα και γράφεις application code.

    Από την άλλη το Llbgen έχει πολλές ικανότητες αλλά έχει και μερικά δύσκολα concepts.
    Μέχρι να είσαι έτοιμος να γράψεις τον δικό σου κώδικα θέλει καιρό να εξοικειωθείς.

    New Yorker


    Στέφανος
    New Yorker
  •  28-09-2007, 13:58 35566 σε απάντηση της 35542

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Μα που είναι ο Palladin, να αρχίσει να μας λέει για τη Ruby και το Rails? Εκεί η δημιουργία data κλάσεων από τη βάση είναι σχεδόν αυτόματη!

    Πλάκα-πλάκα, όλα τα ORM είναι δίκοπο μαχαίρι. Από τη μία, η πρόσβαση στη βάση γίνεται όλο και ευκολότερη. Από την άλλη, αν δεν προσέχεις μπορεί να εκτελείται απίστευτα κακός κώδικας. Τα πιο εύκολα ORM σου επιτρέπουν να ξεκινήσεις πολύ γρήγορα, αλλά δεν σου επιτρέπουν να ελέγξεις την πρόσβαση στη βάση αρκετά. Από την άλλη, τα πιο προχωρημένα ORM θέλουν καιρό για να καταφέρεις να κάνεις τα πρώτα σου queries.

    Πιστεύω ότι το πρόβλημα αυτό θα το συναντήσουμε πολύ έντονο τα επόμενα χρόνια με το LINQ. Τώρα που η πρόσβαση στη βάση θα είναι ακόμα ευκολότερη, θα αυξηθούν οι περιπτώσεις εκτέλεσεις κακών queries. Έχω ήδη βρει blogs που υποστηρίζουν ότι "τώρα δεν θα χρειαζόμαστε stored procedures". Κάτι αντίστοιχο με όσα έλεγαν πριν 2 χρόνια όταν ο SQL Server άρχισε να υποστηρίζει CLR types! Φοβάμαι ότι πολύς κόσμος θα αρχίσει να γράφει LINQ queries και να χτυπάει όποιο πίνακα βρει χωρίς να σκέφτεται τις επιπτώσεις.

    Από την άλλη, κάθε φορά που βλέπω κώδικα που ανοίγει RecordSet ή DataReader, και μέσα στο loop καλεί άλλο Recordset ή DataReader ... και μετά φταίει η βάση


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-09-2007, 14:43 35575 σε απάντηση της 35566

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Με φώναξες και ήρθα... Smile

    Εγώ θα το δω το θέμα λίγο διαφορετικά... για μένα έχει να κάνει με τη διάκριση ανάμεσα σε lightweight και heavyweight approaches.... (ActiveRecord και Data Mapper)

    Το θέμα των ORM έχει να κάνει "σε μεγάλο βαθμό" με την
    φιλοσοφία και το mentality του κάθε programmer...και του κάθε community

    Στο κόσμο του rails υπάρχει πολύ συγκεκριμένο mentality και πολύ "αυστηρά" opinions... Opinionated software

    Η άποψη μου είναι ότι το ActiveRecord και το Data Mapper έχουν το ρολο τους σε αυτό τον κόσμο... Ας μελετήσουμε όλοι PoEAA... και μετά όλα θα είναι
    πιο ξεκάθαρα...

     


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
  •  28-09-2007, 15:02 35576 σε απάντηση της 35575

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    (Παρένθεση)

    PoEAA? Μπουάααχαααχαχααχααααα

    Είδα πρόσφατα κώδικα ο οποίος έφτιαχνε DataTable στον αέρα, του πρόσθετε τα Columns και μετά τα rows και το έστελνε στη φόρμα. Η φόρμα μετά έπιανε το DataTable και έφτιαχνε τις στήλες ενός Grid μία μία. Εδώ δύο τινά συμβαίνουν: Ή ο προγραμματιστής σκόπευε να φτιάξει ORM-UI generator ή δεν είχε ακούσει για Databinding και προσπαθούσε να δουλέψει όπως παλιά με τα Recordsets (VB6 για εσάς τους νέους).

    (Τέλος Παρένθεσης)

    Στο σοβαρό τώρα, είναι σημαντικό να κάνει κανείς το διαχωρισμό μεταξύ light- και heavy-weight approach. Αν ήθελα να φτιάξω ένα scalable σύστημα θα διάλεγα την heavy-weight, για να μπορώ να έχω έλεγχο ΥΠΟ ΤΟΝ ΟΡΟ ότι η ομάδα που θα χρησιμοποιούσε π.χ. το NHibernate είχε την κατάλληλη πείρα σε scalable συστήματα ή σε object-oriented σχεδίαση. Σε ομάδες που ουσιαστικά τώρα ξεκινάνε στον χώρο του .NET, το ActiveRecord μπορεί να είναι υπεραρκετό. Από τη μία πλευρά διευκολύνει την επικοινωνία με τη βάση, από την άλλη επιτρέπει σωστό σχεδιασμό της εφαρμογής. Το performance μπορεί να μην είναι το καλύτερο δυνατό, αλλά θα είναι σίγουρα πολύ καλύτερο από το να τραβάει κανείς τα δεδομένα από τη βάση όποτε θέλει, μέσα από τις ίδιες τις φόρμες.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  28-09-2007, 15:15 35578 σε απάντηση της 35576

    Απ: ποιό εργαλείο object-relational mapping (ORM) ?

    Για τα εκτος Παρένθεσης, θα συμφωνήσω απόλυτα φιλε Παναγιώτη.

    Για τα εντός Παρένθεσης... δεν υπάρχει "σοβαρός" enterprise style developer που να σέβεται τον εαυτό του και να μην έχει διαβάσει το PoEAA. Είναι το ίδιο σαν να λέμε ότι ένας professional compiler hacker δεν έχει διαβάσει το dragon book...


    Palladinos Nick
    Software Engineer
    -----------------------
    The limits of my language mean the limits of my world. (Ludwig Wittgenstein)
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems