¿cómo seleccionar un framework de persistencia en java_ _ the soa 101 blog
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