BeanKeeper 2.3.1
Sponsored Links
BeanKeeper 2.3.1 Ranking & Summary
File size:
1.1 MB
Platform:
Any Platform
License:
GPL v3
Price:
Downloads:
811
Date added:
2007-08-04
Publisher:
Robert Brautigam
BeanKeeper 2.3.1 description
BeanKeeper project was formerly called "Simple Persistence for Java" and is a full featured, powerful object/relational persistence and query library for Java.
Philosophy
Java enterprise software, and according to some, the Java language itself tends to go in the direction of extreme softcoding, or at least, in the direction of additional complexity. Weve seen it happen with the EJB framework, and more recently, the Java Server Faces.
That does not need to be so! Other Java persistence frameworks such as Hibernate, TopLink or pBeans already are catching up to the philosophy of simpleness over "abstractness", however, we think there are more steps that can be taken in this direction.
From a developers point of view, especially in a high-level language such as Java, it is a sane assumption, that I do not have to (do not want to) get into the gory details of storing an object, I do not want to hold the databases hand on how to store my object, I do not want to tell it how to create approriate tables, columns, indexes, how to join tables, how to manage connections, how to allocate disk space, how to optimize queries, etc. I assume a "database" as such, should know how to do that without my help, thats why its called "database".
So the point is, a good library should not get in the programmers way, but adapt to the usage of the programmer, and adapt to patterns commonly used. This is what BeanKeeper tries to do. You dont need to (and you cant even) tell it how to store objects, it simply does. You dont need to specify the schema, relation model, id/key attributes, fetching algorithms, database dialect, or anything like that, you can focus on writing the business logic.
Implementation
So how does all this philosophy stuff translate to a persistence software library? The library is not only supposed to handle all low-level database operations transparently, but also some of the more high-level functions. This must be done in order to enable the developer to concentrate only on writing logic.
Main features:
- Simple usage, which is possible with learning only 3 methods, and reading the tutorial.
- Zero-configuration. Nothing needs to be configured, only the database url is needed for the library to initialize.
- Scalability. The library is capable of distributed operation, from virtually unlimited nodes.
- Relations like references to other objects, Lists, Maps, Sets, Collections are handled 100% transparently by the library.
- Large result sets are automatically paged! Paging is 100% transparent, so a million-record result list can be given directly to the presentation layer, without caring for memory usage and database load!
- Transactions are always serializable. Meaning: during a transaction nothing can influence the result of queries from outside the transaction. This practically means, a programmer does not have to care about other transactions possibly influencing the logic inside his transaction.
- Full (transparent) polymorphism support ensures that (most of the time) the library does not get in the way of the programmer. The model is persisted just in the way the programmer expressed through inheritence, and is recalled with all the attributes of polymorphism.
- A custom, object oriented query language ensures, that no complicated SQL needs to be written.
- Scalar query support enables view-centric, more efficient data recall.
- Real portability between databases. BeanKeeper hides all database specific behaviour from the programmer, like: null value handling, empty strings (oracle), case sensitive and insensitive searches, reserved names, etc. That means, one can switch between database implementations, and can assume that (with the exception of a few documented cases) the software build upon the library will continue to work.
Enhancements:
- All known bugs were fixed.
- Primitive type handling was enhanced, so container types (Set, List, and Map) can now contain boxed primitive types too.
- This also means that JDK5 generics are now handled correctly. List member attribute implementation was corrected, so it preserves ordering and can contain duplicate objects.
- The library was relicensed to the LGPL v3.
Philosophy
Java enterprise software, and according to some, the Java language itself tends to go in the direction of extreme softcoding, or at least, in the direction of additional complexity. Weve seen it happen with the EJB framework, and more recently, the Java Server Faces.
That does not need to be so! Other Java persistence frameworks such as Hibernate, TopLink or pBeans already are catching up to the philosophy of simpleness over "abstractness", however, we think there are more steps that can be taken in this direction.
From a developers point of view, especially in a high-level language such as Java, it is a sane assumption, that I do not have to (do not want to) get into the gory details of storing an object, I do not want to hold the databases hand on how to store my object, I do not want to tell it how to create approriate tables, columns, indexes, how to join tables, how to manage connections, how to allocate disk space, how to optimize queries, etc. I assume a "database" as such, should know how to do that without my help, thats why its called "database".
So the point is, a good library should not get in the programmers way, but adapt to the usage of the programmer, and adapt to patterns commonly used. This is what BeanKeeper tries to do. You dont need to (and you cant even) tell it how to store objects, it simply does. You dont need to specify the schema, relation model, id/key attributes, fetching algorithms, database dialect, or anything like that, you can focus on writing the business logic.
Implementation
So how does all this philosophy stuff translate to a persistence software library? The library is not only supposed to handle all low-level database operations transparently, but also some of the more high-level functions. This must be done in order to enable the developer to concentrate only on writing logic.
Main features:
- Simple usage, which is possible with learning only 3 methods, and reading the tutorial.
- Zero-configuration. Nothing needs to be configured, only the database url is needed for the library to initialize.
- Scalability. The library is capable of distributed operation, from virtually unlimited nodes.
- Relations like references to other objects, Lists, Maps, Sets, Collections are handled 100% transparently by the library.
- Large result sets are automatically paged! Paging is 100% transparent, so a million-record result list can be given directly to the presentation layer, without caring for memory usage and database load!
- Transactions are always serializable. Meaning: during a transaction nothing can influence the result of queries from outside the transaction. This practically means, a programmer does not have to care about other transactions possibly influencing the logic inside his transaction.
- Full (transparent) polymorphism support ensures that (most of the time) the library does not get in the way of the programmer. The model is persisted just in the way the programmer expressed through inheritence, and is recalled with all the attributes of polymorphism.
- A custom, object oriented query language ensures, that no complicated SQL needs to be written.
- Scalar query support enables view-centric, more efficient data recall.
- Real portability between databases. BeanKeeper hides all database specific behaviour from the programmer, like: null value handling, empty strings (oracle), case sensitive and insensitive searches, reserved names, etc. That means, one can switch between database implementations, and can assume that (with the exception of a few documented cases) the software build upon the library will continue to work.
Enhancements:
- All known bugs were fixed.
- Primitive type handling was enhanced, so container types (Set, List, and Map) can now contain boxed primitive types too.
- This also means that JDK5 generics are now handled correctly. List member attribute implementation was corrected, so it preserves ordering and can contain duplicate objects.
- The library was relicensed to the LGPL v3.
BeanKeeper 2.3.1 Screenshot
BeanKeeper 2.3.1 Keywords
BeanKeeper
BeanKeeper 2.3.1
Java
query library
Full featured
For Java
library
database
persistence
query
full
programmer
BeanKeeper 2.3.1
Database APIs
Database
Bookmark BeanKeeper 2.3.1
BeanKeeper 2.3.1 Copyright
WareSeeker periodically updates pricing and software information of BeanKeeper 2.3.1 full version from the publisher, so some information may be slightly out-of-date. You should confirm all information before relying on it. Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future development of BeanKeeper 2.3.1 Edition. Download links are directly from our publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed
Featured Software
Want to place your software product here?
Please contact us for consideration.
Contact WareSeeker.com
Related Information
library supplies
database programs
internet movie database
public library
librarything
database development
database software
library of congress
full featured version
library video company
imd movie database
national library
persistence poster
database tutorial
what is a database
ipswich public library
library prank
sql query library
Version History
Related Software
Berkeley DB, the most widely-used developer database in the world. Free Download
DB_DataContainer is a PEAR compliant database persistence layer and data encapsulation class. Free Download
iBATIS provides flexible means of moving data between your Java and .NET objects and a relationaldatabase. Free Download
Eidetic is a middleware library for creating database applications in Perl. Free Download
Cayenne is a free object-relational persistence framework written in Java. Free Download
NetBeans IDE is a full-featured integrated environment for Java application developers. Free Download
Japha is a free, open-source API for php. Free Download
Jurpe is a Role Playing Engine. Free Download
Latest Software
Popular Software
Favourite Software