Index syndication
comment syndication

Archive for tech

Attempt to Deploy Netflix Edda on Wildfly 8.x

I’ve been trying to find a production platform for Edda, the Netflix OSS app for tracking AWS resources.

The application is written in Scala, which gets compiled as Java bytecode. The build toolset used by Netflix is gradle, and they deploy the application for testing into Jetty. Jetty can be used in a production environment, but the setup that comes with the build set with Edda is not really designed with a production server in mind. That said, a lot of people just end up running Edda by manually running up Jetty as a background process on a Linux box. Since I’ve been using Java application servers for quite a number of years (Websphere AS, Tomcat, Glassfish); I understand the need to run compiled Java web apps in production infrastructure. Therefore, I have been trying to find a reliable, OpenSource Java Web Application Server (WAS) to host Edda.

I’ve been thinking of trying out JBoss in the past, and the 8th major release of Jboss is now known as Wildfly, it seemed like a likely target for deploying Edda to.

The gradle build of Edda produces a WAR file, ready for deployment to a WAS. However, the war file from the gradle build won’t deploy by default on Wildfly, as shown with this error:

01:12:50,021 ERROR [] (XNIO-1 task-10) JBAS015870: Deploy of deployment "edda-2.1.war" was rolled back with the following failure message:
{"JBAS014671: Failed services" => {"jboss.undertow.deployment.default-server.default-host.\"/edda-2.1\"" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host.\"/edda-2.1\": Failed to start service
Caused by: com.sun.jersey.api.container.ContainerException: The ResourceConfig instance does not contain any root resource classes."}}

Edda uses Jersey (a standard and portable JAX-RS API) for RESTful Web services, but the WAR file won’t deploy properly with the servlets configured to use Jersey. This is due to the fact that Jersey is no longer a (default) option for JAX-RS web services on Wildfly. It comes integrated with RestEasy as the JAX-RS implementation instead.

Using RestEasy makes it necessary to change your Web.xml file because Jersey and RestEasy have different deployment configurations. This will likely to apply to any Wildfly 8.2 release, even though I’m using 8.2.0

The solution for Edda; is to modify the web.xml that gets built into the WAR file. I’ve committed the modification for web.xml to a branch on my fork of Edda. This solves the deployment issue when you try to deploy Edda as a WAR file into Wildfly.

Yet after all this; I can’t actually get Edda to work properly on Wildfly.

In the end I went for the good old Tomcat Java Web App Server, and Edda runs with an out of the box build.

Is SNI viable?

Traditionally if one was to secure a web server using TLS (or previously, SSL) – then one would configure your web server to use TCP port 443 to listen for TLS requests from clients (browsers). When a browser connects to the web server using the HTTPS protocol, the server would encrypt the communications and all would be well with the world.

A problem occurs when you use name based Virtual Hosting on your web server. If you need to determine the client request before providing content from a virtual host, e.g. vs., then this couldn’t be done if you encrypted the communications using TLS. Enter stage left: Server Name Indication.

According to Wikipedia:

Server Name Indication is a feature that extends the SSL and TLS protocols. It permits the client to request the domain name before the certificate is committed to the server. This is essential for using TLS in virtual hosting mode.

I’ve a need to use Server Name Indication (SNI) for some freelance IT work I perform, but colleagues shy away from SNI since Internet Explorer on Windows XP is unsupported.

Is this an issue? Are so many people still on Windows XP that it will diminish the security aspects of implementing SSL to secure input of personal data ?

One of the best places to determine OS usage trends in Australia would be from Google, but they don’t provide such data. Therefore I turn to another source of data: StatCounter. They have been providing stats to websites and business for well over 10 years, so their data should be viable.

Source: StatCounter Global Stats – OS Market Share

The chart above shows Operating system usage for 2014 in Australia. Windows XP sits at 4 percent usage at the end of 2014. For an operating system that’s now unsupported and 4 Major versions old; it just shouldn’t be considered anymore.

Source: StatCounter Global Stats – Combine Chrome (all versions) & Firefox (5+) Market Share

The second chart shows browser usage statistics in 2014. Internet Explorer 6, which doesn’t support SNI, isn’t even on the chart anymore.

Knowing the actual statistics – the usage of Internet Explorer 6 (or a lesser version) and Windows XP seems to be so minimal that usage of SNI is a viable option; especially where it gives a rise to cost saving on implementation of x509 certificates on web front ends. What do you think?

Podcast RSS Feed (XML file) not working on WordPress Site

I host this blog in WordPress, and it’s a great micro CMS with all the bells and whistles. I also publish and host the XML file for a podcast of the Angry Human. It’s picked up by feed burner, and then iTunes takes the feed burner RSS feed and et voila! All the Apple listeners to the show Angry Human by David Biedny get their recent shows!

I recently had an issue where I’ve moved this site from Rackspace Cloud Sites to the Godaddy Managed WordPress sites. One of the things that was happening was the URI for the podcast XML RSS feed was returning as a 404 not found; even though it was there. Nothing I tried made this thing work, and nowhere could I find other people talking about RSS XML files published alongside wordpress not working. Even adding a new .htaccess file in the subfolder on the server to turn off URL rewrites did not work.

Another client I had recently worked with wanted some SEO optimisations, and we ended up implementing the awesome WordPress SEO plugin by Joost de Valk . One of the things I had noted about this plugin on the Godaddy hosting, was that the XML site map feature used to help bots index the site, was not working. We fixed this quite easily with a commonly known fix in the .htaccess file on the WordPress host.

I had not groked this similar error until an “Aha” moment when I realised an XML file, whether it be sitemap.xml or angryhuman.xml had been invoking the same rewrite error causing a 404 not found on a valid URI for a hosted file. Double checking and I had indeed implemented WordPress SEO plugin on this site.

The root cause: any self published XML file outside of the standard wordpress folders on a GoDaddy Managed WordPress Site – will return a 404 not found if you are using WordPress 3.9 and WordPress SEO by Yoast.

Therefore the fix in this case for my self published XML feed for Angry Human was adding this to the .htaccess:

Apple iTMS TV show quality review

This is an old review I wrote and never posted, but it’s still relevant today. My conclusion is up to date for 2011.

Having just purchased and watched seasons 1 and 2 of The Tudors from iTunes (I missed them on Showtime), I was searching the net for other peoples thoughts on the quality of these TV shows. One review I came across was from, concering iTunes quality vs Bit Torrent. Since their blog post in 2005, Apple seems to have upped the standard of their TV show offerings.

I’m be the first to admit that I’m an Apple fan, with my Mac laptop the primary downloader of these TV Shows, syncing to my iPhone and also viewing the shows via front row on my Mac Mini. It’s the viewing of these on the Mac Mini I will review.

Read the rest of this entry »

Next entries »