Welcome....
...to Callista Comments
|
Our consultants share their reflections on IT architecture. You find a list of excerpts of the most recent blog-posts bellow. Click on a headline to get access to the full text. You may also use the menu to the right, to filter on topics. What is it?CDI is an abbreviation of "Contexts and Dependency Injection for the Java EE platform". First of all, I'd like to stress that CDI is not only for Java EE environments. It is equally applicable to Java SE applications, unit tests and other out-of-container environments. The specification (JSR-299) defines its declared capabilities as follows: _This specification defines a powerful set of complementary services that help improve the structure of application code. … In my current project we are using the JBoss Application Server. Since the project in based on EJB3 and is rather extensive we have been experiencing problems with long "deployment to test"-cycles during development. We write lots of unit tests and use a test driven approach, but we also need to do lots of integration testing in the target environment since the application is heavily AJAX based. … Continuous Integration servers have been around for quite a number of years. Mostly out of slentrian, I have stuck to CruiseControl since the alternatives (AntHill, Continuum, Hudsun, ...) just haven't been that much better to motivate me to switch. I just attended Kuhsuke Kawaguchi's Hudson presentation at JavaZone, and got quite a surprise. When I looked at Hudson last time (yes, it was a time ago), … Groovy and Grails support have long been a sad story in Eclipse. Most notable, running and debugging Grails Unit tests in Eclipse has been quite painful, partly due to the fact that the Groovy eclipse plugin didn't recognize the tests as being Unit tests (and hence the "Run as | Unit Test" has not been available), and partly because of classpath clashes between Grails and the Eclipse Groovy plugin (manifested by the dreaded 'Disable Groovy Compiler Generating Class Files' option, … I decided to see what it would take to deploy the weather feed of my previous post to Google App Engine - a cloud platform for Java servlets. I went the maven path, so that I could simply deploy to GAE via a maven build command. In order to keep the original project independent of GAE, I set up a second web-app project as a war overlay. A war overlay project is a maven war project that that declares a dependency to another war project. … Going back to the roots of OOD has been commonly advocated since Eric Evans presented his book "Domain-Driven Design: Tackling Complexity in the Heart of Software" back in 2003. There are several other sources of the movement, such as the Naked Objects Framework which we presented at [Cadec 2007|http://www. … We are often asked to define WSDL- and schema design guidelines (contract-first) for clients. We have found a core set of guidelines that seem to work well for clients using XML_binding. The core challenge is to find a portable and reasonably useful approach to controlled evolution, supporting backwards- and forwards compatibility across service consumers and producers bound (via JAX-B or .Net binding technologies). We've seen the chosen approach being used fairly broadly, … JAX-WS is the Java-standard for Web-Service XML to Java POJO binding. It entered the scene in Java EE 5 and Java SE 6. I wrote a blog entry a while back on it's advantages over the predecessor (JAX-RPC). With WSDL-first (contract-first) design, Java POJO:s are generated from WSDL and XSD source files. … A common use case in a UI is to enter some data and submit it to the server. One way to do this in flex is to define an mxml like this with a Form Suppose you have an web application with a service layer implemented by spring beans and want to get a richer user interface ? One way to do it to use Flex. Parts of the Flex development platform has become Open Source. What you absolutely need is addition to that is the Flex Builder. It enables debugging of the Flex application and without that you are completely lost. The license is 150 Euro so it is no big deal. … A really useful plugin to Eclipse is FindBugs, install the plugin and you can actually find bugs in your code. It's a good tool to use during projects, but also when performing code reviews. You can get a feeling quite quick on areas that are containing more problems than others. You can use the plugin and run it on a whole project on or a separate java file. It's quite fast running it on a whole project, so just go ahead and install it. … Imagine that you could write code like this: create an Order where ( Id is 1, Number is 2 ) named "order_1" This is a simple DSL that lets you create an order with specific attributes. Quite obvious isn't it? This does not really look like something from a programming language, but it is actually valid Scala code. Let me show you how that can be. Let's start with the first part (create an Order). Scala allows you to skip the dot notation when calling a method, … Not long ago I got caught up in a discussion on agile development (again). The discussion proceeded more or less as it use to do for people that have never had the opportunity to work in a project that applies agile methodologies. Accordingly, someone said that they had heard about someone else doing agile development, in this case Scrum, and someone else answering that "isn't" that just about skipping documentation and going to code according to the (in)famous "hacking and hoping" approach. … As Groovy becomes integrated in more and more environments, the IDE support is slowly improving. There are many options for editing Groovy, but well-integrated debugging has so far been the privilege of IntelliJ Idea users. In terms of refactoring, IntelliJ is still outstanding for Groovy developers. But there is a solution to the basic needs for Eclipse developers. … I am amazed each time I am working with timestamps and calendars - how hard can it be? It's hard to meet all requirement since each person is used to their own calendar. Latest I been implementing a calendar, to be displayed graphcial, in Eclipse RCP. Imaging a calendar that is representing working hours for a factory or shop, …
Last changed Aug 11, 2008 07:46 by Björn Beskow
Integrating the Eclipse environment with Maven has always been a challenge, as we have reported upon before. I want the productivity of the Eclipse IDE and the expressive power, consistency and repeatability of Maven. But a fundamental difference in the underlying paradigms of Eclipse versus Maven have made that coexistence awkward and ugly:
WebSphere Message Broker has since version 6 sported a Java API that can be used to perform various actions, primarily message transformations. Users of the API will quickly find that it consists of a low level object model, much like the W3C XML DOM. After some additional use, one will find that the API has some odd inconsistencies, for example will an object model built with the MRM and XML domains differ in how value nodes are created. After a while, … I recently got the opportunity to do a spike on a RESTful web services interface and decided to use JAX-RS and the reference implementation Jersey to do the prototyping. The term REST was coined by Roy Fielding in his Ph.D. dissertation back in 2000. There is lot's of material on the web regarding REST and I will not elaborate any further on it in this blog. … We are proud to announce that we have become G2One consulting and training partner for Sweden. You may not yet be familiar with these agile platforms built as extensions to Java and Java EE respectively. For our Swedish readers we have put together a short start-up guide. It comes in two parts: set-up instruction and a 1 hour Groovy and Grails tutorial. Enjoy! I have been implementing new JMS services in my project. The services are defined by XML schemas. During development I implemented basic unit tests to make sure JAXB validation worked as expected. The test was catching some of the validation errors that caused by missing data or wrong occurrences of some elements. I was quite satisfied when I finalized the implementation with my unit test, … This is a guide to setting up a lightweight messaging development environment with Active MQ using Tomcat as the application server. This tips might be of help to you regardless you are using another platform such as Websphere MQ or just want to try out JMS in your web or Java application. When integrating enterprise applications and services, Websphere MQ as messaging backbone is a common choice. While Websphere MQ is a valid, … If you need to automate a fairly complex process - like a batch job - Groovy may come in handy. Designing a Java batch job is typically a task that involves the following mechanisms:
I have used EasyMock for Mock Object creation since version 1.0 in 2001. It has never been perfect, but good enough. The need to explicitly work with a separate Control object for every Mock object created was a pain, but that was changed in version 2.0. EasyMock is a decent Mock Object framework. Still, in lectures and tutorials we do on Mock Object usage, … I'm currently working on a project where we, despite its many drawbacks, have decided to use the "BankId" solution to authenticate our users. But this is not the whole truth; since not all Swedish banks have agreed on using BankId we have to use three different solutions in order to cover (most) users: BankId, Nordea and Telia. The whole solution is sometimes referred to as electronic identification, or simply e-id. This week, Google's announcement of Google App Engine (GAE) got a lot of attention. The initial 10 000 test accounts ran out in a few hours. With GAE you can run your own web application on Google's infrastructure. Initially they support applications written in Python, but more languages are already considered for future versions. Data can be persisted using the DataStore API, … The vendors begin to ship tooling for the vision of re-usable "use-case components"! At Cadec 2007 and Cadec 2008 we talked about the value and challenges associated with modularization of web applications. A lot of projects we've been into, would have saved a considerable amount of time for developer- tester- and business resources if we could build modular web dialogs ("functions") with ease. Now that dynamic languages such as Python, Groovy and Ruby have started to become mainstream, it is time to glance at a different branch of languages for influences. I've just come home from the QCon conference where one of the tracks was called Programming Languages of Tomorrow. All of the languages presented in the track were (more or less) functional. In April last year, Adobe announced that they planned to donate their Flex programming platform to Open Source. Some two weeeks ago, it finally happened. Flex is a platform for Rich Internet Applications (RIAs) that runs on the Adobe Flash virtual machine. With AIR (Adobe Integrated Runtime), … Here at CQon there is a track dedicated to service-oriented architecture - mainly focused technical aspects. When things get complicated or structured to a level where the fun or the productivity or both are gone, application architects and developers tend to look for new approaches - typically more agile than current best-practice. We have seen Corba go for SOAP, C++ go for Java, pure HTML apps go for Ajax etc. Currently there seem to be two major trends being debated - at least here at QCon:
The most animated discussions are definitely on the SOA arena: Web Services versus REST. At the QCon conference, Dave Syer today gave an update on the Spring Batch project that is approaching the 1.0 release (scheduled for next week). Batch Processing has to do with processing (typically large) "batches" or sets of input data at regular intervals instead of continuously, "on-line", for some reason (cost, time, throughput, etc). …
Labels: by_pw, opensource
Are you one of those that think that Ant is not really the right way to do it and that the ideas behind Maven are really great, but you have never really felt comfortable using it. You might just be one of those that just think that XML is a big step for mankind in no particular direction at all or that XML is just not a very good tool for writing computer programs. … Spring Source recently announced a new member of the Spring family: Spring integration . It is an attempt to provide an abstraction for messaging, in the domain of business integration (i.e. it is not Telecom Messaging). Due to the lack of frameworks in this area, we have designed messaging abstractions for several large Java EE projects. …
Labels: by_jc
Today is Valentine's day and if you haven't yet thought about what you are doing for your loved one tonight, you'd better start now. It's winter now (at least here in Sweden) and you don't want to be out in the cold, do you...? Well, anyway, I think you can agree with me that one of the foundation stones of love is the ability to communicate with each other. … This autumn I attended a course called IBM WebSphere Message Broker V6 Application Programmer Workshop. Just the name is a bit too long to cope with XMPP, aka Jabber, is making great strides into the world of instant messaging. Since Jeremie Miller released the first version in 1998, it has been the obvious alternative for those preferring open protocols over the proprietary networks pushed by ICQ, AOL, MSN and others. With big guys like Apple and Google using XMPP it began making noise in the corporate world. Now, with AOL (one of the biggest IM network provider) looking at XMPP, the road to world dominance seems clear ahead. Finally, it seems like Ed Burns, spec lead of JSF 2.0, has started to listen to the community (or at least he listened to Gavin King, according to his blog). Recently I joined my first portal project. Almost immediately we ran into the problem of inter-portlet communication (IPC). Version 1.0 of the portlet specification, JSR 168, doesn't address any type of interaction between portlets. Since this is a very common requirement, the next portlet specification, JSR 286, is (almost...) all about IPC, with major new features including: • Event handling - portlets will be able to send and receive events. … What do you get when you try to say "Unit Test" and "Utilities" very fast? Unitils, of course! This new Open Source project gathers most of the productivity utilities and refactorings of typical JUnit/DbUnit/EasyMock code that most projects develop for internal use, over and over again ([Jan|http://www.callistaenterprise.se/consultants/cv-jv-en. … Many organizations gradually improve in maturity when it comes to web application development. The value of an explicit, governed best-practice has been learned the hard way.
Do you want interoperability in the middleware arena without vendor lock-in? Vendors continuously try to retrofit the term Enterprise Service Bus (ESB) to the architecture of their offering. I like the definition contributed by Paul Fremantle at WSO2 in his article "Reclaiming the ESB". It makes sense to define it as SOA infrastructure, based on a rather enterprisey requirement of canonical service interfaces. I would like to add - though - that most of the "EAI"-products rebranded into ESBs, …
Labels: soa
Service Component Architecture (SCA) moves on both in its adoption and in its evolution: There are many languages targeting the Java VM right now. The most popular seem to be the dynamic languages like Groovy, JRuby, and Jython. A rising star that has caught lots of attention recently is the statically type language Scala. Scala integrates both object-oriented and functional features, … Arketypen för en ESB är en produkt av kategorin "schweizisk armékniv" inom meddelandebaserad integration. Genom att stödja olika Enterprise Integration Patterns får man olika system att prata med varandra, eller att publicera funktionalitet som tjänster. Verksamheter som bedrivit meddelandebaserad integration under många år, … "Jag måste vara riktigt dum", tänkte jag. "vad är det jag missat här egentligen?" fortsatte mina tankar när vi satt och pratade på lunchrasten. Det här var strax efter jag gått min första Javakurs för cirka tio år sedan. Visst hade jag lärt mig Java på universitetet innan, men med Javakursen på jobbet så var det ändå lite mer "på riktigt". Alla pratade om den här så kallade "aha-upplevelsen" vad gäller objektorientering. … Prestandamätning är ett minerat område. Eftersom många testramverk riktar in sig mot vissa delar i det system det ska mäta ger det leverantören en möjlighet att optimera för testet. Förutom att kunna optimera de kodvägar som används av testet så är det också vanligt förekommande att offra best practices för design och utveckling för att klämma ut den sista prestandan. Och eftersom leverantören som gör testerna känner till hur man bäst optimerar sitt eget system, … Kraftfulla portalservrar - så som WebSphere Portal Server - är i många avseende mer lika integrationplattformar än applikationsservrar. Att utveckla, testa och deploya applikationer som publicerar s.k. portlets (enligt Java-standarden JSR-168) mot en full portal server är komplext för alla inblandade discipliner. Standarden WSRP (WebService Remote portlets) syftar till att frikoppla driften av en portlet-applikation från själva portal-servern. … Callista Enterprise har varit delaktiga - om än perifert - i framtagningen av specifikationerna för Service Component Architecture. Som ett led i vårt engagemang har vi påtalat behovet av en formell referensimplementation som stöd till specifikationerna. Ledningskommitén ansåg att det skulle ta för mycket tid från arbetet, medan vi hävdade att specifikationernas kvalité var beroende av en dito. Även om arbetet med en formell referensimplementation aldrig kom igång, … Nu under september månad är det preliminärt sagt att en public review skall publiseras av Web Beans (JSR 299)! Web Beans, som är ett embryo från JBoss Seam, har som sitt huvudsakliga syfte att låta EJB'er (3.0) direkt att agera som så kallade "managed beans" i JSF's komponentmodell. Avsikten med att förena dessa två komponentmodeller är att ge en mer förenklad programmeringsmodell för just web applikationer, …
Under sommaren har version 4.0 av open source-regelmotorn Drools (aka JBoss Rules) släppts. Mycket kraft har lagts på att göra Drools "Enterprise Ready" (förhoppningsvis utan att bli Enterprisey), frågan är om man har lyckats? Redan version 3.0, som kom för lite drygt ett år sedan, innebar ett stort steg framåt. Dels genom Eclipse-pluginen, … Den växande populariteten hos domän-specifika språk (eller DSL, Domain Specific Languages) har visat med önskvärd tydlighet att syntax är viktigare än man tror för att ge en formalism slagkraft och momentum. Det handlar ofta både om språklig elegans - att kunna uttrycka det man vill uttrycka på ett naturligt, enkelt och lättbegripligt sätt, … Projektet "Buckminster" från Eclipse är ett synnerligen efterlängtat svar på behovet av komponentbaserade bygg-miljöer med djup eclipse-integration. Buckminster kan beskrivas som Maven++, men med den unika möjligheten att integrera existerande komponentbaserade byggansatser - t.ex. Maven 2. Buckminster har sina egna beroende-baserade byggfiler - a la Maven. Men om man redan använder Maven för komponentbaserad utveckling, … Jag har byggt en J2EE applikation med Spring och använder Quartz för att schemalägga jobb som överför data mellan olika databaser. Datat kommer från en mängd olika källsystem. Spring har en hyffsad lättviktig integration med Quartz, men det tillkommer ju alltid konfiguration som kan göra det hela komplext. För J2EE applikationen har jag satt upp en automatiserad testmiljö med [FitNesse|http://www.fitnesse. … Adrian Colyer kommer till TSSJS-Europa och berättar om OSGi, TSSJS OSGi. OSGi är ett ramverk som gör det möjligt att installera, starta, stoppa och uppdatera komponenter utan att behöva starta om hela system. I brödtexten till föredraget står det: OSGi är en server-side revolution som är just runt hörnet. Jag lyssnade själv till föredraget på TSSJS i Las Vegas. … När jag först tittade på Maven2 för snart 2 år sedan, kändes de flesta områdena väl genomtänkta. Det var en välsignelse att slippa knacka Jelly-script för att skapa enkla pluginer - det gör man betydligt enklare med en Ant-baserad plugin i Maven2, eller t.o.m. med Maven2s antrun-plugin som kan köra inbäddade ant-script. Den transitiva beroende-hanteringen är mycket behändig, om de jar-filer du beror av har deklarerat sina beroenden på ett sunt sätt. Komposita projekt fick en enhetlig, … "Java Business Integration" är den flummiga uttolkningen av den kryptiska acronymen "JBI". Jag lämnade Mark Hapners JBI-presentation på The Server Side Symposium 2004 med lätt yrsel. Jag själv och kollegan Håkan tog oss en djupare titt på JBI i samband med våra förberedelser inför Cadec 2005. Tyvärr fanns då inga representativa implementationer, men bilden av en ny, mer generell container-arkitektur började växa fram. …
Labels: by_bb
Mångfald och konkurrens är ofta bra och nyttigt, men det är tve-eggat. Medaljens baksida är splittring och fragmentering, vilket Eclipse/Subversion-användare fått erfara. Två konkurrerande Eclipse-pluginer för Subversion har slagits om uppmärksamhet (Subclipse och Subversive), båda två funktionella men med sina egenheter. … Inget verktyg passar för allt, och en skicklig snickare har därför en rik uppsättning verktyg i sin låda. .Net-plattformen har tagit fasta på detta sedan start, och erbjuder en mångfald olika programmeringsspråk för CLR (.Net-världens virtuella maskin). Nu börjar även Java-världen haka på trenden. Groovy och JRuby är eleganta, dynamiskt typade språk med hög upplevd produktivitet. Inne på funktionell programmering? Jaskell är en rättfram implementation av ett av mina favorit-språk, Haskell, … Ajax-ramverket DWR har nu släppts i version 2.0, efter några månaders försening. Bakom DWR ligger Joe Walker, som talade om Ajax och DWR på ett av våra Callista Events i september förra året. Richard Stallman, en av de mest kända profilerna inom Free/Open Source Software-världen, kommer till Göteborg och håller ett föredrag på Göteborgs universitet den 16/5. "Richard Stallman kommer att prata om målet och filosofin bakom fri programvara och hur idéerna bakom fri programvara kan omfatta andra publicerade verk. … Gavin King, som ligger bakom open source-ramverken Hibernate och nu senast JBoss Seam, har börjat på en "Java EE 6 wishlist" på sin blogg. I den första delen av önskelistan tar han upp vilka förbättringar han skulle vilja se inom ramen för Session Beans. Här nämns bland annat stöd för mer lättviktig asynkronitet. … Jag har under den senaste veckan återigen ägnat mig åt ett ständigt återkommande problem, nämligen versionshantering av XML Scheman. Denna gång inom ramen för Websphere Message Broker (WMB) och dess meddelandedefinitioner, som är XML Schema-baserade. Ett vanligt återkommande krav i sammanhanget är vad man skulle kunna kalla "framåtkompatibla" scheman. … Sun har släppt en draft till JSR för JSF 2.0: https://javaserverfaces-spec-public.dev.java.net/proposals/JSF-2_0-draft.html där (bland mycket annat) Facelets vy-teknik omnämns. Det jag ser som problematiskt är främst två saker: 1. JSR scopet. Alla UML-verktyg jag använt vid kod-reviewer har saknat möjligheten att visualisera beroenden mellan paket. Efter reverse-engineering av källkoden för projektet som ska granskas, visas alla beroende mellan klasser snyggt och prydligt. Men trots att man på klassnivå kan se att det finns beroenden mellan klasser i två olika paket, lyser "--->" (Dependency)-associationen med sin frånvaro när jag backar upp till paket-nivå. Det finns säkert något modelleringsverktyg som fixar detta, …
Labels: by_bb
Jag hade höga förväntningar på Ed Burns föredrag om "Enterprise Grade Ajax and JSF". När vi hörde Ed redovisa status för JSF och vad som är planerat för JSF 2.0 på JAOO tidigt i höstas, lät det någorlunda hoppfullt. Teamet bakom JSF verkade vara medvetna om de kritiska problemen med JSF 1.x (relaterade till JSP som rendreringsteknik, se t.ex. Improving JSF by dumping JSP). Oracle gav en key-note om framtidens plattform:
RIFE är lite av en udda fågel bland web-ramverken. I någon mening skulle man kunna kalla det för Java-världens Rails (men utan Ruby). Det är framför allt ett par företeelser som gör det speciellt:
Arun Gipta - spec lead för JAX-WS presenterade WSIT - Suns tillägg till deras implementation av JAX-WS-specifikationen. JAX-WS är Javaplattformens standard för Web Services och XML-bindning fr.o.m. Java EE 5 och Java SE 5. JAX-WS-standarden täcker än så länge bara de WS-standards som profilerats av WS-I. Det är förstås på goda grunder. Användning av WS-*-standards utöver de få som WS-I hunnit profilera, innebär stora interoperabilitetsrisker. … Vem kan bättre belysa ämnet, än personerna bakom ajaxian.com? Föredraget inleddes med Ajax helloworld i Idea 6 - förstås i rasande fart. Därefter följde en översikt över ajax-ramverk och ett försök att klassificera dem. Diskussionen mynnade så småningom ut i en övergripande klassificering baserat på utvecklarens preferenser:
Dion valde ett favorit-ramverk för att representera respektive utgångspunkt, …
Labels: by_bb
När jag hörde Dion Almaer prata om Ajax på TSS för 2 år sedan, var Ajax en nisch-företeelse. Dion Almaer visade då en RSS-läsare helt i JavaScript. När han visade källkoden, sida upp och sida ner med JavaScript, sa han skämtsamt "don't do this at home, folks". Dion Almaer version 2007 är helt sjövild. …
Labels: by_bb
I sin keynote gjorde Erich Gamma några intressanta reflektioner kring vad som gjort Eclipse-projektet framgångsrikt. Självklarheter kan tyckas, men ofta så självklara att vi glömmer bort dem:
Apache Tuscany är en informell referensimplementation av SCA. Passande nog släpptes SCA-specifikationerna i version 1.00 idag. Tuscany implementerar Java-och WS-modellerna. Apache har också ett projekt för C++/SCA, men det täcktes inte av föredraget. Java annoteringar för dependency injectionTuscany stödjer SCA dependency injection och dess annoteringar. Här är ett exempel på konstruktor-baserad injecering mha annoteringar i Java. … Årets utbildning har förlagts till The Server Side Java Symposium, som går av stapeln fr.o.m. idag i Las Vegas. Vi ska försöka hinna med löpande avrapportering av intryck här på Callista Kommenterar. De flesta av oss har varit i USA sedan i Lördags kväll och såldes spenderat ett par semesterdagar i väntan på konferensen. Men nu är det skarpt läge! BakgrundOpen ESB är en JBI-baserad ESB som körs i en applikationsserver. I skrivande stund finns bara stöd för Glassfish / Sun application server. Open ESB stödjer s.k. SOI - Service Oriented Integration. Det betyder att flödet i processen hanteras av den första tjänsten som triggar processen och att alla övriga delar ses som anrop av tjänster från "huvudtjänsten". Den kan skrivas i Java, …
Labels: by_je
Callista Enterprise medlemskap (på supporter-nivå) i Open SOA - ger oss möjlighet att följa och påverka upploppet mot version 1.0 av Service Component Architecture. Draft för version 1 publicerades för review av supporters i förra veckan. SCA syftar till att lyfta service-orienterad utveckling och integration från tekniska protokoll och komplexa standards till logisk länkning av tjänster, oberoende av språk och protokoll. … Bygg en Data Grid hemma!I en intressant artikel How to Build a POJO-based Data Grid using Open Terracotta visas hur man själv kan skapa en Data Grid med samverkande JVM:er. Detta görs möjligt med Open Source produkten Terracotta. Data Grids används bl a för att bearbeta stora datamängder parallellt för att minska exekveringstiden. … EclEmma är en open-source plugin till Eclipse (>=3.1) som ger dig en snabb uppfattning om vilken kodtäckning din testkod ger. EclEmma integrerar med JUnit-testrunnern i Eclipse och körs via "Coverage"-knappen i toolbaren eller från Run-menyns "Coverage". Efter exekvering av ett test markeras kodrader i editorn med grönt (exekverad kod), gult (delvis exekverade kodrader) eller rött (ej exekverad kod). … För de som föredrar Ant framför Maven2 (eller har existerande byggsystem med Ant) men ändå skulle vilja hantera beroenden till externa bibliotek på ett Maven2-liknande sätt kan Ivy vara ett alternativ. Ant 1.7 har släppts och noterbart är att JUnit-tasken har fått en välbehövlig uppryckning. Till att börja med stödjs nu JUnit4 (som nu är snart ett år gammal) vilket gör att den tidigare stoppklossen som förhindrat uppgradering från JUnit 3.8.x är borta. Till stor glädje har nu även ett stort irritationsmoment försvunnit:
När man modellerar tjänsterna för en tjänstebaserad arkitektur (SOA), eftersträvas lös koppling mellan tjänstegränssnitt och IT-stödet. Tjänsterna och den tillhörande informationsmodellen styrs av verksamhetens processer och delas vanligen in efter verksamhetsdomäner. För att säkra integration av verksamhetens processer, baseras tjänsterna på en för verksamhetsdomänen gemensam meddelandemodell (informationsmodell skapad i syfte att beskriva meddelanden). Efter att IBM nu har släppt en alphaversion av EJB 3.0 som ett "feature pack" till WebSphere 6.1, så har man därmed tagit det första steget mot att stödja Java EE 5.0! Ferdinand har alltså äntrat scenen för att stångas med dem andra tjurarna i kampen mot en fullständing Java EE 5.0 implementation. IBM har dock en del att hämta in då BEA är en bra bit före med en "technology preview" av hela Java EE 5.0 implementation och inte tala om SAP som redan fått in alla getterna i hagen! … Under hösten 2005 så landade Java Business Integration (JBI 1.0) som "final" och definierade en standardbaserad arkitektur för integrationslösningar, en arkitektur vilken ger möjlighet att "plugga-in" tredje-part's komponenter i en infrastruktur på ett standardiserat sätt. Komponenter som stödjer JBI kan därför konstrueras av olika leverantörer och ändå uppnå interoperabilitet sinsemellan. Fler och fler aktörer börjar numera stödja JBI, men progressen har gått långsamt. … Inom ramen för kontinuerlig integration så tampas flera aktörer om CM-ansvarigas hjärtan, från Continuum och CruiseControl till IBM's senaste inköp, BuildForge. Skillnaderna är stora, inte bara rent funktionellt utan också kostnaden tenderar att variera. Frågan är vad man kan att erhålla däremellan? Har Continuum som open source tappat gnistan? Eller är BuildForge helt enkelt för kostsamt? Ett helt klart intressant alternativ till dem båda är Pulse! Se http://zutubi.com. … Att Dependency Injection (DI), en av grundstenarna i Spring, ökar testbarheten i samband med b la enhetstester kommer antagligen inte som någon chock. Att Fitnesse sedan som ett Wiki-baserat ramverk drar sitt strå till stacken med avseende på funktionella tester är kanske inte heller någon nyhet. Men hur kombinerar vi dem två för att på ett enkelt och transparent sätt få dem att samspela med varandra? Jo, med hjälp av spring-fitnesse. https://spring-fitnesse.dev.java. … Visst kan man lära gamla hundar sitta! Rational tar alltmer till sig opportunistiska idéer från Agile-lägret. Och med en välfylld kassakista kan man köpa upp de bästa, mest innovativa spelarna. Senast i raden av inköp är BuildForge, ett företag specialiserat på verktyg för byggautomation och kontinuerlig integration i Enterprise-tappning. Tänk dig Ant+Maven+CruiseControl, … Sparx Systems modelleringsverktyg Enterprise Architect har länge funnits som ett lättviktigt och billigt alternativ till de betydligt dyrare verktygen (Rational Rose, Rational Modeler m.fl). För under 200 dollar får man ett lättanvänt och stabilt verktyg med fullt stöd för samtliga UML 2.0 diagramtyper. Sparx har även den goda smaken att inse att producerade modeller måste kunna läsas av betydligt fler än bara de som producerar modeller, … Att regelbundna kodgranskningar har ett stort värde håller nog de flesta med om. Det gör att avvikelser från olika typer av riktlinjer blir mindre och att kvaliten ökar. Samtidigt tar det tid och resurser att genomföra. Hur får man bäst effekt av den investering som görs ? Äntligen kommer en fungerande plugin till Eclipse som ger mig det jag var bortskämd med i JBuilder: Enkel navigering mellan produktionskod och testkod. MoreUnit konfigureras med de namngivningskonventioner som gäller för ett projekt (folder för testkod, eventuella pre/postfix i paketnamn, pre/postfix i klassnamn), och ger sedan en högerknappsmeny och snabbkommando (Ctrl-J) för att hoppa mellan produktionskod och testkod. Finns ingen test för den aktuella produktionskoden, … Förra veckan fördjupade vi vårt engagemang i Service Component Architecture, genom att ingå Supporter-avtal med Open SOA. Som ett led i samarbetet blir vi intervjuade av BEAs och IBMs representanter, i syfte att föda tillbaka våra erfarenheter av att tillämpa SCA som en referensarkitektur. Måndagen gav intressanta inblickar i Amazons strategier för att nå hög tillgänglighet i sina tjänster. Tjänster blev förresten temat för dagen, vad mig anbelangar. Efter en presentation av server-scriptspråk för enkelt nyttjande av SOA-tjänster, kom dagens höjdpunkt: ett praktikfall på en SOA i megaskala: Danska statens satsning på webservices för ehandel. Sofia, Magnus, Björn och jag är på JAOO. JAOO inleddes i går, Söndag, med tutorials. JAg ägnade förmiddagen åt en utorial om OSGi - en arkitektur för micro-SOA, där alla tjänster deployas i samma Java VM och vävs samman med dependency injection. Magnus och Björn ägnade förmiddagen åt Ruby. Eftermiddagen vigdes åt Ruby On Rails. WS-I är standardiseringsorganet för interoperabilitet inom Web Services. WS-I driver sitt arbete genom att skapa profiler för användandet av olika webbservice standarder. Det har visat sig att leverantörers implementation av enskilda Webbservice standards inte leder till friktionsfri interoperabilitet. Genom att definiera profiler, begränsar WS-I hur enskilda specifikationer ska tillämpas, för att säkra interoperabilitet. …
Labels: opensource, by_sj
Trött på att ladda ner "rätt versioner" av alla pluginer till Eclipse för att få ihop en fungerande utvecklingsmiljö varje gång det kommer en ny release av Eclipse? Kolla då in Eclipse Callisto! Callisto består av 10 fristående Eclipse-projekt som alla släpps enligt en gemensam release-cykel, vilket innebär att man som utvecklare är garanterad att projekten fungerar ihop. … Testdriven utveckling och SOA är två koncept som börjar bli vardagsmat för de flesta av oss. Men hur kombinerar man bäst de två? Det finns många olika strategier för att testa web services (förutsatt att ens SOA är implementerad med hjälp av web services alltså), en vanlig strategi är att generera upp klientkod i t ex Java som man skriver JUnittester mot. Fördelen med denna strategi är att det är enkelt att automatisera testerna och köra dem som en del av sin vanliga byggprocess. … Som vi redan har sett i språk som Ruby, Groovy eller varför inte Smalltalk så kan så kallade Closures betydligt förenkla syntaxen på vissa typer av uttryck. Innehållet i Java SE 7 börjar så sakteliga att ta form och Closures är ett av tilläggen som eventuellt kan komma att ingå i språket. Här om dagen annonserades WAS Portal Server 6.0. WebSphere portal Server 5.x har störst marknadsandel av kommersiella portalservrar. Den har emellertid fått kritik för att vara komplex. Komplexiteten har delvis sitt ursprung i produktens monolitiska uppbyggnad. IBM har paketerat ett antal produkter - var och en en best i sig själv - för att leverera en komplett produkt. WAS Portal Server 5 paketerar bland annat WAS 5, Clearcase, … |
Overview Java EE SOA Open Source Dynamic Languages Web Build automation TDD Quality Control RIA |


