donderdag 30 augustus 2007

Brengt Silverlight het licht?


Afgelopen week kwam ik de site “tafiti” tegen. Een showcase van Microsoft om hun nieuwste product mee te demonstreren, Silverlight. Silverlight is, volgens Microsoft, een cross-browser, cross-platform plug-in voor de nieuwe generatie van media applicaties op het net. Het is het antwoord van Microsoft op Adobe’s Flash plug-in en het heeft daaraan een behoorlijke concurrent.

Maar, het moet gezegd worden, tafiti ziet er best gelikt uit en het feit dat Silverlight naadloos met o.a. AJAX samen kan werken biedt potentie. Om een goed beeld van de mogelijkheden van Silverlight te krijgen ben ik er wat mee gaan stoeien. Het komt er uiteindelijk op neer dat je vooral XML en JavaScript code produceert die door de plug-in worden omgetoverd tot een mooi eindresultaat. Dit zorgt ervoor dat het geheel vrij eenvoudig is en je er snel inkomt. Daarnaast zorgt dit ervoor dat je geen aparte ontwikkeltool nodig hebt voor het maken van een Silverlight applicatie, je hebt aan een teksteditor genoeg. Het duurde ook niet lang of ik had een envoudige applicatie af. Trots keek ik naar het resultaat en vroeg ik me af of Microsoft hier daadwerkelijk die “Flash-killer” in handen had. Helaas kan ik die vraag niet met een volmondige “ja” beantwoorden. De opzet is goed, zeker voor programmeurs, maar het mist nog iets. Het zal met Silverlight best mogelijk zijn om mooie applicaties te bouwen, maar dat kan met Flash ook. Het samenwerken met AJAX klinkt ook heel interessant, maar dit kan met Flash en Flex ook. Microsoft heeft dus, voor mijn gevoel, nog niet de “Flash-killer” te pakken, maar ze komen akelig dicht in de buurt.

woensdag 29 augustus 2007

UTF-8

Het is niet altijd vanzelfsprekend dat gegevens probleemloos van punt a naar punt b komen. Dit is iets dat me de afgelopen paar dagen maar al te duidelijk is geworden. Het idee is heel simpel, op een JSP pagina heb je een formulier die gegevens post naar een tweede JSP pagina. In eerste instantie lijkt alles goed te gaan, totdat je vreemde karakters gaat invoeren. Een "Ÿ" in het formulier kwam op de tweede jsp pagina aan als een "Ǻ¸". Misschien zijn het karakters die niet veel gebruikt worden, maar je wilt toch dat alle karakters goed aankomen.

Een zoektocht naar het antwoord op het internet leverde een aantal mogelijke oplossingen. Allereerst kun je met JSP aangeven dat de data in UTF-8 is. Dit kun je doen met de onderstaande code:

<%@ page pageEncoding="UTF-8" %>
Werkt ook dat niet, dan kun je zelfs aangeven dat je HttpServletRequest object (het object dat de ingevulde gegevens uit het formulier bevat) in UTF-8 is. Hieronder een voorbeeld hiervan:
request.setCharacterEncoding("UTF-8");
Bij mij werkte dit allemaal niet en dus waren harde maatregelen nodig. De code hieronder is bedoeld als de bovenstaande codes niet werken. Hierbij ga ik er even van uit dat je JSP pagina's in ISO_8859_1 encoding zijn, maar in principe werkt dit vanuit alle, door JAVA ondersteunde, encodings.
new String((MyString).getBytes("8859_1"), "UTF-8");
Wat gebeurt hier? Met de methode getBytes("8859_1") maak je van je String object een array van Bytes gecodeerd in de opgegeven encoding. Dit is in dit geval ISO_8859_1. Met deze array maak je een nieuw String object in de UTF-8 encoding.

Het resultaat is dat een "Ÿ" ook daadwerkelijk een "Ÿ" blijft.

Red Hat Developer studio (Beta 1)

Een paar dagen geleden heb ik een eerste click-through gedaan van de nieuwe ontwikkelomgeving voor Java-ontwikkelaars van Red Hat/JBoss: Red Hat Developer studio! Eindelijk was beta1 namelijk gereleased.

Deze enorm opgetuigde Eclipse-ontwikkelomgeving is als download een jar-file van 500+ megabyte... Niet echt een bescheiden tooltje dus, maar er is nu zelfs een complete embedded JBoss Application Server (met o.a. SEAM) opgenomen in het pack.

Op zich heel handig dat Red Hat Developer studio (RDS) nu out-of-the-box meteen klaar is om met een lokale embedded JBoss te werken; voorheen was het soms even flink prutsen om de koppeling Eclipse-JBoss goed aan de praat te krijgen. Je kunt nu met één-druk-op-de-knop iets deployen in de bijgevoegde debug-ready JBoss.

Natuurlijk wilde ik als lid (samen met Pieter) van de SEAM-Taskforce binnen Software Solutions meteen eens kijken hoe de beloofde SEAM-tools zouden zijn, maar helaas: ergens tegen het einde van een enorme multi-page project-setup-wizard hield het even op omdat ik geen zin had om een complete SQL-server datasource aan te maken voor een klein testje, en ik bovendien wat opties niet kon kiezen wegens een (bekende) bug. Nog niet helemaal klaar dus, die SEAM-support in RDS Beta1, maar daar is het ook een beta voor... Het klinkt wel enorm veelbelovend om straks gewoon met drag-and-drop, net als met Matisse voor Swing user interfaces, een Icefaces-achtige webGUI in elkaar te kunnen zetten, die ook nog eens mooi middels SEAM met een EJB3 datamodel kan communiceren. Waarschijnlijk gaat er vervolgens alsnog weer een eeuwigheid zitten in fine-tuning en het bouwen van die pixel-precieze dingen die onze klanten specificeren, maar vooruit: het basismodel van je applicatie staat dan toch weer een stuk sneller én beter in elkaar.

Verderop in dit jaar zou RDS definitief uit moeten komen, dus het is gelukkig een kwestie van weken/maanden en niet jaren voordat we al die toffe tools écht kunnen gaan testen...

ISAAC Developers Blog van start

Wie blogt er nog niet? Wel, wij blog(den/ten) in elk geval nog niet gezamenlijk: vanaf vandaag hebben de ontwikkelaars van ISAAC Software Solutions dan ook een eigen weblog!

Op dit blog zullen we onze dagelijkse/wekelijkse/maandelijke ontdekkingen, technische frustraties en verbazingen posten. Java en de bijbehorende IT-subcultuur staan hierbij zoals bij heel ISAAC centraal.

Zoals bij elk "zakelijk" weblog door de medewerkers gelden ook hier zaken als: de mening van de ontwikkelaars is niet per definitie die van ISAAC Software Solutions B.V., etcetera etcetera. Dat zal duidelijk zijn.