Appcelerator Titanium Studio: Lokalisierung mittels Java-Properties-Dateien

Die erste Version unserer Communote App entwickelten wir noch mit Rhodes. Die entstandene App fühlte sich leider nicht so nativ an wie wir uns das wünschen. Zusätzlich war sie recht fehleranfällig. Mit der kommenden Version setzen wir auf Titanium von Appcelerator. Für die Bearbeitung von Lokalisierungen setzt Titanium auf ein eigenes XML-Format. Um zentralisiert Übersetzungen vorzunehmen verwenden wir allerdings Pootle,…

Schaltsekunde macht Probleme in Java Anwendungen

Wie am Wochenende auf Heise.de zu lesen war, wurde eine positive Schaltsekunde eingeschoben, um einer Verschiebung zwischen Uhrzeit und Tagesverlauf entgegenzuwirken. Genau diese Sekunde führt auf Linuxsystemen zu Problemen. Die Auswirkungen sind: extrem hohe CPU-Last Anwendungen können nich mehr erreicht werden Server können nicht mehr erreicht werden Um dieses Problem zu beheben, gibt es zwei Lösungen. Die erste Lösung ist…

ASP.NET security update against #hashDoS attacks

In a presentation („Efficient Denial of Service Attacks on Web Application Platforms“, Dec 28th 2011, PDF) at 28th Chaos Communication Congress in Berlin (#28c3) there have been published details on how to perform so called „hash collision attacks“ on webservers. This does not only affect Microsoft technology (ASP.NET), but also Java, Python, Ruby, PHP, v8/node.js, … Microsoft has already reacted…

ASP.NET Sicherheitsupdate gegen #hashDoS Angriffe

Im Rahmen eines Vortrags („Efficient Denial of Service Attacks on Web Application Platforms“, 28.12.2011, PDF) auf dem 28. Chaos Communication Congress in Berlin (#28c3) wurde eine Möglichkeit vorgestellt, Webserver mittels einer sogenannten „hash collision attack“ zu überlasten, so dass diese praktisch zum Stillstand kommen. Betroffen ist dabei nicht nur Microsoft-Technologie (ASP.NET), sondern auch Java, Python, Ruby, PHP, v8/node.js, … Microsoft hat…

S/MIME mit BouncyCastle 1.46

Mit dem Ende Februar veröffentlichten BouncyCastle 1.46 wurden die APIs für die Ver- und Entschlüsselung von Nachrichten nach dem S/MIME-Standard teils stark verändert. Dies erhöht auf der einen Seite die Flexibilität, erfordert aber auf der anderen Seite eine Umstellung von bestehendem Code, wenn dieser nicht mehr die nun als „deprecated“ gekennzeichneten APIs nutzen soll.

Was tun bei OutOfMemory – Teil 2: Analyse

Nicht selten kommt es vor, dass Speicherprobleme erst im Wirkbetrieb auftreten. Die Gründe dafür sind oft, dass das System nicht ausreichend oder gar nicht unter realen Lastbedingungen getestet wurde. Bei Systemen mit redaktionellen Inhalten (z. B. Content Management Systeme) ergibt sich aus der steigenden Anzahl der Inhalte in Verbindung mit Abhängigkeiten und Caching  eine wachsende Belastung. In der Testphase sind…

Annotaion in Spring 3.0

Annotations erfreuen sich immer größerer Beliebtheit. Egal wo man hinsieht, fast alles kann man mittlerweise damit machen (Caching, Persistenz, deklarative Services in OSGi, …). Seit Spring 3.0 gibt es nun auch im Springframework Annotations. Ohne Annotations Als Beispiel soll ein einfacher HalloWellt-Controller dienen. Klassen, die bei SpringMVC als Controller-Klassen fungieren, müssen das Interface Controller implementieren oder einfach von einer bestehenden…

JUG Saxony: Java EE 6 Web Profile: Essentials

Am 09. Dezember 2010 ist es mal wieder soweit und die Java User Group Saxony präsentiert sich erneut mit einem spannenden Thema an der TU Dresden. Dirk Mahler von der buschmais GbR wird etwas über das Web Profile von Java EE 6 erzählen. Dazu ist jeder Interessierte herzlich eingeladen, eine Anmeldung über Amiando ist allerdings wünschenswert. Inhalt des Vortrags In…

EJB Annotationen in Jar Files

Möchte man in größeren Projekten gemeinsam genutzte EJB-Klassen wie z.B.  allgemeine Exceptions oder Basisklassen für Entities in separate Libraries auslagern muss man beachten, dass die EJB-Annotationen in den Jar Dateien vom verwendeten EJB-Container unter Umständen nicht beachtet werden. Abhilfe schafft hier das manuelle Registrieren der Exceptions oder Entitäten aus dem Jar-File in den XML-Konfigurationen (ejb-jar.xml, persistence.xml) der jeweiligen ejb-jar. Beispiel…

HyperJAXB3

Im Rahmen eines Projektes sollten XML Mockup Dateien in einer Datenbank gehalten und über eine Webservice-Schnittstelle ausgelesen werden. Für gewöhnlich habe ich aus der XSD per JAXB Java Klassen generiert und in Entity Beans gemappt, die anschließend in die Datenbank geschrieben werden. Um dieses, aus meiner Sicht recht aufwendige und fehleranfällige Mapping in die Entity Beans zu umgehen, habe ich…

Asynchrone Methoden mit EJB 3.1

Asynchrone Prozesse werden sehr häufig in Enterprise Applikationen eingesetzt um Abläufe zu beschleunigen. Um diese mit EJB 3.0 zu realisieren kam man um den Einsatz von Message Driven Beans und JMS nicht herum, da diese die einzige Möglichkeit darstellten asynchrone Aufrufe zu realisieren. Mit der Einführung von EJB 3.1 und der neuen Annotation @Asynchronous wird es nun möglich, Methoden direkt…

Parallelität mit gpars

Unser Teamoffsite in Eschdorf am 13.11.09 war unter Anderem dem Thema gpars (http://gpars.codehaus.org/) gewidmet, ein Groovy-Framework, welches es erlaubt, parallele Software zu entwickeln, ohne dabei die Komplexität der dafür vorgesehenen Java-Mechanismen kennen zu müssen. Folgende Konzepte werden von gpars unterstützt: – Aktoren (auch verteilte) – Datenflussoperatoren – Sicherungen für veränderliche Objekte (Safe) sowie – nebenläufige Operationen auf Collections und –…

JUG Saxony – Extreme Lightweight Architectures

Die nunmehr Achte Veranstaltung der Java User Group Saxony stand am 10.9.2009 unter dem Motto EJB 3.1. Wir konnten gemeinsam mit unseren Sponsoren (unser Dank gilt der planConnect GmbH und der Communardo Software GmbH) Adam Bien mit seinem Vortrag „Extreme Lightweight Architectures (XLAs :-)) mit Java EE 6 und insbesondere EJB 3.1“ für die JUG gewinnen. Knapp 100 Besucher waren…

Detail Formater – besser debuggen in Eclipse

Wer kennt das nicht? Man debuggt  sich Zeile für Zeile durch den Code um Fehler in komplexen Algorithmen zu finden. Das Auslesen von primitiven Datentypen oder Strings klappt ziemlich gut. Wenig hilfreich ist allerdings die Darstellung von Kalenderobjekten. Mit Hilfe der in Eclipse angebotenen DetailFormater lassen sich Objekte im Debug-Modus beliebig formatieren. Für ein Objekt vom Typ „java.util.GregorianCalendar“ könnte die…

JCA Release 1.5

Durch JCA (J2EE Connection Architekture) können externe Systeme, wie z.B. Enterprise Information Syteme, an einen J2EE Application Server angebunden werden. JCA bietet ein flexibles Framework an, welches es erlaubt, unterschiedliche Kommunikationswege, wie z.B. Message Queueing oder Files anzubinden. Bei der Kommunikation mit externen Systemen wird zwischen der Inbound- und Outbound-Kommunikation unterschieden. In dem folgenden Beispiel soll eine Inbound-Kommunikation zwischen einem…

Veranstaltungen 2009 im Bereich Java, Dot.NET und Wissensmanagement

Da im neuen Jahr 2009 bereits ein Monat vergangen ist, wurde es Zeit für eine kleine Recherche zu Konferenzen und Veranstaltungen, die in diesem Jahr zu Technologien wie Java und Dot.NET bzw. zu Themen im Bereich web 2.0 und Wissensmanagement angeboten werden. Januar: Microblogging. Conference. Hamburg 23. und 24.01.2009  Hamburg http://www.mbc09.de/ OOP München Soft(ware) Skills: The key to successful projects 26. –…

Confluence Persistenz mit Bandana – Fallstricke

Die Confluence API bietet über das Bandana-Framework eine einfache Möglichkeit zum Speichern beliebiger Java Objekte an. Im Prinzip muss man zu dem Objekt nur einen einen Kontext (bezieht sich auf einen bestimmten Confluence Space oder ist global) und einen bezüglich dieses Kontextes eindeutigen Key angeben und der BandanaManager kümmert sich um den Rest. Der Vorteil liegt auf der Hand: Man…

1 2 3