|< < 2 > >|

MS-Project under Linux

Posted on: 17-09-2008 by sid

For those who need to work with MS-Projectfiles under Linux I’ve found something interesting. There is a program called OpenProject which enables you to open and view MS-Projectfiles. In another blog I found some informations, that it does not include all features offered by MS-Project but for my requirements it was good enough. So I think this could be a good alternativ to the commercial ones.

Recommendations to read (Part 1)

Posted on: 10-09-2008 by sid

First of all there is the new book from my mum. Its called 'Raubkind' and written in german. Here is the description of this book (currently only in german):

Die Fantasie des Protagonisten Jakob schafft Handlungen, vernetzt Beziehungen oder lässt sie bröckeln, bindet oder entbindet Schicksale. "Raubkind" ist das Puzzle-Buch dieses seelenfrustrierten Beobachters, der sich in den virtuellen Lebensgeschichten der Anderen impliziert, um sich jedes Mal neu zu erfahren und korrigieren; die Geschichte eines meist sukzessiv (hinein)gleitenden Ichs mit mehreren Stimmen, Namen und Biografien, knappe Anatomie menschlicher/gesellschaftlicher Unvollkommenheit. Der mit dem Debütpreis des Ludwigsburger Pop-Verlags für 2008 ausgezeichnete Erstlingsroman der Lyrikerin und Prosaautorin Barbara-Marie Mund ist ein Szenario existentieller Sehnsucht nach dem verlorenen Etwas, in einem stetigen Wechselspiel von abgründiger Wirklichkeit und Projektion, von Schatten, Irrlichtern und Irrkreisen. Francisca Ricinski-Marienfeld

At that time I don’t have read the book but I will do it very soon, and then I will write something about it and how I find it. If you wanna get it here is the link: Raubkind :: Barbara Mundt :: Pop, Traian

The second book is from my lovely little sister Mareike. I’ve read it and must say this is one of the best books I’ve read in the last time. But maybe I am a little bit jaundiced, cause I am the brother, so you have to deside. The description of the book (also in german):

Fünf Jahre Leben auf der Straße, und dann zu Pflegeeltern. Kann das überhaupt gut gehen? Marie-Luna ist 16 Jahre alt und nun soll sie plötzlich all ihre Freiheiten aufgeben, all ihre Freunde von heute auf morgen verlassen und ein völlig neues Leben beginnen. Ein langwieriger Prozess des Umdenkens beginnt. Was bedeutet Freiheit überhaupt?Und wo soll dieses Leben eigentlich hinführen? Marie-Luna muss eine Entscheidung treffen, doch der Weg dahin ist steinig und nicht selten schmerzhaft. Was bleibt ist der Traum vom fliegen und die Suche nach der wirklichen, grenzenlosen Freiheit[…​]

[…​] Das sollte nun also meine neue "Familie" sein. Eine Frau, die mir als Maggy vorgestellt wurde, und ein Mann namens Jon. Ich war wirklich begeistert. Seit sieben Jahren hatte ich mein Leben nun mehr oder weniger alleine gemeistert und jetzt mit 16 Jahren, wo ich wirklich gut darauf verzichten konnte, sollte ich das erste Mal in meinem Leben eine Familie haben. "Und das ist Marie- Luna", schloss Bergmann, mein "Bewährungshelfer", die Vorstellungsrunde und deutete auf mich. Marie-Luna – wie das klang. So hatte mich seit einer Ewigkeit keiner mehr genannt. Bergmann verabschiedete sich und ich folgte meinen künftigen Pflegeeltern widerwillig ins Haus. "Dann wollen wir dir mal dein Zimmer zeigen, damit du deine Sachen abstellen und dir etwas anderes anziehen kannst, Luna – du hast doch nichts dagegen, wenn ich dich so nenne, oder?" "Schon okay", murmelte ich. Wie kam sie eigentlich darauf, dass ich mir etwas anderes anziehen wollte? Sie zeigte mir mein Zimmer, das sich im ersten Stock des Hauses befand, und forderte mich auf, doch runter in die Küche zu kommen, nachdem ich mich ein wenig umgesehen hätte, damit wir gemeinsam zu Mittag essen könnten[…​]

ServiceMix :: FTP Component

Posted on: 09-09-2008 by sid

So in the project I talked from in the post before we maybe want to use ServiceMix as something like an transfer/routing server. So I looked at the ftp component to be able to get data from servers which are not running on the same machine (now at todays point it seems like that the other servers will bring us the data, so we don’t need ftp, but earlier this was not clear). So the basic configuration of an ftp component is easily done and you find enough documentation to get started. But I want to try the filter property which must be of the type "java.io.FileFilter" so this means we have to create/use an class which implements the FileFilter interface. But how can we add the class to our configuration and how we get maven to compile this class during packaging our component? Here is my solution its something like combining the ftp component with the bean component:

<?xml version="1.0" encoding="UTF-8"?>
<!--
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
-->
<beans xmlns:ftp="http://servicemix.apache.org/ftp/1.0"
       xmlns:bean="http://www.springframework.org/schema/beans"
       xmlns:brockhaus="http://www.brockhaus.de/services"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://servicemix.apache.org/ftp/1.0
                    http://servicemix.apache.org/schema/servicemix-ftp-3.2.2.xsd
       http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">

  <ftp:poller service="brockhaus:FtpInputService"
              endpoint="endpoint"
              targetService="brockhaus:ProductTransformerService"
              uri="ftp://servicemix:rocks@localhost/smx/products"
              filter="#XMLFilter" />

   <bean:bean id="XMLFilter" class="de.brockhaus.utils.XMLFilter"/>

</beans>

So as you can see there is a bean tag added, which includes the full qualified name of the Java class. This class is stored equally to a bean componenten under src/main/java/<package_declaration>. Thats all.

Some basic informations:

Working with Smooks

Posted on: 09-09-2008 by sid

Currently I’am workin in a project in Dresden. My part is placed in the ETL (Extract Transform Load) process and I have to do the transform part. So we have to transform XML and CSV files. Some of this files are about 200 Mbyte and we have decided to use Smooks ([HIER DER LINK]). Smooks is a framework to analyse or transform data (not only XML). To handle a transformation with Smooks you have to create a configuration file in XML. On the project side you can find lots of basic examples which are very useful to get started. What I missed where some more complex mapping examples for the XML-to-Java conversion. So I’ve desided to create one. Basic mapping of XML is not very hard. But my problem was that I had to map elements with the same name which are placed under subelements. Here is an sample XML file:

<xml version=“1.0“>
<configuration>
 <modules>
 <module name=“...“>
 <language>...</language>
 <save-path>...</save-path>
 <custom-settings>
 <setting name=“...“ value=“...“/>
 ...
 </custom-settings>
 <submodules>
 <submodule>
 <modulepath>...</modulepath>
 <custom-settings>
 <setting name=“...“ value=“...“/>
 ...
 </custom-settings>
 <submodule>
 </submodules>

 	 	 ...
 </module>
 	 	 ...
</modules>
</configuration>

So what you see are the two cusomsettings tags which can be described via different pathes:

  1. /configuration/modules/module/custom-settings/setting

  2. /configuration/modules/module/submodules/submodule/customsettings/setting

To access a tag in Smooks you have to configure the selector attribute [BEISPIEL] for unique accessable tags this is no problem you only have to use the name. But what do we have to do if we want to access a not unique tag like in the example above? On the project page you find some information, that you can access elements in a XPath or CSS like way. So I tried it out only in the selector of the ressource-config tag. But this doesen’t works. My thoughts where that this element defines what to select and the inner element only selects inside of whats already selected. But this is wrong. You have to configure all selector tags:

<ressource-config selector=“submodule/custom-settings/settings“>
 ...	 	 ...
 <param name=“bindings“>
 <binding property=“@name“ selector=“submodule/custom-settings/setting/@value/>

 </param>
</ressource-config>

Installing Latex on Gentoo (with bibtex and nomencl)

Posted on: 12-08-2008 by sid

I installed a second time my Gentoo system with Latex. I need bibtex and nomencl for my diploma thesis, so I have to install an extra package.

  1. Insert tetex USE-FLAG into make.conf

  2. emerge texlive

  3. emerge texlive-latexextra

The last step is needed for extra packages like nomencl…

Impressions from India

Posted on: 06-08-2008 by sid

First time as we arrive in Kalkutta, my first thougth was: “what a huge sauna”, temperature at 28° and a humidity at ca. 80%. Now we had to wait for 7 or 8 hours for our domestic flight to Bhubaneshwar. The time we spend with talking and trinking tea… as we arrived in Bhubaneshwar one guy from the university tooks us up. From airport we drove to the hotel to fresh us up and change clothes. After that we drove to university to met the vice chancellor and some other professors. This takes about an hour or something like that. After that we met the students of the exchange program and started the Java courses. At lunch we was at the dining house of the university. What was not much more, then an dump, what is much different from so called “mensa” on german universities. In the evening we fall early in our bets because of the jet-lag.

Next days every day we started at 9 o`clock with the Java training. For me one of the experience I’ve made, is that the indian, learning behaviour is much different from the german once. In germany its most of the time not only memorizing, its more like learning by doing. In india it seems to be more memorizing all the stuff, so the programming paradigms are all present, but it is hard to the students to transfer them into a programming language like Java.

In the evenings we went for some tourist stuff like shopping or visiting some of the nice temples which can be found in Bhukaneshwar. This are very impressive but unlikely the biggest one can only be entered as Hindu.

During our stay in India the chancellor and headmaster of university of Siegen arrived in India, so we had some meetings with all the three partners (University of Siegen, Brockhaus GmbH and University of Bhoukaneshwar).

At least it has to be said that, the stay in India was a nice and interesting trip and after all we successfully finished our work. For me it is sure, that I will be back in later times.

At Saturday (02.08) my flied returned to Germany and I successfully (but tired) arrived in Mannheim on 03.08 at the morning.

My cousin is under the 'cap'…​

Posted on: 14-07-2008 by sid

… transfering german sayings into english roxx 🙂 Jear last weakend we (Kim, Rainer, Kerstin and me) were at the wedding of my cousin Anne. I think it was the loveliest wedding were I ever was invited (ok, that aren’t so much but I think for the coming weddings it will be hard to beat that). But let me start on the beginning.

I started in Mannheim at 5:33 pm and had much luck because there was an ICE accident on Thursday evening (I think it was there, maybe it was ealier) and much of the ICE’s coming from Cologne has a delay. So even the ICE what I decided to use. But my luck was, that the ICE which was schedduled for 16.33 had one hour delay so it arrives when I was at Manheim main station 🙂 It was a little bit cramed but I was in and started to go to Ulm. Where I arrived at ca. 7.13 pm. Sadly I missed my follow up train that should bring me to Herbrechtingen. So I had to wait for 45 minnutes. When I was there my cousin Florian picks me up there an we drove to the hotel where I had booked a room. At the evening we were in a pizzeria in the same town (What a funny evening 😀 don’t give Rainer a flapper). On satuarday was the wedding. So after breakfirst we drove to the church in Herbrechtingen.

I was really suprised about the divine service (catolic) the pastor was very unformal and acquires us often to laugh 🙂 Its not so often (in my opinion), that a pastor is able to make such a funny thing. After church the party starts. I’m not willing to tell all the details but I must repeat myself, this party was a lot of fun. Much cute people and a pleasant bridal couple makes the evening perfect.

Here are some pictures from the day:

… pictures will follow soon …

The party ends up at night until 4 am, so on sunday morning (we had to stand up at 10 am for breakfirst – I made it at 10.30am 🙂 ) we was all very weary…

So after all I have to say: Good luck and much Children for you: Anne and Jochen 😉

What the fuck is an Enterprise Service Bus (ESB)

Posted on: 09-07-2008 by sid

Today we’ve thought about an ESB. We started by decomposing the whole term of Enterprise Service Bus:

Enterprise – What is an enterprise? So in my opinion an enterprise is a organisation, which creates output or an service or something like that. Service – What is an service? I think we will use here a commonly used definition: “A unit of work done by a service provider to achieve desired end results for a service consumer.” Bus – What is an Bus? A bus is a vehicle, that stops at the bus stop when there are people that like to come in or go out of the bus. So well what do we have at all? A bus, which drives in service of an enterprise. This means it might carry people from home to the company where they work (in other direction too). So this is an ESB. So what are the enterprises which offer an ESB? One of them is SAP from germany/Waldorf:

sap esb

And the corresbonding time table:

sap esb fahrplan

😉

Working with maven and servicemix

Posted on: 05-07-2008 by sid

During my evaluation of servicemix, creating artifacts with maven fucks up. Much commands which must be known or if not, you have to look at servicemix FAQs and so on. So I eased up the use by creating a little shell script which allows me to create project directorys, ServiceUnits and ServiceAssemblies. To use the script you need Maven2.x (I’ve used version 2.0.8) because the script encapsulates all maven commands which are needed to do create the named units. So here it is:

#!/bin/sh
#
# @Copyright Steffen Rumpf <srumpf@brockhaus-gruppe.de
# @Since Fr, 14.03.2008
# @ServiceMix Version 3.2.1
#
# Script for creating working directories and SA/SU- sceletons for servicemix
# This script depends on marven, so 'mvn' runnable must be present
#
#####################################################################################

#### Start Configuration ####
blnUsingJboss=false
jbossDeployDir=deploy
servicemixDeployDir=hotdeploy
#### End Configuration ####



cd $PWD;

clear
echo
echo "Now working in: $PWD";
echo "";
echo "Note: All commands should be use from root working directory!"
echo "";
if [ "$SERVICEMIX_HOME" == "" ]
then
	echo "SERVICEMIX_HOME is not set! Exiting!"
	exit 1
fi

if [ $1 ]
then
	if [ $1 == "-wd" ]
	then
		echo "#################################"
		echo "# Initalising Working Directory #"
		echo "#################################"
		echo ""
		touch pom.xml
		read -p "GroupID: " groupid
		echo ""
		read -p "Version: " version
		echo ""
		read -p "Name: " name
		echo ""
		read -p "Url: " url
		echo ""
		pom="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project xmlns=\"http://maven.apache.org/POM/4.0.0\"\n\txmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n\txsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd\">\n\t<modelVersion>4.0.0</modelVersion>\n\t<groupId>$groupid</groupId>\n\t<artifactId>parent</artifactId>\n\t<version>$version</version>\n\t<packaging>pom</packaging>\n\t<name>$name</name>\n\t<url>$url</url>\n</project>"

		echo -e $pom > pom.xml
		exit 0;
	fi
	if [ $1 == "-su" ]
	then
		echo "#########################"
		echo "# Creating Service Unit #"
		echo "#########################"
		echo ""
		read -p "GroupID: " groupid
		echo ""
		read -p "ArtifactID: " artifactid
		echo ""
		read -p "Version: " version
		echo ""

		j=0;
		echo "Choose servicemix archetype:"
		echo "----------------------------"
		for i in service-unit http-consumer http-provider jms-consumer jms-provider ftp-poller ftp-sender jsr181-annotated jsr181-wsdl-first saxon-xquery saxon-xslt eip lwcontainer bean ode camel cxf-se cxf-bc
		do
			echo "$j: $i"
			j=`expr $j + 1`
		done
		read -p "Please enter a id from above: " archetype

		case $archetype in
			0)archetypeArtifactId='servicemix-service-unit';;
			1)archetypeArtifactId='servicemix-http-consumer-service-unit';;
			2)archetypeArtifactId='servicemix-http-provider-service-unit';;
			3)archetypeArtifactId='servicemix-jms-consumer-service-unit';;
			4)archetypeArtifactId='servicemix-jms-provider-service-unit';;
			5)archetypeArtifactId='servicemix-ftp-poller-service-unit';;
			6)archetypeArtifactId='servicemix-ftp-sender-service-unit';;
			7)archetypeArtifactId='servicemix-jsr181-annotated-service-unit';;
			8)archetypeArtifactId='servicemix-jsr181-wsdl-first-service-unit';;
			9)archetypeArtifactId='servicemix-saxon-xquery-service-unit';;
			10)archetypeArtifactId='servicemix-saxon-xslt-service-unit';;
			11)archetypeArtifactId='servicemix-eip-service-unit';;
			12)archetypeArtifactId='servicemix-lwcontainer-service-unit';;
			13)archetypeArtifactId='servicemix-bean-service-unit';;
			14)archetypeArtifactId='servicemix-ode-service-unit';;
			15)archetypeArtifactId='servicemix-camel-service-unit';;
			16)archetypeArtifactId='servicemix-cxf-se-service-unit';;
			17)archetypeArtifactId='servicemix-cxf-bc-service-unit';;
			*)echo 'Unkown ArtifactID please enter archetypeArtifactId by hand.'
			echo "Please enter a ID from above:"
			read archetypeArtifactId;
			echo ""
			;;
		esac

		mvn archetype:create -DarchetypeGroupId=org.apache.servicemix.tooling -DarchetypeArtifactId=$archetypeArtifactId -DgroupId=$groupid -DartifactId=$artifactid -Dversion=$version
		exit 0;
	fi
	if [ $1 == "-sa" ]
	then
		echo "#############################"
		echo "# Creating Service Assembly #"
		echo "#############################"
		echo ""
		read -p "GroupID: " groupid
		echo ""
		read -p "ArtifactID: " artifactid
		echo ""
		read -p "Version: " version
		echo ""

		mvn archetype:create -DarchetypeGroupId=org.apache.servicemix.tooling -DarchetypeArtifactId=servicemix-service-assembly -DgroupId=$groupid -DartifactId=$artifactid -Dversion=$version

		exit 0;
	fi
	if [ $1 == "-dp" ]
	then
		echo "#####################################"
		echo "# Deploying Project into ServiceMix #"
		echo "#####################################"
		echo ""
		read -p "Should maven run first (mvn clean install)? [yes/no]: " runmvn
		while [ "$runmvn" != "yes" -a "$runmvn" != "no" ]
		do
			read -p "Plz type yes or no! " runmvn
		done
		if [ $runmvn == "yes" ]
		then
			mvn clean install
			echo "mvn finished with status: $?"
			echo ""
			if [ $? != 0 ]
			then
				exit 0
			fi
		fi
		echo ""
		echo "Please enter your SA directory"
		read -p "$PWD must not be given: " sadir

		if [ "$blnUsingJboss" == "true" ]
		then
			cp $PWD/$sadir/target/*.jar $SERVICEMIX_HOME/$jbossDeployDir
		else
			cp $PWD/$sadir/target/*.jar $SERVICEMIX_HOME/$servicemixDeployDir
		fi

		exit 0;
	fi
fi

echo "Usage:"
echo "-wd	creates a new working directory"
echo "-su	creates a new service unit"
echo "-sa	creates a new service assembly"
echo "-dp	deploy the current project"
echo "-h	shows this help"

There is also a tool available for workin with ServiceMix its called Cimero2 (its a plugin for Eclipse) but its in beta status and will hopefully be maintained and extended in the next time. For this plugin I’ve created some of the BindingComponents which should be used within ServiceMix here you can get them:

Customized my Blog

Posted on: 05-07-2008 by sid

As you can see, I’ve customized my blog and created my own theme… which is not finished at all, but for the first time it will fit my requirements. Also I’ve added a plugin which enables the blog to highlight source code from different programming languages. This plugin is called wp-syntax. Here are some examples: First of all PHP:

<?php
function hello($strName) {
   echo "Hello $strName";
}
?>

And a second example with a unix shell script:

#!/bin/sh
var='Hello World!'
echo $var