Links

  • 1. Sogeti
  • 2. JBoss
  • 3. IBM
  • 4. Oracle
  • 5. SpringSource
  • 6. NL-JUG
  • 7. Java

Archives

Syndication  RSS 2.0

RSS 1.0
RSS 2.0

Bookmark this site

Add 'JCN Blog' site to delicious  Add 'JCN Blog' site to technorati  Add 'JCN Blog' site to digg  Add 'JCN Blog' site to dzone

Posted by Eric Gunnewegh at 9:11 on Thursday 15 March    Add 'Java/.NET interop: The Best of Both Worlds' site to delicious  Add 'Java/.NET interop: The Best of Both Worlds' site to technorati  Add 'Java/.NET interop: The Best of Both Worlds' site to digg  Add 'Java/.NET interop: The Best of Both Worlds' site to dzone

Bij de laatste presentatie van de dag kwam ik Samuel weer tegen bij de .Net Enterprise Development track. De presentatie werd gegeven door Ted Neward, een onafhankelijke .Net en Java consultatant. Het publiek bestond voor ongeveer de helft uit developers met een Java achtergrond, en de andere helft met een .Net achtergrond.

Ted begon met het publiek te overtuigen dat hij echt onafhankelijk is, en dus niet voor Sun of Microsoft werkt. Volgens hem is noch Java, noch .Net goed of fout, ze zijn gewoon verschillend en vullen elkaar aan. Microsoft heeft vroeger wel verwacht dat ze met .Net de wereld van enterprise development zouden kunnen overnemen, maar hier zijn ze van terug gekomen.

Both Java and .Net were fighting for the kingdom, the kingdom being Cobol

Vooralsnog lijkt het erop dat Java wat sterker is in het backend, en .Net in het frontend. Maar er zijn interessante onwikkelingen met Java aan de client side en .Net aan de server side. Als het gaat om workflows moet je vooralsnog bij .Net zijn. De markt is tot nu toe ongeveer gelijk verdeeld: 35 – 40% Java en 35 – 40% .Net.

In een demo gaf Ted aan hoe een Microsoft frontend kan communiceren met een Java backend (jsp’s / servlets). Hij liet een aantal voorbeelden zien met wat Office tools, zoals Excel en smart tags. Voor meer geavanceerde functionaliteit is er het Visio Studio Tools for Office. Een ander voorbeeld dat genoemd werd was WPF -> WCF -> Java.

Als het gaat om interoperabiliteit zijn er nog wat problemen te overwinnen op het gebied van het vertalen van een domein object model naar een hierarchisch model in XML.

Helaas was Ted al aardig over zijn tijd, zodat er te weinig tijd was om ook wat voorbeelden te geven van de communicatie tussen een Java frontend en een .Net backend. Al met al was het toch een interessante presentatie die ik toch vooral door een Java bril bekeken heb. Zie hier voor een meer Miscrosoft georienteerd commentaar op deze presentatie.

Posted by Eric Gunnewegh at 8:59 on Thursday 15 March    Add 'Patterns for Securing Architectures' site to delicious  Add 'Patterns for Securing Architectures' site to technorati  Add 'Patterns for Securing Architectures' site to digg  Add 'Patterns for Securing Architectures' site to dzone

Na een aantal presentaties bijgewoond te hebben bij de track Java in Action, besloot ik dat het tijd was voor een andere track: Qualities in Architecture. Peter Sommerlad gaf een presentatie over Patterns for Securing Architectures. Peter nam ruim de tijd vor een inleiding. Hij begon met wat algemene opmerkingen over patterns en hoe ze beschreven kunnen worden. De bodschap was dat patterns toegepast kunnen worden omdat ze bewezen hebben succesvol te zijn in situaties waarvoor ze bedoeld zijn.

Vervolgens ging Peter in op wat algemene zaken betreffende security, encryptie van data en de trade-offs van security (complexiteit / performance / manageability). Twee patterns die uitgebreid de aandacht kregen waren het Access Control Model pattern en het Role-Based Access Control pattern. Veel tijd om wat minder algemeen bekende patterns te bespreken was er daarna niet meer. Ik had zelf wat meer verwacht van deze presentatie. Congresgangers kunnen na elke presentatie een groene, gele of rode kaart inleveren om hun waardering voor de presentatie aan te geven. Ik zag na afloop aardig wat gele en rode kaarten in de bak liggen, waaruit ik opmaak dat ik niet de enige was die meer verwacht had van deze sympathieke spreker.

Voor wie meer wil weten over Pattern-Oriented Software Architecture, Peter is co-auteur van het volgende boek. Hiervan heeft hij er twee uitgedeeld na zijn presentatie.

Posted by Eric Gunnewegh at 22:40 on Wednesday 14 March    Add 'TestNG' site to delicious  Add 'TestNG' site to technorati  Add 'TestNG' site to digg  Add 'TestNG' site to dzone

TestNG staat voor Next Generation Testing. Cedric Beust en Alexandru Popescu zijn co-founders van het TestNG framework en waren op de Qcon om hierover te vertellen. De volgende zaken zijn besproken:

- Groups: Via annotaties kunnen testcases in groepen ingedeeld worden zodat deze groepsgewijs getest kunnen worden. Testcases kunnen in meerdere groepen voorkomen. Met een juiste naamgeving van groepen, kun je met wildcards aangeven wat je wil testen.

- Data providers: Data om te testen wordt gescheiden van de code. Data kan afkomstig zijn van Java files, flat files, de database, etc. Via annotaties kun je aangeven welke data provider je wilt gebruiken per testcase.

- Dependency: Bij een testcase kan het succes van de uitvoering hiervan afhankelijk zijn van het slagen van andere testcases. Indien dit het geval is, zie je bij het niet slagen van een test liever dat de afhankelijke tests overgeslagen zijn dan dat ze ook niet geslaagd zijn. Met annotaties kun je dergelijke afhankelijkheden aangeven. Naast het afhankelijk maken van individuele testcases, kunnen ook groepen als zijnde afhankelijk aangemerkt worden.

Verder kwam tijdens de presentatie aan de orde dat je bij het design al rekening moet houden met de testbaarheid van de code. Twee vijanden van de testbaarheid die de sprekers noemden zijn statische en globale variabelen en een te extreme encapsulatie. Oplossingen hiervoor zijn respectievelijk:
- Dependency Injection, bijvoorbeeld met het Guice framework of Spring.
- Verminder de encapsulatie door meer gebruik te maken van package visibility

Tot slot was het interessant om te horen dat de sprekers vonden dat Test Driven Development niet heilig is. De argumenten die genoemd werden tegen TDD:
- je bent meer geneigd tot micro-design dan tot macro-design
- het is moeilijk om dit in de praktijk vol te houden
- er werd in tijfel getrokken of TDD wel degelijk leidt tot betere kwaliteit.

Uit een kleine enquete onder de toehoorders bleek in ieder geval dat TDD developers duidelijk in de minderheid waren. Met de volgende uitspaak werd de rest (en ik ook) gerust gesteld…

Don’t feel bad if you are not using TDD

Posted by Eric Gunnewegh at 22:36 on Wednesday 14 March    Add 'Spring' site to delicious  Add 'Spring' site to technorati  Add 'Spring' site to digg  Add 'Spring' site to dzone

Rod Johnson had twee presentaties op het programma staan vandaag: Spring 2 and Beyond, en AOP in the Enterprise. De eerste presentatie begon Rod met een introductie in het core component model van Spring. Genoemd werden de services die Spring biedt (transaction management / logging / etc), de patterns zoals het jdbc template, de integratie van andere frameworks met Spring (bijvoorbeeld Mule), en het feit dat Spring overal gedraaid kan worden. Belangrijke technologien zijn AOP, dependency injection (DI) en portable service abstraction.

Doelen van Spring 2 zijn:
- backwards compatibility
- de verdere realisatie van de core
- simplicity (bijvoorbeeld: transaction management is eenvoudiger geworden)
- het vergroten van de power van Spring (bijvoorbeeld AspectJ)

Een aantal nieuwe features werd genoemd, zoals multi-language support en batch processing. Daarnaast zal Spring meer en meer een portfolio worden van frameworks, waaronder bijvoorbeeld Spring Webflow en Spring Webservices.

In de presentatie over AOP werd eerst een aantal termen uit de AOP terminologie toegelicht, zoals Aspects, Pointcuts en Advices. Om te demonstreren hoe AOP toegepast kan worden poneerde Rod een aantal requirements:
- de service laag is transactioneel
- een Hibernate DAO operatie die fout gaat moet vertaald worden
- een business service die faalt vanwege een concurrency probleem kan opnieuw een poging wagen
- de service laag roept niets aan uit de web laag

Aan de hand van demo’s werd getoond hoe je met AOP deze requirements kan oplossen. Interessant is dat de eerste drie requirements van toepassing zijn op de runtime, terwijl de vierde van toepassing is tijdens development. Met AOP en een AspectJ plugin voor Eclipse kunnen warnings (of errors) gegenereerd worden in de IDE. Op deze manier kunnen architectuur standaards afgedwongen worden.

Posted by Eric Gunnewegh at 21:39 on Wednesday 14 March    Add 'Track Java in Action' site to delicious  Add 'Track Java in Action' site to technorati  Add 'Track Java in Action' site to digg  Add 'Track Java in Action' site to dzone

Na de keynote van Werner Vogels heb ik voornamelijk de presentaties gevolgd van de Java in Action track, terwijl Samuel de .Net Enterprise Development track ging volgen.

Simon Brown was de voorzitter van de Java in Action track. Als inleiding had hij een korte uiteenzetting over de trends in Java in the City of London. Een aantal feiten die aan de orde kwam:

- Momenteel gebruikt ongeveer 50% van de Java developers Java 5
- Vooral generics, de enhanced for loop en autoboxing werden genoemd als populaire nieuwe features
- Annotaties, het nieuwe concurrency framework en jmx werden genoemd als minder bekende nieuwe features.

- JSE6 wordt nog nauwelijks gebruikt, en men is nog weinig bekend met de nieuwe features.

- Het open sourcen van Java zal van weinig invloed zijn op hoe we Java zullen blijven gebruiken.

- In de city wordt veel gewerkt met Spring en Hibernate, en het werken met stand-alone applicaties wint aan populariteit.

- Er wordt in de praktijk nog weinig gewerkt met JEE5 en EJB3

- Struts is nog steeds een veel gebruikt framework, maar Spring MVC is sterk in opkomst

- Java wordt nog het meest gebruikt op de server, voor de client wordt ook C# .Net gebruikt.

- Java developers zijn relatief makkelijk te vinden in de city, in tegenstelling tot .Net developers.

- Swing is niet dood, RIA is sterk in opkomst mede met dank aan Ajax. Men begint Adobe Flex te ontdekken.

- Ant wordt nog steeds het meest gebruikt, maar Maven wordt steeds groter sinds versie 2.0.

- AOP wordt vooralsnog vooral indirect gebruikt met bijvoorbeeld Spring.

Posted by Eric Gunnewegh at 21:28 on Wednesday 14 March    Add 'De conferentie gaat van start' site to delicious  Add 'De conferentie gaat van start' site to technorati  Add 'De conferentie gaat van start' site to digg  Add 'De conferentie gaat van start' site to dzone

Na de tutorial van gisteren arriveerde Samuel vroeg in de avond ook in Londen, om vanaf vandaag de conferentie bij te wonen. De conferentie vindt plaats in het Queen Elizabeth II Conference Centre, een gebouw dat vrij lelijk afsteekt ten opzichte van de mooie gebouwen er om heen zoals Westminster Abbey en de Big Ben. Veiligheid gaat tegenwoordig boven alles, dus voor de registratie ging de rugzak door de scanner. Na een korte opening door de organisatie begon de conferentie met een interessante keynote van Werner Vogels van Amazon.com.

Werner zette uiteen hoe Amazon.com vanaf halverwege de jaren 90 zich ontwikkelde van een webapplicatie tot een service georienteerd technologie platform, waarvan ook andere partijen gebruik van kunnen maken. Iedereen kan een verkoper worden op hun platform. Andere partijen kunnen via data integratie of via services gebruik maken
van het platform, waardoor veel klanten bereikt kunnen worden.

Voorbeelden van derden die gebruik maken van het Amazon platform zijn target.com en mothercare. Onderdelen van het platform waar men gebruik van kan maken zjn:
- identity management
- order processing, payments en fraud protection
- fulfilment & customer services
- product & offers management
- content generation & discovery
Hieruit kan een keus gemaakt worden op basis van wat je nodig hebt om een applicatie te bouwen, en je betaalt wat je gebruikt.

bigben2.jpg rad.jpg
confcenter.jpg welcome.jpg

Posted by Eric Gunnewegh at 18:57 on Tuesday 13 March    Add 'Hands-on Agile Development Workshop' site to delicious  Add 'Hands-on Agile Development Workshop' site to technorati  Add 'Hands-on Agile Development Workshop' site to digg  Add 'Hands-on Agile Development Workshop' site to dzone

De Agile development workshop was, zoals de titel eigenlijk al aangeeft, een echte hands-on workshop. Meer dan de helft van de tijd hebben we achter de laptops gezeten. De workshop werd gegeven door Kevlin Henney die begon met een uitleg over Agile Development. Bij Agile Development werk je in iteraties waarbij je steeds een set van features oplevert samen met de testsets. In een live demo werden de principes van Test-Driven Development gedemonstreerd aan de hand van een eenvoudige case.

Daarna moesten we zelf aan de slag. Er werden groepen van vier gevormd, met twee laptops per groep. Doordat de functionaliteit van de case verdeeld kon worden, konden we ervaren wat paired-programming is. Na elke iteratie was het de bedoeling dat de pairs van samenstelling veranderden, om zo de volgende iteratie te beginnen. Ik zat in een groep met een Zwitser, een Pool en iemand uit Saoedi-Arabie. Zoals voorspeld door Kevlin, was de eerste iteratie het lastigst, maar bij elke volgende iteratie wisten we steeds sneller de features op te leveren.

Posted by Eric Gunnewegh at 18:39 on Monday 12 March    Add 'Usage-Centered Software Design: An Activity-Based Approach' site to delicious  Add 'Usage-Centered Software Design: An Activity-Based Approach' site to technorati  Add 'Usage-Centered Software Design: An Activity-Based Approach' site to digg  Add 'Usage-Centered Software Design: An Activity-Based Approach' site to dzone

De tutorial over Usage-Centered Software Design werd gegeven door Larry Constantine. Larry is een autoriteit op dit gebied en reist de hele wereld over om te vertellen over zijn expertise. Op zich heeft het onderwerp weinig raakvlakken in mijn dagelijkse werkzaamheden, maar daarom was het zeker niet minder interessant.

Larry begon met uit te leggen dat er een verschil is tussen usage-centered design en user-centered design. Beide zijn belangrijk, maar usage-centered design is duidelijk meer gericht op performance. Als je dit goed doet, zal de user experience uiteindelijk ook beter zijn wat uiteindelijk weer een aandachtspunt is bij user-centered design.

Vervolgens kwamen de onderwerpen understanding human activity, understanding activity: participation en understanding activity: performance aan bod. Diverse technieken werden behandeld om activities, actions en operations te modelleren, hetgeen we ook in teams konden oefenen. Uiteindelijk moet de modellering leiden tot een ontwerp van een user-interface die de gebruiker optimaal onderteunt bij zijn werkzaamheden. Voor het prototypen van een user-interface bestaan technieken zoals het conventionele figuratieve prototypen, als ook het meer abstracte abstract prototyping. Larry besloot de tutorial met een uitleg over hoe usage-centered design in de praktijk geintegreerd kan worden in het software development proces.

Posted by Eric Gunnewegh at 18:02 on Monday 12 March    Add 'Qcon is begonnen' site to delicious  Add 'Qcon is begonnen' site to technorati  Add 'Qcon is begonnen' site to digg  Add 'Qcon is begonnen' site to dzone

De eerste dag van de Qcon zit er op. Vandaag heb ik de tutorial bijgewoond van Larry Constantine over Usage Centered Design. Het is wel erg makkelijk dat de tutorials gegeven worden in het hotel waar ik deze week verblijf, het Jolly Hotel St Ermin’s. In principe hoef ik mijn hotel niet uit tot woensdag. De conferentie wordt later deze week gegeven in het Queen Elizabeth II Conference Centre in Westminster in de buurt van de Big Ben ten westen van het centrum.

Voor een van onze klanten heb ik recentelijk aardig wat tijd door gebracht ten oosten van het centrum bij St Paul’s Cathedral, dus wat dat betreft is het aardig om weer eens in een andere omgeving in Londen te verblijven. Zo kwam ik tijdens een wandeling na de tutorial de queen tegen bij Westminster Abbey.

bigben.jpg queen1.jpg
queen2.jpg  

Posted by Eric Gunnewegh at 15:04 on Friday 9 March    Add 'We zijn er klaar voor' site to delicious  Add 'We zijn er klaar voor' site to technorati  Add 'We zijn er klaar voor' site to digg  Add 'We zijn er klaar voor' site to dzone

Dit jaar wordt voor het eerst de Qcon conferentie gehouden, gezamenlijk georganiseerd door de JAOO en de InfoQ.com community. Het Competence Network Software Architectuur heeft besloten dat wij hier niet mogen ontbreken en dus zullen ik (Eric Gunnewegh) en Samuel Ranzato namens Sogeti aanwezig zijn.

Maandag en dinsdag is er het tutorial gedeelte van de conferentie, waarna op woensdag de eigenlijke conferentie begint. Zelf ga ik zondag al naar Londen, om maandag en dinsdag ook de tutorials te kunnen volgen. Samuel zal dan dinsdagavond arriveren om de conferentie bij te wonen.

Elke dag zijn er een aantal interessante tracks aan onderwerpen. Tracks die met name mijn interesse hebben zijn Banking Architectures, Java in Action, SOA: Bridging business and technology en Architectures you always wondered about. Samuel zal ongetwijfeld wat meer .Net gerelateerde onderwerpen op zijn programma hebben staan, maar wellicht komen we elkaar af en toe tegen, bijvoorbeeld bij “Java/.NET interop: The Best of Both Worlds”.

Het belooft een interessante en leerzame week te worden. We houden jullie op de hoogte!


© 2020 Java Competence Network. All Rights Reserved.