Poster taggade med ‘apache’

Rewrite-modulen för Apache brukar av någon outgrundlig anledning aldrig fungera bra för mig. Nu har jag återigen spenderat någon timme med att konfa upp den för wordpress och skriver därför ner vad jag gjort för att komma ihåg det till nästa gång.

Innehållet för min site mysite pekas ut av en konfigurationsfil i /etc/apache2/sites-available (virtual host-fil). Den innehåller följande: Läs mer >>

I denna artikel mixar vi Jersey med det XML-schema som Tommy Wassgren definierade i Serialisering med JAXB. Jersey är referensimplementationen för JAX-RS som är ett API för att bygga RESTfulla webbtjänster.

I artikeln visar vi hur enkelt det är att dra nytta av Jerseys inbyggda stöd för att skicka bl.a. XML och JSON m.h.a. JAXB. Vi visar också hur du kan enhetstesta REST-applikationen. Koden hittar du på github: https://github.com/cygni-stacktrace/jaxbws.

Läs mer >>

Apache Camel är ett javabaserat integrationsramverk som innehåller en mängd komponenter. När man konfigurerar kan man använda Spring xml, annoteringar och en Java DSL. Allt är väl beskrivet på Camels hemsida. Eftersom Scala är utvecklat för att enkelt kunna integrera med Java och Javas ramverk är det inte konstigt att är väldigt enkelt att integrera Scala-komponenter i Camel. Det finns även en Scala DSL som kan användas för att konfigurera Camel-routar med. Jag har skrivit ett litet Scala-Camel projekt, WeirdTranslator för att visa på hur Scala i Camel kan fungera. WeirdTranslator är  en variant på viskleken, man tar en mening och översätter den mellan ett antal språk och avslutar med att översätta till ursprungsspråket. I detta fallet finns det två vägar att få in och ut text antingen via GTalk, XMPP, och direkt med en TCP socket.

Läs mer >>

Använder ert projekt Apache Ant? Då är det rätt troligt att följande stämmer in:

  • Ant-scripten är långa, komplexa, svåröverskådliga och svårförvaltade.
  • Det finns mycket copy/paste kod i Ant-scripten.
  • Ni checkar in era externa jar-filer i ert SCM (vilket medför att det tar lång tid att synka ut kodbasen och det är svårt att hålla reda på vilka versioner av vilken jar-fil som används eftersom namnstandarden på externa jar-filer varierar kraftigt).
  • Ant-scripten kopierar väldigt mycket jar-filer under assembly och deploy.

Som en lösning på detta finns Maven som tar bort det mesta av den komplexitet som typiskt finns i ett Ant-script genom att kapsla in de vanligaste funktionerna som krävs vid bygge och assembly/deploy. Det som Maven dock är allra bäst på är Dependency Management d.v.s. att hantera beroenden mellan olika projekt och moduler (interna och externa).

Det kan dock vara svårt att övergå från Ant till Maven om de Ant-script som finns i en organisation innehåller mycket logik eller om förutsättningarna för en sådan förändring inte är de rätta. Då kan ett steg i rätt riktning vara att använda Mavens Ant-tasks som ”magiskt” kan hantera Dependency Management à la Maven fast i ett Ant-script. Ta en titt på http://maven.apache.org/ant-tasks.html för mer information.

Har följt diverse inlägg på sistone där man diskuterar hur man kan öka prestanda vid laddning av webbapplikationer. Ofta handlar det om att minska renderings- och transmissionstiden av HTML-sidorna. Många känner säkert till tekniken att komprimera resultatet och skicka en gzip:ad HTML till browsern att packa upp. De allra flesta moderna browsers stödjer detta även om det finns rapporter om problem med CSS och Javascript och då man kör SSL.

Läs mer >>

Apache-projektet, som drivs av The Apache Software Foundation, är helt klart mest kända för sin marknadsdominerande webbserver (67% av marknaden i januari 2004). De flesta som utvecklar i Java är också väl bekanta med Jakarta-projektet som fungerar som ett paraply över en mängd av Java-projekt under Apache.

I den här artikeln kommer vi att gå igenom de flesta av Apaches Java-projekt. Syftet är att få fler att få upp ögonen på vilken hög med guldklimpar som rymmer sig där… Ja, rena guldgruvan, faktiskt!

Denna artikel är även publicerad i Datormagazin nr 11, 2003.

Läs mer >>