Wednesday, January 30, 2008
[Java] Introduction to Wicket
Posted by Markus Demolsky at Wednesday, January 30, 2008 0 comments
Categories: Java, Open Source, Technology, Web Development
[Java] SpringSource acquires Covalent Technologies
Posted by Markus Demolsky at Wednesday, January 30, 2008 0 comments
Categories: Java, Open Source, Technology
Tuesday, January 22, 2008
[Arch] Consistency Rethought
He quotes also Eric Brewer with his CAP theorem:
"Eric presented the CAP theorem, which states that of three properties of shared-data systems; data consistency, system availability and tolerance to network partition one can only achieve two at any given time."
Btw.: during VLDB 2007 we had the opportunity to interview Werver Vogels and Eric Brewer to very similar topics. Check out the blog article (Interview with Vogels, Interview with Brewer, and get the audio!
Posted by Alexander Schatten at Tuesday, January 22, 2008 0 comments
Categories: Architecture, Persistence
Monday, January 21, 2008
[Misc] Design or Platform skills?
Martin Fowler writes in his last blog article:
"Imagine a hiring situation. There's two candidates both with a few years of experience. In the blue corner we have someone with good broad design skills in the style of design that you favor [...]. However she knows nothing of the particular platform technology that you're using. In the red corner we have someone who has little knowledge (or interest) in those issues, but knows your platform really well - edge cases in the language, what libraries are available, fingers move naturally over the tools. Assume all else about them is equal (which it never is except for thought experiments like this) and that your team doesn't have any gaping holes that this candidate might fill. Which one would you prefer?"
Am I naive here?
Posted by Alexander Schatten at Monday, January 21, 2008 1 comments
Categories: Architecture, Miscellaneous, Modeling
Friday, January 18, 2008
[Java] Generic Data Access Objects with Java Generics
public interface GenericDao{
public T saveOrUpdate(T entity);
public void delete(T entity);
public T findById(ID id, boolean lock);
public ListfindAll();
public ListfindByExample(T exampleInstance);
}
public class HibernateGenericDaoextends HibernateDaoSupport implements GenericDao {
private Classtype;
public HibernateGenericDao(Classtype){
this.type = type;
}
@Override
public T saveOrUpdate(T entity) {
getHibernateTemplate().saveOrUpdate(entity);
return entity;
}
@Override
public void delete(T entity) {
getHibernateTemplate().delete(entity);
}
@Override
public List findAll() {
return getHibernateTemplate().loadAll(type);
}
@Override
public List findByExample(T exampleInstance) {
return getHibernateTemplate().findByExample(exampleInstance);
}
@Override
public T findById(ID id, boolean lock) {
return (T)getHibernateTemplate().load(type.getClass(), id);
}
}
If you need domain specific DAO operations extend the Generic DAO!!
Hope this blog impresses you to take a look to Java 5 Generics and Generic DAOs.
Posted by Markus Demolsky at Friday, January 18, 2008 1 comments
Categories: Architecture, Java, Open Source, Persistence, Technology
Thursday, January 03, 2008
[Event] Berlin / March: Object Database Conference
Let me wish you a happy new year and welcome this year with a little announcement:
On 13+14th March there will be an Object Database Conference in Berlin.
So you might think: Well I am in love with MySQL / Hibernate and I have understood the relational data model. That's pretty perfect and you might have a wonderful solution at hand that suites pretty well in most cases.
But as an advanced Software-Engineer you should consider the following:
- You should know the entire persistence space. Are XML Databases as Tamino, eXist, or Xinidce important? Yes they are! Are Object Databases important to fit perfectly in specific areas? Believe me: they are, they do. The conference will help to clarify this and lets you play the entire persistence keyboard.
- Did you know that some of the largest and fastest databases are run on ODBMS (Obejct Database Management Systems)? Did you know that on the other hand embedded object databases can be found everywhere? And did you know there is a smarter and mostly faster database on Google Android then SQLite?
- And for the Software-Engineers reading this:
a) Add a simple Object Cache to your application using ODBMS. It's really trivial.
c) You need to test your Business Code? You use Mock-Objects generated by jMock, asyMock or *Mock? You sometimes want to write a mock without the database connection? Use an object databases plugged in your mock to provide your mock with arbitrary domain objects to test with.
To conclude: We hope that these examples gave you lots of arguments to join the ICOODB.org conference, spread the word about ICOODB.org or get in touch with us.
Any questions? Please write a comment here or get in touch with us:
info[at]icoodb[dot]org
And perhaps CU in Berlin!
Posted by Prof. Dr. Stefan Edlich at Thursday, January 03, 2008 0 comments
Categories: Conference, Event, Persistence