Home Leistungen Web-Applications
Web-Applications PDF Drucken E-Mail

UTILO Web-Applications, Web-Anwendungen von UTILOEine unserer Kernkompetenzen ist die Entwicklung von Web-Anwendungen.

Um Ihnen einen größtmöglichen Vorteil zu bieten haben wir uns auf kostenfreie Open Source Komponenten spezialisiert. Open Source (quelloffene) Software ist oft sicherer als proprietäre Software. Ihnen entstehen keine Lizenzgebühren oder Knebelverträge an einen Softwarehersteller.

Wir entwickeln unsere Web-Anwendungen mit Hilfe der Script- bzw. Programmiersprachen:

  • Java (J2EE, EJB, JSP, Servlets, etc.)
  • PHP
  • Groovy und Grails

Unsere Tätigkeiten reichen dabei v on der Erstellung des Pflichten/Lastenheftes, der Entwicklung des Softwarekonzeptes bis zur softwaretechnischen Umsetzungen der im Lastenheft definierten Anforderungen.

Warum haben wir uns in unserer Kernkompetenz für Java, PHP und Grails entschieden?

Java

Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems. Sie ist eine Komponente der Java-Technologie.

Java-Programme werden in Bytecode übersetzt und dann in einer speziellen Umgebung ausgeführt, die als Java-Laufzeitumgebung oder Java-Plattform bezeichnet wird. Deren wichtigster Bestandteil ist die Java Virtual Machine (Java-VM), die die Programme ausführt, indem sie den Bytecode interpretiert.

Java-Programme laufen in aller Regel ohne weitere Anpassungen auf verschiedenen Computern und Betriebssystemen, für die eine Java-VM existiert. Sun selbst bietet Java-VMs für die Betriebssysteme Linux, Solaris und Windows an. Andere Hersteller lassen ihre Java-VM für ihre Plattform zertifizieren, zum Beispiel die Firma Apple für Mac OS X.

Die Sprache Java gehört zu den objektorientierten Programmiersprachen. Die Grundidee der objektorientierten Programmierung ist die softwaretechnische Abbildung in einer Art und Weise, wie wir Menschen auch Dinge der realen Welt erfahren. Die Absicht dahinter ist, große Softwareprojekte einfacher verwalten zu können und sowohl die Qualität von Software zu erhöhen als auch Fehler zu minimieren. Ein weiteres Ziel der Objektorientierung ist ein hoher Grad der Wiederverwendbarkeit von Softwaremodulen.

Java hat einige, nicht zu vernachlässigende Vorteile gegenüber anderen Programmiersprachen. So ist Java sehr stark mit TCP/IP verknüpft und ermöglicht es so, dass Java-Applikationen einfach miteinander kommunizieren können (z. B. über RMI - Remote Methode Invocation). Dies erleichtert vor allem die Entwicklung eines verteilt arbeitenden Programms.

Neben den generellen softwarespezifischen Vorteilen von Java, wie dem Java Community Process bietet diese Programmiersprache im Gegensatz zu anderen eine konsequent umgesetzte Aufwärtskompatibilität der Entwicklungen. Dadurch ist es uns möglich die Softwareanforderungen unserer Kunden schrittweise basierend auf dem aktuellen Stand der Technik zu halten bzw. die Applikationen auf den neuesten Stand der Technik zu bringen. Dies bedeutet für die Kunden von UTILO eine Investitionssicherheit von vielen Jahren.

PHP

Backronym für „PHP: Hypertext Preprocessor“, ursprünglich „Personal Home Page Tools“) ist eine Skriptsprache die hauptsächlich zur Erstellung von dynamischen Webseiten oder Webanwendungen verwendet wird. PHP ist Open-Source-Software.

PHP zeichnet sich besonders durch die leichte Erlernbarkeit, die breite Datenbankunterstützung und Internet-Protokolleinbindung sowie die Verfügbarkeit zahlreicher, zusätzlicher Funktionsbibliotheken aus. Es existieren beispielsweise Programmbibliotheken, um Bilder und Grafiken zur Einbindung in Webseiten dynamisch zu generieren.

PHP ist eine server-seitig interpretierte Sprache. Das bedeutet, dass der Quelltext – im Gegensatz zu JavaScript, das in der Regel Client-seitig ausgeführt wird – nicht an den Browser übermittelt wird, sondern an einen Interpreter auf dem Webserver. Erst dessen Ausgabe wird an den Browser geschickt. In den meisten Fällen ist dies ein HTML-Dokument, wobei es mit PHP aber auch möglich ist, andere Dateitypen, wie z. B. Bilder oder PDF-Dateien, zu generieren

Die Vorteile der server-seitigen Ausführung sind, dass beim Client (Browser) keine speziellen Fähigkeiten erforderlich sind oder Inkompatibilitäten auftreten können, wie es beispielsweise bei JavaScript und den verschiedenen Browsern der Fall ist. Außerdem bleibt der PHP-Quelltext der Seite auf dem Server, und nur die generierten Daten sind für den Besucher einsehbar. Gleiches gilt für andere Ressourcen wie z. B. Datenbanken, die daher auch keine direkte Verbindung zum Client benötigen.

Grails

Grails, ist ein open-source Web-Application-Framework, welches auf hohe Produktivität ausgelegt ist. Grails basiert auf der Programmiersprache Groovy, die auch als Scriptsprache verwendet werden kann und ist ein Teil der Java Plattform, somit laufen die Applikationen auf der Java Virtual Machine.

Die Hauptinitation des Grails-Projektes war es das "coding by convention"-Paradigma in Groovy mit einzubringen und damit Java-Entwicklern die Möglichkeit zu geben, einfach und schnell umfangreiche Web-Applikationen zu erstellen.

Inspiriert wurde Grails dabei von dem "convention over configuration"-Paradigma, das wie oben beschrieben auch "coding by convention" genannt wird. Unter "convention over configuration" versteht man das Konfigurieren von bestimmten Funktionen einer Applikation über ihren Ort und den Namen der Dateien. Es ist zwar dadurch nötig eine bestimmte Ordnerstruktur einzuhalten, was nicht unbedingt ein Nachteil ist, im Gegenzug ist aber bei Grails fast keine Konfiguration des Webservers oder der Applikation erforderlich.

Grails ist DRY. DRY steht für "Don't Repeat Yourself" und bedeutet, dass es versucht wird Redundanz im Code zu vermeiden.

Warum sollte man Grails verwenden? Grails besitzt eine Reihe von Vorteilen für die Web-Applikations-Entwicklung. Einige sind schon im Punkt Inspiration genannt. Zudem sind noch folgende Punkte zu nennen:

  • Meta-Programming: Mit sehr wenig Zeilen Code wird eine sehr große Wirkung erzielt.
  • Ausdrucksstarke Syntax
  • Sehr leichte Java Integration
  • Closures: Funktionen die ihren Funktionskontext "konservieren", auch wenn er in der umschließenden Funktion nicht mehr existiert.
  • Vorteile von Spring, SiteMesh, Hibernate und weiteren Open-Source-Projekten werden vereinigt.
  • Gute Ajax-Unterstützung
  • Gute Dokumentation, der für den Entwickler relevanten Teile des Frameworks