it-economics auf der Dreamforce 2013

it-economics auf der Dreamforce 2013

bgesperrte Straßen, mit hellblauen Plakaten und Salesforce-Logo verzierte Häuser, tausende Menschen mit Salesforce-Werbegeschenken: All das führt zu einem Ausnahmezustand in der kalifornischen Großstadt San Francisco. Es ist Dreamforce-Zeit, und it-economics war dieses Mal vor Ort.

Bei der Dreamforce 13, die von 18.11.2013 bis 21.11.2013 stattfand, wurden insgesamt 120.000 Besucher erwartet und 1.833 Vorträgen angeboten. Neben den Vorträgen konnte man auch die Messe CloudExpo besuchen, bei der Salesforce-Partner und andere Firmen ihre Lösungen rund um Salesforce vorstellen konnten. Um dieser großen Konferenz Platz zu bieten, wurden kurzerhand das Moscone Center in San Francisco und weitere umliegende Gebäude von Salesforce unter Beschlag genommen.

Read More

Vaadin und Vaadin TouchKit

Vaadin und Vaadin TouchKit

Die Welt wird immer mobiler. Tablets, Smartphones, aber auch ausreichend performante Thin Clients (z.B. Raspberry Pi) sind aus dem Alltagsleben kaum mehr wegzudenken. Dass dies auch Auswirkungen auf die Softwareentwicklung hat, zeigt sich u.a. in den Web-Application-Frameworks, die für die Entwicklungen von „Rich Internet Applications“ (RIA) Verbreitung gefunden haben. Damit lassen sich leichtgewichtige Anwendungen entwickeln, die einer nativen Desktop-Anwendung kaum noch nachstehen.

In diesem Blog geht es um ein Framework, das bereits seit vielen Jahren entwickelt wird und sich für professionelle RIAs empfiehlt, da es mit der Zeit gegangen ist und verschiedene Technologien geschickt in sich vereinigt. Dabei sollen jedoch keine tiefgreifenden technischen Vergleiche angestellt, sondern eine Einführung in die Konzepte und die Architektur von Vaadin gegeben werden.

Read More

Zeit ist Geld

Zeit ist Geld

Die Aufgabe eines Programm- oder Multiprojektmanagements ist nicht nur die Vorbereitung von Projekten – die Überwachung von Projektkennzahlen sowie das Einleiten steuernder Maßnahmen gehören ebenfalls dazu, um den erfolgreichen Abschluss der Projekte zu gewährleisten. Damit der finanzielle Rahmen eingehalten wird, ist eine laufende Kontrolle des Projektbudgets nötig. Eine meiner Aufgaben als Berater war es, ein Konzept inklusive technischer Umsetzung zur Überwachung der Projektbudgets zu entwerfen. Die wichtigste Anforderung war, dass auch eine Vorhersage der Projektkosten möglich sein sollte. Dieser Blogeintrag soll einen kurzen Überblick über die Ergebnisse vermitteln.

Für einen zielorientierten Projektmanager ist es wichtig, stets die neuesten Zahlen zu den zu verantwortenden Projekten zur Verfügung zu haben. Mit diesen müssen zum einen die Stakeholder auf den aktuellsten Stand gebracht werden. Zum anderen ist die Beobachtung des Verlaufs der Projektkosten zum frühzeitigen Gegensteuern nötig. Die erste Frage, die sich dabei stellt: Mit welchem Werkzeug bzw. welcher Software kann diese Aufgabe am besten gelöst werden?

Read More

Kurzeinführung BPM bzw. BPMN

Kurzeinführung BPM bzw. BPMN

In diesem Blog soll eine Kurzeinführung in das Thema Business Process Management (BPM) bzw. in die Modellierungssprache Business Process Model and Notation (BPMN) gegeben werden. Es geht hierbei um Geschäftsprozessmanagement bzw. -modellierung. Dabei wird der Prozess als Reihe von festgelegten Tätigkeiten verstanden, der von unterschiedlichen Akteuren wie Mensch oder Maschine ausgeführt werden kann, um ein oder mehrere Ziele zu erreichen. Die Prozesse können als Modelle dokumentiert bzw. beschrieben werden.

Read More

Technische Realisierung von BPM mit jBPM 5

Technische Realisierung von BPM mit jBPM 5

Für den Begriff "Business-Process-Management" (BPM) gibt es verschiedene Betrachtungsweisen und Definitionen. Zum einen ist mit BPM die betriebswirtschaftliche Geschäftsprozessanalyse, -modellierung, -steuerung und -optimierung gemeint. Zum anderen gibt es eine IT-Sicht, die sich mit den technischen Aspekten der Prozessautomatisierung und -analyse beschäftigt. Eine allgemeine, aber doch sehr aussagekräftige Definition des BPM-Begriffes lautet wie folgt:

“The main goal of BPM is to provide visibility to the company's business processes and find ways to improve and speed them up to increase profit and reduce costs”.

Read More

Highlights aus dem MobileTech 2013 Workshop - Mobile Javascript WebApps professionell entwickeln

Highlights aus dem MobileTech 2013 Workshop - Mobile Javascript WebApps professionell entwickeln

Die Beschäftigung mit den verschiedenen Ansätzen der Softwareentwicklung für mobile Endgeräte lenkte mein Augenmerk auf aktuelle Konzepte in der Javascript-Entwicklung. Dass sich bewährte Prinzipien und Praktiken aus der herkömmlichen Webentwicklung auch auf Mobile-Web Projekte übertragen lassen, ist nachvollziehbar. Beispielsweise können dort ebenso CleanCode Richtlinien berücksichtigt und JavaScript Module Test getriebenen entwickelt werden. Dennoch gibt es spezifische Herausforderungen, die bei der Entwicklung von mobilen Applikationen ergeben.

Auf der MobileTech 2013 in München wurden im Workshop „Mobile Javascript WebApps professionell entwickeln“ derartige Herausforderungen adressiert und Lösungsansätze vorgestellt, welche anhand von Programmieraufgaben verinnerlicht werden konnten.

Im Folgenden möchte ich meine persönlichen Highlights aus diesem Workshop vorstellen.

Read More

Software Reverse Engineering

Software Reverse Engineering

er Softwaremarkt ist in vielen Bereichen hart umkämpft. Es existieren viele Mitbewerber und unzählig viele Produkte in den verschiedensten Bereichen. Um sich als Firma durchzusetzen und einen möglichst hohen Marktanteil zu ergattern, muss sich eine Software in der Regel von den Konkurrenzprodukten absetzen. Ich denke dabei an Innovationen: Besondere Funktionalität und sehr ausgeklügelte Lösungsansätze, aber auch an Performance-Erwartungen.

Um diesen Vorsprung zu erreichen, muss ein Unternehmen viel investieren. Es ist notwendig Fachleute anzustellen und die Entwicklung und Umsetzung des Konzepts benötigt mehr oder weniger Zusatzaufwand. Es müssen Tests gefahren werden, die den ordentlichen Betrieb dieser Neuerung gewährleisten. All dies führt zu Kosten, die dann (so die Erwartung) durch den besseren Absatz gedeckt werden können.

Je mehr Entwicklungsaufwand betrieben wird und je mehr es beim Vertrieb auf diese Innovationen ankommt, desto mehr sollte man sich die Frage stellen, wie diese Software zu schützen ist. Dieser Blogeintrag soll einen Denkanstoß in diese Richtung geben. Dabei geht es nicht um einen Kopierschutz, sondern um die Gefahren und den Schutz vor ungewollten Einblicken durch die Konkurrenz mittels Software Reverse Engineering.

Read More

Datenschutz in der Cloud

Datenschutz in der Cloud

Die Cloud ist in aller Munde. Immer mehr Anbieter und Nutzer tummeln sich im Netz. Es lohnt sich also, einmal genauer darauf zu schauen, was eigentlich hinter dem Begriff Cloud steckt.

Auf den Punkt gebracht stellt ein Anbieter eines Cloud-Dienstes einem Nutzer Speicherplatz, Rechenkapazität und eventuell Software zur Datenverarbeitung zur Verfügung, die der Nutzer bei Bedarf jederzeit über das Internet abrufen kann.

Der Nachteil für den Nutzer ist, dass er nicht genau lokalisieren kann, wo die Dienstleistung erbracht wird. Dies bringt, abgesehen von dem Problem, wie der Nutzer sicherstellen kann, dass seine Daten vor fremdem Zugriff geschützt sind, auch einige Datenschutzanforderungen mit sich. Sofern personenbezogene Daten betroffen sind (denn nur für solche gelten die Datenschutzgesetze), stellt die Benutzung eines Cloud-Dienstes nämlich rechtlich eine sogenannte Auftragsdatenverarbeitung nach §11 Bundesdatenschutzgesetz (BDSG) dar, da die Daten zur Verarbeitung an Dritte übermittelt werden. Der Begriff der Verarbeitung ist in §3 BDSG definiert. Darunter fallen demnach nicht nur die eigentliche Verarbeitung, sondern auch die reine Speicherung sowie die Weiterübermittlung, Veröffentlichung und sogar das Löschen von Daten.

Read More

Mitarbeiterführung – Das Feedback-Gespräch

Mitarbeiterführung – Das Feedback-Gespräch

Vor ein paar Wochen hatte ich einen Beitrag zum klassischen Projektleiter geschrieben. Einen wichtigen, vielleicht sogar den wichtigsten Bereich hatte ich dabei außen vor gelassen: Das Feedback. Das Thema Feedback ist in dieser Rolle wie auch generell im Arbeitsumfeld ein zentrales Element. Aus diesem Grund möchte ich dem Thema an dieser Stelle einen eigenen Beitrag widmen.

Jeder Mitarbeiter hat den Wunsch sich zu verbessern. Das Arbeitsergebnis soll eine höhere Qualität erreichen, man möchte effizienter arbeiten, im Umgang mit problematischen Situationen würde man gerne souveräner werden.... Eigenreflektion und intrinsische Motivation sind die Grundlagen für einen kontinuierlichen Verbesserungsprozess der eigenen Leistungen. Konstruktives Feedback ist in diesem Entwicklungsprozess sehr wertvoll und zeigt uns ggf. nicht nur das Ziel, sondern auch den Weg. Dies kann uns helfen, wenn wir uns gezielt Gedanken über Strategien zur Verbesserung machen. Dabei ist positives wie negatives Feedback gleich wichtig und notwendig. Grundsätzlich hilft bei der eigenen Verbesserung natürlich negatives Feedback mehr als positives.

Read More

Salesforce kann immer mehr in CRM

Salesforce kann immer mehr in CRM

Das boomende Cloud CRM System Salesforce entwickelt sich und seine Plattform, Force.com, ständig weiter. Jeder zertifizierte Salesforce Force.com Developer spürt das, denn er muss sich für jedes der drei jährlichen Salesforce Releases rezertifizieren. Aber was hat sich eigentlich seit dem Winter '12 Release bis heute verändert?
Ich habe mir die Release Notes seit Winter '12 angesehen und möchte im Folgenden die wichtigsten neuen Features kurz vorstellen.

Read More

Passt AGILE zu Ihrem Unternehmen?

Passt AGILE zu Ihrem Unternehmen?

Kommt Ihnen folgendes bekannt vor? Fasziniert von den Versprechen agiler Methoden – wie z.B. Steigerung der Effizienz/Qualität/Mitarbeiterzufriedenheit, kürzere Produktzyklen, besseres Risikomanagement – beschließt ein Unternehmen, Scrum oder Ähnliches, flächendeckend einzuführen. Nach anfänglicher Begeisterung aller Beteiligten und ersten Erfolgen schleicht sich dennoch die alte Arbeitsweise langsam wieder ein. Trotz Daily Stand-ups und Taskboards fällt das Unternehmen also in alte Muster zurück – beispielsweise werden User Stories immer detaillierter, bis sie letztendlich traditionellen Anforderungsdokumenten wie Pflichtenheften gleichen.

Read More

Macht der Bilder

Macht der Bilder

Nunmehr zwei Jahre ist es her, dass ich als frischer Absolvent meine erste Stelle in unserer Firma angetreten habe. Auf meiner ersten Brown Bag Session, so nennen wir unsere monatliche Zusammenkunft, die als Plattform für Vorträge und Informationsaustausch genutzt wird, stellte ein Kollege das Buch „Unfolding the Napkin“ vor. Gegenstand dieses Buches sind Methoden zur Visualisierung von Ideen und Problemen. Da ich mich selbst während meines Studiums mit Visualisierung von mehrdimensionalen Daten beschäftigt habe, war ich sofort vom Inhalt des Buches fasziniert. Unmittelbar nach dieser Veranstaltung wusste ich, meine nächste Präsentation wird bunt. So möchte ich folgenden Zeilen als Erfahrungsbericht nutzen, wie aus einer fixen Idee meine erste (fast) textfreie Präsentation entstand. 

Read More

Bericht Mobile Tech 2013

Bericht Mobile Tech 2013

Vom 11. Bis 14. März 2013 fand in München die Mobile Tech Conference 2013 statt. Das breite Themenspektrum und die interessante Mischung aus Workshops, Hands-On-Vorträgen zur Konzeption und Entwicklung mobiler Lösungen bis hin zu Themen wie User Experience oder Erfolgsfaktoren im Mobile Business hatten für jeden Geschmack etwas zu bieten.

Montag war Workshop-Tag – ich entschied mich für das Thema Responsive Design („Responsive ist noch lange nicht mobil“) von Annika Brinkmann. Responsive Websites basieren auf einem einzigen Template und passen über sog. „media queries“ den sichtbaren Inhalt abhängig von den Eigenschaften des Endgeräts entsprechend an. Es muss also immer nur eine Version einer Seite gepflegt werden, die zudem für alle Plattformen immer über dieselbe URL zugänglich ist.

Read More

Wie Inventur im Baumarkt...

Wie Inventur im Baumarkt...

Das MapReduce Verfahren und die Umsetzung in Apache Hadoop

Warum speichern wir unsere Daten eigentlich nicht mehr auf den guten alten 5 ¼ Disketten? Sie wären sicher vor Zugriffen von außen und vor Netzwerkausfällen. Eine feine Sache also. Die Antwort ist recht einfach und eigentlich jedem klar, der irgendwann eine dieser dünnen schwarzen rechteckigen Scheiben in der Hand hatte. Die Speicherkapazität einer Diskette ist so gering, dass man allein für den Hausgebrauch wohl ein kleines Zimmer bräuchte, in dem man elektronisch gespeicherte Dokumente, Präsentationen und Urlaubsfotos auf hunderten solcher Datenträger aufbewahren würde. Wollte man noch zusätzlich Videodateien archivieren, müsste bald auch die Garage als „Speicher“ herhalten.

Read More

Continuous Delivery und DevOps

Continuous Delivery und DevOps

Bei der Betrachtung von Softwareentwicklung und den damit verbundenen Prozessen lassen sich Projekte aufdecken, in denen die Erweiterungen oft Monate bis zum produktiven Einsatz benötigen. Im Laufe dieser Zeit kommen viele Anforderungen zusammen. Ist die Software dann fertig und kommt in die vielen Abnahme-Teststufen, erschweren unerwartete Probleme die Installationen. Statt an der nächsten Version zu arbeiten, verbringt das Entwickler-Team viel Zeit mit der Fehleranalyse.

Jedem, der sich mit Softwareprojekten beschäftig, wird dies bekannt vorkommen.
Zeit, sich Gedanken darüber zu machen, wie dieser Zustand verbessert werden kann.

Read More

Java Fork - Join Framework und effizienter Code

Java Fork - Join Framework und effizienter Code

In diesem Blog geht es um das in Java 7 enthaltene Fork/Join Framework, auch bekannt als JSR-166 Concurrency Utilities, das zum Ziel hat, effizienten Code zu schreiben.
Es gibt diverse Fachliteratur sowie einige Blogs zu dieser Thematik; ich werde am Beispiel der Fibonacci-Berechnung auf die Vor- und Nachteile von Fork/Join Frameworks eingehen.

In Zeiten steigender Taktraten genossen Entwickler die Tatsache, dass ihre Single-threaded-Software durch Hardwareoptimierungen immer schneller ausgeführt wurde. In den letzten Jahren hat aber ein Paradigmenwechsel auf dem Gebiet der Computer-Prozessoren stattgefunden. Dies betrifft neben PCs, Notebooks und Servern auch Mobiltelefone.

Read More

SEPA Days 2013

SEPA Days 2013

Die SEPA-Tage 2013 brachten wie schon im Vorjahr spannende Diskussionen und Erkenntnisse.
Auf drei Kongressen in Köln, Frankfurt und Hannover trafen sich Vertreter aus der Finanz-, IT- und Telekommunikationsbranche, der Medien- und Verlagswelt, dem Dienstleistungssektor und der Industrie.
Neben hochkarätigen Vorträgen stand der Austausch über die Herausforderungen, welche die endgültige Abschaffung der nationalen Zahlungsformate von Überweisungen und Lastschriften und die damit einhergehende verpflichtende Nutzung der SEPA-Formate ab 1.2.2014 mit sich bringt, im Vordergrund.
Einer der Fachvorträge wurde von Herrn Dr. Ernst Stahl vom ibi research der Universität Regensburg zum Thema „SEPA-Umsetzung in Deutschland: Status quo und Stand der Umsetzung bei Unternehmen, Behörden und Vereinen“ gehalten. Herr Stefan Scheidgen vom Deutsche Post Renten Service berichtete über „SEPA-Rentenzahlungen: Das Anwendungsbeispiel für SCT“. Den Abschluss der Vortragsreihe bildete der gemeinsame Beitrag von Herrn Stefan Grimm von it-economics und Herrn Andreas Hoffart von CGI. Darin wurden praxisnah die Umsetzung der SEPA-Anforderungen vorgestellt und konkrete Tipps und Hilfestellungen für das methodische Herangehen im Projektalltag gegeben.

Read More

Beideskönner. Wie das Gemini Blueprint Projekt Spring und OSGi miteinander sprechen lässt

Beideskönner. Wie das Gemini Blueprint Projekt Spring und OSGi miteinander sprechen lässt

Es könnte doch eigentlich alles so schön sein.

In der Theorie lernen wir von Programmierers Kindesalter an, wie moderne Architekturen aussehen, wie moderne objekt- und vor allem service-orientierte Konzepte funktionieren. Dass über Bausteingrenzen hinweg munter und verteilt kommuniziert wird, dass ein hoher Wiederverwendungswert einzelner Bausteine zum schnellen voranschreiten in der Projekt-Entwicklung führt und dass wir das Rad nur noch selten neu erfinden müssen. Modernes Programmieren gleicht mehr dem zusammensetzen von Bausteinen zur Entwicklung einer Lösung statt dem klassischen Entwickeln von Bausteinen selbst.

Als Spring noch das allgemein gängige Handwerkszeug war, um Bausteine von Software Architekturen elegant zu entkoppeln, gab es keine Sprachbarriere. Spring-Beans konnten sich wunderbar untereinander und mit Hibernate unterhalten, mit gut zusammengestellten Konfigurationsdateien waren schnell große Projekte aufgesetzt und zusammengepuzzelt.

Nun stellt seit einigen Jahren OSGi die spring’sche Vormachtstellung in Frage bzw. greift unterstützend und maßgebend in neuere Systemarchitekturen ein. Daher scheint es nur folgerichtig, eine verständliche Antwort auf die Frage „Was ist OSGi?“ zu suchen und zu untersuchen inwiefern OSGi mit Spring kombiniert werden kann.

Also, was ist das nun, OSGi und warum gilt es überhaupt darüber nachzudenken zukünftige Systeme in ein OSGi Umfeld zu integrieren, wenn Spring doch unsere Probleme bisher ganz vorzüglich lösen konnte?

Read More