Robby's profileRobby van DammePhotosBlogLists Tools Help

Blog


    December 14

    Javapolis: Project Tango/Metro

    What: an interoperability stack for Java - .NET3.0/3.5

    What's in it:

    • Web services with reliabiltiy (guaranteed delivery/order of delivery)
    • Transacted services
    • Security (meaning more than SSL)

    It's built for Sun's GlassFish appserver, but runs in Tomcat too.

    Microsoft already released .NET 3.5 with the latest version of the spec.  Sun is expecting to release somewhere in June.

    Good work, but little chance I'll be using it soon...

    More info on:

    https://metro.dev.java.net/

    Javapolis: unitils

    A presentation with a few answers to real world problems: nice!

    I'm not going to copy the documentation of unitils (http://www.unitils.org/) here, but do would like to point out one recommendation:

    If you want to have efficient datadriven tests, then you should disable your foreign keys and not null constraints...

    Not a stupid idea - I'm going to try this out.

    Javapolis : Scrum at Flanders Tourism/BMW

    These 2 talks explained practical experiences with a project using Scrum.

    Tip for (at least one of) the speakers: don't read your text from a piece of paper.

    Having had some Scrum experiences myself, I'll stick to the things that were worthwhile writing down here:

    • Achievement is not the same as activity (personally I prefer "doing your best is not the same as having success", but I guess that's a matter of personal flavor
    • Sprint backlog with 4 cols: todo, in progress, funct test, done (we didn't use the functional test stage)
    • use a burndown graph to maeasure progress
    • determine your velocity to  estimate/ follow progress
    • organize sprint retrospective meeting (no more than 90 min)
    • do the scrum meeting standing (some people aren't gonna like this one ;-)
    • Play planning poker to estimate, using the technique of story points and only fibonacci numbers (are a perhaps a variation?)
    • If you can't estimate (SPIKE requirements): organize a poc to be able to estimate afterwards
    • try to automate functional tests (Selenium framework for web apps - I'm definitily going to try this)
    • non-dedicated resources decreases efficiency (I've this happening too often...)
    • scrum master does the fire fighting, especially in the first sprints (well, what should I say - if it's only a few sprints, that's GOOD)
    • Putthe team together (I agree, this really works)
    • SCRUM does not solve your problems, it only makes them visible (but you must be willing to see)
    • Scrum doesn't mean you don't document, it means documenting in a smart way
    • Empower the team and take a distance (beware: the team must be ready for this)

    Javapolis : Dependency management

    This guy knew what he was talking about.

    Why the hell do something about dependency mgmt?

    • be able to replace components with minimal effort
    • better quality (dependencies result in bugs)
    • enable faster change  of the product

    Tools can help:

    • textual/graphical analysis tools don't really help (not usable)
    • what does work: DSM (Dependency structure matrix).
    • The DSM tool in IntelliJ IDEA looked impressive : scales well, looks good

    How to organize DM:

    -> Define the rules and make sure everybody sticks with them !

    What can you do about them once you know you have them:

    • move code
    • extract interfaces/superclasses
    • copy (may be ugly)
    • pull members up
    • introduce parameters
    • replace constructors with factory methods
    • Service locator design pattern
    • Use inversion of control
    • Dependency injection

    I have my concerns about these last 2: you still have the dependencies, but instead of having them at compile time (in code) you have them at runtime (eg in xml when using Spring)

    Javapolis - SOA JBossESB

    Not a bad talk. this is what I took away from it:

    • SOA is technology agnostic
    • SOA is about loose coupling, not about distributed RPC
    • SOA infrastructure should support/encourage SOA principles
    • The ESB glues other technology together, allowing an incremental approach to SOA. Don't try to do a big bang!

    It was a first view of JBossESB for me.

    Apparently it's a combination of several tools (not uncommon with ESB's): Brools, JBoosWS, JBossTS, JBossMessaging en JBPM

    It's nice that it can run in the JBoss appserver, but also in other appservers.

    All in all, my impression (not based on detailed research) was that the product is not very mature yet. Illustrating this:

    • failover/clustering technology is still under construction
    • whole modules are scheduled to be rewritten/drastically improved next year.

    Compared to another ESB that I know a bit better (Sonic ESB), this product seems to be not of the same standard (yet)

    Javapolis: Evolving agile

    Presentation by Scott Ambler

    I've been interested in/using agile techniques for several years now, so it was fun to hear somebody with an open view commenting on the current state of things.  This is what I took away:

    • Agile seems to be getting mainstream.
    • Co-location improves chances of a succesfull project, and offshoring decreases those chances.  This probably doesn't mean you shouldn't offshore, but that there's work to be done.
    • Agile allows to change what determines 'success': it doesn't have to be "on time - on budget',  but could be eg best quality - best ROI - etc.  You should ask your stakeholders this question before you start
    • Agile doesn't really say anything about the lifecycle outside the development part, but you have to do these things! (setting up the project, deploying, migrating, running production, etc).  We should think about this!
    • Scaling Test driven dev: only does the details, but not the global picture. What about modeling, business tests, usability tests, integration...?
    • What about agile documentation?
    • How to handle the data in agile? How to apply the agile techniques to the database ! www.agiledata.org.  He really has a point here: developers should know what a db can do and use those features when applicable!
    • lean development governance - www.ibm.com/developerworks.  Enable motivation of people by making things simple. There's many more on the site - boy, this guy knows what he's talking about....
      "the site might give you some ammo to steer things in the right direction' I want to have that document and forward it to my boss ;-)

    Javapolis: location based services

    This one took a bad start : It took 20 minutes before the first speaker finished to get past the blabla explaining what his company is doing.

    The second part about 'location technologies' was a quite interesting.  Some stuff to remember:

    • If you want to get a location inside a building, GPS doesn't cut it. You can use info from the mobile phone network to get a location based on the network cells.
    • JSR-179 : can be implemented for both mechanisms
    • Microsoft has a slightly deviating mechanism in Windows Mobile
    • OMA: location deterministic services standars
    • OGC provides API's to use GIS geospatial web services (over XML/HTTP) - map rendering, geocoding, routing, POI searching for usage by developers
    • AutoDesk has an open platform that implements these api's
    • JRS-293: not finished yet, will provide a standard API

    Pricing of the Autodesk services/Navteq data: free for dev/demo purposes!

    December 12

    Javapolis: GWT

    From the 'beginners' talk on GWT (Google web toolkit) I remembered following:

    • GWT compiles Java into javascript
    • It features built in API's to access the DOM, the browser history, etc
    • Speed was clearly a design priority
    • Support for internationalization/CSS
    • Support for most mainstream browsers: IE, Safari, Opera, Mozilla

    The demos were a bit unclear.  I guess I'll have to play with it a little to figure out if it's any good.

    Javapolis: SOAPUI

    The presentation on SOAPUI was a showcase of the main features of SOAPUI 2.0 Pro:

    • Inspect/invoke features (the table view looks handy to see data in a response in a tabular format)
    • Functional test scripts, incl data definition, asserts (technical and content)
    • Coverage overview to provide reports about how well your tests cover the SOAP contract
    • Mock services: allow you to quickly generate stubs for the real services
    • Refactoring support: to be able to update your test whenever the service contract is updated
    • Scripting support with Groovy
    • Load testing: basically by running the functional tests with a simulated amount of users
    • The test tools can be integrated with maven/ant or via the command line into a continuous integration environment.

    All in all not a bad presentation: many of these features could be very helpfull when building web services (even when built on another platform e.g. .Net)

    Javapolis 12/12

    After several attendances of Microsoft's TechEd fair, this year it's time for something different: Javapolis.  As I've been involved in a Java project in the last year, it was about time to have a look "on the other side".

    First up today was the keynote speech.

    Mr. James Gosling, who appears to be a famous dude in the Java world, informed us about the current state of the Java world.  All in all, I didn't find it too interesting: too much lists of stuff and too little "why".
    Nevermind, it's possible I just don't know enough of Java alphabet to fully appreciate this talk.

    By the way: don't believe his stats about the speed of c#. When going to a Microsoft seminar, the stats prove something quite the opposite !

    Next up: SOAP UI.