Java One - day 3
08/05/08 18:17 Filed in: Java
Intel keynote
Sun's JVM on xeon processors run much faster now. Their smallest processors are tiny tiny tiny. He showed a chemistry tube filled with 1000 chips. Impressive.They have also launched an open source thing for creating mobile application platform.
Extending Swing: Creating Your Own Components
- Do your home work before you start - often not needed.
- timingframework.dev.java.net
-> Possible to set acceleration, deceleration, time for animation and you will get a callback with values. Nice.
Extending Swing: Creating Your Own Components
- Friction + Focus =
- Friction + Distraction =
- Now the commit is linked with the task.
- Possible to share task contexts.
This project now looks very mature. I'd love to use it in a project now. The integration is smooth and quick.
Converting (Large) Applications to OSGi
- Modularization in Java Apps (broken).
- Key features of OSGI:
- Can have multiple versions of libraries in your application as long as one bundle (jar) got just one version. A bundle canot communicate with some other bundle if they have different versions of a given file in their API.
- Integrating with Legacy Code.
- This is hard. Coupled code are difficult to tease appart.
- Analyze find out what you have.
- Lot of existing libraries got OSGI metdata. (Apache, Eclipse, Codehaus Groovy)
- Maven Bundle plugin.
- SpringSource Enterprise Bundle Repository.
- Nice tool - bnd to analyze dependency.
- Strategy:
- "How do you eat an elephant" - "One piece at at time".
- "Use all libraries into one bundle" - super size - use bnd.
- Gradually replace the dependent jars with bundles.
- Several applicaiton modles for OSGi:
- Spring-DM
- Apache iPOJO
- Service Application Toolkit
- OSGi Declarative Services.
- What to put into your bundle.
- Pure functions, msall, reduces number of dependencies, high cohesion.
- When to refer to a library:
- External API, Implementation can differ, very large library, reduces size because of sharing.
- HINT: Don't do classloading - OSGI does it better.
- Building is important part - good support in Eclipse.
- Pitfalls:
* Too much at once.
* Dynamic class loading. Get rid of custom classloading.
* Watch out for usage of Class.forName
* Use Services.
* "Containerisms" - Don't become depenendt on a specific OSGi implementation.
Conclusion
- OSGI is good (surprise
Composite Application Design Patterns
- Consider use international standards for data types.
- Use a domain model to hide web-service details to protect your business layer.
- Needs a government process.
- Provide compensation service for providing undo functions as web-services often does not provide transactions.
- Pattern for handling with several services without transaction - create a couple of checkservice calls prior to doing the actual update service. (Lower chance of failure and need of compensation call.)
...this lecture turned out to be so boring that I left - these guys were reading off the slides, and I have those...
Pimp My Build: 10 Ways to Make Your Build Rock
- Cool - grep build and send IM messages or similar to you. (Growl notify on mac)
The rest was old stuff, not bad stuff, just old stuff.
BOFS
Writing the next bestselling Java book
This was a good and entertaining lecture, not particularly Java centric, but interesting still. The tips for writing books was that: They take lots of time and you must really want to write it. The descriptions of the writing process reminded me really a lot of how it was to complete my thesis...
There was also present the authors of Head first Java. They talked about how we learn, and what kind of learning people do, and how regular books not triggering the correct learning responses. (They make you feel stupid, instead of making you feel good).
Are there any point to standards when we got Open Source
This wasn't really a BOF - a nice lecture giving points of why standards has been and are a vital part of socity. The speakers point was that for some stuff, more or less all engineered stuff, standards are crucial. And if you want to play with the big boys, you would need the standards. Not very debatable really - though he didn't have any really good answers to Design by committee question. He pointed out that there will always be negotiations and a risk that a standard turns out to be the lowest part that anyone could accept.
Now, as a developer, I do find standards important. I make use of several daily, but I must say that it is a problem that there is a standard for about anything - in his slides he talked about standard for dark chocolate. So this got me thinking - what kind of standards am I not reading that I should be reading. Is there anything that should have been using standards in what I program? And is it worth the hassle....
The Java Posse
They were fun tonight. As the previous Java One podcast, they asked for some statistics - today they got a funny twist to them. After that there were news and some time for QA. Nice questions were asked. I quietly handed some Norwegian chocolate to Tor - hopefully they'll enjoy it
|