2012 June

Jongo, query in Java as in Mongo shell

yamsellem

Mongo the document oriented NoSQL database supported by 10gen offers a compact, easy to learn and well documented query language. Unfortunately, using Mongo with its Java driver can be tricky: querying, mapping results and handling polymorphism require lots of code. Some libraries aim to simplify this (like Morphia), but none allows to query in a shell fashion. Jongo tries to fill that need, querying with the use of strings and unmarshalling results into Java objects.

 Read more

JSON shell scripting with jsawk

Barend Garvelink

I previously blogged about shell scripting JSON with Node.js. In this post, I’ll demonstrate how to achieve the same thing with jsawk. The way these things go, I didn’t find out about jsawk until after I wrote my post about shell scripting with Node. It’s good to know both :) .

Jsawk, as the name implies, aims to be for json what awk is for structured plain text. It’s rather useful, as it saves a lot of setup/boilerplate compared to the node.js scripts I’ve shown before.

 Read more

3-2-1 Bang! Summary of first Software Architecture Pressure Cooker meetup

Gero Vermaas

Last Thursday the first Software Architecture Pressure Cooker meetup was held. The goal of these meetups is to exchange experiences on software architecture. This is done by working on a real life case using the following format:

  1. A specific challenging scenario is introduced in general terms
  2. An organization is invited to present a real life case that matches the scenario introduced, they act as product owner during the evening.
  3. In a couple of rounds the group brainstorms, breaks up in sub groups and works on solutions.
  4. All solutions are presented to the product owner
  5. Some heated discussions take place between the various subgroups where each group tries to convince the other groups.

The scenario for this first meetup was “3-2-1 Bang!”. Characteristics of this scenario are:
 Read more

Cost Effective, Fast and Scalable: Is It Time You Considered Automated App Deployment?

cbaart

Our approach to software development has changed in the last few years. IT professionals and software developers are working more closely together than ever before. The DevOps trend also extends to an acknowledgement that automation is a key factor in reducing costs and increasing release speeds.

Striving to be cost effective is a constant for any business but the increased focus on speed of deployment is a product of the growth of the Cloud and Agile development methodology. The bottom line is – the faster new features, fixes and improvements reach the customer, the greater their satisfaction. The same principle applies in an enterprise environment – the faster the latest version of an application reaches users, the more productive they can be.

Both environments require scalability. As your product offerings grow and branch out, the delivery method must be capable of handling the changes. In the enterprise environment a large portfolio of software applications is the norm and any deployment solution must be able to scale.

Automated app deployment can reduce costs, increase speed and scale as needed, but before we take a look at the solution let’s discuss the problem.

App Deployment Nightmares

There are a lot of potential problems in deploying applications manually. Not least of which is the time it can consume for developers and IT support. Configuration is the first challenge. Where is the application stored? Which version should be installed? Where should it be installed? Where is the configuration file and how is it applied?

Read More

A suit for your product owner

Jarl Meijer

Last week at the Xebicon conference in the Netherlands we presented different setups of Product Owner teams, using 3 models. We talked about Product Owner teams, as in most cases the Product Owner role is not executed by just the Product Owner person. He (or she, of course) organizes help from others to fulfil this exacting role. Read more

“It is in the log, stupid!”

Thijs Vermeer

Browsing through the log files of any production system, you will be amazed on how many messages are logged on the Error level. It is not uncommon to find hundreds to thousands of error messages per day! When you point these out to developers or system administrators, the usual reply I get is: “Oh, that is normal”. Let me tell you: it is not normal. Any diagnostics message that is logged on the Error level, is an indication of a failure in the system. When a error log message references a situation that is not erroneous, that is an error in itself and they may  blind you for any real errors that are logged.

The fun part is that the application log is a very good indicator of the system’s maturity.
 Read more

“It is in the log, stupid!”

Mark van Holsteijn

Browsing through the log files of any production system, you will be amazed on how many messages are logged on the Error level. It is not uncommon to find hundreds to thousands of error messages per day! When you point these out to developers or system administrators, the usual reply I get is: “Oh, that is normal”. Let me tell you: it is not normal. Any diagnostics message that is logged on the Error level, is an indication of a failure in the system. When a error log message references a situation that is not erroneous, that is an error in itself and they may  blind you for any real errors that are logged.

The fun part is that the application log is a very good indicator of the system’s maturity.
 Read more

JSON shell scripting with Node.js

Barend Garvelink

I’m currently in a project team working on an application that stores much of its data in CouchDB. One of the lovely things about Couch is its RESTful API. It’s all simple HTTP and JSON, easy to understand and easy to program to.

One aspect where this interface isn’t so readily accessible is in shell scripting. There’s curl to handle all the HTTP stuff we could ever need, but to transform a JSON structure or extract information from it proved less straightforward. We can cover simple cases with grep and awk, but JSON is complex enough that we (or, well, I) wouldn’t want to. If the documents were XML, we could have used xpath and xslt to do our heavy lifting. There is to my knowledge no equivalent to xmlstarlet for JSON to reliably handle these chores.

We solved our shell scripting problem and the solution is dead obvious,  Read more