Grails, Groovy Entwicklung mit UWS
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Softwareentwicklung mit Spring: produktiv und flexibel auf Java Basis

Software Projekte mit dem Spring-Framework bieten eine bessere Produktivität, Flexibilität, Modularisierung, Testbarkeit und Portabilität im Vergleich zu reinen Java-Projekten. Das Spring-Framework ist das meistgenutzte Framework für Anwendungsentwicklung auf Java-Basis und bietet mit seinen vielfältigen Funktionalitäten schlicht einen Fortschritt der Java-Plattform. Wir können aus Erfahrung sagen, dass jedes Java-Projekt von Spring-Softwareentwicklern profitiert.

UWS unterstützt zielgerichtet sowohl neue Java-Projekte als auch Bestandsprojekte mit langjähriger Spring-Expertise. Unser Angebot reicht von reiner Projektunterstützung bis hin zu Führungs- und Schulungsaufgaben.

Für Fragen steht Ihnen Herr Kunst zur Verfügung

 
 
 
 
 
 
 
 
 
 
 
 
 
 

Vorteile bei der Entwicklung mit dem Spring-Framework

Das Spring-Framework stellt eine umfangreiche und flexible Sammlung von Technologien für die Verbesserung und Vereinfachung der Entwicklung von Java basierenden Software-Projekten bereit. Spring ermöglicht es Entwicklern sich auf die eigentlichen Businesslogiken zu konzentrieren - dabei stellt Spring z.B. die notwendige Infrastruktur vollständig im Hintergrund bereit. Folgende Vorteile ergeben sich durch den Einsatz von Spring in Java-Projekten:

  • Modularität: Logik kann in Form von "Plain old Java Objects" sogenannten POJOs angelegt werden. Dies führt zu einer guten Kapselung und Austauschbarkeit von Implementierungen.
  • Produktivität: Die Konzentration auf die eigentliche Businesslogik und Nutzung von Spring-Komponenten führt zu einer Verringerung von entwickelten Code, höherer Qualität und dadurch letztlich zu einer Erhöhung der Produktivität.
  • Portabilität: Spring-Anwendungen benötigen keinen kompletten Application-Server - ein Web-Container wie Tomcat reicht. Spring läuft aber natürlich auch auf allen Java EE Servern und auch Cloud Plattformen. Spring kann aber auch gänzlich ohne Container eingesetzt werden.
  • Testbarkeit: Abhängigkeiten in Unit- und Integrationstests können sauber definiert werden, so dass einzelne Module sowohl in Isolation aber auch im Zusammenspiel getestet werden können.

 

Ausgewählte Funktionalitäten des Spring-Frameworks

Modernes Web: Einfachheit und Flexibilität

Spring MVC ist eine der führenden Technologien, um moderne Web-Anwendungen zu entwickeln. Spring MVC nutzt das "Model View Controller" Design-Pattern, um eine saubere Teilung zwischen Präsentations- und Interaktionslogik zu erreichen. Spring MVC Web-Anwendungen sind skalierbar, testbar und auf Best-Practices mittels "convention-over-configuration" aufgebaut. Anwendungsfälle wie Sicherheit, Session-Management, Formular-Verarbeitung, Validierung und Layout-Management sind meist sogar nur durch Konfiguration abzubilden.

Spring MVC ist außerdem die Basis für Spring Web Flow. Spring Web Flow stellt flexible Möglichkeiten zur Verfügung um einen vordefinierten Fluß wie z.B. bei einem Bezahlprozess im Internet abzubilden. Außerdem bietet Spring Unterstützung für Standards wie REST, HTML 5, Conversations and AJAX.

 

Datenzugriff

Spring ermöglicht einen deklarativen Ansatz, um Querschnittsfunktionalitäten wie Transaktionsbehandlung und Caching zu behandeln. Darüberhinaus gibt es viele Code-Vorlagen gemäß des Template-Method Patterns, um Interaktionen mit Datenbank-APIs erheblich zu reduzieren. Entwickler können sich so besser auf die eigentlichen Aufgaben konzentrieren ohne Infrastruktur-Code für das Fangen von Ausnahmen, Verbindungsaufbau oder Nebenläufigkeitsbehandlung schreiben zu müssen.

Wie eingangs erwähnt, stellt Spring eine einheitliche und deklarative API zum Entkoppeln des Cachings von der Persistenztechnologie bereit. Durch z.B. eine Java-Annotation ist es so möglich Service-Methoden mit einem Caching zu versehen, ohne dass die Methode dafür Logik bereitstellen muss. Für das eigentliche Caching können verschiedene Provider konfiguriert werden wie z.B. ehcache oder auch eigene Cache-Implementierungen.

UWS hat in einem Projekt diese Caching API für Spring 2 Anwendungen zur Verfügung gestellt.

 

Integration

Spring bietet umfassenden Support für die Integrationsanforderungen heutiger Software-Systeme - ohne dabei das Prinzip der "separations of concerns" (SoC) also der Trennung von Belangen bzw. System-Verantwortlichkeiten zu verletzen.

Spring Integration eignet sich hervorragend für asynchrone, nachrichten-getriebene Anwendungen. Spring Batch stellt Funktionalitäten zum verlässlichen Lesen und Schreiben großer Mengen von Daten bereit und Spring Web Services ermöglicht die Entwicklung und Integration mit SOAP-basierenden "contract-first" Web-Services.

 

Mobile Anwendungen

Wie oben erwähnt bietet Spring MVC reichhaltigen Support für "representational state transfer" (REST), der sich ideal als Kommunikationsschicht zwischen einem mobilen Client und dem Backend auf Serverseite eignet.

Alle mobilen Clients - J2ME, Windows Phone 7, Blackberry, Android, oder iOS unterstützen diese Methode der Kommunikation ("RESTful communication"). Plattformen mit HTML 5 können REST-Services direkt via HTML5 und AJAX nutzen.

 

Cloud-Ready

Spring ist extrem portabel und läuft auf verschiedensten Umgebungen - auch in der Cloud. Spring kann zuverlässig und einheitlich bei allen Anbietern von "platform-as-a-service" (PaaS) deployt werden z.B. bei Cloud Foundry, Amazon Web Services (AWS), BeanStalk, Amazon EC2 und Google's App Engine.

Eine typische Spring Anwendung benötigt keine Anpassungen, um z.B. auf CloudFoundry deployt zu werden und kann so Services wie PostgreSQL, MySQL, MongoDB, Redis oder RabbitMQ nutzen. Zusätzlich ist das Spring Framework die Entwicklungsbasis von Cloud Anwendungen auf dem vFabric stack.

 

Sicherheit

Spring Security stellt Funktionen zur Autorisierung aller Systemschichten (Tiers) und zur Integration einer Authentifizierung mit dutzenden Anbietern bereit. Spring Security lässt sich gut in Kombination mit anderen Spring Technologien wie Spring MVC, Spring Integration und Spring Web Services nutzen. Anwendungsfälle wie ein Audit von internen Systemnachrichten, das Aussperren von unerwünschten Zugriffen auf Webanwendungen oder das Verhindern von unerlaubten Aufrufen von Service-Methode lassen sich mit Spring Security realisieren.

 

Spring-Softwareentwickler bei UWS

UWS Software Service hat bereits viele Projekte mit dem Spring-Framework durchführen dürfen und bietet Projektunterstützung in verschiedenen Beschäftigungs-Modellen an.

Unsere Senior Spring Softwareentwickler übernehmen auch Führungsaufgaben hinsichtlich Architektur und Design, führen Spring-Schulungen durch oder coachen direkt ihre Mitarbeiter in Spring und verwandten Themen. Einige Beispiele für erfolgreiche Spring-Projekte finden Sie in unseren Referenzen. Welches Projekt dürfen wir gemeinsam mit Ihnen starten? Sprechen Sie mit unseren Spring-Experten.