Software Entwicklung


Durch meine langjährige Berufserfahrung habe ich schon in vielen unterschiedlichen Bereichen der Software Entwicklung Erfahrungen sammeln können. Diese erstrecken sich von der Erstellung der Anforderungsanalyse, Planung, Design, bis hin zur Programmierung und Umsetzung der Ideen & Kundenwünsche.

In den letzten Jahren beschäftigte ich mich intensiv mit der Softwareentwicklung, unter Einhaltung von kundenspezifischen Anforderungen, Coding Syle Guidelines und Anwendung von Design Patterns, in verschiedenen Programmiersprachen. Weiters habe ich auch Erfahrung in der agilen Entwicklung mit dem Vorgehensmodell Scrum.

Nachfolgend finden Sie eine Auflistung der wichtigsten Programmiersprachen und Technologien mit denen ich mich in den letzten Jahren beschäftigt habe.

 

java_logo Mit der Java Entwicklung beschäftige ich mich schon seit meiner Zeit an der HTL Pinkafeld intensiv. Auch im Laufe meiner bisherigen beruflichen Laufbahn habe ich mich immer wieder mit dem Thema Java auseinandergesetzt. Dabei sammelte ich viele Erfahrungen in der Entwicklung von Rich Clients mit z.B. Java Swing Klassen, bis hin zu komplexen J2EE Lösungen mit Benutzerverwaltungen, Datenbanklösungen, Rechtekonzepten und Jersey Web Service Kommunikation. Java-Programme werden nicht direkt von eurem  Computer interpretiert, sondern benötigen  eine Laufzeitumgebung um dort gestartet zu werden. Darin liegt auch der große Vorteil von Java Programmen, da diese auf  nahezu jedem Betriebssystem lauffähig sind.
python_logo Die Programmiersprache Python begleitet mich nun schon seit Beginn meiner beruflichen Laufbahn. Aufgrund meiner intensiven Beschäftigung mit dem Thema Front Arena (eine Spezialsoftware für Banken) konnte ich mir hier große Erfahrungen sammeln. Auch wenn Python vielleicht nicht jedem so ein Begriff ist, wird es doch sehr häufig verwendet. Mehrere kommerzielle Projekte wie z. B. Eve Online, Google Mail, Goolge Maps und Youtube nutzen zu Teilen Python.
c++ C++ ist noch immer weit verbreitet und kommt vor allem dort zum Einsatz, wo hohe Forderungen an die Effizienz gestellt werden, um durch technische Rahmenbedingungen vorgegebene Leistungsgrenzen möglichst gut auszunutzen. In den Jahren 2000 bis etwa 2010 wurde C++ aus der Domäne der Anwendungsprogrammierung zum Teil von den Sprachen Java und C# zurückgedrängt. Seitdem gewinnt C++ mit dem Aufkommen mobiler Geräte aufgrund ressourcensparender sowie effizienterer und dadurch stromsparenderer Applikationen wieder Marktanteile in der Anwendungsprogrammierung zurück. Während meiner Schulzeit habe ich mich sehr intensiv mit den Programmiersprachen C & C++ auseinandergesetzt. Auch die Programmiersprache Objective C, welche zur Programmierung von iOS Apps verwendet wird, ähnelt sehr stark der Sprache C++.
php Die Skriptsprache PHP ist in der Erstellung dynamischer Webseiten oder Webanwendungen sehr beliebt und weit verbreitet. PHP zeichnet sich durch breite Datenbankunterstützung, Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher Funktionsbibliotheken aus. Viele bekannte CMS Systeme wurden auch mit PHP entwickelt, z.B.:TYPO3, Joomla! oder WordPress.
 mysql MySQL ist eines der weltweit am weitesten verbreiteten relationalen Datenbankverwaltungssysteme. Es ist als Open-Source-Software sowie als kommerzielle Enterpriseversion für verschiedene Betriebssysteme verfügbar und bildet die Grundlage für viele dynamische Webauftritte. MySQL wird unter anderem verwendet von Flickr, YouTube, Google, Facebook und Twitter. MySQL kenne ich bereits seit meiner Schulzeit an der HTL und ist immer meine erste Wahl bei Webseiten und kleinen bis mittelgroßen Applikationen.
 oracle_db Zusammen mit DB2 und MS SQL-Server gehört Oracle zu den Marktführern im RDBMS-Segment. Die Express Version ist kostenlos nutzbar und darf auch als Datenbank für eigene Programmentwicklungen an Dritte weitergegeben werden, ohne dass dafür eine Lizenz erworben werden muss. Die erste Datenbank mit der ich mich beschäftigt habe war eine Oracle Datenbank in Version 9i.
 Sybase Sybase Datenbanken lernte ich erstmals intensiv beim Upgrade des Front Office Systems Thomson Reuters kennen. Durch den Upgrade von Kondor+ Verison 2.6 auf 3.2 wurde auch die Sybase Datenbank Version verändert. Dazu habe ich eine Java Software geschrieben, welche automatisch beide Datenbankschema ausliest, vergleicht und die Unterschiede ausgibt.
 microsoft_sql_server_icon Der Microsoft SQL Server (auch kurz MSSQLServer) ist ein relationales Datenbankmanagementsystem von Microsoft. Durch die jahrelange Erfahrung mit der Sales-, Trading und Riskmanagementsoftware Front Arena lernte ich den MSSQLServer kennen.
 wordpress-icon WordPress ist eine Open Source Applikation zur Verwaltung der Inhalte einer Website (Texte und Bilder). Sie bietet sich besonders zum Aufbau und zur Pflege eines Weblogs an, da sie erlaubt, jeden Beitrag einer oder mehreren frei erstellbaren Kategorien zuzuweisen, und automatisch die entsprechenden Navigationselemente erzeugt. Parallel gestattet sie auch hierarchische Seiten. Mittlerweile ist WordPress sehr weit verbreitet, da es eine Vielzahl an freien Plugins und Themes gibt. Meine Firmenhomepage basiert ebenfalls auf WordPress CMS.
 joomla-icon Joomla st ein verbreitetes freies Content-Management-System (CMS) zur Erstellung von Webseiten. Joomla steht unter der GNU General Public License. Es ist in PHP geschrieben und verwendet MySQL als Datenbank. Zusammen mit WordPress, TYPO3 und Drupal gehört es zu den bekanntesten und meistverwendeten Open-Source-Content-Management-Systemen.
 liferay Liferay Portal ist eine lizenzkostenfreie Open-Source-Software, die in Unternehmen als Mitarbeiter- und Geschäftsprozess-orientiertes Enterprise Portal eingesetzt wird. Mit Liferay können Informationen, Daten und Anwendungen unter einer einheitlichen Bedienungsoberfläche im Browser des Mitarbeiters vereint und personalisiert werden, um dadurch die Geschäftsprozesse im Unternehmen elektronisch zu unterstützen. Liferay Portal ist in Java entwickelt. Bereits in der Standardfunktionalität bietet Liferay einen großen Funktionsumfang. Man kann Liferay problemlos durch selbstgeschriebene Portlets erweitern. Ich verwendete Alloy UI, Liferay UI und Teile von jQuery um meine Portletoberflächen zu gestalten. Für den Datenbanklayer verwendete ich den Standard Liferay Service Builder, man kann aber auch problemlos Hibernate oder ähnliche Frameworks verwenden (der Liferay Service Builder verwendet im Hintergrund ohnehin Spring und Hibernate).
 icon_jquery jQuery ist eine freie JavaScript-Bibliothek, welche Funktionen zur DOM-Navigation und -Manipulation zur Verfügung stellt. Ich verwende jQuery Elemente immer wieder in diversen Webseiten und Webapplikationen.jQuery bietet JavaScript-Entwicklern folgende Funktionen:

  • Elementselektion im Document Object Model über die Sizzle Selector Engine, die weitgehend den CSS-3-Selektoren entspricht
  • Document Object Model-Manipulation
  • Erweitertes Event-System
  • Hilfsfunktionen wie zum Beispiel die each-Funktion
  • Animationen und Effekte
  • Ajax-Funktionalitäten
  • Erweiterbarkeit durch zahlreiche freie Plug-ins, etwa jQuery UI für die einheitliche Gestaltung von Benutzeroberflächen
apache Der Apache HTTP Serverist ein quelloffenes und freies Produkt der Apache Software Foundation und der meistbenutzte Webserver im Internet.
 apache-tomcat-7 Apache Tomcat ist ein Open Source Webserver und Webcontainer, der die Spezifikation für Java Servlets und JavaServer Pages (JSP) implementiert und es damit erlaubt, in Java geschriebene Web-Anwendungen auf Servlet- bzw. JSP-Basis auszuführen. Mittels verschiedener Connectoren unterstützt Tomcat diverse Kommunikationsprotokolle und kann mit dem HTTP-Connector entweder als eigenständiger Webserver betrieben oder mittels des AJP-Connectors in andere Webserver wie Apache Web-Server oder Microsoft IIS integriert werden.
 glassfish-logo1 GlassFish ist ein Open-Source-Anwendungsserver-Projekt für Java EE, das von Sun Microsystems gestartet wurde und seit 2010 von der Oracle Corporation gesponsert wird. GlassFish ist freie Software. Inzwischen ist die Verbreitung von Glassfish Server schon relativ groß, eine Alternative zu Glassfish ist JBoss Application Server. Zuletzt verwendete ich Glassfish in der Kombination mit Liferay CMS.
subversion_logo Apache Subversion (SVN) ist eine freie Software zur Versionsverwaltung von Dateien und Verzeichnissen.Die Versionierung erfolgt in einem zentralen Repository in Form einer einfachen Revisionszählung. Wenn Änderungen an Inhalten verteilt auf den Computern der Bearbeiter ausgeführt werden, werden zwischen dem Projektarchiv und einem Arbeitsplatz jeweils nur die Unterschiede zu bereits vorhandenen Ständen übertragen.