Individuelle Softwareentwicklung bringt Vorsprung – Standardsoftware hat keine Zukunft mehr

17. Oktober 2014

Individuell entwickelte Softwarelösungen können Unternehmen häufig Wettbewerbsvorteile gegenüber dem Einsatz von Standardsoftware bringen. Dies wird schnell klar, wenn man bedenkt, dass Individualsoftware an die Geschäftsprozesse angepasst werden kann, und nicht umgekehrt die Geschäftsprozesse an den Vorgaben von Standard-Softwarepaketen ausgerichtet werden müssen. Heise berichtet, dass führende Manager der Software AG dies auf der Innovation World in New Orleans anschaulich unterstrichen haben.

Vielen Entwicklern von individuellen Softwarelösungen ist dies vielleicht schon lange bekannt. Man trifft jedoch in der Praxis häufig auf das Vorurteil, Individualentwicklungen seien teurer und riskanter als der Einsatz von Standardsoftware. Es ist nachvollziehbar, dass die großen Unternehmens-Standardlösungen in den letzten 20 Jahren zu großen Verbesserungen in Unternehmen geführt haben, jedoch stets auch eine gewisse Standardisierung der Geschäftsprozesse und Daten erfordern. Der Raum für Differenzierungen gegenüber Wettbewerbern und zur Nutzung von Optimierungspotentialen ist dabei eingeschränkt. Auch Cloud- bzw. Software-as-a-Service-(SaaS-)Lösungen helfen nicht, sind sie doch im Prinzip auch lediglich Standardsoftware, die extern betrieben wird.

Individuelle Softwareentwicklung kann Unternehmen allerdings die dringend benötigten Wettbewerbsvorteile und Vorsprünge verschaffen. Wichtig ist dabei – um die Faktoren Budget, Zeit und Qualität zu sichern – dass gut strukturiert und methodisch vorgegangen wird. Wert gelegt werden sollte auch auf genügend Projekterfahrung, sowohl bei der Projektleitung als auch im Entwicklungsteam.

Datenbank aus MySQL-Backup entfernen (mysql dump database exclude)

26. Mai 2014

Mit folgendem kleinen Skript können einzelne Datenbanken aus dem mysqldump entfernt werden. 

Die Benutzung auf der Kommandozeile erfolgt beispielsweise wie folgt:

mysqldump -A | mysqldump-cleaner.php test > dump.sql


Das Skript:

#!/usr/bin/php
<?php
/*
The MIT License (MIT)
Copyright (c) 2014 Explicatis GmbH
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
*/
if ($argc != 2)
{
 echo "usage: dump-cleaner.php < database to delete >\n";
 exit;
}
$stdin=fopen('php://stdin','r');
$stdout = fopen('php://stdout', 'w');
$nameOfDatabase = $argv[1];
$writeFlag = true;
while(!feof($stdin))
{
 $currentLine = fgets($stdin);
if (preg_match('/^\-{2}\sCurrent\sDatabase: `(.*?)`/', $currentLine, $treffer))
 $writeFlag = $treffer[1] != $nameOfDatabase;
if ($writeFlag)
 fputs($stdout, $currentLine);
}
fclose($stdin);
fclose($stdout);


Das Skript kann hier als ZIP-Datei heruntergeladen werden: mysqldump-cleaner

Ähnlicher Beitrag: Datenbank aus MySQL-Backup extrahieren

Vaadin: Integrierte Entwicklung von Front- und Backend in Webanwendungen

24. Februar 2013

Lebhafte Diskussionen beim dritten „Wissensdurst“-Vortrag

Wenn bei der Entwicklung von Informationssystemen (z.B. betriebsinterne Web-Anwendungen) Front- und Backend getrennt entwickelt werden, ist dies sehr ineffizient. Problematisch sind beispielsweise

– sehr wenig Code-Wiederverwendung
– Einsatz verschiedener Programmiersprachen
– unübersichtliche Anzahl von verschiedenen Libraries

In seinem Vortrag beschäftigte sich Frederik Hausberg, Software-Entwickler bei Explicatis, mit dieser Problematik. Er hat sich intensiv wissenschaftlich mit der integrierten Entwicklung von Front- und Backend beschäftigt und verschiedene Lösungsansätze verglichen.
Insbesondere der Einsatz von AJAX-GUI Frameworks (AJAX=Asynchronous JavaScript und XML) verbessert die Effizienz der Entwicklung entscheidend, durch den Einsatz nur einer Programmiersprache und einen einheitlichen Entwicklungsprozess.

Folie VaadinDabei sprechen vor allem die folgenden Punkte für den Einsatz des Vaadin-Frameworks, was Frederik Hausberg an einigen live gezeigten Codebeispielen eindrucksvoll belegte:

  • Schnelligkeit (schnelle Reaktion der Benutzeroberflächenelemente, schnelles Speichern und Laden)
  • Benutzbarkeit (einheitliches Design und Benutzung wie eine Desktopanwendung)
  • Entwicklung (komplett in Java, aber auch eigene Add-Ons mit JavaScript oder GWT möglich, klares Datenmodell, schnell verständlich, weite Verbreitung, Open Source)
  • Funktionalität (fast alle funktionalen Anforderungen umsetzbar, viele Add-Ons, basiert auf GWT)

Der Kreis von rund 25 Teilnehmern setzte sich aus Software-Entwicklern verschiedener Unternehmen und thematisch Interessierten aus dem Startup-Umfeld des Gastgebers STARTPLATZ zusammen. Es entwickelte sich eine rege und lebhafte, teils kontroverse Diskussion über die Paradigmen hinter Vaadin und dessen Einsatzmöglichkeiten in Unternehmen sowie die Integration in Projekten.

Vortrag zu Vaadin in der Wissensdurst-Reihe der Explicatis GmbH
Vortrag zu Vaadin in der Wissensdurst-Reihe der Explicatis GmbH

Der Erfahrungsaustausch der Entwickler war gespickt mit teilweise heiteren Anekdoten, drehte sich dabei aber insbesondere um die Vor- und Nachteile des Einsatzes von Frameworks – vor allem Vaadin – in Praxisprojekten. Unterschiedliche Lösungsansätze wurden diskutiert und einige sehr konkrete Herausforderungen konnten gelöst werden.
Erstmals war der STARTPLATZ Veranstaltungsort für einen Vortrag in der Reihe „Wissensdurst“. Teilnehmer und Veranstalter waren rundum zufrieden, die Location entwickelt sich immer mehr zu einem Nukleus der Internet-Pioniere und Entwickler im Kölner Raum.

 
 

Nächste Themen und Termine von Wissensdurst-Vorträgen werden angekündigt unter www.explicatis.com/wissensdurst sowie auf Facebook unter http://fb.com/groups/wissensdurst/

Neue Impulse beim Treffen der Symfony User Group Cologne

4. Mai 2012

Zum ersten Treffen der Symfony User  Group Cologne außerhalb der Räumlichkeiten von Sensio Labs fanden sich rund 25 Entwickler und Interessierte bei Explicatis ein. Nach Smalltalk und einer Führung durch die neuen Räume berichtete Jörn Wagner, Software-Architekt bei Explicatis, von den Neuerungen von PHP 5.4 in Bezug auf Symfony. Er illustrierte seinen Vortag mit praktischen Beispielen und einer Code-Demo.

Anschließend wurde über den Vortrag und rund um PHP und Symfony kräftig diskutiert. Sehr interessant war danach das Get Together, wo sich die Teilnehmer über ihre unterschiedlichen Erfahrungen und Hintergründe austauschten. Dabei entstanden neue Bekanntschaften, alte wurden erneuert und allgemein war der Wunsch nach weiteren Treffs groß. Ort und Termin dafür werden frühzeitig bekanntgegeben.

Schnappschuss vom Treffen:

 

Symfony User Group Köln: Treffen bei Explicatis am 25.4. 2012

13. April 2012

Das nächste Treffen der Symfony-Anwender im Rheinland wird erstmals von Explicatis gehostet. Es findet am 25. April ab 19.00 Uhr in den Räumen der Explicatis GmbH in 50858 Köln, Max-Planck-Str. 6-8, statt. Alle interessierten PHP/Symfony Software-Entwickler sind zu diesem kostenfreien Treffen herzlich eingeladen. Bitte vorher anmelden unter http://www.meetup.com/sfugcgn/events/59239182/

Wie auch bei anderen Treffen von Symfony-Usern ist ein Mix aus Information und Networking geplant. Angedacht ist bisher ein Vortrag von Jörn Wagner (Explicatis) zu Neuerungen in PHP 5.4 (insbesondere Traits). Weitere Themen und/oder Referenten werden hier und bei Meetup angekündigt.

Die geplante Agenda:
19:00 – Get Together
19:30 – Vorträge
20:30 – Networking

Facebook-Impressum: Die Sache, die so einfach, aber schwer zu machen ist

15. Dezember 2011

Eigentlich ist es einfach: Geschäftliche Veröffentlichungen müssen ein Impressum aufweisen. Und dies gilt ohne Wenn und Aber. Schließlich muss man erkennen können, wer für die Veröffentlichung verantwortlich ist. Das ist wichtig für die Einschätzung der Bedeutung und des Wahrheitsgehaltes einer Information. Und erst recht wird es wichtig, wenn man etwas gegen diese Veröffentlichung einwenden oder unternehmen will.

Aber es gibt unendliche Diskussionen darüber, wie man so ein Impressum ausgestalten kann – obwohl es doch so einfach und klar ist. Aktuell laufen heftige Diskussionen durchs Netz, ob man geschäftliche Facebook-Seiten mit einem Impressum versehen muss und wie das dann aussehen soll.

Dazu zwei klare Aussagen:

  1. Ein Impressum bei geschäftlichen FB-Seiten ist ABSOLUT NOTWENDIG
  2. Kein Impressum ist ein Abmahngrund. Auch wenn bisher nichts von einer Abmahnwelle bekannt ist, können Abmahnkanzleien schon bald tätig werden.

Etwas schwieriger ist die Frage, wie das Impressum aussehen muss, jedoch nur auf den ersten Blick. Näher betrachtet ist folgendes klar:

  1. Das Impressum muss die Pflichtangaben nach § 5 des Telemediengesetzes enthalten, d.h. der Anbieter muss eindeutig identifizierbar sein. Die Verantwortlichkeit hinsichtlich des § 5 TMG muss explizit und persönlich benannt sein, es reicht keine Verantwortlichkeit im Sinne des Presserechts!
  2. Auch eine Telefonnummer, eine Webadresse oder ein Link reichen als eindeutige und umfassende Anbieterkennung nicht aus. Alle Angaben müssen auf der Facebookseite stehen.
  3. Das Impressum muss direkt auffindbar sein. Die Anbieterkennung darf – so ein aktuelles Urteil – auch nicht auf einer „INFO“- oder sonst wie bezeichneten Seite stehen. Um das Gebot der Auffindbarkeit sicher zu erfüllen, sollte man sich die Mühe machen, eine „Impressum“- Unterseite mit entsprechendem Link auf der Hauptpage anzulegen.

Dies gilt vermutlich auch für Facebook-Seiten, die – entgegen der Facebook-AGB – geschäftsmäßige Interessen auf „normalen“ Userseiten verfolgen. Hier ist ebenfalls – neben den Reaktionen von Facebook – mit juristischen Aktionen wie Abmahnungen zu rechnen. Nur EINDEUTIG private Seiten sind von der Impressumspflicht befreit.

Insbesondere gilt die Impressumspflicht auch für Facebook-Seiten, die Online-Auftritte von Unternehmungen der realen Welt sind. Gerade hier reicht ein Verweis auf das Impressum auf der Unternehmens-Website nicht aus. Der Facebook-Auftritt wird – sozusagen als „Ableger“ des Hauptunternehmens – als grundsätzlich geschäftlich betrachtet. Und muss ein eigenes Impressum besitzen.

Also, ist doch überhaupt nicht schwer: Impressum rein und alles ist gut.

Leider ist es nicht so einfach. Das Impressum sollte als iFrame-App programmiert werden OHNE JavaScript. Denn ein Impressum muss auch von Besuchern der Seite gefunden und gelesen werden können, die Browser-Erweiterungen wie JavaScript abgeschaltet haben.

Ein weiterer Punkt ist zu bedenken: iFrame-Apps in Facebook werden auf mobile Endgeräte (Smartphones, iPhone, iPad etc.) nicht übertragen. Dies ist ein technisches Problem, das juristisch dem Seitenverantwortlichen zugerechnet werden kann, obwohl Facebook eben diese technischen Möglichkeiten nicht zur Verfügung stellt.

Um hier im Falle eines Falles eine der Lebenswirklichkeit entsprechende Argumentation anbringen zu können, sollte das Impressum nicht nur in einem iFrame stehen, sondern die notwendigen Angaben auf jeden Fall auch ZUSÄTZLICH auf der ’normalen‘ Infoseite des eigenen Facebook-Auftrittes. Und es sollte genau verfolgt werden, ob und wann Facebook eine ‚ordentliche‘ (=nach deutschem Recht einwandfreie) Darstellung des Impressums ermöglicht. Diese sollte dann auch umgehend umgesetzt werden.

Im World Wide Web werden verschiedene Tools angeboten, mit denen die Impressums-Erstellung auf der eigenen Facebook-Seite leicht von der Hand gehen soll. Wir von Explicatis empfehlen aber, das Impressum selbst zu programmieren bzw. programmieren zu lassen. Nur so ist das einwandfreie Funktionieren – und eventuell notwendige Updaten – gesichert. Wie bei so vielen Dingen macht es Sinn, sich an jemanden zu wenden, der sich damit auskennt….

Hinweis: Dies ist KEINE Rechtsberatung und will und kann eine Rechtsberatung nicht ersetzen. Als Vorbereitung für das Gespräch mit einem Anwalt kann gut das Urteil des Landgerichts Aschaffenburg vom 19.08.2011 dienen, in dem all diese Dinge entschieden wurden. Das Aktenzeichen lautet 2 HK O 54/11. Der Text des Urteils sowie Pressestimmen und Kommentare sind zu finden auf den Seiten von dejure.org.

Erstes Treffen der Symfony User Group Cologne am 30.11.

25. November 2011

Am Mittwoch, 30. November, findet um 19 Uhr erstmalig ein Treffen der Symfony User Group Cologne statt. Das Treffen wird vom Erfinder des PHP-Frameworks, Sensio Labs, in deren deutschen Niederlassung in Köln veranstaltet. Dort treffen sich Entwickler zum Informationsaustausch und Netzwerken. Zusätzlich hält Benjamin Eberlei, ein Entwickler des ORM-Frameworks Doctrine, einen Vortrag.

Explicatis wird selbstverständlich auch auf dem Treffen der Symfony User Group Cologne vertreten sein.

Explicatis setzt Symfony seit den ersten Anfängen vor ca. fünf Jahren zur Entwicklung schneller, sicherer und erweiterbarer Webanwendungen ein. Die Entwicklung von Symfony2 wurde von uns seit den ersten Release Candidates verfolgt (siehe Blogbeiträge). Eine Liste unserer Artikel zu Symfony-Themen finden Sie unter Referenzen / Publikationen.

Weitere Informationen finden Sie unter http://www.meetup.com/sfugcgn/events/40674492/.

Microsoft Windows 8 macht Mobile Computing zum Standard

15. September 2011

Kurzüberblick über Windows 8

Die neue Windows-Version ( Codename Windows 8 ) kommt! Wann ist allerdings noch unklar, spekuliert wird in einer Bandbreite von April bis zum 4. Quartal 2012. Mit großer Resonanz wurde jetzt die Vorabversion vorgestellt. Wir zeigen hier die wichtigsten Neuerungen.

Windows 8 kommt mit „Metro“, einer neuen innovativen Benutzungsoberfläche. Angelehnt an Windows Phone 7 ist Metro optimiert für die Bedienung über Touchscreen, lässt sich aber genauso über die Maus steuern oder über die Tastatur. Auf dem Startscreen sind jetzt alle Anwendungen und Daten nicht mehr als Icons, sondern als große Kacheln im Bild. Sie lassen sich mit der Maus oder – auf einem Touchscreen – mit einem Fingertipp aufrufen. Bei Windows 7 und Windows Vista gab es mit den Minianwendungen auf dem Desktop bereits Ansätze für Apps auf dem PC. Bei Metro sind sie nun Standard, die gesamte Oberfläche ist personalisierbar und löst das Startmenü ab. Nicht nur klassische Software-Programme, sondern auch Apps, Websites, Daten, Abspiellisten oder Fotos und Videos werden sofort mit einem Fingertipp oder Mausklick auf die Metro-Oberfläche abgerufen bzw. gestartet. Wie auf einem Smartphone kann diese Oberfläche hin- und her“gewischt“ werden, sodass viel Platz für den personalisierten Zugriff auf Anwendungen und Daten zur Verfügung steht.  Mehr

Symfony2: Release-Version erschienen

28. Juli 2011

Nach 18 Monaten Entwicklungszeit und Beiträgen von über 250 Entwicklern ist heute die erste fertige Version des PHP-Frameworks Symfony2 veröffentlicht worden. Explicatis hat die Entwicklung mit großem Interesse verfolgt und berichtete bereits seit den ersten Vorschauversionen über die Neuauflage.

Symfony2 bietet mit den verwirklichten neuen Konzepten ein flexibleres, schnelleres Framework für Webanwendungen, verglichen mit der Vorversion. Mit der Release-Version ist nun eine wichtige Grundlage für den produktiven Einsatz gelegt.

Nähere Informationen zu den Neuerungen und dem Einsatz erhalten Sie in der u.g. Publikation oder durch ein persönliches Beratungsgespräch. Für Ihre zukünftigen Web-Applikationen empfehlen wir Ihnen den Einsatz von Symfony2.

Publikation:

  • Ehmke, C.; Keller, R. (2011): Orchestriert – PHP-Framework Symfony in Version 2.0, in: iX — Magazin für professionelle Informationstechnik, 4/2011, S. 83 – 8

Skype stürzt ständig ab: Die Lösung! – Fix for Skype crashing (Windows, Mac, Linux)

26. Mai 2011

Heute gegen Mittag mitteleuropäischer Zeit erfuhr der Online-Chat-Dienst Skype, der erst kürzlich von Microsoft übernommen worden war, massive Probleme mit den Software-Clients aller Desktop-Betriebssysteme. Die Software stürzte regelmäßig ab, schon bevor man sich überhaupt einloggen konnte.

Über soziale Medien wie Twitter und Facebook verbreitete sich aber auch rasch die Lösung: Man muss nur die Datei shared.xml suchen und löschen, danach gehen einige Einstellungen verloren aber die Änderungen an der Datei, die zum Absturz führen, sind damit auch beseitigt.

Für das jeweilige Betriebssystem muss man eine Kommandozeile öffnen und folgende Befehle eingeben:

  • Windows: del %appdata%\Skype\shared.xml
  • Linux: rm ~/.Skype/shared.xml
  • Mac OS: rm ~/Library/Application Support/Skype/shared.xml

Danach kann Skype wieder erfolgreich gestartet werden. Alternativ kann man auch den entsprechenden Pfad in der grafischen Umgebung öffnen und die Datei shared.xml löschen. Die Pfade lauten analog:

  • Windows: %appdata%\Skype
  • Linux: ~/.Skype
  • Mac OS: ~/Library/Application Support/Skype

Entgegen ersten Mutmaßungen frustrierter User hat der heutige weltweite Absturz eher nichts mit der Übernahme von Microsoft zu tun, sondern ist ein Fehler im Datenformat der betroffenen Datei bzw. in der Verarbeitung des Skype-Programms.

Ältere Posts »