GEDOPLAN
Jakarta EE (Java EE)Java SE

JAX 2016, Buzzwords zum Mitreden

Jakarta EE (Java EE)Java SE
jax2016 scaled

jax2016

Wer kennt sie nicht die alljährliche Java Konferenz im schönen Mainz zum Thema Java & Co? Selbst wenn man das Glück hat die Woche vor Ort zu sein und von Session zu Session flitzen zu dürfen, so bleiben einfach einige Themen links liegen zu denen man es nicht schafft. Im Nachhinein bleibt dann nur der Blick ins Programmheft was die Trends und Tendenzen in der Java-Welt sind. Für alle die wie ich nicht jede Session besuchen konnten die sie gerne gesehen hätten oder das Büro hüten mussten hier ein Versuch die diesjährigen Themen Zusammenzufassen.

Microservices

Wahrscheinlich das Thema schlechthin in diesem Jahr. Microservices sind ein Architekturansatz der vorsieht, dass die Entwicklung einer Software nicht in einem monolithischen Deployment endet, sondern, dass unsere Anwendung in viele kleine Komponenten geteilt ist. Diese Komponenten sollten völlig unabhängig voneinander betrieben und gewartet werden können. Ziel des Ganzen ist es eine besser Wartbarkeit zu erreichen da die unterschiedlichen Microservices autonom von unterschiedlichen Team bearbeitet werden können und nur über Schnittstellen kommunizieren.

https://jax.de/session/microservices-workshop-architektur-und-praxis/
https://jax.de/session/java-ee-meets-microservices/
https://jax.de/session/wie-microservices-ansaetze-scheitern-fuenf-anti-patterns/

AngularJS

Eines der vielen JavaScript Frameworks zur Entwicklung von Clientseitiger Webanwendungen. Entwickelt von Google erfreut sich Angular größter Beliebtheit und steht derzeit mit Angular2 (noch Beta) auch in einer brandneuen Version zur Verfügung. Bei Angular handelt es sich um ein Framework für klassische Single Page Anwendungen und basiert auf dem Model View Controller Prinzip.

HelloWorld

<input type="text" ng-model="yourName" />
<button ngClick="sayHello())>SayHello</button>
<h1 ng-show="yourName">Hello {{ yourName }}</h1>

https://jax.de/session/angularjs-2-0/
https://jax.de/session/angular-2-0-und-typescript-verliebt-verlobt-verheiratet/
https://jax.de/session/wiederverwendbare-komponenten-mit-angular-2-0-deep-dive/

Ionic

Ionic ist ein Framework welches eine Möglichkeit schafft mobile Hybrid-Anwendungen mit Web-Technologien zu schreiben. Dabei kümmert sich Ionic um das Look&Feel und die eigentliche Benutzeroberfläche die später in mobilen Endgeräten angezeigt werden. Zur Erzeugung der Anwendung wird Apache Cordova eingesetzt und zur Implementierung kommt sehr häufig Angular zum Einsatz

HelloWorld

<ion-header-bar class="bar-stable">
<h1 class="title">Hello World!</h1>
</ion-header-bar>
<ion-content>

 Hello {{yourName}} 

</ion-content>

https://jax.de/session/mobile-apps-mit-typescript-erster-blick-auf-ionic-2/

React

Eine JavaScript Bibliothek aus dem Hause Facebook um JavaScript Anwendungen zu entwickeln. Ein Schwerpunkt ist dabei ist die Performance bei großen Webseiten, so wird mit einem virtuellen DOM gearbeitet um nur Elemente zu aktualisieren die auch verändert wurden. Anders als z.B. Angular wird bei React nicht HTML mit Java Script angereichert, sondern ist JavaScript zentriert.

Hello World

var HelloWorld = React.createClass({
   render: function () {
    return <h1>Hello {this.props.name}!</h1>;
   }
});

ReactDOM.render(<HelloWorld name="YourName" />, document.getElementById('root'));

https://jax.de/session/komponentenentwicklung-mit-react/https://jax.de/session/isomorphic-javascript-webapps-auf-der-jvm-mit-react-js-und-java-ee-mvc/

TypeScript

TypeScript stammt aus dem Hause Microsoft und ist schon einige Jahre auf dem Markt und findet auch Verwendung bei der Entwicklung mit Angular 2.Bei Typescript handelt es sich um eine Obermenge von JavaScript, was bedeutet das jeder JavaScript Code auch gültiget TypeScript Code ist. Darüber hinaus fügt TypeScript “lesbare” Klassen-Konstruktore, statische Typisierung und ECMA6 Syntax ein, das alles dank Umwandlung in reines JavaScript auch in älteren Browser funktioniert

import {Customer}     from './Models';
import {ServiceInterface, BasicRepository}     from './ServiceUtils';

class CustomerService
       extends BasicRepository<Customer>
       implements ServiceInterface{

   constructor() {
      super();
   }
}

Docker

Bei Docker handelt es sich einfach gesagt um das Image einer ganzen Laufzeitumgebung. Applikation Server, Storages, Datenbank etc. einmal konfiguriert und als Docker-Container in einer entsprechenden Laufzeitumgebung auf einem beliebigen System zum Ausführen gebracht.

jax2016-docker

(by https://www.docker.com/what-docker )

https://jax.de/session/docker-eine-einfuehrung/
https://jax.de/session/container-as-a-service-with-docker/
https://jax.de/session/start-your-rugged-devops-journey-with-nexus-jenkins-docker/

Java 9

Der Sprung auf die Version 8 wurde von vielen Entwicklern freudig erwartet, so brachte Java 8 doch einige neue Sprachfeatures mit. Mit der Version 9 steht eher ein “leises” Update bevor, das eher die JVM verbessert (z.B. mittels Modulkonzept / Jigsaw) und sich weniger darauf konzentriert neue Features für den Anwendungsentwickler zu bieten

https://jax.de/session/was-wird-java-9-bringen-ein-ausblick-auf-die-naechste-version-von-java/

Elasticsearch

Bei Elasticsearch handelt es sich um eine auf Lucene basierende Suchmaschine. Diese Application kann genutzt werden um REST-basierte Suchanfragen auf der eigenen Webseite zu verarbeiten

https://jax.de/session/integration-von-elasticsearch-in-moderne-java-ee-webanwendungen/
https://jax.de/session/elasticsearch-performance-best-practices/
https://jax.de/session/ueberblick-zu-apache-lucene-und-den-darauf-basierenden-suchservern-apache-solr-und-elasticsearch/

MVC

Bei MVC handelt es sich in diesem Fall nicht um das Konzept (Model View Controller) sondern um ein Action basiertes Webframework das für Java EE 8 mit in den Standard fließt. Im Gegensatz zu JSF (Komponentenbasiert, abstrahiert von HTML/CSS/JavaScript) liegt ein Fokus auf darauf im Frontend alle Freiheiten zu haben die uns die Technik bietet.

HelloWorld

@Controller
@Path("hello")
public class HelloWorldController {
@Inject
Models models;

@GET
public String helloWorld() {
   this.models.put("text", "Hello World");
   return "/hello.jsp";
}

https://jax.de/session/eine-mvc-anwendung-in-60-minuten/
https://jax.de/session/isomorphic-javascript-webapps-auf-der-jvm-mit-react-js-und-java-ee-mvc/

HTTP2

Die neue Version der http/2 Protokolle ist unbemerkt schon seit langem auf dem Vormarsch. Viele Webseiten haben bereits umgestellt ohne das die Benutzer es gemerkt haben. http/2 verspricht schnelle Webseiten durch ein binäres Übertragungsformat, Komprimierung und Multiplexing (eine einzelne TCP-Verbindung für alle Ressourcen), siehe auch unseren Blog-Eintrag

https://jax.de/session/http2-and-java-9/

JavaFX

Java Framwork zum Schreiben von Desktop Anwendungen ähnlich wie Swing

HelloWorld

public class HelloWorld extends Application {
	public static void main(String[] args) {

	}

	@Override
	public void start(Stage primaryStage) {
		primaryStage.setTitle("Hello World!");
		final Label label = new Label("Hello World");
		StackPane root = new StackPane();
		root.getChildren().add(label);
		primaryStage.setScene(new Scene(root, 300, 250));
		primaryStage.show();
	}
}

https://jax.de/session/von-swing-nach-javafx/
https://jax.de/session/javafx-einstieg-am-lebenden-beispiel/
https://jax.de/session/javafx-im-ui-technologiedschungel/

Weitere Buzzwords

Spring Boot, Standalone Anwendungen auf inkl. Application Server auf Basis von Spring
Nexus, Maven Repository Manager
ECMAScript 2015, neue JavaScript Version
MQTT, Protokoll für Maschine zu Maschine Kommunikation, Internet der Dinge
JCache, Java Standard Caching API (JSR 107)
Checker, Framework zu Code Überprüfung
Jigsaw, Modulsystem Java 9
Gatling, Stress-Test Tool
Neo4j, Graph-Datenbank
…und noch viele mehr

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Autor

Diesen Artikel teilen

LinkedIn
Xing

Gibt es noch Fragen?

Fragen beantworten wir sehr gerne! Schreibe uns einfach per Kontaktformular.

Kurse

weitere Blogbeiträge

IT-Training - GEDOPLAN
Webprogrammierung

Angular, testen mit Karma/Jasmine

Anwendungen zu testen ist ein leidiges Thema und wird gerne aus Zeitgründen vernachlässigt. Jeder der schon mal ein größeres Refactoring…

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!

Work Life Balance. Jobs bei Gedoplan

We are looking for you!

Lust bei GEDOPLAN mitzuarbeiten? Wir suchen immer Verstärkung – egal ob Entwickler, Dozent, Trainerberater oder für unser IT-Marketing! Schau doch einfach mal auf unsere Jobseiten! Wir freuen uns auf Dich!