Adam Bien's Weblog
Addtional Session - GreenFire BOF at JAX
Because of high demand, and many open questions, I will give an additional talk about GreenFire, the Audience Award Winner and 4th prize JAX Innovation Award:
Why it is easy to save energy?
Why Groovy is cool? (actually hot in the context of GreenFire :-))
How GreenFire saves energy.
Is my heating Java-enabled?
Heating and JavaFX.
Why SunSPOTs are useful?
Can you heating speak:-)?
Clustering Technology (Shoal) in a heating system.
Why a washmachine cable was sacrificied.
Why mocking leads to >65000 degrees Celsius.
...and why Ruby On Rails was too complex, and Java EE 5 (Glassfish) just right :-)
Next steps - and new ideas - and Enter The Matrix
After a short introduction to the domain of heating systems :-), I will try to answer this and your questions as well in the BOF / Session (Thursday: 24.04.2008): in Saal 12 BC, 15:15 - 16:15.
Posted at 10:55AM Apr 24, 2008 by Adam Bien in Java EE 5 Architectures And Idioms | Kommentare[2]
[This entry is based on / extends my books: Enterprise Architekturen, Leitfaden fuer effiziente Software-Entwicklung and: Java EE 5 Architekturen, Patterns und Idiome]
GreenFire 4th Prize at JAX Innovation Award and Audience Award - and the answer to a most FAQuestion
GreenFire.dev.java.net - "the pure Java EE 5, intelligent heating regulator" won the 4. prize (1000€) and Audience Award (1000€) - what is a nice surprise. However, I spent already the money - ...and donated it to "Doctors Without Borders". So hacking Java EE 5 is not only good for the environment, but other stuff as well :-). The event at the JAX was really nice, I'm already looking forward to my RIA and Java 6 update 10 Session and Pragmatic Java EE 5 Workshop tomorrow (Fiday 24.04).
The question "Is GreenFire heating system dependent?" and "How is it possible to integrate a heating system?" was asked several times. The whole heating system is abstracted by just one interface (in the HeatingControlIntegration project - it is already checked-in):
public interface ParadigmaAccess {
public float getExternalTemparature();
public float getInternalTemparature();
public float getTPU();
public float getTPO();
public float getTWO();
public int getTagesGewinn();
public float getMomentaneLeistung();
public float getTWU();
public float getTSA();
public float getTSAMax();
public int getGesamtgewinn();
public void setHeatingMode(HeatingMode mode);
public HeatingMode getHeatingMode();
public void close();
}
The implementation of the class is the "driver" and actually heating dependent. In my case it talks via a COM-Interface with the heating. The COM-Interface is the maintenance port of the system. Most of the modern heating systems have such an interface. I will clean up the interface in the next time (and translate the method names to english). If your heating has a COM-Interface as well, you will be probably able to reuse some communication code as well. ...stay tuned for updates.
Posted at 10:35AM Apr 24, 2008 by Adam Bien in Java EE 5 Architectures And Idioms | Kommentare[1]
[This entry is based on / extends my books: Enterprise Architekturen, Leitfaden fuer effiziente Software-Entwicklung and: Java EE 5 Architekturen, Patterns und Idiome]


