Cloud

Sie wollen von überall auf Ihre Daten zugreifen? Egal mit welchem Gerät? Zugleich sollten die Daten vor unberechtigtem Zugriff geschützt sein. Wir helfen Ihnen dabei diesem Ziel ein Stück näher zu kommen.

Cloudcomputing ist die Antwort.


Die nikem setzt hierbei selber total auf Cloud.
  • Daten und Dateien werden zentral gesichert
  • Termine und Kalenderfunktion sind online verfügbar.
  • Die Daten sind weltweit erreichbar
  • Verlust, Diebstahl oder Beschädigung des Notebooks können problemlos durch Ersatzgeräte kompensiert werden.
  • Zugriff ist mittels Notebook, Table und Smartphone problemlos möglich.

Das Problem Schadenabwicklung

Fachliche Beschreibung des Moduls

Das ComModul ist eine Middleware-Software um das Schaden- bzw. Bestandssystem der Versicherung an das GDV- Schadennetz anzubinden. Es können Nachrichten versendet und empfangen werden.

Technische Beschreibung des Moduls

Um möglichst flexibel zu sein, wurde das ComModul in Java implementiert. Intern werden verschiedene quasi Industriestandards wie z.B. Hibernate eingesetzt. Hibernate ermöglicht die Integration einer Vielzahl von Datenbankmanagementsystemen. Um den administrativen Aufwand so klein wie möglich zu halten, ist das Modul als Standalone-Anwendung ohne J2EE-Applikationsserver lauffähig. Es entstehen keine weiteren Lizenzkosten durch den Verzicht auf kostenpflichtige Third-Party-Software.

Kundenspezifische Anpassung

Wir passen unserer Software an den Kunden an und nicht umgekehrt. Zusammen mit dem Kunden wird ein DV-Konzept erstellt, in dem die Technische Umsetzung der fachlichen Anforderungen festgelegt werden.

Systemvoraussetzungen

Bei den meisten unserer Kunden Läuft die Software auf Windows 2003-Rechnern. Wir empfehlen mind. 1 GB Hauptspeicher. Die Software benötigt ca. 40 MB Festplattenspeicher. Durch die Verwendung von Java sind jedoch auch zahlreiche andere Zielplattformen wie UNIX oder Linux möglich.

Problem gelöst

Mit der GDV-Anbindung und unseren Lösungen reduzieren Sie die Prozesskosten der Schadenabwicklung. Die Bearbeitungsdauer verkürzt sich erheblich. Unsere vielfach eingesetzten Komponenten ersparen Ihnen lange Entwicklungsprojektlaufzeiten. Machen Sie mit! Gehen Sie mit uns ans GDV-Branchennetz! Kontakt:

GDV-Eingang

Realisierung einer Schnittstelle zum GDV-Schadennetz. Im Rahmen eines Projekts bei einer deutschen Versicherung war es notwendig, Nachrichten aus dem GDV-Schadennetz zu empfangen und diese in das bestehende Schadensystem zu integrieren. Die Herausforderung bei diesem Projekt war die Anbindung des IBM-Großrechners, des Workflowsystems und des optischen Archivs der Versicherung. Die empfangenen Dokumente werden in das Contentmanagement-System der Versicherung abgelegt, gleichzeitig wird ein Geschäftsvorfall im Workflowsystem angelegt. So konnten die hausinternen Entwickler der Versicherung ihre bestehende Anwendung um die neuen Geschäftsvorfälle erweitern und nahtlos in die besteheneden Abläufe integrieren.

BIRT

Erstellung eines Statistik- und Auswertungssystem für einen großen Automobilhersteller.

In den letzten 2 Jahren war nikem GmbH maßgeblich bei der Entwicklung eines BIRT-Tools (Business Intelligence and Reporting Tool) für einen großen Automobilhersteller beteiligt. Der Hersteller betreibt ein großes, weltweit operierendes Werkstatt- und Händlernetz. Um seine Prozesse zu optimieren, hat er ein Effektivitätsprogramm gestartet, mit dem Ziel, im Jahr 2010 eine signifikante Verbesserung zu erreichen.

Ziemlich schnell wurde klar, dass die Datenflut nicht mit Standard-Software wie MS-Excel oder MS-Access abgedeckt werden konnte. Die Datenmenge war schlichtweg zu groß. Es stellte sich heraus, dass eine Datenbank mit einem Web-Frontend der einzige sinnvolle Weg war, die Daten zu aggregieren und diese auszuwerten. Frühere Bemühungen des Herstellers mittels Standard Datawarehouse-Produkten ähnliche Probleme zu lösen, sind gänzlich gescheitert. Dabei war die Datenmenge wesentlich kleiner (wegen Beschränkung auf einen kleineren Nutzerkreis).
Es wurde mit der Implementierung einer Webanwendung für Händler begonnen (Retail-Frontend). Die Anwendung wurde auf Basis der Portal-Architektur des Automobilherstellers implementiert und konnte dadurch nahtlos integriert werden. Single-Sign-On (SSO) und Schnittstellen zu anderen bestehenden Systemen waren somit problemlos möglich.
Durch die neue Anwendung konnte nun folgendes erreicht werden:
  • Vergleich der verschiedenen Märkte untereinander (z.B. unterschied zwischen Deutschland und Frankreich)
  • Vergleich der Händler zu anderen Händler bzw. zu einer Gruppe von Händlern.
  • Ranking von Händlern
  • Top- und Flop-Analysen>
Die Auswertungen und Reports, die das Tool erstellen konnte, wurden als Basis für MS-Powerpoint-Präsentationen für das mittlere und höhere Management verwendet. Folgende Output-Formate können erstellt werden:
  • MS-Excel (zur weiteren Verarbeitung)
  • PDF (Portable Document Format)
  • Jpeg oder png (Für Diagramme und Charts)

Folgende Basistechnologien wurden verwendet:

  • Java in Kombination mit IBM WebSphere
  • Hibernate in Kombination mit IBM DB2
  • JFreeChart (Chart-Bibliothek)
  • Apache POI (zur Erstellung von MS-Excel)

Anliegen- und Beschwerdemanagement

Wir haben bei einm Schwäbischen Versicherer ein Beschwerdemanagementsystem aufgebaut.

Umstieg von Maven auf Gradle

Gradle macht einem den Umstieg von Maven auf Gradle leicht. Neben bem Aufbaue eines Build auf einer grünen Wiese und dem Umstieg von ANT auf Gradle, bietet Gradle auch eine einfache Integration von bestehenden MAVEN-Projekten.
Maven CoordinateGradle Property Gradle Default
groupIdgroupblank
artifactIdname or archivesBaseNameproject’s directory name
versionversionunspecified
nameN/AN/A
descriptiondescriptionnull

Example 4-5. Gradle build that includes a version number for the output artifact

That one line Gradle build file in Example 4-2, when executed with a mere gradle build from the command line, performed the following actions:
  • Downloaded any declared dependencies (none) to ~/.gradle/cache
  • Compiled the code in src/main/java
  • Wrote the class files into build/classes/main
  • Es wird versucht alle Unit-Test zu compilieren und die Tests aus zu führen.
  • Wrote unit test results in XML format to build/test-results/
  • Wrote an HTML-formatted unit test report to build/reports/tests/
  • Erestellung einer MANIFEST.MF-Dateim im Verzeichnis build/tmp/jar/MANIFEST.MF
  • Verpacken der .class-Dateien mit und der MANIFEST.MF in eine Jar-Datei libs/meinprojekt.jar
Durch das Grade java plug-in, werden folgende sechs verschieden dependency-scopes bereitgestellt.
  • compile
  • default
  • testCompile
  • testRuntime
  • archives
  • runtime

Automatisierte Test mit Gradle

Im Gradle-Universum gibt es zwei verschieden Haupt-Ausrichtung von Test.
  • Einfache Test mit Frameworks wie JUnit und TestNF
  • Voll integrierte Test-Pipelines mit unterteilung in integrationstest und unittest und der Unterstüzung von fortgeschritenen Test-Frameworks wie Spock und Geb

Anatomi des Gradle Build

Jede Gradle-Build unterteilt sich in drei Phasen.
  • Initialisierung
  • Konfiguration
  • Ausführung

Initialisierung

Während der Initialisierungs-Phase ermittelt Gradle die Build-Files die es verarbeiten muss. In dieser Phase muss als erstes ermittelt werden ob es sich hierbei um ein
  1. single-projekt
  2. multi-projekt
Im ersten Fall wird nur ein build-File verarbeiten. In Falle eines Multi-Projets ermittelt Gradle mehrere build-Files die in der nächsten Phase verabeitet werden müssen.

Konfiguration

That next phase is configuration. During configuration, Gradle executes each build file as a Groovy script. The effect of configuration is not the actual execution of build 35 1. If it is a multi-project build, there is also a DAG of project objects, one for each project. 2. Dependency order means that if task A depends on task B, task B will run first. actions—that comes next—but rather the creation of a directed acyclic graph (DAG) of task objects.1 It is during the construction of this graph that many of the hook methods run

Entwicklung von Individualsoftware

Tolle beschreibung hier.
Some text

Vergleich Wordpress, Joomla und Magento

Die Auswahl eines geeigneten Applikationsframework hängt start vom eigenen Skill ab.
Wenn Sie Ihre Applikation bei einem PHP-Hoster deployen wollen können Sie sich prinzipell zwischen 3 Frameworks unterscheiden.

Admin bzw. Backendbereiche der Produkte

Styleguide von WW

Nach durchsicht der Styleguides komme ich zu folgenden Ergebnissen:



Checkliste mit optionalen features

Format SQL-Queries

Sometime you need to log sql-queries. But what if the queries are very ugly and you don't whant to touch them.
(e.g programmed by someone else - or productive code that has been used in production for a long time).

So it is a good idea to format it before logging it.
Writting an formatter for sql is complicated und time expensive.

My aproache is to use a free formatter.
The best Java-Tool I have found is the formatter developped by the hibernate project.

org.hibernate.engine.jdbc.internal.BasicFormatterImpl

Sending email via Javascript

If you want to automaticly be notified by a script sending emails is a good way.
This is a sample script where you can see how this is accomplished.
It is assumed that not authentification is required.


Mac shortcuts for developper

I work with PCs and my Mac. I have issues on creating special characters.
keyboardcharacter
ALT + L@
ALT + N~
ALT + 7|

Bitte warten Seite

Idee… Anzeigen einer Bitte warten Seite – Bis der eigentliche Content geladen wurde.
Dann die Seite ersetzten.- Ja – Das ist möglich….

In dieseem Beispiel wurde ein asynchroner Ajax-Aufruf gemacht.
Die Umsetzung erfolgt mittels jQuerey.
Das Ergebnis des Aufrufs ersetzt den aktuellen Inhalt.
Die 3 zentralen methoden sind:

Servlet generiert Excel

Um direkt ein fertiges Excel zu bekommen muss man in der doPost bzw. doGet-Methode die richtigen Metainformationen setzen, damit der Client (der Browser) weiß mit welchem externen Programm der die Daten öffnen kann.

In unserem Beispiel haben wir dies gelöst indem man den contentType und den Header der Response gesetzt haben.

retrieveMasagesFromServerOnGetMessage=true

Sprechende DB2-Fehlermeldungen mit Java



Um in Eclipse schöne Fehlermeldungen zu bekommen (Mit Erklärung),
müßt ihr einfach eueren Connection-String um das Attribut retrieveMessagesFromServerOnGetMessage=true; ergänzen.
Funktioniert in jedem Java-Programm, das erspart einem evtl die IBM-Doku lesen zu müssen.

Ohne Message
















Als URL

jdbc:db2://myservername:50128/SAMPLE:retrieveMessagesFromServerOnGetMessage=true;


Oder im Code:.


Properties conProperties = new Properties();
conProperties.put("user", "pdqpot");
conProperties.put("password", "pdqpot123");
conProperties.put("portNumber", "50000");
conProperties.put("databaseName", "SAMPLE");
conProperties.put("deferPrepares", "false");
conProperties.put("retrieveMessagesFromServerOnGetMessage", "true");
conProperties.put("emulateParameterMetaDataForZCalls", "1");
conProperties.put("clientApplicationInformation", "T4Driver");
conProperties.put("clientWorkstation", "192.168.10.125");
conProperties.put("defaultIsolationLevel", java.sql.Connection.TRANSACTION_READ_COMMITTED);
conProperties.put("jdbcCollection", "NULLIDR1");
conProperties.put("driverType", "4");



JSF – Wert nicht göltig


Als JSF-Entwickler könnte es peinlich werden, wenn die folgende Fehlermeldung aus als folge einer Validierung aus dem Bildschirm erscheint: Wert nicht göltig. Wie macht man dem Kunden klar, dass nicht unsere JSF-Anwendung schuld ist, sondern das teuer eingekaufte Portal (In unserem Fall der WebSphere-Portal-Server 6.1).

Der peinliche Fehler resultiert aus einer falschen Übersetzung der Fehlermeldungen der Referenzimplementierung von JSF 1.1 . Die Datei Messages_de.properties wurde von IBM 1:1 von der Referenzimplementierung übernommen.

javax.faces.component.UISelectOne.INVALID=Validierungs-Fehler: Wert nicht gu00F6ltig.
javax.faces.component.UISelectMany.INVALID=Validierungs-Fehler: Wert nicht gu00F6ltig.


Der Fehler war nicht so einfach zu finden, da die Übersetzungen in Unicode codiert sind.
u00F6 ist ein kleines ö. Eine Volltextsuche durch die vorhandenen Jars führte deshalb nicht zum gewünschten Erfolg. Am Anfang dachte ich, es würde sich um einen Fehler in der IBM-Implementierung von JSF handeln. War es aber nur in direkt im Header (Kommentar) der Datei kann man erkennen, dass es sich um einen Fehler in der Referenzimplementierung handelt:

# Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.

Der Schreibfehler befindet sich in der Datei Messages_de.properties. In meinem Fall (da wir die Implementierung von IBM verwenden befand sich diese Datei in websphere_apis-6.1.jar.

Um den Fehler zu fixen müsste man eigentlich die Datei "reparieren" oder man wendet den hier beschriebenen Work-Around an. Ein "reparieren" wäre dabei nicht so einfach möglich gewesen, da die JSF-Implementierung als Teil des WebSphere-Applikationsserver ausgeliefert wird. Durch eine "reparieren" könnte man den Server ernsthaft beschädigen. Also kam nur der Workaround in Frage.

1. Erstellung einer zusätzlichen Messages_de.properties (Enthält die 2 Keys mit der Korrektur)
2. Anpassung der faces-config.xml (deklaration eines zusätzlichen Message-Bundles.

<faces-config>
<application>
<message-bundle>de.nikem.jsf.Messages</message-bundle>
</application>
<locale-config>
<default-locale>de</default-locale>
</locale-config>
</faces-config>


Der dritte Container

18. December 2009
Auf dem PC-Markt ist die Konsolidierung schon längst erfolgt. Die Zielplattform heißt hier Windows. Im Web ist die Schlacht noch im vollen Gange. Der Ausgang sehr ungewiss.

Es treten verschiedene Hersteller, Programmiersprachen und Ideologien gegeneinander an.

Java-Portale sind die strategischen Bemühungen der Java-Lobby zur der IBM, SAP und Oracle angehören. Doch was sind Java-Portale - und in wie weit unterscheiden sie sich von Java-Web-Anwendungen. Java-Portale sind der nächste Schritt in der Standardisierung der serverseiten Java-Welt. Der Gedanke dahinter ist recht einfach. Die Hersteller schreiben Anwendungen und Komponenten, die dann in so genannten J2EE-Application-Server ausgeführt werden.

Ein J2EE-Application-Server besteht aus mehreren Containern.
Aktuell sind dies der Web-Container und der EJB-Container.
Die Portal-Anhänger hoffen auf eine auf eine Aufnahme in den J2EE-Standard.
Dann gebe es den dritten container - den Portlet-Container, dem man mittels des portlet.xml konfigurieren könnte.

Das ist aber mit der Version 6 von J2EE nicht der Fall.
Das bedeutet, dass die Portlets frühestens mit J2EE 7 in den Java-Standard aufgenommen werden können.






Harry Niedenzu
associate
harry.niedenzu@nikem.de
Andreas Knees
associate
andreas.knees@nikem.de
Martin Niedenzu
associate
martin.niedenzu@nikem.de
Boris Kolman
associate
boris.kolman@nikem.de

Rechtliche Hinweise

Firmensitz

Geschäftsführer Harry Niedenzu
nikem GmbH
Magstadter Str. 44
71272 Renningen
EMail: info@nikem.de
Registergericht: Amtsgericht Leonberg HRB 3203
Umsatzsteueridentifikationsnummer: DE 235 26 40 46

Disclaimer

Mit Urteil vom 12. Mai 1998 hat das Landgericht Hamburg entschieden, dass man durch die Ausbringung eines Links die Inhalte der gelinkten Seite ggf. mit zu verantworten hat. Dies kann - so das Landgericht - nur dadurch verhindert werden, dass man sich ausdrücklich von diesen Inhalten distanziert. nikem hat auf verschiedenen Seiten dieser Homepage Links zu anderen Seiten im Internet gelegt. Für all diese Links gilt: nikem möchte ausdrücklich betonen, dass sie keinerlei Einfluss auf die Gestaltung und die Inhalte der gelinkten Seiten hat.

Copyright

Alle Rechte an diesen Internetseiten, insbesondere das Recht der Vervielfältigung und der elektronischen Weiterverbreitung, bleiben dem Herausgeber vorbehalten. Nachdruck, Verarbeitung und elektronische Verbreitung nur mit vorheriger Einwilligung des Institutes. Für unverlangt eingesandte Manuskripte, Fotos, Illustrationen und E-Mails übernimmt die Redaktion keine Haftung. Wir möchte klarstellen, daß wir auf keinen Fall beabsichtigen, illegal Software oder Informationen anzubieten oder in Verkehr zu bringen, genauso wenig möchten wir gegen irgendein Urheberrecht verstoßen. Ist Ihnen bekannt, dass; ein Text, eine Software auf unserem Server u.U. gegen Copyright oder Urheberrechte verstößt, bitten wir dringend um Nachricht unter info@nikem.de, damit der Text oder die Software unverzüglich gelöscht werden kann.