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 Ruud Steeghs at 8:45 on Monday 14 April    Add 'IBM WebSphere Service Registry and Repository and IBM Rational Asset Manager' site to delicious  Add 'IBM WebSphere Service Registry and Repository and IBM Rational Asset Manager' site to technorati  Add 'IBM WebSphere Service Registry and Repository and IBM Rational Asset Manager' site to digg  Add 'IBM WebSphere Service Registry and Repository and IBM Rational Asset Manager' site to dzone

Zoals beloofd kom ik nog terug op wat de samenhang en het verschil is tussen Websphere Service Registry and Repository (WSRR) en Rational Asses Manager (RAM).

Bij deze.

RAM is voor Service Development (en andere assets)

  • service discovery
  • service development lifecycle
    • definieren van asset types
    • create en managen van al deze types
    • biedt traceability tussen assets

WSRR is voor Service Deployment

  • Runtime repository
  • Runtime Service discovery
    • Dynamisch selectere nvan service endpoints
    • Besturen van de runtime wijzigingen aan service metadata
    • Beheer van runtime policies voor het uitvoeren van services
    • Het opvragen van details van services die gedeployed zijn.

Uiteraard is er een uitstekende integratie tussen beide tools.

Mijn verwarring is ontstaan doordat WSRR in het verleden ook service lifecycle management in zich had. Schijnbaar is er dat nu uit. Ergens klopt dat ook wel, want zover ik de brands Rational en Websphere begrijp gaat Rational om development tooling en Websphere om runtime omgevingen.

Posted by Ruud Steeghs at 8:44 on Monday 14 April    Add 'Rational Jazz' site to delicious  Add 'Rational Jazz' site to technorati  Add 'Rational Jazz' site to digg  Add 'Rational Jazz' site to dzone

Rational is het merk van IBM voor tooling voor ondersteuning op het gebied van software development en alles wat daar bij komt kijken: business modeling, ontwerpen, testen, etc.

Rational onderkent een aantal rollen met bijbehorende taken (zie RUP). Voor elk van deze rollen brengt Rational een apart product op de markt. De resultaten van het werken met deze producten is uiteraard exporteerbaar en uitwisselbaar van het ene product naar het andere. Een groot probleem van deze grote hoeveelheid tooling is het grote aantal…

Als je een professioneel ontwikkelproces in wilt richten, heb je bij Rational een hele stapel producten nodig (wat ergens wel goed is voor de licenties), bijvoorbeeld: RequisitePro, ClearCase, Portfolio Manager, Asset Manager, Business Modeler, Software Architect, Application Developer, Tester, Integration Developer.

(Sommige tools behoren tot de Websphere brand, gelukkig maar, want anders zou het nog eens een heldere productpropositie worden ;-) )

Nu ziet Rational inmiddels ook wel in dat dit niet allemaal even handig is. Zeker niet in de ontwikkelingen van de laatste tijd: steeds vaker werken teams gedistribueerd en dat vereist iets anders van hun producten.

Om deze en andere redenen die ik nog niet ken, is Rational begonnen met een nieuwe opzet van hun productportfolio. Dit project heet Jazz. De gedachte is dat er een technology platform gebouwd wordt dat Jazz Technology Platform heet en daar bovenop zal Rational Team Concert komen te draaien wat als doel heeft om betere ondersteuning te geven voor het werken in teams, work item management en ‘project health’. De verwachting is dat de eerste versie in 2008 uit gaat komen.

Hhhmmmm….. is dit een weinig zeggende blog? Ja, eigenlijk wel: de boodschap is:

  • momenteel biedt Rational een hele stapel producten om alle aspecten van software ontwikkeling te ondersteunen
  • hun suite gaat volledig op de schop en er zal één platform komen waarin al deze functionaliteit verenigd wordt.

Het is nog afwachten hoe dit er uit gaat zien. Houd www.jazz.net in de gaten zou ik zeggen.

(Wil iemand met kennis van Microsoft ontwikkelproducten even laten weten of Microsoft dit eigenlijk niet al lang heeft met Team Systems en Visual Studio???)

Posted by Chico Hau at 2:07 on Friday 11 April    Add 'Ten ways to get fired with SOA' site to delicious  Add 'Ten ways to get fired with SOA' site to technorati  Add 'Ten ways to get fired with SOA' site to digg  Add 'Ten ways to get fired with SOA' site to dzone

Het is bijna 12 uur ‘s middags als ik aankom in de ruimte waar Ruud z’n presentatie houdt. Ondanks het lunchtijdstip is er een goede bezetting en terwijl iedereen de inhoud van zijn/haar lunchbox nuttigt, begint Ruud met z’n presentatie. Het onderwerp gaat zoals de titel ‘ Ten ways to get fired with SOA’ al zegt, over 10 valkuilen bij de implementatie van SOA. Deze 10 valkuilen worden ook genoemd in het boek ‘SOA for Profit’, geschreven door een team van Sogeti en IBM mensen. Tijdens de presentatie wordt Ruud bijgestaan door Erik van Ommeren, een van de Sogeti auteurs van het boek.

Een dik half uur later is de sessie afgelopen en heeft Sogeti weer een mooie extra bijdrage kunnen leveren aan Impact 2008.

Posted by Chico Hau at 1:58 on Thursday 10 April    Add 'IBM en performance' site to delicious  Add 'IBM en performance' site to technorati  Add 'IBM en performance' site to digg  Add 'IBM en performance' site to dzone

Een aantal van mijn sessies gingen over performance: tunen van applicaties en IBM produkten en de doorgevoerde verbeteringen. Misschien besteden ze hier vaker aandacht aan, maar een andere mogelijkheid is dat dit gedaan wordt naar aanleiding van vragen en suggesties van klanten dat de huidige IBM software groot en langzaam is; dit is een bekende klacht. IBM heeft zich de kritiek aangetrokken en er hier extra aandacht aan besteed.

Een aantal van de gepresenteerde verbeteringen in de nieuwste versies van de WebSphere Application Server, Message Broker, Enterprise Bus, Process Server hebben mijn inziens voor een groot gedeelte te maken met de betere performance van Java 5 en JEE 5 (voor IBM produkten is dit een aparte upgrade in de vorm van featurepacks). Uiteraard heeft IBM hun bijdrage geleverd aan de ontwikkelingen van deze versies van Java en JEE. Daarnaast heeft IBM energie gestoken om extra opties en parameters te stoppen in hun eigen IBM JDK (een aantal bestonden reeds en zijn geoptimaliseerd); deze JDK wordt alleen in hun eigen produkten gebruikt. Deze extras zijn bijvoorbeeld nieuwe en verbeterde garbage collection algoritmes, heap defragmentatie, uitgebreide debug en profiling tools). Voor een lichtere versie als tegenhanger voor de WebSphere Application Server is de WAS Community Editon een goed alternatief, dit is een lichtgewicht JEE 5 applicatie server.
In mijn laatste sessie werden een aantal best practices om een betere performance voor de bovengenoemde produkten te krijgen waarvan een aantal practices zeker handig zijn en een aantal practices zijn volgens mij gewoon workarounds.

Posted by Ruud Steeghs at 18:23 on Wednesday 9 April    Add 'We hebben een SmartCar gewonnen!' site to delicious  Add 'We hebben een SmartCar gewonnen!' site to technorati  Add 'We hebben een SmartCar gewonnen!' site to digg  Add 'We hebben een SmartCar gewonnen!' site to dzone

Op Websphere Impact 2008 was een kennisquiz waaraan je mee kon doen. De kennisquiz betrof vragen over Websphere en SOA. De hoofdprijs is een SmartCar. En… we hebben gewonnen!!!

Sogeti behaalde plaatsen 1,2 en 4, een uitstekende score! Nou ja…. Erik heeft drie keer meegespeeld. De eerste keer onder zijn eigen naam en daarna onder de naam van een collega. Dat mag de pret niet drukken, want nu heeft Sunil gewonnen! Sunil is Websphere Practice Lead bij Sogeti USA.
Ik zal proberen te zorgen voor een foto van Sunil en zijn prachtige SmartCar.

Posted by Ruud Steeghs at 18:11 on Wednesday 9 April    Add 'Rational Unified Process (RUP) en SOA' site to delicious  Add 'Rational Unified Process (RUP) en SOA' site to technorati  Add 'Rational Unified Process (RUP) en SOA' site to digg  Add 'Rational Unified Process (RUP) en SOA' site to dzone

Gisteren heb ik een presentatie bijgewoond die ging over RUP en SOA, oftewel RUP for SOMA: Rational Unified Process for Service Oriented Architecture and Modeling.

Deze methodiek geeft in mijn ogen een antwoord op vragen waar veel van onze klanten mee zitten. Deze vragen zijn:

  • hoe kies of identificeer ik services?
  • hoe specificeer ik een service, of wat specificeer ik dan?
  • welke rol voort deze activiteiten uit?
  • welke activiteiten moet ik allemaal uitvoeren en in welke volgorde?

RUP voor SOMA is oorspronkelijk ontwikkeld bij de consultancy tak van IBM: Global Services. Sinds een jaar maakt SOMA deel uit van RUP.

De methodiek is toegankelijk als je de Rational Method Composer (RMC) downloadt van partnerworld. Een korte toelichting en wat plaatjes van RUP SOMA vindt je op een blogpost die ik bijna een jaar geleden schreef.

Posted by Chico Hau at 10:08 on Wednesday 9 April    Add 'Understanding and Tuning the Java Virtual Machine' site to delicious  Add 'Understanding and Tuning the Java Virtual Machine' site to technorati  Add 'Understanding and Tuning the Java Virtual Machine' site to digg  Add 'Understanding and Tuning the Java Virtual Machine' site to dzone

Met regelmaat komt het voor dat een systeem wordt opgeleverd en dat blijkt dat dit systeem niet voldoet aan de non-functional requirements performance. Hoe kunnen we zorgen dat het systeem weer beter gaat presteren? Als eerste kunnen we er meer hardware onder zetten zoals snellere processoren, meer geheugen, meer disk etc. Dit is over het algemeen geen goede oplossing omdat de oorzaak van de performancehit hiermee niet achterhaald wordt. Het is meer een brute kracht oplossing.

Ten tweede kan onderzocht worden hoe efficient de programmatuur geschreven is. Dit is een betere oplossing en hiervoor zijn een aantal programming best practices verzameld:

  • onderzoek welke quick wins te behalen zijn, veel kleine optimalisaties kosten tijd en kunnen te weinig performancewinst opleveren
  • kijk kritisch naar het aanmaken van nieuwe objecten en vermijd creatie van onnodige objecten
  • gebruik debug, trace en loggingcode, maar probeer de overhead van logging zo minimaal mogelijk te houden
  • verwijder onnodige en ongebruikte code; dit zorgt voor langere laadtijden van de classes door de classloader

Er zijn ook goede tools beschikbaar om de programmatuur te kunnen analyseren, zoals het Eclipse Test and Performance Tools Platform Project (http://www.eclipse.org/projects/project_summary.php?projectid=tptp).

Een andere optie waar niet zo snel aan gedacht wordt, maar zeker net zo belangrijk is is het tunen van de JVM. Deze presentatie heeft het verschil gemaakt tussen de IBM JVM en de Sun JVM, deze zijn niet helemaal gelijk. IBM heeft een aantal wijzigingen aangebracht in de Sun JVM, maar in de kern zijn zij nog gelijk. Gelukkig worden hier van beide JVM’s de opties aangegeven. Om de JVM de kunnen tunen, is diepgaande kennis nodig van hoe de JVM omgaat met bijvoorbeeld memory management, garbage collector en heap management; de settings worden net zolang verfijnd totdat de optimale instelling is gevonden.
Welke zaken kunnen we doen om de JVM beter te laten presteren?

  • Zorg dat de garbage collector (GC) zo efficient mogelijk opereert. De GC is een systeem dat de door de applicatie aangemaakte objecten, waar geen referenties meer naar verwijzen, opruimt en het geheugen hiervoor weer vrijgeeft. De GC loopt fysiek langs elk object in de heap om te kijken of deze nog wordt gebruikt. Er zijn verschillende algoritmes mogelijk op welke wijze over de heap heen gelopen wordt; het algoritme kun je aan de JVM als parameter meegeven. Als garbage collecting wordt uitgevoerd ligt het systeem stil totdat de GC klaar is, het is dus belangrijk om dit goed af te stellen dat de GC alleen loopt als het echt nodig is. Tip: gebruik de JVM optie -verbose:gc (standaard aanwezig). Deze logging geeft veel informatie over de GC om threads en heaps te analyseren. Deze uitgebreide logging kan met tools worden geanalyseerd zoals met de grafische tool ThreadAnalyzer.
  • Maak thread dumps, dit zijn in feite momentopnamen en geven een beeld waar het systeem op dat moment mee bezig is. Dit verschaft veel informatie over bottlenecks en veel uitgevoerde methoden. De threaddump kan ook met behulp van ThreadAnalyzer worden geanalyseerd.
  • Heapsize optimalization and tuning: sinds JDK 1.4.1 is een nieuwe JVM setting geintroduceerd waarmee automatisch de beste instellingen voor de heap op het systeem worden gebruikt (-XX:+AggressiveHeap i.c.m. -server parameter). Het is ook mogelijk om dit zelf met diverse parameters te tunen.

Deze instellingen zullen per applicatie en per systeem verschillen. Om die reden dient het bovenstaande proces een aantal malen te worden uitgevoerd, om zo tot de optimale instelling te komen.

Posted by Ruud Steeghs at 1:25 on Wednesday 9 April    Add 'Ga ik presenteren op Websphere Impact 2008???' site to delicious  Add 'Ga ik presenteren op Websphere Impact 2008???' site to technorati  Add 'Ga ik presenteren op Websphere Impact 2008???' site to digg  Add 'Ga ik presenteren op Websphere Impact 2008???' site to dzone

Na het wegvallen van een aantal sprekers heeft het organisatie commite aan Sogeti USA gevraagd of zij nog een extra sessie in kan vullen. Erik van Ommeren (Sogeti USA) was zo vriendelijk om deze vraag bij mij neer te leggen, dus krijg ik nu waarschijnlijk de kans om een presentatie te verzorgen op dit grootse seminar….!!!!

Zojuist heb ik het abstract van de presentatie opgestuurd. Meer nieuws zodra het definitief is…

Posted by Ruud Steeghs at 1:22 on Wednesday 9 April    Add 'Overlap WSRR en RAM' site to delicious  Add 'Overlap WSRR en RAM' site to technorati  Add 'Overlap WSRR en RAM' site to digg  Add 'Overlap WSRR en RAM' site to dzone

In een vorige post schreef ik over Websphere Services Registry and Repository (WSRR). In een andere post schreef ik over Rational Asset Manager (RAM). Als je beide posts goed leest, dan zie je dat er overlap zit tussen de twee producten.
RAM richt zich op designtime governance: het besturen van hergebruik van componenten, classes en services tijdens het ontwikkelproces.
WSRR richt zich op de runtime governance: het besturen van het gebruik van services in proudctieprocessen, maar ook het opzoeken van services voor hergebruik en het afdwingen van lifecyclemanagent tijdens het ontwikkelproces. En daar zit precies de overlap in en tevens de verwarring bij mij…
Er schijnt een sessie te zijn waarin uitgelegd wordt hoe beide producten samen gebruikt kunnen worden. Ik ben nog op zoek naar wanneer deze sessie is, want deze wil ik absoluut bijwonen! Ik houd jullie dus op de hoogte!

Posted by Ruud Steeghs at 1:54 on Tuesday 8 April    Add 'Hergebruik van software libraries' site to delicious  Add 'Hergebruik van software libraries' site to technorati  Add 'Hergebruik van software libraries' site to digg  Add 'Hergebruik van software libraries' site to dzone

Herkenbaar probleem, eindelijk een oplossing.

In organisaties waar software ontwikkeld wordt, ontstaat herbruikbare software. Libraries, jar-files etc gaan van project naar project. We kennen het allemaal wel, het ene project heb je afgerond en je begint aan het nieuwe. Waarschijnlijk geef je deze files aan je collega developer en voordat je het weet gebruikt de hele organisatie deze java-files of .jar-files.

In sommige organisaties worden dit soort files zelfs a priori ontwikkeld en beschikbaar gesteld binnen de organisatie door ze te publiceren op een website of wiki.

Probleem: hoe bestuur het gebruik van deze files? Hoe communiceer je dat er een nieuwe versie is? Voor mij is dit een zeer herkenbaar probleem.  Voor IBM blijkbaar ook want ze hebben een nieuw product op de markt dat een oplossing biedt voor dit probleem: Rational Asset Manager. Het tool biedt de mogelijkheid om dergelijke files (assets) te administreren in een centrale repository. Naast de functionele omschrijving kun je de java-docs bijvoegen, een omschrijving van hoe de asset te gebruiken, etc

Dit tool biedt organisaties dus de mogelijkheid om het hergebruik van diverse java-files, .jar-files, libraries, componenten, services , etc

Daarnaast zitten er allerlei toeters en bellen aan: RSS Feeds voor de assets, discussieforum om te discussieren over de assets en diverse management info zoals wie het asset heeft gedownload, hoe vaak, etc.

Waar de Websphere Services Registry and Repository (WSRR) voornamelijk gericht is op Runtime Governance, is Rational Asset Manager (RAM) voornamelijk gericht op Designtime of Developmenttime Governance.

(Heerlijk om met die dure woorden gooien :-) )


© 2019 Java Competence Network. All Rights Reserved.