Poster taggade med ‘jboss’

Sida 1/2:12

JRebel är ett trevligt utvecklingsverktyg som gör det möjligt att omedelbart testa ändringar i en applikation som körs utan att starta om applikationsservern (ex Tomcat, Jetty, Glassfish, JBoss, WebSphere etc). Denna JVM-plugin stödjer omladdning av allt från JPA-entiteter, Session beans, JSP:er till resurs- och konfigurationsfiler. Förändringar i klasshierarkier stöds dock inte för tillfället. Det finns plugins till de populäraste utvecklingsmiljöerna och flertalet Java-ramverk stöds.

JRebel kostar en slant men kan spara tid och effektivisera utvecklingsarbetet, framförallt när det gäller större och tyngre applikationer som tar lång tid att bygga och/eller deploya.

Läs mer om JRebel på http://www.zeroturnaround.com/jrebel/

Detta inlägg ingår i serien Spring från början och kommer att behandla det transaktionsstöd som finns i springmodulen spring-tx.

Transaktioner är ett sätt att hålla ihop en eller flera operationer. Typiskt gäller principen ”allt eller inget” vilket betyder att alla operationer som ingår i en transaktion ska exekveras utan fel för att transaktionen ska gälla. Det vanligaste fallet är databastransaktioner där exempelvis flera skrivningar måste exekveras utan fel innan en så kallad commit genomförs. Ett exempel på detta är det klassiska bankkontoexemplet med överflyttning av pengar från ett konto till ett annat. En överflyttning sker genom att ett uttag först sker från ett konto och sedan insättning på ett annat konto. Bägge operationerna måste lyckas, annars ska transaktionen inte gälla det vill säga att man ”rullar tillbaka” transaktionen via en så kallad rollback.

Spring erbjuder på ett enhetligt sätt stöd för att kunna hantera transaktioner av olika slag som till exempel JTA, JDBC, Hibernate, JPA och JDO. Transaktionsstödet kan användas på två sätt, deklarativt eller programmatiskt. Det deklarativa sättet är det absolut vanligaste och innebär att metadata kring transaktionslogik inte ligger inbäddad i den faktiska javakoden utan enbart finns deklarerad ”utanför” javakoden via metadata. Metadata kan antingen bestå av externa XML-filer eller annotationer och påverkar alltså inte javakoden, den är så att säga non-intrusive.

Läs mer >>

EJB 3.0 är den nu gällande versionen av Java Enterprise Beans(EJB) arkitekturen som ingår i Java EE 5. Syftet med EJB 3.0 är att förbättra arkitekturen för EJB och minska komplexiteten för utvecklaren av EJB applikationer. Detta innebär tex följande förbättringar:

  • Annoteringar, det finns ett gäng med annoteringar som man kan använda sig utav för att förenkla arbetet. Dessa annoteringar minskar antalet klasser och interface som man måste skapa och man behöver inte skapa någon deployment descriptor (om man inte vill).
  • Defaulta värden, man skall slippa specifiera en massa vanliga förväntade beteenden och krav från EJB-containern.
  • Inkapsling av beroenden och JNDI åtkomst via annoteringar och dependency injection (DI)
    Businessinterfacet för en sessionsböna kan vara ett vanligt Java-interface, det behöver inte vara av typen EJBObject, EJBLocalObject eller javax.rmi.Remote
  • Home-interfacet behövs inte längre för sessionsbönor.
  • Minskning av krav av användning av checked exceptions
  • En interceptor funktionalitet finns för sessions- och message-driven-bönor.
  • Entitetsbönor har fått en helt egen specifikation, Java Persistence API (JPA), är numera vanliga POJO’s.

Det finns ett par olika typer av EJB:er, sessionsbönor och message-driven-bönor. Sessionsbönorna kommer i två olika smaker, Stateless och Stateful. Entitetsbönorna har ju som sagt ersatts med JPA entiteter. Jag tänkte gå igenom dessa med små korta exempel. Läs mer >>

(Texten som tidigare saknades i detta blogginlägg är nu återskapad.)

Som en fortsättning på min artikel Eclipse Tips och Tricks, och Tommys Breakpoints i Eclipse, så tänkte jag berätta lite om remote-debuggning i Eclipse. Det är en mycket användbar teknik att kunna.

Det finns en massa bra pluginer till Eclipse för att hantera utveckling med olika applikationsservrar och servlet-motorer. Men i många fall behövs inte dessa. Java har länge kunnat öppna en port i VMen för att tillåta en debugger att koppla upp sig. Med Eclipse är det mycket enkelt. Se här bara…

Läs mer >>

Cygni har tecknat avtal med Docu group för att leverera konsulttjänster inom systemarkitektur och systemutveckling. Docu är en internationell informationskoncern som tillhandahåller  byggprojekt- och produktionsinformation i flertalet europeiska länder.

Cygni ska utifrån Docus kravbild designa en modern SOA-arkitektur baserad på Java/J2EE och JBoss.  Docus nya informationssystem skall klara höga prestandakrav samtidigt som det är flexibelt nog för att enkelt  kunna inkludera kommande förändringar i kravbilden.
Cygni välkomnar samarbetet med Docu som ytterligare ett bevis på att specialistkompetens inom systemarkitektur och högprestandasystem är fortsatt mycket eftertraktad i marknaden.

Det finns en ny spelare på webbserver marknaden, JBoss Web. JBoss Web är baserad på Tomcat men skall ha betydligt bättre prestand, speciellt vid hantering av säkert innehåll (SSL). En annan cool grej med denna webbserver är att det finns moduler till den för att köra ASP.NET, PHP och CGI applikationer också. För mer info besök JBoss Web

Denna artikel behandlar hur man kan kombinera traditionell J2EE-utveckling (applikationsserver med Stateless Session Beans och liknande) med Spring Framework och samtidigt erhålla en kort Code-Build-Test-cykel, hur man får det bästa av två världar. Läs mer >>

Oj, vad tiden går fort när det är sommar… Det var nästan två månader sedan vi bloggade sist, men nu är det full fart igen! Vi får be om ursäkt för den långa tystnaden här till alla våra trogna läsare (hej, mamma!).

Dagens spännande nyhet dolde sig i AspectJs maillista: Adrian Coyler, som är den som håller i rodret i AspectJ-projektet, slutar nu på IBM och börjar på Interface 21. Interface 21, för er som inte känner till det, är för Spring som JBoss Inc är för JBoss, dvs ett företag bestående av de som i första hand ligger bakom Spring, som håller i rodret för projektet och säljer konsulttjänster kring detta.

Varför är då detta så spännande? Jo, det innebär en ännu tajtare integration mellan två av de (enligt mig) klart mest intressant Java open source-projekten just nu: Spring och AspectJ!

Jag grubblade lite på i vilken kategori jag skulle placera den här nyheten, men eftersom det handlar om Adrian, som är Mr AspectJ, så får det bli i AOP-kategorin.

Sida 1/2:12