¿cómo seleccionar un framework de persistencia en java_ _ the soa 101 blog

Upload: fran-garcia-delgado

Post on 03-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    1/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 1/6

    The SOA 101 Blog

    Just another WordPress.com sitestay updated via rss

    Cmo seleccionar un Framework de Persistencia

    en Java?

    Posted: abril 11, 2012 in SOA en la vida Real2

    (http://soa101.files.wordpress.com/2012/04/persistencia.png)

    Hoy un amigo hizo una pregunta interesante sobre dos frameworks de persistencia en Java si observamosla imagen a primera instancia seguro dirn nos vamos por JPA, sin embargo siempre he pensado que unverdadero arquitecto toma su decisiones sustentndolas con racionales coherentes y viables desde luego enbase a su experiencia, conocimiento de las tecnologas y cuando no es as documentndose en ellas parapoder elegir la mejor opcin que beneficiara al proyecto. La persistencia no es un tema sencillo pero sidocumentamos y justificamos bien nuestra eleccin Managers, Diseadores, Desarrolladores, Pruebas ydesde luego nuestro Usuario lo van agradecer. Por eso les presento una serie de preguntas que nos debemoshacer cuando vamos a seleccionar un framework de persistencia en Java y evitarnos as historias de terror

    como Pojos de dos papas, El tipo de dato es CBLOB y no BLOB y esta chiva no lo soporta, Una vezgeneradas las llaves las cambiamos a BigDecimal, Demonios ya est en produccin y se cae etc., etc.Espero se tomen un tiempo para leerlo y claro les sirva como plantilla para documentar su decisin.

    Template para elegir un framework de Persistencia en Java

    Does the framework support ?Is the framework part of Java Platform Standard Edition(JSE)?Is there an open-source implementation?Does the framework support invoking arbitrary SQL Statements?

    Does the framework support batching multiple statements?Does the framework support automatic mapping of query data to Java objects?Does the framework support modifying queries independent of the Java code?Are there referenceable projects that have successfully used this framework?Is there a large pool of practitioners skilled in using this framework?

    http://soa101.wordpress.com/category/soa-en-la-vida-real/http://soa101.wordpress.com/http://soa101.files.wordpress.com/2012/04/persistencia.pnghttp://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/#commentshttp://soa101.wordpress.com/category/soa-en-la-vida-real/http://soa101.wordpress.com/feed/http://soa101.wordpress.com/
  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    2/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 2/6

    Is the framework distributed under GPL?Is the framework distributed under LGPL?Is the framework distributed under a license from Apache?Under what open-source licenses is the framework distributed?How is the framework distributed?How is the framework easy to use?What isolation levels are supported?How are they specified?

    Background

    Why is the framework is popular enough that you chose it to evaluate?

    Type of Framework

    What approach to persistence does this mechanism support?

    istory

    How did this framework evolve?

    Architectural Overview

    What are the basic components of the framework and how they interact?Show a high-level diagram that includes development tools and runtime servers.

    Standards Adherence

    What standards does this mechanism support?

    latforms Required

    What software and hardware platforms does this technology require for the runtime?

    Other Dependencies

    What other Java technologies are needed in order to use this one?

    Vendors and Licenses

    What vendors or open-source communities currently offer this framework?

    For each one listed, what kind of license is available?For each listed, how can you obtain a trial and/or production download?

    Available Literature

    What kinds of educational material and reference guides are available?

    Programming Model

    What is the programming model like in terms of components you have to develop and the language youuse for each?What is the lifecycle of a persistent object with respect to framework and application components?

    nitialization

    What kind of initialization is required to access the framework API within your service implementation?

  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    3/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 3/6

    Connections

    What kind of connection model is supported?

    Transactions

    What kinds of transactional control are supported by the framework?What isolation levels are supported?

    Create

    Describe the general approach to creating objects within the framework

    etrieve

    Describe the general approach to queries and object retrieval within the frameworkSpecifically,are dynamic queries supported?

    Update

    Describe the general approach to updating objects within the framework

    Delete

    Describe the general approach to deleting objects within the framework

    Stored Procedures

    Describe the general approach to invoking stored procedures within the framework

    Batch Operations

    Describe the general approach to supporting batch operations within the frameworkWhat kinds of update operations are supported in batch mode?

    Extending the Framework

    Describe any possible extension or plu-in points with brief examples of interfaces/APIs

    Error Handling

    Describe the general approach to handling exceptions in the framework.If possible, consider including aclass diagram showing the hierarchy in UML or your favorite notation

    ORM Features Supported

    How does the framework alleviate the object-relational impedance mismatch problem and make the lifeof the developer easier?Are there any ORM features that are unique to this framework for common problems like object identity(such as key generation) or the load-time paradox (navigating large collection relationships)?

    Objects

    Describe the general approach to mapping objects within the framework

    Inheritance

  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    4/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 4/6

    What types of inheritance does the framework support?

    eys

    What types of key attributes are supported?What key generation options are available? Specifically, does the framework offer key generationindependently of the underlying database(for example, generating a UUID)?What database-specific methods are supported?

    Attributes

    What types of attributes are supported?How are they mapped to the underlying database?

    Contained Objects

    What kinds of contained objects are supported?

    elationships

    What directionality of relationships does the framework support?What cardinality does the framework support?

    Constraints

    What types of constraints on attribute values does the framework support?Can the framework leverage underlying database constraints?

    Derived Attributes

    What types of computations are supported for derived attributes?Does the framework support derived attributes that operate on properties from more than one (related)object?Does the framework support derived attributes that represent operations across the elements of acollection?

    Tuning Options

    How does the framework make tuning at runtime easier without requiring code changes?Are there any tuning features unique to this framework?

    Query Optimizations

    What approaches to optimizing queries are supported that do not require changing the Java code?For example, is it possible to change the number of rows returned by a query?

    Caching

    What kind of caching strategies are enabled by the framework?For example, does the framework have its own single JVM cache that can be configured?How do you handle cache invalidation?

    Does the framework support integration with a third-party distributed cache?If so, show how that would be done within the framework

    Loading Related Objects

  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    5/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 5/6

    What support does the framework provide for hydrating objects related to the target?Does the framework support lazy loading such that specific related objects can be declared to beloaded only when explicitly referenced in the application code?Does the framework support prealoading such that specific related objects can be declared to beloaded at the same time that referencing objects is loaded (which usually results in a join operation onthe database)?

    Locking

    Describe the general approach to configuring locks on objects independently of the Java code.What Kinds of configurable locking strategies are supported?Show how each would be enabled within the framework configuration optionsDoes the framework support ordering of operations outside of the code to minimize deadlockconditions?If so, show how this is done through configuration options

    Development Process for the Common Example

    Are there any development steps that are simplified by or unique to this framework?

    Defining the Objects

    Describe any steps needed to map the Java objects to the underlying relational storesSpecifically, are there any specific tools that need to be run?If so, show when and how they get invoked

    mplementing the Services

    Describe any special considerations for implementing services that are unique to this framework that

    may limit their portability

    acking the Components

    Describe any special considerations for packaging the code components and the configurationcomponentsAre there any specific naming or project/directory structure conventions that need to be followed?Are there any special tools that need to be run to compile or bind components?If so, show when and how they get invoked

    Unit Testing

    Describe any approaches unique to this framework for handling unit testing

    Deploying to Production

    Describe any approaches unique to this framework for deploying the applications to productionSpecifically, are there features that make it easy to move from a system test to production environmentwith little or no configuration changes?Are there any special tools that need to be run?If so, show when and how they get invoked

    Comentariosodraudek99dice:abril 11, 2012 en 9:27 pm

    About these ads (http://en.wordpress.com/about-these-ads/)

    http://en.wordpress.com/about-these-ads/http://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/#comment-3
  • 7/28/2019 Cmo seleccionar un Framework de Persistencia en Java_ _ The SOA 101 Blog

    6/6

    07/04/13 Cmo seleccionar un Framework de Persistencia en Java? | The SOA 101 Blog

    soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/ 6/6

    Tu participaste en decidir usar JPA para npo?cmo evalas esa eleccin?

    Responderallan dice:abril 11, 2012 en 11:19 pm

    No, al principio me comentaron que la propuesta era Hibernate sin embargo debido el frameworkpropietario que se planteo solo tena soporte de JPA y JDBC . Creo que JPA fue buena eleccin ya que el

    modelo de datos no era heredado y esto fue en OLTP (Online) para el procesamiento Batch la opcin eraJDBC.

    Responder

    Blog de WordPress.com. | Tema Greyzed por The Forge Web Creations.

    This ad is supporting your extension ruul (screen ruler): More info | Privacy Policy | Hide on this page

    http://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/#http://chrome-extension//mlbnpnlmfngmlcmkhjpbfokdphfehhjj/support/pages/privacy_policy.htmlhttp://chrome-extension//mlbnpnlmfngmlcmkhjpbfokdphfehhjj/support/pages/adoptions.htmlhttp://theforge.co.za/http://theme.wordpress.com/themes/greyzed/http://es.wordpress.com/?ref=footerhttp://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/?replytocom=4#respondhttp://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/#comment-4http://allanxoch.wordpress.com/http://soa101.wordpress.com/2012/04/11/como-seleccionar-un-framework-de-persistencia-en-java/?replytocom=3#respondhttp://ams1.ib.adnxs.com/click?JCh-jLlrmT8kKH6MuWuZPzMzMzMzM8M_JCh-jLlrmT8kKH6MuWuZP-PzWwLXn51kaDvmu-jNNUAmSGFRAAAAAFNWEgAdAgAAHQIAAAIAAACk7FAAfEIDAAAAAQBVU0QAVVNEANgCWgBY9AAAJ2kAAQMCAQIAAIQAxyIM-wAAAAA./cnd=%215AW8NAjim0MQpNnDAhj8hA0gBA../referrer=http%3A%2F%2Fus-ads.openx.net%2Fw%2F1.0%2Fafr%3Fauid%3D364562%26cb%3D1851557499/clickenc=http%3A%2F%2Fus-ads.openx.net%2Fw%2F1.0%2Frc%3Fts%3D1fHJhaWQ9YTFlNTVhNDAtOTc5MS00YjdjLTgzMmEtODRiMTJjOWEzNTU1fG1wZj0xMHxhdWlkPTM2NDU2MnxtcGM9VVNEfG1wcj0yMHxtcG5mPTEwfGFpZD0xNTEyMDB8bXdjcj0xNTEyMDB8bXJ0PTEzNjUzMjk5NTh8bXdwPTE5MjEyMHxtd2M9NjA4NzB8bXdiPTIwfG1jPVVTRHxwY3Y9NnxvaWQ9NjA4NzB8bWE9NjFjMDRhNGQtYjNkOS00ZDQ3LTgyNWItN2NmYjhjNmU0YjYwfG1hcD0yMHxtd2E9NzY4fGFkdj02OTN8c2lkPTc5OTc1fGVsZz0xfG1vYz1VU0R8bXI9MHxtdWk9MDM1ZDM2MWUtMWYwMC00YzhmLThhMDYtYjA3YzM4NDNjYmM1fG13Ymk9Njk4NXxtPTF8cHViPTcyMjU1fGxpZD0xOTIxMjB8YWk9NzcxNGM2MGQtNTExNS00MGFhLTg4MWItNDM4N2M5OWJhZGJmfHQ9NHxtb3I9MHxyaWQ9ZjRjY2ZkZTktYmNhNS00Y2I0LWJjODctNzk5MmE3YjM3NzZjfGNrPTF8cD0yMHxwYz1VU0R8YWM9VVNEfHBtPVBSSUNJTkcuQ1BNfHJ0PTEzNjUzMjk5NTh8cHI9MjB8bXJjPVNSVF9XT04%26r%3Dhttp%253A%252F%252Fbub.px.invitemedia.com%252Fpixel%253FreturnType%253Dredirect%2526key%253DClick%2526b%253Doho13.ovq.wiz.cebq2%2526message%253DeJwNzcsKwjAQheF3OessJknTxqyLRdCRekHiC1imbdy0FBHf3dl.P4fzhUUCy15O7WXgrl.y8Hi.Ej3b3h9vrw8_Dgs7nrMMwvOdsuQNBgHJWoMGycVoawOnQAY1UohV3QQDr.RcIL_T7PVmLWN5b0XXFVJZp0lZ3ZGN5H9_dWQkKw--%2526redirectURL%253Dhttp%253A%252F%252Fmedicalnewsreporter.com%252F%253Fl%253Des%2526aid%253D3028%2526ac%253Dspain%2526cid%253Dslim-fat-guy