Deutschland 9,80. Der unbekannte Dritte 45. IDE-Integration mit der Spring Tool Suite 38

Größe: px
Ab Seite anzeigen:

Download "Deutschland 9,80. Der unbekannte Dritte 45. IDE-Integration mit der Spring Tool Suite 38"

Transkript

1 Neo4j-Tutorial: Graphdatenbanken zum Anfassen 82 Java Mag Deutschland 9,80 Österreich 10,80 Schweiz sfr 19,50 Luxemburg 11, magazin Java Architekturen Web Agile Elasticsearch Suche mit anderen Augen 69 Die Zukunft des Frühlings Java EE und der ACC Der unbekannte Dritte 45 Spring IO Alle Infos hier im Heft! 22 Spring mit neuem Look und neuem Feel? 32 IDE-Integration mit der Spring Tool Suite 38 Spring Boot: New Kid on the Stack 42 istockphoto.com/_rike_ Mehr Themen: Java ME 8 und Embedded: Back to the Roots 106 FX Traits: JavaFX und Scala Traits kombiniert 90 Sencha trifft REST: Mobile HTML5-Apps auf Knopfdruck 101

2 Titelthema Spring IO Was es mit der neuen Plattform auf sich hat Die Zukunft des Frühlings Auf der diesjährigen SpringOne-Konferenz in Santa Clara kündigte das Spring-Team die Plattform Spring IO an, einen komplett neuen Ansatz, die Spring-Technologien zu nutzen. Wir werfen einen Blick auf die Plattform und erläutern, was genau dahintersteckt. von Oliver Gierke istockphoto.com/_rike_ 32 javamagazin

3 Spring IO Titelthema Spring ist wohl das populärste und am weitesten verbreitete Framework zur Entwicklung von Unternehmensanwendungen in Java. Eine Vielzahl völlig verschiedener Anwendungstypen wird auf ihm implementiert: Einfache Webapplikationen, anspruchsvolle Serverapplikationen, aber auch Batchprozesse und Software im Bereich der Applikationsintegration gehören zum klassischen Einsatzfeld des Frameworks. Unbestreitbar ist auch der hohe Einfluss in Spezifikationen für Dependency Injection wie in Java EE 5. Auch neuere Spezifikationen wie JTA 2.1 (JSR und JSR 352 für Batchapplikationen in Java tragen eindeutig die Handschrift der entsprechenden APIs und Module des Spring Frameworks. Die technischen Anforderungen an Softwaresysteme haben sich in den letzten Jahren allerdings auch stark verändert. Während es vor fünf Jahren vielleicht noch genügte, mit einer relationalen Datenbank zu sprechen und in ihr enthaltene Daten in einer Webansicht anzuzeigen, trifft man heutzutage nicht selten auf eine Kombination aus relationalen und nicht relationalen Datenbanken, der Anforderung zu OAuth-Security, der Integration mit sozialen Netzwerken oder dem Bearbeiten von extrem großen Datenbeständen, zeitkritischen Daten usw. Auch für diese Herausforderungen bietet Spring Unterstützung an. Schon immer bestand das Spring-Ökosystem aus verschiedenen Modulen, die den Aspekten der unterschiedlichen Applikationstypen Rechnung trugen. Der Vorteil hierbei besteht darin, dass eine Applikation exakt die Teile von Spring benutzt, die sie benötigt. Umgekehrt sorgt das konsistente Programmiermodel der einzelnen Module dafür, dass die Einarbeitungszeit in einen bisher unbekannten Teil des Ökosystems überschaubar bleibt sich Entwickler schnell zu Hause fühlen, auch wenn man sich in technisch neues Terrain begibt. Ein gutes Beispiel hierfür ist die Repository-Abstraktion der Spring Data Module: hat man sich zum Beispiel einmal im Bereich JPA daran gewöhnt, in dieser Herangehensweise Datenzugriff zu implementieren, ist der Umstieg auf einen MongoDB-basierten Datenzugriff mit gleicher Technologie sehr einfach. Es wird Entwicklern also sehr leicht gemacht, einmal erworbenes Wissen in andere Kontexte zu übertragen. Herausforderungen Der modulare Aufbau des Frameworks erlaubt es den Einzelprojekten, sich in unterschiedlicher Geschwindigkeit zu bewegen, andere Releasezyklen zu wählen. Während das Spring Framework seit mehreren Jahren kontinuierlich auf einem Ein-Jahres-Rhythmus für Majorversionen ist, bewegen sich z. B. die Spring Data Module in einem etwa sechs-monatigen Zyklus. Grund dafür sind unter anderem unterschiedliche Releasezyklen der Dritttechnologien, die es zu integrieren gilt: Der Lebenszyklus einer Java-EE- oder JDK-Spezifikation, die Spring 4 sehr stark beeinflusst, unterscheidet sich von dem eines MongoDB-Treibers, der wiederum eine wichtige Abhängigkeit des Spring Data MongoDB Moduls ist. Die Konsequenz daraus ist die Notwendigkeit, Kompatibilität zwischen den entsprechenden Modulen des Spring Frameworks sicherzustellen und es den Entwicklern möglichst einfach zu machen, die Module in kompatiblen Versionen zu konsumieren. Die Plattform Um mehr Überblick über das Ökosystem zu geben, definiert die Spring-IO-Plattform den Teilbereich Foundation. Dieser Bereich illustriert die verfügbaren Spring Module und wie diese zueinander in Beziehung stehen und definiert so die Basistechnologien des Stacks. Im Bereich Core findet man wie erwartet das Kernframework, sowie die bekannten Technologien Spring Security und Groovy. Mit Spring 4 gibt es in diesen Tagen das erste Mal seit vier Jahren eine neue Majorversion des Kernframeworks. Enthalten sind die Unterstützung für Java 8, die wichtigsten Java-EE-7-APIs, WebSockets, Groovy-basierte Bean-Definitionen und ein überarbeiteter Dependency-Injection-Mechanismus mit Unterstützung für Applikationskomponenten mit Generics. Neu in diesem Bereich ist sicher Project Reactor, ein Basisframework für Reactive Programming. Reactor ist eine Basistechnologie, die es erlaubt, hochperformante, eventbasierte Anwendungen zu implementieren. Im Bereich der Persistenz erweitern vor allem die Spring-Data-Projekte den Funktionsumfang des Kernframeworks. Im relationalen Bereich bieten die Module für JPA und JDBC die umfassendste Unterstützung für Entwickler, möglichst effizient Datenzugriff zu implementieren. Im nicht relationalen Bereich gibt es hier Unterstützung für die Platzhirsche MongoDB, Neo4j und Gemfire. Besonders hier ist allerdings auch die Spring-Community sehr aktiv und bereichert das Portfolio durch Module für Couchbase, Solr und Elasticsearch. Während die unteren zwei Layer unserer Architektur sehr universell einsetzbare Technologien beschreiben, ist der obere Teil der Foundation schon sehr an den verschiedenen Applikationstypen orientiert, die sich mit Spring implementieren lassen. Hierzu gehört zum Beispiel Spring Integration, eine Implementierung der Enterprise Application Integration Patterns des gleichnamigen Buchs von Gregor Hohpe. Spring Batch war lange Zeit das einzig verfügbare Framework für die Implementierung von Batchszenarien und wird in der kommenden Version 3.0 aufgrund seiner Reife wohl die wichtigste Implementierung des JSR-352-Standards. Im Bereich der Big-Data-Applikationen hat sich in der Java-Welt vor allem Spring Hadoop einen Namen gemacht, da es Apache Hadoop konsistent in eine Spring-Applikation einfügt und Entwicklern gewohnte Programmiermodelle bereitstellt. Im Bereich Web sind die altbekannten Module Spring MVC und Spring WebFlow zu finden, sowie Unterstützung für Legacy- Technologien wie SOAP (durch Spring Web Services) javamagazin

4 Titelthema Spring IO IO Execution Auf den Bereich der Foundation setzt nun der Execution- Bereich auf. Wie der Name schon vermuten lässt, finden sich hier Laufzeitumgebungen, die zum Teil nicht mehr einfach Bibliotheken sind, sondern Ausführungs-Container für Applikationen einer bestimmten Klasse. Das Spring-Team spricht hier von Domain-specific Runtimes (DSRs), wobei Domäne hier noch den technischen Bereich beschreibt, in den sich die Applikation einordnet. Die klassischste und wohl auch bekannteste Ausführung solch einer Laufzeitumgebung ist Grails. Es hilft Entwicklern, sehr schnell und produktiv Groovy-basierte Webapplikationen zu bauen, in dem es Projektstruktur vorgibt, und auch zur Laufzeit den Applikationen Funktionalität beisteuert. Spring XD ist noch ein sehr junges Projekt, das sich dem Bereich Big Data Processing annimmt und ähnlich wie Grails die für die Problemlösung relevanten Spring-Technologien bündelt und zusätzlichen Mehrwert in Bezug auf Monitoring und Operations bietet. Eine Vorstellung von Spring XD findet sich unter [1]. Ein ebenfalls neues Projekt im Portfolio ist Spring Boot, entstanden aus verschiedenen Ideen der letztjährigen SpringOne Eberhard Wolff und Martin Lippert gehen im Folgenden detailliert auf Spring Boot ein, daher hier nur ein paar erste Informationen. Spring Boot Spring Boot ist ein sehr zentraler Bestandteil der Spring-IO-Plattform. Das Projekt geht drei wesentliche Aspekte der Anwendungsentwicklung bei Spring- Applikationen an: Abb. 1: Spring IO Platform Stack aber auch unentdecktere Aspekte wie Hypermedia im Bereich REST Web Services (durch Spring HATEOAS). Interview mit Jürgen Höller Auf der W-JAX 2013 traf Claudia Fröhling auf Jürgen Höller, um über die neue Plattform, das anstehende Spring-Framework-Release und die Chancen von Java 8 zu sprechen. 1. Vereinfachtes Dependency Management 2. Automatische Defaults in der Anwendungskonfiguration 3. Vereinfachtes Deployment und Betrieb von Java- Applikationen Vereinfachtes Dependency Management Wie oben bereits angesprochen, ist das Verwalten von Abhängigkeiten eine kritische Aufgabe in Softwareprojekten. Im Spring-Umfeld ist es die Aufgabe der Entwickler und Architekten zu definieren, welche Abhängigkeiten ein System benötigt und in welcher Version diese benutzt werden sollen. In alternativen Ansätzen zum Beispiel einem Java EE Application Server scheint diese Herausforderung nicht zu bestehen, da dieser bereits vordefinierte Implementierungen der jeweiligen Spezifikationen mit ausliefert. Was auf den ersten Blick eine einfache Lösung zu sein scheint, hat allerdings auch gravierende Nachteile. Erstens wählt der Serverhersteller die Bibliotheken aus, nicht das Team selbst. Die Auswahl ist also nicht unbedingt von den Anforderungen im Projekt getrieben ( Kann der JPA-Provider überhaupt mit einem Datenbankschema umgehen, das wir nutzen müssen? ), sondern von in Bezug auf das Projekt recht willkürlichen Anforderungen. Zweitens stellt sich die Herausforderung der manuellen Abhängigkeitsverwaltung in Projekten sowieso, sobald dieses nicht standardisierte Bibliotheken einsetzt und sie als direkte Abhängigkeiten verwendet. Drittens ist man in diesem Modell mit seinen Applikationen sehr stark an den Lebenszyklus der Deployment- Plattform gebunden. Stolpert man z. B. über einen Bug in einer im Server betriebenen Bibliothek, ist es unter Umständen nicht ohne Weiteres möglich, eine neuere Version dieser Bibliothek zu verwenden, die den Bugfix evtl. schon enthält. Der lange Lebenszyklus der Plattform hat weiterhin den Nachteil, dass eben Upgrades derselben nur nach sehr langen Zeiträumen möglich sind bzw. 34 javamagazin

5 durchgeführt werden. Für den im Frühjahr verabschiedeten Java-EE-7-Standard gibt es von den großen Herstellern leider auch über ein halbes Jahr später noch immer keine offiziell unterstützte Serverversion. Im Umfeld von Spring-Applikationen ist es also üblich, den exakt anderen Weg zu gehen: die toolgestützte, manuelle Verwaltung von Abhängigkeiten und deren Versionen sowie das Deployment eben dieser als JARs im Applikationsartefakt. Auch dies ist natürlich nicht ohne Herausforderungen: Besonders das Zusammensuchen von kompatiblen Versionen hat so manchem Entwickler und Architekten das ein oder andere graue Haar beschert. Spring Boot geht dieses Thema an, in dem es einen wohldefinierten Satz an Abhängigkeiten und deren Versionen definiert und diese Definition über bekannte Dependency- Management-Werkzeuge wie Maven oder Gradle anbietet. Im Falle von Maven geschieht dies über ein Parent-POM, das die Versionsnummern der unterstützten Abhängigkeiten im <properties />- und <dependencymanagement />-Block definiert. Um nun Abhängigkeiten zu konsumieren, kann man diese jeweils selbst definieren, allerdings ohne die Versionsnummern explizit anzugeben. Da in vielen Fällen aber gleich ganze Sätze an Abhängigkeiten benötigt werden zum Beispiel Spring Data JPA mit Hibernate bietet Boot so genannte Starter- POMs an, die für einen bestimmten Technologiebereich Abhängigkeitssätze definieren. Das eben bereits angesprochene Starter- POM spring-boot-starter-data-jpa deklariert Abhängigkeiten zu Spring Data JPA, Hibernate, dem Spring-ORM-Modul und dem Starter-POM für JDBC. Dies wiederum beinhaltet das Spring-JDBC-Modul und eine Abhängigkeit zum Tomcat Connection Pool. So bekommt man durch die Deklaration einer einzigen Abhängigkeit einen kompletten Satz an Dependencies in kompatiblen Versionen. Dadurch, dass die Versionen der individuellen Abhängigkeiten als Maven- bzw. Gradle-Properties definiert sind, ist es allerdings auch möglich, Versionen für bestimmte Dependencies manuell zu definieren und so im Falle eines wichtigen Bugfix-Releases die funktionierende Version zu beziehen. Versionsupgrades von Abhängigkeiten liegen also immer noch im Verantwortungsbereich des Entwicklerteams, können z. B. auf eine Spring-IO-Version standardisiert werden, um so das benötigte Maß an Konsistenz zwischen Applikationen herzustellen. Defaults in der Anwendungskonfiguration Kommen wir noch einmal zurück zum Beispiel Spring Data JPA. Durch die Deklaration des entsprechenden Starter-POMs können wie oben beschrieben auf einen Schlag die benötigten Abhängigkeiten (das JPA API Jar, Hibernate als Persistenzprovider und Spring Data JPA als Hilfsbibliothek) konsumiert werden. Nun ist es jedoch immer noch nötig, ein gewisses Konfigurationssetup zu definieren, um Spring die entsprechenden Komponenten instanziieren zu lassen. In unserem konkreten Fall wäre das Folgendes: Eine DataSource mit den entsprechenden Verbindungsdaten zum Datenbankserver Eine LocalContainerEntityManagerFactoryBean, um JPA zu initialisieren Einen JpaTransactionManager für das Transaktionsmanagement in den Spring Data JPA Repositories um das Auffinden von Spring Data Repository Interfaces und die Erzeugung der entsprechenden Spring Beans zu aktivieren Unabhängig davon, wie die Repository- Interfaces eigentlich aussehen, welche Daten persistiert werden, ist also ein gewisses Grundrauschen an Konfiguration notwendig, die sich die meisten Entwickler aus anderen Projekten oder Beispielen, die sie im Netz finden, zusammensuchen müssen. Spring Boot stellt nun mit seinem Autokonfigurationsmodul einen Mechanismus zur Verfügung, der dieses Vorgehen sehr stark vereinfacht. an einer Konfigurationsklasse inspiziert Boot den Classpath der Applikation und erzeugt eine wohldefinierte Menge von Default-Konfiguration, es sei denn, es sind für die zu registrierenden Komponenten bereits manuelle Bean-Definitionen vorhanden. In unserem Beispiel genügt also @ComponentScan class Application {... um die Spring-Data-JPA-Konfiguration wie oben beschrieben zu defaulten. Hierbei wird sehr stark damit gearbeitet, feststellen zu können, welche Bibliotheken im Applikations-Classpath vorhanden sind. Das Vorhandensein von H2 oder HSQLDB sorgt zum Beispiel für die automatische Registrierung Anzeige

6 Titelthema Spring IO Das erste offizielle Release der Spring-IO-Plattform ist für das erste Quartal 2014 geplant. einer In-Memory-DataSource über die Mechanismen, die Spring über den EmbeddedDatabaseBuilder bereitstellt. Dadurch, dass das Hibernate EntityManager JAR im Classpath liegt, wird eine LocalContainerEntityManagerFactory deklariert und ein JpaTransactionManager. Das Scannen nach Spring Data JPA Repositories wird vom Vorhandensein des Spring Data JPA JARs ausgelöst usw. Dieser Mechanismus ist eigentlich eine Umsetzung des bekannten Convention-Over-Configuration-Mechanismus. Das heißt, man schreibt nur die Konfiguration, die explizit von den Defaults abweicht. Um dies zu tun, gibt es zwei Möglichkeiten: Konfigurationsdetails, die sich sehr wahrscheinlich von Applikation zu Applikation unterscheiden werden, kann man über ein Properties-File namens application.properties im Classpath bzw. dem Ausführungsverzeichnis anpassen oder über JVM-Parameter definieren. Klassiker hierbei sind Informationen wie der JDBC-URL der Datenbank, Benutzername und Passwort usw. Um jedoch auf weitergehende, explizite Konfiguration eingehen zu können, registriert Boot die Default-Bean- Definitionen nur, wenn nicht bereits eine Bean-Defini- @ComponentScan class Application public DataSource datasource() { // Explizite Deklaration hier @ComponentScan class Application { public static void main(string... args) { SpringApplication.run(Application.class, args); tion des entsprechenden Typs vorhanden ist. Um zum Beispiel die DataSource komplett anders zu konfigurieren als im Default, genügt es, eine entsprechende Bean- Definition zu deklarieren (Listing 1). Für diese Datei konfiguriert Boot die gleichen Defaults wie oben beschrieben, nutzt aber die hier explizit deklarierte DataSource. Auf diese Weise zieht sich Boot für manuell konfigurierte Bean-Definitionen diskret zurück und nutzt diese transparent für seine weitere Arbeit. Vereinfachter Betrieb von Java-Applikationen Traditionell werden Java-Webanwendungen in einem Server betrieben. Dies kann sowohl ein einfacher Servlet Container wie Tomcat sein, aber auch ein größerer Application Server, der neben einer Servlet-Umgebung noch weitere Dienste zur Verfügung stellt. Theoretisch sieht das Nutzungsmodell dieser Server vor, mehrere Applikationen in eine Serverinstanz zu deployen, um Ressourcen wie Connection-Pools zentral verwalten zu können. In vielen Fällen wird heutzutage jedoch jeweils eine einzelne Applikation in eine einzelne Serverinstanz deployt. Dies ist vor allem der Fall, da das gemeinsame Deployment von Applikationen diese indirekt über die Infrastruktur aneinander koppelt. Muss der Server zum Beispiel für ein Upgrade heruntergefahren werden, betrifft das immer alle Applikationen, die in ihm deployt sind. Sorgt eine Applikation im Server für ein Speicherleck, betrifft das unter Umständen auch die anderen Applikationen. Ein alternativer Ansatz, der mehr und mehr Verbreitung findet, ist es, die benötigten Serverkomponenten mit der Applikation zu bündeln und auch mit ihr zu starten. Im Zusammenhang mit den oben beschriebenen Mechanismen zum Dependency Management und den entsprechenden Defaults bezüglich der Konfiguration bietet Spring Boot einen zweistufigen Mechanismus, um dieses Embedded-Server-Modell zu betreiben (Listing 2). Man kann eine Spring-Boot-basierte Applikation starten, indem man sich über den bereits beschriebenen Mechanismus zum Beispiel Tomcat oder Jetty in den Classpath holt und eine Java-Klasse mit einer main( )-Methode deklariert, die per statischem Aufruf Spring- Application die Konfigurationsklasse (hier ein und dieselbe Klasse) übergibt. Boot findet die Serverkomponenten sowie Spring MVC im Classpath, leitet daraus die Notwendigkeit des Serverstarts ab und sorgt selbstständig für das Hochfahren des Servers. Oft anzupassende Konfigurationswerte zum Beispiel der Serverport oder der Kontextpfad der Applikation können wie oben bereits beschrieben über die application.properties-datei oder JVM-Parameter überschrieben werden. Um die Applikation einfach starten zu können, ist es notwendig, ein JAR zu erzeugen, das alle Abhängigkeiten enthält. Hierzu kann ein Maven- bzw. Gradle- Plug-in verwendet werden. Bevorzugt man weiterhin das Deployment in einen Application Server, so genügt es, das Projekt als WAR-Projekt zu definieren. Das Spring-Boot-Maven- bzw. -Gradle-Plug-in sorgt dann beim Build automatisch dafür, dass neben der norma- 36 javamagazin

7 Spring IO Titelthema len WAR-Datei auch ein startbares WAR erzeugt wird. Zum Start der Applikation ruft man nach erfolgreichem Build einfach java -jar target/*.(jar war). Zur Entwicklungszeit in der IDE genügt natürlich das Starten der Klasse mit der oben beschriebenen main( )-Methode. Monitoring und Operations Ein oft genutztes Feature traditioneller Server ist die Möglichkeit, den Zustand der Applikation über Metriken beurteilen zu können bzw. sogar bestimmte Werte zur Rekonfiguration zur Laufzeit z. B. per JMX zu exportieren. Spring Boot stellt so genannte Actuator bereit, die mit der Applikation deployt werden können. Diese stellen dann ähnliche Funktionalität zur Verfügung, in dem sie Out of the Box ein paar HTTP-Ressourcen veröffentlichen, die vielseitige Informationen per JSON exponieren: /env die Properties der Ablaufumgebung (JVM- Argumente, System-Properties, die Systemumgebung) /health ein einfaches OK, wenn die Anwendung gestartet werden konnte /info spezielle Properties unter dem Schlüssel endpoints.info.$key; hier können z. B. Informationen wie die Applikationsversion einfach hinterlegt werden /metrics Basismetriken der Applikation (Speicherverbrauch, Counter der HTTP-Statuscodes usw.) /trace Informationen über die letzten 100 Anfragen an die Applikationen (HTTP-Request-URL, Header, Response usw.) /dump ein Threaddump der Applikation /beans eine Liste aller Spring Beans der Applikation Getting Started Guides Ein weiterer, lose mit Spring IO verbundener Aspekt der Plattform sind die komplett überarbeiteten Getting Start ed Guides, die auf zu finden sind. Die große Popularität des Spring Frameworks sorgte über die Jahre für eine Vielzahl verschiedenster Tutorials, die im Netz zu finden sind. Nachteil dieser Fülle ist, dass Entwickler, die heute nach Lösungen für ein bestimmtes Problem suchen, oft sehr alte und damit auch oft veraltete Informationen finden. Die Getting Started Guides sind aufgabenbasiert, d. h. es steht nicht primär die verwendete Technologie im Vordergrund, sondern ein bestimmtes Ziel wie zum Beispiel das Persistieren von Daten in eine relationale Datenbank, das Veröffentlichen von Daten als HTTP- Ressourcen usw. Die Beispiele sind in ungefähr zehn Minuten durchzuarbeiten, nutzen Spring Boot und erlauben dem Entwickler so, sich rasch in Spring und seine Ökosystemprojekte einzuarbeiten. Zeitplan und Ausblick Das erste offizielle Release der Spring-IO-Plattform ist für das erste Quartal 2014 geplant. Initial bestehen wird es aus einem wohldefinierten Set an zusammenarbeitenden Spring-Modulen und den entsprechenden Mechanismen, diese Module auf einfachste Weise zu konsumieren. Zusammen mit dem Kernframework in Version 4 bietet Spring eine zukunftsfähige Plattform für Java-basierte Unternehmensanwendungen im Jahre Oliver Gierke ist Teil des Spring-Data-Teams bei SpringSource, a division of VMware, und leitet dort das JPA-, MongoDB- und Core- Modul. Seit über sechs Jahren widmet er sich dem Entwickeln von Java-Enterprise-Applikationen, Open-Source-Projekten und ist Mitglied der JPA 2.1 Expert Group. Seine Arbeitsschwerpunkte liegen im Bereich Softwarearchitektur, Spring und Persistenztechnologien. Er ist regelmäßiger Sprecher auf deutschen und internationalen Konferenzen sowie Autor von Fachartikeln. Links & Literatur [1] Anzeige Anzeige

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder

OSGi. The Next Generation Java Service Platform. SOA - The Java Way or My classpath is killing me. Michael Greifeneder Michael Greifeneder OSGi The Next Generation Java Service Platform SOA - The Java Way or My classpath is killing me Bilder von Peter Kriens W-JAX Keynote 2007 und Neil Bartletts Getting Started with OSGi

Mehr

Architektur im Kontext der Cloud: Patterns und Best Practices 62. Logging. Auswirkung moderner Architektur auf den Betrieb 32

Architektur im Kontext der Cloud: Patterns und Best Practices 62. Logging. Auswirkung moderner Architektur auf den Betrieb 32 Architektur im Kontext der Cloud: Patterns und Best Practices 62 JAVA Mag Sonderdruck 11.2014 magazin Java Architekturen Web www.javamagazin.de Apache DeltaSpike Portabilität und Community 16 Der Rest

Mehr

Das Interceptor Muster

Das Interceptor Muster Das Interceptor Muster Implementierung des Interceptor Musters basierend auf OSGi and Friends Benjamin Friedrich Hochschule für Technik und Wirtschaft des Saarlandes Praktische Informatik - Entwurfsmuster

Mehr

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet

REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet .consulting.solutions.partnership REST-Services mit Dropwizard ruck-zuck erstellt, dokumentiert und getestet Alexander Schwartz, Principal IT Consultant Berlin Expert Days 2015 REST-Services ruck-zuck

Mehr

Spring Dynamic Modules for OSGi Service Platforms

Spring Dynamic Modules for OSGi Service Platforms Gerd Wütherich freiberuflicher Softwarearchitekt Spring Dynamic Modules for OSGi Service Platforms Server Anwendungen mit Spring und Eclipse Equinox Agenda OSGi Technologie: OSGi Technologie im Überblick

Mehr

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring

Dennis Schulte / Tobias Flohre codecentric AG. Enterprise Java Batch mit Spring Dennis Schulte / Tobias Flohre Enterprise Java Batch mit Spring Dennis Schulte Düsseldorf @denschu www.github.com/denschu blog.codecentric.de/author/dsc tel +49 (0) 1515 _ 288 2395 dennis.schulte@codecentric.de

Mehr

Zend PHP Cloud Application Platform

Zend PHP Cloud Application Platform Zend PHP Cloud Application Platform Jan Burkl System Engineer All rights reserved. Zend Technologies, Inc. Zend PHP Cloud App Platform Ist das ein neues Produkt? Nein! Es ist eine neue(re) Art des Arbeitens.

Mehr

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Entwicklung von Web-Anwendungen auf JAVA EE Basis Entwicklung von Web-Anwendungen auf JAVA EE Basis Java Enterprise Edition - Überblick Prof. Dr. Bernhard Schiefer Inhalt der Veranstaltung Überblick Java EE JDBC, JPA, JNDI Servlets, Java Server Pages

Mehr

Softwareentwicklung mit Enterprise JAVA Beans

Softwareentwicklung mit Enterprise JAVA Beans Softwareentwicklung mit Enterprise JAVA Beans Java Enterprise Edition - Überblick Was ist J2EE Java EE? Zunächst mal: Eine Menge von Spezifikationen und Regeln. April 1997: SUN initiiert die Entwicklung

Mehr

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy

Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy Über Ant und Maven zu SBT und Gradle Persönliche Build-Höllen für Jedermann Andreas Hartmann & Dr. Halil-Cem Gürsoy 07.04.2011 Speaker Andreas Hartmann [hartmann@adesso.de] Principal Software Engineer

Mehr

Open Source. Hendrik Ebbers 2015

Open Source. Hendrik Ebbers 2015 Open Source Hendrik Ebbers 2015 Open Source About me Hendrik Ebbers Lead of JUG Dortmund Java Architect @ Canoo Engineering AG JavaOne Rockstar, Java Expert Group Member Speaker, blogger & author Engineering

Mehr

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013

JBoss AS 7. Installation, Konfiguration und Betrieb. Alexander Pacnik Karlsruhe, 13.12.2013 JBoss AS 7 Installation, Konfiguration und Betrieb Alexander Pacnik Karlsruhe, 13.12.2013 Jboss 7 AS... worum es in diesem Vortrag geht. Einführung Installation Konfiguration Management Deployment Betrieb

Mehr

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring

Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Java Frameworks im Vergleich - ADF vs. Grails vs. Spring Frank Szilinski esentri software GmbH Karlsruhe Schlüsselworte: ADF, Java, JEE, JSF, Grails, Spring, Open Source, Rapid Application Development

Mehr

OSGi-basierte Webapplikationen Ein Erfahrungsbericht

OSGi-basierte Webapplikationen Ein Erfahrungsbericht OSGi-basierte Webapplikationen Ein Erfahrungsbericht Zürich, 18. März 2009 Pascal Nüesch, Software Engineer 1 www.namics.com Zu meiner Person» Lehre als Elektroniker mit Schwerpunkt SW-Entwicklung» Java

Mehr

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS)

Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Einleitung Oracle Enterprise Scheduler (ESS) Oracle Enterprise Scheduler (ESS) Unleashed Carsten Wiesbaum esentri AG Ettlingen Schlüsselworte Automatisierung, Betrieb, Middleware Einleitung Der Oracle Fusion Middleware Stack beinhaltet eine leistungsstarke

Mehr

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH

Erfahrungen und Erkenntnisse. Klaus Richarz, HBT GmbH Erfahrungen und Erkenntnisse Klaus Richarz, HBT GmbH Java Enterprise Edition 5.0 JBoss Seam Konsequenzen für Realisierung Qualitätssicherung Build & Deployment Fazit & Empfehlungen JBoss Seam in Projekten,

Mehr

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm 25.6.2012

Make-loses Java für mehr Produktivität: Das z 2 -Environment. Henning Blohm 25.6.2012 Make-loses Java für mehr Produktivität: Das z 2 -Environment Henning Blohm 25.6.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Oh je noch ein Tool?

Mehr

SpringSource Enterprise & Application Platform: Wo geht die Reise hin?

SpringSource Enterprise & Application Platform: Wo geht die Reise hin? SpringSource Enterprise & Application Platform: Wo geht die Reise hin? Eberhard Wolff Regional Director & Principal Consultant SpringSource Copyright 2007 SpringSource. Copying, publishing or distributing

Mehr

Module für eine Java-Administrationsschulung

Module für eine Java-Administrationsschulung Module für eine Java-Administrationsschulung Schulungsmodule 1 Java Administration allgemein...2 1.1 Java und die Virtual Machine...2 1.2 Java EE Bestandteile...2 1.3 Java Management Extensions...2 1.4

Mehr

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Modulare Anwendungen und die Lookup API Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team Die Notwendigkeit modularer Anwendungen Die Notwendigkeit modularer

Mehr

Leipzig, 5./6. Dezember 2013

Leipzig, 5./6. Dezember 2013 WORKSHOP»NoSQL, NewSQL, In-Memory - Datenbanktrends und ihre Auswirkungen im Überblick«Leipzig, 5./6. Dezember 2013 Mit Beiträgen von Organisatorisches TERMIN BEGINN ENDE ANSPRECHPARTNER 5./6. Dezember

Mehr

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012

Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment. Henning Blohm 5.7.2012 Ohne Build geht's besser: Makeloses Java mit dem z 2 -Environment Henning Blohm 5.7.2012 1 Z2 ist ein radikal neuer* Ansatz für System Life-Cycle Management in Java * jedenfalls für Java Ein Builtool?

Mehr

Application Server und Continuous Integration

Application Server und Continuous Integration Application Server und Continuous Integration Outline 2 Einleitung Application Server Java EE Enterprise Applikationen vs. Web Applikationen Web Application Life Cycle Servlets JavaServer Pages verschiedene

Mehr

Buildfrei skalieren für Big Data mit Z2

Buildfrei skalieren für Big Data mit Z2 Buildfrei skalieren für Big Data mit Z2 Henning Blohm ZFabrik Software KG 5.6.2013 1 Teil 1: Buildfrei entwickeln und skalieren Teil 2: Big Data, Cloud, und wie es zusammenpasst 2 1. Teil BUILDFREI ENTWICKELN

Mehr

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Peter Roßbach (Systemarchitekt) Gerd Wütherich (Freier Softwarearchitekt) Martin Lippert (akquinet it-agile GmbH) 2009 by P. Roßbach, G. Wütherich,

Mehr

Mit OSGi Webanwendungen entwickeln Was geht, was nicht?

Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Mit OSGi Webanwendungen entwickeln Was geht, was nicht? Peter Roßbach (Systemarchitekt) Gerd Wütherich (Freier Softwarearchitekt) Martin Lippert (akquinet it-agile GmbH) 2009 by P. Roßbach, G. Wütherich,

Mehr

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert

Komponentenbasierte Softwareentwicklung mit PHP. Oliver Schlicht - bitexpert Komponentenbasierte Softwareentwicklung mit PHP Oliver Schlicht - bitexpert Überblick 1. Was ist eine Komponente? 2. Entwicklung eines Beispieldesigns 3. Dependency Injection 4. DI Container Garden 5.

Mehr

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. Version: 0.1 Autor: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln Version: 0.1 Autor: Anja Beuth Inhaltsverzeichnis 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition

Inhaltsverzeichnis. Enterprise Java im Überblick. Technologien der Java2 Enterprise Edition Inhaltsverzeichnis Vorwort 13 I Enterprise Java im Überblick 1 Bedeutung von Enterprise Java und IBM WebSphere 21 1.1 Enterprise Java 23 1.1.1 Anforderungen 23 1.1.2 E-Business 30 1.1.3 Java 36 1.2 IBM

Mehr

Rechnernetze Projekt SS 2015

Rechnernetze Projekt SS 2015 30/03/15 Seite 1 Aspektorientierte Programmierung logische Aspekte (Concerns) im Programm separieren Crosscutting Concerns (Ziel: generische Funktionalitäten über mehrere Klassen hinweg zu verwenden -

Mehr

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick Thementag OSGi 03.11.2009 Autor: Christoph Schmidt-Casdorff Agenda Wo wird OSGi derzeit eingesetzt? Grundsätzliche Anwendungsszenarien OSGi Status

Mehr

Java für C++ Programmierer

Java für C++ Programmierer Java für C++ Programmierer Alexander Bernauer bernauer@inf.ethz.ch Einführung in die Übungen zu Informatik II (D ITET) FS2010 ETH Zürich Ziel Allgemeiner Überblick Kennenlernen der Suchbegriffe Warum Java?

Mehr

Architektur iterativ auf Basis von OSGi entwickeln

Architektur iterativ auf Basis von OSGi entwickeln Architektur iterativ auf Basis von OSGi entwickeln Ein Vortrag von Sven Jeppsson (syngenio AG) und Karsten Panier (Signal Iduna Gruppe) 1 Inhalt Motivation Architektur Architektur Evolution OSGi Refactoring

Mehr

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java

Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Erstellung eines Frameworks für Shop Systeme im Internet auf Basis von Java Präsentation zur Diplomarbeit von Übersicht Java 2 Enterprise Edition Java Servlets JavaServer Pages Enterprise JavaBeans Framework

Mehr

Web- Applikationen. in Java-Web

Web- Applikationen. in Java-Web Einführung in Java-Web Web- Applikationen Frank Huber Humboldt-Universität zu Berlin Allgemeines Java: Programmierung ist Programmierung nach Konvention Insbesondere bei Web-Applikationen wurde eine API

Mehr

Planung für Organisation und Technik

Planung für Organisation und Technik Salztorgasse 6, A - 1010 Wien, Austria q Planung für Organisation und Technik MOA-VV Installation Bearbeiter: Version: Dokument: Scheuchl Andreas 19.11.10 MOA-VV Installation.doc MOA-VV Inhaltsverzeichnis

Mehr

Björn Heinemann Leiter Entwicklung Energiewirtschaft

Björn Heinemann Leiter Entwicklung Energiewirtschaft Björn Heinemann Leiter Entwicklung Energiewirtschaft Basis eclipse RCP eclipse platform project als Basis mit frameworks und services RCP Rich Client Platform zur Umsetzung einer Anwendung mit Benutzeroberfläche

Mehr

Kommunikation ist alles

Kommunikation ist alles Kommunikation in verteilten Systemen mit Kommunikation ist alles >> alexander ziegler In einem verteilten System müssen die Anwendungsbestandteile miteinander interagieren nur so funktioniert ein großes

Mehr

Die Rückkehr der Einfachheit 62

Die Rückkehr der Einfachheit 62 7.09 Plus CD! Stellenmarkt S. 58 Das war die JAX 2009 S. 15 Deutschland 7,50 Österreich 8,60 Schweiz sfr 15,80 Java Magazin Java Architekturen SOA Agile www.javamagazin.de CD-Inhalt JavaRebel 2.0 Squish

Mehr

Application Frameworks

Application Frameworks Seminar Software Engineering 1 Grundlagen Agenda Spring Framework Dependency Injection Aspektorientierte Programmierung Datenbankanbindung Modell View Controller Sicherheit Spring vs. Java EE Zusammenfassung

Mehr

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version.

Der Java Server beinhaltet Container für EJB, Servlet und JSP, darüber hinaus unterstützt er diejee 1.3 Version. hehuvlfkw Oracle 9iApplication Server (9iAS) fasst in einem einzigen integrierten Produkt alle Middleware-Funktionen zusammen, die bisher nur mit mehreren Produkten unterschiedlicher Anbieter erreicht

Mehr

Prinzipien Objektorientierter Programmierung

Prinzipien Objektorientierter Programmierung Prinzipien Objektorientierter Programmierung Valerian Wintner Inhaltsverzeichnis 1 Vorwort 1 2 Kapselung 1 3 Polymorphie 2 3.1 Dynamische Polymorphie...................... 2 3.2 Statische Polymorphie........................

Mehr

Security Technologien in Java EE 6

Security Technologien in Java EE 6 Security Technologien in Java EE 6 Java Forum Stuttgart 2010 Sebastian Glandien Acando GmbH sebastian.glandien@acando.de Agenda I. Einleitung II. Java Authentication SPI for Containers (JSR-196) I. Message

Mehr

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE

DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE DOKUMENTATION MAAS - MONITORING AS A SERVICE DRESDEN, 08.10.2009 CHRISTIAN.KNAUER@INF.TU-DRESEDEN.DE Dokumentation MaaS - Monitoring as a Service Inhalt 1. MaaS - Monitoring as Service... 3 1.1 Einleitung...

Mehr

Enterprise Softwarearchitekturen in Java

Enterprise Softwarearchitekturen in Java Enterprise Softwarearchitekturen in Java Dauer: 5 Tage 1. Tag: Vorbereitungstag...2 Der erste Tag richtet sich an alle, die bislang wenig Praxiserfahrung mit der Programmiersprache Java haben. Die Teilnehmer

Mehr

Web 2.0 Software-Architekturen

Web 2.0 Software-Architekturen Web 2.0 Software-Architekturen Servlets als Controller einer MVC Web Architektur Prof. Dr. Nikolaus Wulff HTTP und HTML Das HyperText TransferProtokoll (HTTP) beschreibt eine einfache verbindungslose Kommunikation,

Mehr

Symonics GmbH - Bericht aus der Praxis (Spring Boot)

Symonics GmbH - Bericht aus der Praxis (Spring Boot) Symonics GmbH - Bericht aus der Praxis (Spring Boot) Vorlesung Grundlagen des Internets Tübingen, den 22. Januar 2015 Dr. Christian Hoene Geschäftsführer, Symonics GmbH Dr. Christian Hoene Promovierte

Mehr

Eclipse und EclipseLink

Eclipse und EclipseLink Eclipse und EclipseLink Johannes Michler Johannes.Michler@promatis.de PROMATIS, Ettlingen Zugriff auf Oracle Datenbanken aus Eclipse RCP Anwendungen via EclipseLink 18.09.2009 1 Gliederung Eclipse als

Mehr

ARTS Server 3.5. Produktbeschreibung. Uptime Services AG

ARTS Server 3.5. Produktbeschreibung. Uptime Services AG Uptime Services AG Brauerstrasse 4 CH-8004 Zürich Tel. +41 44 560 76 00 Fax +41 44 560 76 01 www.uptime.ch ARTS Server 3.5 Produktbeschreibung Uptime Services AG Inhaltsverzeichnis 1 Einleitung... 2 2

Mehr

.NET-Networking 2 Windows Communication Foundation

.NET-Networking 2 Windows Communication Foundation .NET-Networking 2 Windows Communication Foundation Proseminar Objektorientiertes Programmieren mit.net und C# Fabian Raab Institut für Informatik Software & Systems Engineering Agenda Grundproblem Bestandteile

Mehr

Integrierte Entwicklungsumgebungen (IDE) für die Java-Entwicklung im Oracle-Umfeld

Integrierte Entwicklungsumgebungen (IDE) für die Java-Entwicklung im Oracle-Umfeld Integrierte Entwicklungsumgebungen (IDE) für die Java-Entwicklung im Oracle-Umfeld Michael.Braeuer@oracle.com, Juergen.Menge@oracle.com 7/20/2011 Integrierte Entwicklungsumgebungen (IDE) sind in der heutigen

Mehr

Vererbung & Schnittstellen in C#

Vererbung & Schnittstellen in C# Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung

Mehr

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013

Bekannte Tools in einem agilen Ansatz. Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Bekannte Tools in einem agilen Ansatz Frank Schwichtenberg SourceTalkTage 2013 Göttingen, 2.10.2013 Vorher Lange Planungszeiten und Releasezyklen Manche Features brauchten lange und wurden nicht gebraucht

Mehr

Jura Eine verteilte Bibliothek von SAS 1 -Makros - Abstract -

Jura Eine verteilte Bibliothek von SAS 1 -Makros - Abstract - Jura Eine verteilte Bibliothek von SAS 1 -Makros - Abstract - Das Projekt Jura Das Ziel des Projekts Jura ist der Aufbau einer verteilten Bibliothek von SAS-Makros im Internet. Verteilt bedeutet dabei,

Mehr

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4

Mainframe Internet Integration. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013. WebSphere Application Server Teil 4 UNIVERSITÄT LEIPZIG Mainframe Internet Integration Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth SS2013 WebSphere Application Server Teil 4 Leistungsverhalten el0100 copyright W. G. Spruth,

Mehr

Enterprise Java Beans Einführung

Enterprise Java Beans Einführung Enterprise Java Beans Einführung Vorlesung 8 Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht EJBs im JEE Umfeld Verschiedene Typen von EJBs Von der Javaklasse

Mehr

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch

Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Eclipse Runtime (OSGi) als Plattform eines Swing Rich Client Andreas Mösching Senior IT Architekt Hewlett-Packard (Schweiz) GmbH HP Banking Service Center Bern andreas.moesching@rtc.ch Zu meiner Person

Mehr

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013

Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung. September 2013 GTUG Java Arbeitskreis Erste Erfahrungen mit NSASJ anhand der OmnivoBase Portierung September 2013 Jürgen Depping CommitWork GmbH Seite 1 Info@CommitWork.de www.commitwork.de Agenda Was ist OmnivoBase?

Mehr

OSGi: Toolunterstützung und Softwareentwicklungsprozess

OSGi: Toolunterstützung und Softwareentwicklungsprozess OSGi: Toolunterstützung und Softwareentwicklungsprozess Thementag OSGi 03.11.2009 Autor: Thorsten Vogel Agenda Herausforderungen der OSGi Entwicklung: Beispiel Webanwendung Was wird entwickelt? - Bundles

Mehr

Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich

Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich Dependency Injection in der Praxis: Spring, PicoContainer und Eclipse im Vergleich Dipl.-Informatiker Martin Lippert Senior IT-Berater martin.lippert@it-agile.de http://www.it-agile.de/ Überblick Motivation

Mehr

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de

FH LU JEE Vorlesung SS 2010. Ralf Gitzel ralf_gitzel@hotmail.de FH LU JEE Vorlesung SS 2010 Ralf Gitzel ralf_gitzel@hotmail.de 1 Einführung + Organisatorisches Ralf Gitzel ralf_gitzel@hotmail.de 2 Dozent Dr. Ralf Gitzel Promotion an der Universität Mannheim in Wirtschaftsinformatik

Mehr

Projekt Weblog :: Integration

Projekt Weblog :: Integration Projekt Weblog :: Integration Die Implementation des Formhandling Frameworks wird nun im Projekt Weblog integriert. Dafür stehen 2 Möglichkeiten zur Auswahl. Sie haben Ihre eigene Implementation der Actions,

Mehr

COPPER Best Practices

COPPER Best Practices COPPER Best Practices Version 1.0.1 Wann sollte man überhaupt COPPER verwenden? Allgemein genau dann, wenn man von der COPPER Notation oder den COPPER-Features profitieren kann. Ein wesentliches Feature

Mehr

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth

Tutorial: Eigene Module und Extensions entwickeln. version: 0.1 Author: Anja Beuth Tutorial: Eigene Module und Extensions entwickeln version: 0.1 Author: Anja Beuth Table of contents 1 2 2.1 2.2 2.3 2.4 3 4 4.1 4.2 4.3 5 5.1 6 6.1 6.2 Notwendigkeit prüfen... Ein Projekt in Visual Studio

Mehr

EHCache und Terracotta. Jochen Wiedmann, Software AG

EHCache und Terracotta. Jochen Wiedmann, Software AG EH und Terracotta Jochen Wiedmann, Software AG Autor Perl-Contributor DBD::mySQL 2, DBI::Proxy, DBI::Shell, DBD::CSV, Net::Daemon, RPC::Pl(Client Server) (Autor) DBI (Developer) ASF-Member (Apache Software

Mehr

Oracle Weblogic Administration Grundlagen

Oracle Weblogic Administration Grundlagen Oracle Weblogic Administration Grundlagen Seminarunterlage Version: 1.07 Version 1.07 vom 14. September 2015 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen

FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen FWP Aktuelle Technologien zur Entwicklung verteilter Java- Anwendungen Sommersemester 2013 Michael Theis, Lehrbeauftragter Java EE Spezifikation definiert ein Programmiermodell für Applikationen die Eigenschaften

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

Technische Beschreibung: EPOD Server

Technische Beschreibung: EPOD Server EPOD Encrypted Private Online Disc Technische Beschreibung: EPOD Server Fördergeber Förderprogramm Fördernehmer Projektleitung Projekt Metadaten Internet Foundation Austria netidee JKU Linz Institut für

Mehr

Separates Deployment von Produktdaten Cornelius Dirmeier (Dokumentversion 47)

Separates Deployment von Produktdaten Cornelius Dirmeier (Dokumentversion 47) Separates Deployment von Produktdaten Cornelius Dirmeier (Dokumentversion 47) Einleitung Faktor-IPS verwaltet Produktdaten während der Produktentwicklung in XML Dateien. Zur Laufzeit liegen die Produktdaten

Mehr

Hivemind Ein leichtgewichteter Container

Hivemind Ein leichtgewichteter Container Hivemind Ein leichtgewichteter Container Manfred Wolff, wolff@manfred-wolff.de, www.manfred-wolff.de Container sind Laufzeitumgebungen für Objekte. Der mächtigste Container im Java-Umfeld der EJB Container

Mehr

Cargo-Tracker: DDD auf Basis von Java EE

Cargo-Tracker: DDD auf Basis von Java EE Cargo-Tracker: DDD auf Basis von Java EE Dirk Ehms GameDuell GmbH Berlin Schlüsselworte Domain-Driven Design, DDD, Java EE, Cargo Tracker Einleitung Die Herangehensweise des Domain-Driven Designs (DDD)

Mehr

SaaS-Referenzarchitektur. iico-2013-berlin

SaaS-Referenzarchitektur. iico-2013-berlin SaaS-Referenzarchitektur iico-2013-berlin Referent Ertan Özdil Founder / CEO / Shareholder weclapp die Anforderungen 1.000.000 registrierte User 3.000 gleichzeitig aktive user Höchste Performance Hohe

Mehr

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT?

SWT. -The Standard Widget Toolkit- Inhaltsverzeichnis. Thomas Wilhelm SWT. 1. Was ist SWT? Java -The Standard Widget Toolkit- Inhaltsverzeichnis 1. Was ist? - Vorteile von - Nachteile von 2. Vorbereitungen für 3. Das erste Programm in 4. Widgets und Styleparameter 5. - Layouts Was ist ein Widget?

Mehr

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de

Das Build Tool Ant. Sebastian Mancke, mancke@mancke-software.de Das Build Tool Ant Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation Bei der Übersetzung und Pflege von Software treten viele, gleich bleibende Arbeitsschritte auf. Übersetzen des Codes

Mehr

Integrating Architecture Apps for the Enterprise

Integrating Architecture Apps for the Enterprise Integrating Architecture Apps for the Enterprise Ein einheitliches Modulsystem für verteilte Unternehmensanwendungen Motivation und Grundkonzept Inhalt Problem Ursache Herausforderung Grundgedanke Architektur

Mehr

Continuous Delivery mit OpenShift, 2nd Edition

Continuous Delivery mit OpenShift, 2nd Edition Daniel Tschan CTO Continuous Delivery mit OpenShift, 2nd Edition OpenShift Tech Lab, Bern, 27.10.2014 1 Grundlagen Kleine Geschichte «Integration Hell» und «Works on My Machine» 1991: Object Oriented Design:

Mehr

JAX-RS 2.0 REST mit Java EE 7

JAX-RS 2.0 REST mit Java EE 7 Enterprise Java, Web Services und XML JAX-RS 2.0 REST mit Java EE 7 Java User Group Darmstadt 13. Juni 2013 http://www.frotscher.com thilo@frotscher.com Vorstellung Freiberuflicher Softwarearchitekt und

Mehr

Softwareprojekte mit Kultur

Softwareprojekte mit Kultur Maven Softwareprojekte mit Kultur Patrick Zeising Konfigurationsmanagement Motivation Projektaufbau unterschiedlich Abläufe zum Übersetzen und Deployen unterschiedlich Verwendete Tools, Prozesse, Skripte

Mehr

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration

Ora Education GmbH. Lehrgang: Oracle Application Server 10g R3: Administration Ora Education GmbH www.oraeducation.de info@oraeducation.de Lehrgang: Oracle Application Server 10g R3: Administration Beschreibung: Oracle Application Server 10g Release 3 (10.1.3.1.0) bietet eine neue

Mehr

Katello / Pulp / Candlepin

Katello / Pulp / Candlepin Katello / Pulp / Candlepin OSDCM: Repository Management Jürgen Brunk München, 23.05.2014 Agenda 1. Was ist Katello? 2. Übersicht 3. Architektur 4. Software Stack 5. Umgebung 6. Was ist Pulp? 7. Was ist

Mehr

Centaurus-Platform - JSP/Servlets für Webhosting

Centaurus-Platform - JSP/Servlets für Webhosting Centaurus-Platform - JSP/Servlets für Webhosting by Thorsten Kamann, Peter Roßbach NOTICE: Die Centaurus-Platform basiert auf einem Tomcat 5 Release. Im Wesentlichen bieten wir sinnvolle Erweiterungen

Mehr

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012

Buildsystem. Maven & Scons. Controls Entwicklungsforum Januar 2012 Buildsystem Maven & Scons Controls Entwicklungsforum Januar 2012 1 2 a call from the past Binary Repository Speichern von Artefakten (z.b. Shared Library und zugehörige Header) Versionierung von Artefakten

Mehr

Erfahrungsbericht zu JBoss SOA Platform 6 Tech Talk 2013, 17. Oktober 2013, Bern

Erfahrungsbericht zu JBoss SOA Platform 6 Tech Talk 2013, 17. Oktober 2013, Bern Erfahrungsbericht zu JBoss SOA Platform 6 Tech Talk 2013, 17. Oktober 2013, Bern Daniel Tschan Technischer Leiter Michael Zaugg Software-Ingenieur Motivation Puzzle Through 2016, companies will continue

Mehr

Smartphone Entwicklung mit Android und Java

Smartphone Entwicklung mit Android und Java Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter

Mehr

Benutzerdokumentation Web-Portal

Benutzerdokumentation Web-Portal GRUPP: SWT0822 Benutzerdokumentation Web-Portal Yet Another Reversi Game Martin Gielow, Stephan Mennicke, Daniel Moos, Christine Schröder, Christine Stüve, Christian Sura 05. Mai 2009 Inhalt 1. Einleitung...3

Mehr

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke. 31.03.2003 J.M.Joller 1 Web Services XML, WSDL, SOAP und UDDI Einblicke und Ausblicke 31.03.2003 J.M.Joller 1 Inhalt Architekturen Main Stream.NET J2EE und Applikations-Server Sicht der Anbieter Java J2EE J2EE versus.net Web

Mehr

Java EE Projektseminar

Java EE Projektseminar Java EE Projektseminar Daniel Alberts & Sonja Subicin Sprachliche Informationsverarbeitung Universität zu Köln Sommersemester 2010 Sitzung Organisatorisches zum Seminar Java EE Projektplanung Defi nition

Mehr

SE2-10-Entwurfsmuster-2 15

SE2-10-Entwurfsmuster-2 15 Architektur und Skalierbarkeit SE2-10-Entwurfsmuster-2 15 Skalierbarkeit Skalierbarkeit bedeutet die Anpassung einer Software an wachsende Last: Interaktionsfrequenz Nutzerzahl Anpassung durch Hinzufügen

Mehr

Java 2, Enterprise Edition Einführung und Überblick

Java 2, Enterprise Edition Einführung und Überblick Universität aiserslautern AG Datenbanken und Informationssysteme Seminar Datenbank-Aspekte des E-Commerce Java 2, Enterprise Edition Einführung und Überblick m_husema@informatik.uni-kl.de Vortragsinhalte

Mehr

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013 Die Herausforderung: Hostanbindung Viele Unternehmen besitzen Mainframe- und Legacy-Anwendungen, so genannte Enterprise Information Systems (EIS),

Mehr

ObjectBridge Java Edition

ObjectBridge Java Edition ObjectBridge Java Edition Als Bestandteil von SCORE Integration Suite stellt ObjectBridge Java Edition eine Verbindung von einem objektorientierten Java-Client zu einer fast beliebigen Server-Komponente

Mehr

Adobe Flex & Grails RIA, REST und XML

Adobe Flex & Grails RIA, REST und XML Adobe Flex & Grails RIA, REST und XML Pascal Schudel Consultant pascal.schudel@trivadis.com Mischa Kölliker Principal Consultant mischa.koelliker@trivadis.com JUGS Zürich, 8. Juli 2010 Basel Bern Lausanne

Mehr

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015

Software Engineering. Zur Architektur der Applikation Data Repository. Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering Zur Architektur der Applikation Data Repository Franz-Josef Elmer, Universität Basel, HS 2015 Software Engineering: Mit acht bewährten Praktiken zu gutem Code 2 Schichtarchitektur

Mehr

Grundlagen des Grid Computing

Grundlagen des Grid Computing Grundlagen des Grid Computing Webservices und Grid Computing Globus Toolkit 4 - Grundlagen ICA Joh.. Kepler Universität t Linz Eine Typische Grid-Applikation (Beispiel) VO Management Service Resource Discovery

Mehr

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit. 07.06.2002 Grid Systeme 1 Grid-Systeme Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit 07.06.2002 Grid Systeme 1 Gliederung Vorstellung verschiedener Plattformen Globus

Mehr

Anwendung eines Enterprise Java Beans

Anwendung eines Enterprise Java Beans Anwendung eines Enterprise Java Beans EJB Server EJB Container Remote Interface Home Interface EJB Object Der EJB Container kümmert sich um die Kommunikation des Beans mit anderen Komponenten, wobei er

Mehr

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de s & Servlet Integration Ralf Gitzel ralf_gitzel@hotmail.de 1 Themenübersicht Ralf Gitzel ralf_gitzel@hotmail.de 2 Übersicht Motivation Das Interface Stateful und Stateless s Programmierung einer Stateful

Mehr

Anforderungsgetriebene Webentwicklung mit Grails:

Anforderungsgetriebene Webentwicklung mit Grails: ne mit Grails: und dem 26.01.2012 und dem Gliederung und dem Projektumfeld Agentur mit weniger als 5 Mitarbeitern Schwerpunkte: mit Typo 3 / PHP ios App-Entwicklung für ipad und iphone und dem Folie 1

Mehr