Tuesday, February 19, 2008
[Arch] Lazy O/R Mapping
Posted by
Alexander Schatten
at
Tuesday, February 19, 2008
0
comments
Categories: Architecture, Java, Open Source, Persistence
Monday, February 11, 2008
[Misc] Global Warming and the SE Power of Ten
Now the consequence is, that power consumption by IT (servers) increased dramatically over the last years, ars technica writes, that US servers meanwhile consume more power than color tv nationwide and the energy consumption is doubling every 5 years (!). Meanwhile even companies like Google realized that facts and initiate research in the field of renewable energies.
And particularly the latter is of importance: These days we tend to think of operational costs, CO2 emission and energy use in operation. However, most of the energy is consumed before the device, the server gets into operation by manufacturing it. So whenever we can avoid a new server, we should!
I must confess, that I have not more ideas at the moment, but I wanted to get this issue out, hoping for some interesting ideas and reactions from the reader.
Posted by
Alexander Schatten
at
Monday, February 11, 2008
1 comments
Categories: Green IT, Miscellaneous
Monday, February 04, 2008
[Tech] About Google Android: Old Wine in New Skins?
To give the quick answer immediately, I don't thinks so.
Liberté
The concept of Android is in my opinion directly targetting the typical mobile-phone concept, where network carriers pretty much define the functionality of the handset. This was and is IT in cuffs and was a reason why hardly useful mobile applications and user interfaces existed. The new systems (not only Android, there are others like Open Moko) could change the game. A mass of developers could finally discover the mobile platform and develop innovative applications.
I personally think that this openness is also a chance for usage in developing countries, where mobile phone penetration typically is much higher than PC usage. Cheap, and locally produced Android handsets could provide richer access to information resources compared to conventional mobile handsets.
Egalité
Interestingly this seems to be a concept feared by Apple (iPhone) and other companies, however, IT history showed, that locked up systems were hardly capable to bring innovative solutions. Let's wait and see if this concept will work or not, I am personally optimistic.
Fraternité
Communication (between applications) is a core part of the concept. I like particularly three aspects:
- Activities and Intents: An Activity is e.g. a screen that interacts with the user. The interaction is actually expressed by an intent. Now the nice thing is, that these intents can use late-binding over applications. That means: If a user clicks e.g. on a telephone number in the address book the intent "dial phone" is initiated, however, which application "processes" this intent can be decided in the runtime configuration.
- Rich persistence and communication APIs including a relational database, a key/property store, network access, XMPP (Jabber) libraries and so on.
- Content Providers define interaction and data access between applications.
This means specifically that it is not possible to use .class or jar libaries directly on Android. This does not work by two reasons (1) as mentioned, Dalvik cannot use .class files, these have to be converted to .dex files e.g. with the dx tool from Google. (2) The Dalvik VM implements only a subset of the Java 2 SE library.
From the developers point of view, Google provides a quite good documentation, command line tools and Eclipse plugins including Hardware emulators for different types of mobile phones. I also suggest to check the Android Developer challenge!
Posted by
Alexander Schatten
at
Monday, February 04, 2008
0
comments
Categories: Architecture, Java, Open Source, Technology
Friday, February 01, 2008
[Tech] Maven as standard build tool?
We still use Maven 2 as standard build system in our company and make profit in many areas:
- Company based settings
- Company repository, including 3rd party libs and inhouse components --> No more jars in our SVN
- Repository was set up with Artifactory
- Dependency management
- Documentation
- Integration tests and their documentation
- All projects have the same structure
- Continuous integration
- Major Open Source projects are based on Maven and many of them will migrate to maven in near future
- There are a lot of plugins and you can write your own plugins
- Archetypes, providing a basic structure for your projects or component development.
Posted by
Markus Demolsky
at
Friday, February 01, 2008
0
comments
Categories: Java, Open Source, Technology
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
