Sunday, December 17, 2006

Saturday, December 09, 2006

A Night || Remember

Ein spontaner Besuch im U4 wurde mit einem Foto in der "Österreich" Zeitung "belohnt". Dank dem Oliver (ganz rechts im Bild), der hobby-mässig Bilder in diesem neuen österreichischen Boulevard-Magazin begutachtet, blieb uns dieser doch etwas peinlich beschriebene Artikel über das U4, nicht vorenthalten. THX Oli ;-)

Meine erste und einzige Österreich-Zeitung in die ich investiert habe ;o) Selbst Alex, der folgendes behauptet hat: "I sof Eich olle untam Disch" verlor schon am frühen Abend sein Bewusstsein (noch bevor wir im U4 eintrafen ;o) Alles in allem, ein sehr gelungener Abend!


Apropos, hat eigentlich irgendjemand die Nina seit diesem Abend wieder einmal gesehen? Waren wir tatsächlich so schlimm ... Alex!! ;o)

Cheers

Monday, December 04, 2006

Persistent vs. Transient

Im Rahmen der LVA 'Einführung in Semantic Web', musste man bei der ersten Übung eine Ontologie modellieren und eine Frage bezüglich der zu modellierenden Instanzen war folgende: "Ist eine Kommunikation zwischen zwei Personen mittels Applikation persistent?" Hierzu muss man jedoch wissen, was persistente Kommunikation eigentlich bedeutet. Tante Google meint:

Die persistente Kommunikation ermöglicht das Zwischenspeichern von Nachrichten im Kommunikationssystem, d.h. diese Nachrichten werden solange im Kommunikationssystem gespeichert, bis sie zum Empfänger übertragen werden können.

Entscheidend dabei ist jedoch, dass der Empfänger zum Zeitpunkt an dem der Sender die Nachricht abschickt, nicht aktiv sein muss. Genauso muss der Sender nicht aktiv sein, wenn der Empfänger die Nachricht entgegennimmt.

Bei der persistenten Kommunikation gehen daher keine Nachrichten verloren, diese Kommunikationsform bietet sozusagen eine Übertragungsgarantie.

Im Vergleich zur persistenten Kommunikation erlaubt die transiente Kommunikation eine Übertragung nur dann, wenn sowohl Sender als auch Empfänger zum Zeitpunkt der Nachrichtenübermittlung aktiv sind. D.h. es werden die Nachrichten nur solange im Kommunikationssystem zwischenspeichert, solange beide Prozesse aktiv sind.

Wieder etwas gelernt...!

Friday, December 01, 2006

Semantic Web | Übung 1 | Sachverhalt

Die folgenden Diagramme dienen nur zum besseren Verständnis des Sachverhalts der ersten Übung der Vorlesung "Einführung in Semantic Web" und entspricht daher nicht der UML 2.0 Notation.



Klassendiagramm zum Erfassen der Entitäten

Thursday, November 30, 2006

My new Notebook | HP Compaq nw8440 MW

The following link shows a nice flash-demo of my notebook which i hopefully will receive on next saturday: HP Compaq nw 8440 MW

cheers

Monday, November 27, 2006

RMI | Wichtige Punkte

  • Mit Java Remote Method Invocation (RMI) kann man scheinbar eine Methode auf einem entfernten Objekt (d.h. einem Objekt in einer anderen Java Virtual Machine) aufrufen - aber es scheint eben nur so.
  • Wenn ein Client eine Methode auf einem entfernten Objekt aufruft, ruft er in Wirklichkeit eine Methode auf einem Proxy des Remote-Objekts auf. Den Proxy bezeichnet man als "Stub".
  • Ein Stub ist ein Client-Helfer-Objekt, das sich um die Lowlevel-Netzwerk-Einzelheiten (Sockets, Ströme, Serialisierung usw.) kümmert, indem es Methodenaufrufe packt und an den Server sendet.

FIRST BASELINE

Attendend Subjects

Sunday, November 19, 2006

Daten- und Informatikrecht | Aufgabe 02

Aufgabenstellung:
  • Erkunden Sie die Funktionsweise von Tunebite Premium
  • Suchen Sie die relevanten §§ des UrhG (idgF) im RIS. (Anmerkung: Das selbständige Erlernen der Recherche im RIS ist Teil der Aufgabe.)
  • Prüfen Sie in weiterer Folge die aufgeworfene Rechtsfrage.
  • Formulieren Sie Ihre Stellungnahme an Ihren Kollegen als E-Mail inklusive Begründung (siehe unten!).
Hinweis: In der Stellungnahme sollten also die wichtigsten/relevanten Aspekte der Software in wenigen Worten zusammengefasst, die relevanten §§ des UrhG angeführt sowie Ihre Stellungnahme samt fundierter Begründung enthalten sein.

Aus rechtlichen Gründen ist es mir nicht gestattet vor Abgabe der Aufgabe mein Lösung zu posten, jedoch kann man unter dem folgenden Link einen sehr nützlichen Artikel des LEX:ITEC-Magazins nachlesen, der mit Sicherheit eine gute Grundlage für den Wissensbedarf für Aufgabe 02 darstellt.

LEX:ITEX-Artikel der aktuellen Ausgabe




Übrigens bin ich erstmalig auf dieses Magazin während ausführlicher Internetrecherche für meine Lösung dieser Aufgabe gestossen. Es ist handelt sich um eine Fachzeitschrift für Recht und Informationstechnologie und falls man das Magazin und die Hompage nicht kennt, sollte man unbedingt einmal einen Blick riskieren.

cheers

Sunday, October 29, 2006

Software-Qualitätssicherung | Eingangsphase

In der Eingangsphase dieser LVA musste ich ein Review über einen wissenschaftlichen Artikel verfassen. Das Thema des Artikels: "Visualization-based Analysis of Quality for Large-scale Software Systems". Der Artikel handelt von ein paar Software-Entwicklern die ein Framework erstellt haben, um komplexen objektorientierten Code visuell zu analysieren. Ich habe ein paar beeindruckende Bilder aus dem Artikel kopiert:

(Top) Mdified Treemap technique and (bottom) modified Sunburst technique.

Representation of the evolution, from left to right, of a package over 23 versions. It represents Quantum, a database access plugin for Eclipse (689 classes).

Example of the Treeline algorithm. It represents EMMA, a tool for measuring coverage of Java software (286 classes).

Unter dem folgenden Link kann man den Artikel downloaden und selbst einen Blick auf dieses beeindruckende Framework werfen. Artikel Auch mein Review kann unter dem foldenden Link heruntergeladen werden. Review Nur zur Information: Ich habe 15/15 Punkten erhalten ;o) So sollten Übungen an der Universität immer verlaufen: Interessante Themen und gut bewertet!

Da es zwei LVAs in Software-Qualitätssicherung gibt, und es sich bei dieser um die fortführende Version handelt, musste ich natürlich in der eigentlichen LVA ebenfalls eine Übung erledigen. Ich musste mich das erste Mal mit dem Thema Dynamisches Testen (Blackbox-Testing, Äquivalenzklassenbildung, Grenzwertanalyse) auseinander setzen. Eigentlich ein sehr interessantes Thema, jedoch extrem mühsam zu erlernen. Als Quelle um mir das notwendige Wissen anzueignen habe ich folgende Literatur verwendet:

In diesem Buch werden die Dynamischen Testverfahren ausgezeichnet beschrieben und sind daher relativ leicht zu erlernen. Warum 'relativ'? Es handelt sich bei diesen Verfahren um etwas komplexere Verfahren und aufgrund von Zeitdruck musste ich mir das Wissen in sehr kurzer Zeit aneignen. Ich werde mich mit diesem Thema mit Sicherheit noch einmal auseinander setzen müssen.

Bei der Übung dieser LVA musste ich aus drei Spezifikationen eine wählen und Blackbox-Tests durchführen. Ich werde hier nicht genauer auf diese Übung eingehen, aber wer will kann sich unter den folgenden Links, sowohl die Spezifikation, als auch meine Lösung downloaden.

So, genug mit Testen für heute...!

Cheers

Thursday, October 19, 2006

E-Commerce Technologies | XML, XSL, XSD

Finally I've finished the first exercise of the course 'e-commerce technologies' where we had to create three xml-schema, one xml-example and an corresponding xslt-file which transforms the xml-file into a xhtml-file.

The following diagram shows the most interesting xsd-file (from my point of view). For a more detailed specification of this exercise, visit the following link: Specification. I've alo created a documentation where you can have a better overview of my solution. If you have ideas how to improve my solution feel free to post me.


edi.xsd


Under the following link you can download my solution: e-commerce xml-exercise

cheers

Tuesday, October 03, 2006

CPB Software AG | FORMAT

Yeah .... It's time to show off a little! In the current Austrian Magazine FORMAT there is a very interesting article about the company (CPB Software AG) that I work for. The article is about the cooperation with the developer-team WIPRO in Pune (India) and the CPB's Austrian developer team and how global team-work becomes more and more popular.



You can download the article under the following: CPB Software AG @ FORMAT

cheers

Monday, October 02, 2006

Time-Table WS 2006/2007 | New Final Design

Because there were some mistakes in the final version of my time-table for the first week and for the first month, I had to refactor it. Here is the final, final version ;o)

Time-Table, First week



Time-Table, First Month


Cheers

Monday, September 25, 2006

Time-Table WS 2006/2007 | Detailed Overview

As I promised here is a final detailed overview of each lecture I would like to attend this semester. From now on I will switch to german for a better understanding.

  • Systemnahes Programmieren
Ziel der Lehrveranstaltung
Erlernen der Programmierung von Betriebssystemfunktionalität.
Programmierung praktischer Beispiele unter UNIX/Linux.

Inhalt der Lehrveranstaltung
Programmierung in der Systemprogrammiersprache C, Programmier konventionen und Richtlinien, Betriebssystem-Programmierung und Programmierumgebungen (UNIX), Hardware-nahe Programmierung.
Im praktischen Teil der LVA sind 3 Beispiele zu diesen Themen programmieren, in denen Folgendes geuebt wird: C-Programmierung, Synchronisation paralleler Prozesse, Interprozesskommunikation (mittels Semaphoren, Shared Memory und Nachrichten), Signale, Pipes, Systemfunktionen (Fileverwaltung, Systemadministration).

Fragen zur LVA werden im
Forum behandelt.
Homepage: Systemnahes Programmieren
Anmeldung: TI - MyTI Login
Unterlagen: Folien
VO Wiki: Systemnahes Programmieren VO
VO Wiki: Systemnames Programmieren LU
Informatik Forum: SysProg LU

  • EDV Vertragsrecht

Ziel der Lehrveranstaltung
Verständnis für die wesentlichen speziellen Fragen von EDV-Verträgen, insbesondere einseitig benachteiligender Vertragslage.

Inhalt der Lehrveranstaltung
Einführung in spezielle Probleme von Kaufverträgen und Mietverträgen über Hardware, sowie von Softwareverträgen - Probleme der Rechtsstellung von Software - Behandlung des Stoffes im Zusammenhang mit konkreten Beispielen aus Hersteller-Standardverträgen.

TO BE CONTINUED...

Sunday, September 24, 2006

Time-Table WS 2006/2007 | Final Design

Although I call this post 'Final Design' there still can be changes ;o) First I'd like to show you a monthly overview and then a detailed view (first week) of my time table for the next semester at university.


Monthly Overview


Detailed Overview of the first semester-week

Summarisation of each subject will follow soon!

cheers

Friday, September 22, 2006

Time-Table WS 2006/2007 | First Design

Finally I have finished the first design for the time-table of my next semester at university. As always I've planned to attend as many lectures as possible beside work. It's going to be rough but hopefully it will profitable for me in the future ;o)

As you can see in the following picture, everything marked with blue color is the time I'll be at work, everything marked with orange color are lectures at the technical university and finally everything marked with turquoise color are lectures at the main university of vienna.

As i already mentioned, this is my first design and of course it could be possible that some lectures will be added or removed.

Of course when i haved designed the final version of my time-table i will post it here.

In the near future I will post a very detailed summarisation of all lectures I will attend this semester.

This will contain all necessary links and important information about every lecture. Maybe this will also be useful for you for the planning of your time-table.


cheers

Friday, September 15, 2006

Build-Freak 2.0

Endlich ist es soweit ...! In der letzten Ausgabe des Java-Magazin (August 06), wurde eine drei-seitiger Artikel über die relative neue Version des Build-Tools, Maven 2.0, veröffentlicht. Da ich bereits einige Probleme mit diesem Tool und seinem automatisierten Build Life Cycle hatte, wollte ich die Scope-Eigenschaft, welche man Abhängigkeiten in Maven's so genannten POM (Project Object Model)-Files mitgeben kann, aufzählen und kurz beschreiben:

  • compile: die Bibliothek wird immer eingebunden (default-Wert).
  • provided: die Bibliothek wird nicht immer mit ausgeliefert, da sie zur Laufzeit bereitgestellt wird, beispielsweise durch einen Servlet-Container.
  • runtime: die Bibliothek wird nur zur Laufzeit benötigt, nicht jedoch für Kompilierung und Tests.
  • test: die Bibiothek wird nur für Tests benötigt.

Unter dem folgenden Link, kann man die englische Erläuterung dieser Scope-Eigenschaft nachlesen: Introduction to the Dependency Mechanism

Thursday, September 07, 2006

QTJ 6.1 - API Documentation

Because of my Bakk-Project for university, i needed to have a look at the Quicktime Java 6.1 API Documentation but i couldn't find it on the web. After a while i found the right reference to the API in the following book: "Quicktime for Java - A developers Notebook" :

Where's the API documentation? Even though QTJava.zip is all you need to compile, some documentation and demos would be really helpful, right? The good news is that there is a QTJ SDK that offers Javadocs and demos. Unfortunately, much of what's on Apple's web site as of this writing refers to an earlier version of QTJ that won't work with Java 1.4 on Mac OS X.

The most complete SDK right now is labeled as the "QuickTime for Java Windows SDK," and is located und der following link: SDK. This package contains a complete set of current Javadocs and demos that have been updated to represent the new API calls in QTJ 6.1. You can also view the Javadoc online under the following link.

Hopefully with this post i am able to encourage an easy way to find the right API for all developers who would like to get started with Quicktime and Java.

cheers

Thursday, August 17, 2006

Maven 2.0 - Transitive Dependency Problem

Although i really love the automated dependecy handling of maven 2.0 i think it's still buggy. At work we have a submodule of a business module (testroot) which has a lot of dependencies and as i executed the mvn site command to look at the generated dependency.html i found something weird.

In the transitive dependency section of the dependency.html, dom4j with the version 1.6 was defined. However i had a look at the dependency tree, dom4j was defined as a transitive dependecy of commons-collection.jar(version 1.2) but it had a different version namely 1.4.

After i executed the mvn -X compile and piped the output into a tmp.txt-File i found out that hibernate had also a transitive dependency of dom4j and that was the version which was shown in the transitive dependecy section of the dependency.html (1.6).

Because of this problem i had a look at the 'Better builds with Maven' online-book and i found the following:
With the introduction of transitive dependencies in Maven 2, it became possible to simplify your own POM by only including the dependencies you need directly, and to allow Maven to calculate the full dependency graph. However, as the graph grows, it is inevitable that two or more artifacts will require different versions of a particular dependency. In this case, Maven must choose which version to provide.

In Maven 2.0, the version selected is the one declared “nearest” to the top of the tree - that is, the least number of dependencies that were traversed to get this version. A dependency in the POM being built will be used over anything else.

That's why the transitive dependecy of hibernate is being used. But as you can see in the following screenshot of the dependecy tree, under hibernate there isn't a dom4j transitive dependency. So the mvn site command alternatively only the dependency-site is buggy.

If you have any suggestions how to prevent this problem please post them. Maybe with the next release of maven this problem will be solved.

cheers

Friday, August 04, 2006

Degree Course Scheme - Personal Notes

As of october 2006 there will be a new degree course scheme at my university, I'd like to summarise the most important concerns which will affect my personal scheme. First I'd like to make some notes about the ECTS but I'll switch to german:

1 ECTS = 25 Wochenstunden

1 Studienjahr = 60 ECTS = 1500 Arbeitsstunden

180 ECTS / BAKK

1 Semesterstunde = 45 min/Woche/Smester = 1.5 ECTS

BAKK an Wahlfächern:
  • 3 ECTS von "Soft Skills" oder "Soft Skills & Gender Studies"
  • Restlichen ECTS -> Beliebige LVA's
Prüfungsfächer
  • Mathematik, Statistik und Theoretische Informatik (27.0 Ects)
    • 6.0/4.0 VO Mathematik 1 für Informatik und Wirtschaftsinformatik
    • 3.0/2.0 UE Mathematik 1 für Informatik und Wirtschaftsinformatik
    • 3.0/2.0 VO Mathematik 2 für Informatik
    • 3.0/2.0 UE Mathematik 2 für Informatik
    • 3.0/2.0 VO Statistik und Wahrscheinlichkeitstheorie
    • 3.0/2.0 UE Statistik und Wahrscheinlichkeitstheorie
    • 6.0/4.0 VU Theoretische Informatik und Logik
  • Informatik und Gesellschaft (12.0 Ects)
    • 3.0/2.0 VU Daten- und Informatikrecht
    • 3.0/2.0 VU Gesellschaftliche Spannungsfelder der Informatik
    • 3.0/2.0 VU Gesellschaftswissenschaftliche Grundlagen der Informatik
    • 3.0/2.0 SE Grundlagen methodischen Arbeitens
  • Programmierung (24.0 Ects)
    • 6.0/4.0 VL Algorithmen und Datenstrukturen 1
    • 3.0/2.0 VO Algorithmen und Datenstrukturen 2
    • 6.0/4.0 VL Einführung in das Programmieren
    • 3.0/2.0 VL Funktionale Programmierung
    • 3.0/2.0 VL Logikorientierte Programmierung
    • 3.0/2.0 VL Objektorientierte Programmierung
  • Technische Informatik (28.5 Ects)
    • 3.0/2.0 VO Betriebssysteme
    • 6.0/4.0 VO Einführung in die Technische Informatik
    • 6.0/4.0 VU Grundzüge der Informatik
    • 3.0/2.0 VU Security
    • 4.5/3.0 VL Systemnahe Programmierung
    • 3.0/2.0 VO Verteilte Systeme
    • 3.0/2.0 LU Verteilte Systeme
  • Software Engineering (31.5 Ects)
    • 6.0/4.0 VL Advanced Software Engineering
    • 3.0/2.0 VL Datenmodellierung
    • 3.0/2.0 VU Objektorientierte Modellierung
    • 3.0/2.0 VO Software Engineering und Projektmanagement
    • 6.0/4.0 LU Software Engineering und Projektmanagement
    • 3.0/2.0 VU Softwarequalitätssicherung
    • 3.0/2.0 VU User Interface Design
    • 4.5/3.0 VL Übersetzerbau
  • Information Engineering (28.5 Ects)
    • 6.0/4.0 VL Datenbanksysteme
    • 3.0/2.0 VU Einführung in wissensbasierte Systeme
    • 1.5/1.0 LU Einführung in wissensbasierte Systeme
    • 3.0/2.0 VO Grundzüge der Artificial Intelligence
    • 6.0/4.0 PR Projektpraktikum
    • 6.0/4.0 SE Seminar (mit Bachelorarbeit)
    • 3.0/2.0 VU Semistrukturierte Daten
Empfehlungen
  • 3. Semester (25.5 Ects)
    • 3.0/2.0 VO Algorithmen und Datenstrukturen 2
    • 3.0/2.0 VO Betriebssysteme
    • 6.0/4.0 VL Datenbanksysteme
    • 3.0/2.0 VL Objektorientierte Programmierung
    • 3.0/2.0 VO Statistik und Wahrscheinlichkeitstheorie
    • 3.0/2.0 UE Statistik und Wahrscheinlichkeitstheorie
    • 4.5/3.0 VL Systemnahe Programmierung
  • 4. Semester (25.5 Ects)
    • 3.0/2.0 VU Daten- und Informatikrecht
    • 3.0/2.0 VO Grundzüge der Artificial Intelligence
    • 3.0/2.0 VL Logikorientierte Programmierung
    • 3.0/2.0 VU Semistrukturierte Daten
    • 3.0/2.0 VO Software Engineering und Projektmanagement
    • 6.0/4.0 LU Software Engineering und Projektmanagement
    • 4.5/3.0 VL Übersetzerbau
  • 5. Semester (28.5 Ects)
    • 6.0/4.0 VL Advanced Software Engineering
    • 3.0/2.0 VU Einführung in wissensbasierte Systeme
    • 1.5/1.0 LU Einführung in wissensbasierte Systeme
    • 3.0/2.0 VL Funktionale Programmierung
    • 3.0/2.0 VU Security
    • 3.0/2.0 VU Softwarequalitätssicherung
    • 3.0/2.0 VU User Interface Design
    • 3.0/2.0 VO Verteilte Systeme
    • 3.0/2.0 LU Verteilte Systeme
  • 6. Semester (12.0 Ects)
    • 6.0/4.0 PR Projektpraktikum
    • 6.0/4.0 SE Seminar (mit Bachelorarbeit)
Under the following link you can find the complete description: Degree Course Scheme

Wichtige Gegenüberstellungen: ('neu / alt' oder 'neu = alt' )
(Betrifft nur SW-Engineering)

Mathematik, Statistik und Theoretische Informatik

6.0/4.0 VO Mathematik 1 für Informatik und Wirtschaftsinformatik
6.0/4.0 VO Mathematik 1

3.0/2.0 VO Mathematik 2 für Informatik = 3.0/2.0 VO Mathematik 2
3.0/2.0 UE Mathematik 2 f¨ur Informatik = 1.5/1.0 UE Mathematik 2

6.0/4.0 VU Theoretische Informatik und Logik =
6.0/4.0 VU Theoretische Informatik 1 + 4.5/3.0 VU Theoretische Informatik 2

Informatik und Gesellschaft

3.0/2.0 VU Gesellschaftliche Spannungsfelder der Informatik
3.0/2.0 VO Informatik und Gesellschaft 1

3.0/2.0 VU Gesellschaftswissenschaftliche Grundlagen der Informatik
3.0/2.0 VU Informatik und Gesellschaft 2

3.0/2.0 SE Grundlagen methodischenArbeitens =
3.0/2.0 PS Grundlagen wissenschaftlichen Arbeitens +
3.0/2.0 VU Projektmanagement

Programmierung

6.0/4.0 VL Algorithmen und Datenstrukturen 1 =
4.5/3.0 VO Algorithmen und Datenstrukturen 1 +
3.0/2.0 UE Algorithmen und Datenstrukturen 1

Technische Informatik

4.5/3.0 VL Systemnahe Programmierung
3.0/2.0 LU Systemnahe Programmierung

Software Engineering

6.0/4.0 VL Advanced Software Engineering
6.0/4.0 VL Software Engineering 2

3.0/2.0 VU Objektorientierte Modellierung
3.0/2.0 VU Objektorientierte Analyse und Entwurf

3.0/2.0 VO Software Engineering und Projektmanagement
3.0/2.0 VO Software Engineering 1

6.0/4.0 LU Software Engineering und Projektmanagement
4.5/3.0 LU Software Engineering 1

4.5/3.0 VL Ubersetzerbau =
4.5/3.0 LU Ubersetzerbau +
3.0/2.0 VO Ubersetzerbau

Information Engineering

NEW: 3.0/2.0 VO AI Methoden der Datenanalyse
NEW: 1.5/1.0 LU AI Methoden der Datenanalyse

6.0/4.0 VL Datenbanksysteme =
3.0/2.0 VO Datenbanksysteme +
1.5/1.0 LU Datenbanksysteme

3.0/2.0 VO Grundzüge der Artificial Intelligence
1.5/1.0 VO Einführung in die AI

NEW: 3.0/2.0 VU Intelligente Softwareagenten

6.0/4.0 PR Projektpraktikum
12.5/10.0 PR Projektpraktikum (mit Bakkalaureatsarbeit)

6.0/4.0 SE Seminar (mit Bachelorarbeit)
5.0/3.0 SE Seminar (mit Bakkalaureatsarbeit)

3.0/2.0 VU Semistrukturierte Daten
3.0/2.0 VU Semistrukturierte Daten 1

3.0/2.0 PS Wissenschaftliches Arbeiten

Freie Wahlfächer und Soft Skills

Es sind freie Wahlfächer und Soft Skills in jenem Umfang zu wählen, der nach Berücksichtigung der in den anderen Prüfungsfächern absolvierten Lehrveranstaltungen noch auf 180.0 Ects fehlt.

Prüfungsfächer

In den Prüfungsfächern "Mathematik, Statistik und Theoretische Informatik", "Informatik und Gesellschaft", "Programmierung", "Technische Informatik", "Software Engineering" und "Information Engineering" sind Lehrveranstaltungen im Ausmaß von 137.0 Ects (oder knapp darüber).


PFLICHT : ~137 ( von 180)
VERTIEF: 25 (= 162-137)
WAHL: 18 (= 180-162) wobei 3 ECTS wie oben erwähnt.
----------------------------------------------------------------------------------------
Summe 180 ECTS


@VERTIEF: Aus Wahllerveranst.katalog oder Plicht-LVA aus anderem BAKK.

Alle Fächer, die im neuen Studienplan für Plicht-LVAs nicht mehr verwendet werden dürfen, aber bereits absolviert worden sind, können als Vertiefungsfach verwendet werden.

Well ... I think that's all 4 now!

cheers

Sunday, July 30, 2006

Hibernate - Facade Pattern

The last days I spent some time on designing the dao-component of our first prototype whithin the bakk-project for university. I used the 'Fassade'-Design Pattern to ensure a simple and robust access to our database and data-access-objects via hibernate. Because I already have created a description and a uml 2.0 - diagram of the architecture I'd like to refer to this article. I also would like to mention the fact that I had a lot of troubles with saving data to a standalone-hsqldb-database via hibernate. After a while I switched to a server-based configuration and everything was fine. Thx god ;0)

Here is a diagram of the actual dao-architecture of the first prototype whithin the bakk-project.























Of course you are always welcome to post better solutions for my design. Soon, there will also be a source-reference of the prototype. Maybe then you will get a better understanding of the design an how we use it. Enough of programming 2day ... it's about 30 degrees out there ... swimming-action!!
yeah!!

cheers

Tuesday, July 25, 2006

Maven 2.0 - Versioning Problem

As I mentioned in my profile-description i work for a software-company as the build manager and I'm responsible for the configuration of the build-tool (Maven 2.0). Because our current project is very mightful and complex we decided to configure our own maven-company-repository.

There already have been a few buisness module releases. Our current Snapshot-version of our main framework is 2.0.0-SNAPSHOT. The last days we had a problem with the versioning of our pom-files but finally we've found a solution.


The problem was that one of our submodules of our framework asked for a wrong dependency-version when we executed the 'mvn compile' command. That's because of maven's inheritance-strategy, but I think you will get a better understanding of the problem if you observe the following diagram.

If you click on the small diagramm a new browser-site will pop up and you will be able to see the original diagram. Because I think the drawing is very
self-explanatory I won't bother you with a too long description of the problem and of course much more important the solution of the problem which is in fact very simple.

You just have to hardcode your versioning-property in your parent-POM and all derived submodules will use the right version for the dependencies. Unfortunately I couldn't come up with a better solution but you are welcome to post a better way to solve this problem if you have found an other solution.

so long

Claus



Monday, July 24, 2006

Java-Tutor.com

Hi folks!

This is my first entry and I'd like to post a Link of a site which I've used a lot in the past for configuring my eclipse plugins. This site is written in german and gives a good description of the most common eclipse plugins on the market.

Java-Tutor.com-Creating Skills

Also you can find a lot of good tutorials about java-based technologies e.g. EJB 3.0.

You're welcome to check out this great site.

Cheers