Was bis jetzt nur mit der Unterstützung von Frameworks wie Spring möglich war, möchte EJB 3.1 nun auch allein können: typsichere Dependency Injection von Managed Beans aller Art, innerhalb von Java-Kontexten, die über einen eigenen Lebenszyklus verfügen. Möglich macht es die “Contexts and Dependency Injection for Java EE” (CDI).
Dieser Vortrag stellt die neuen Konzepte und Sprachmittel, die dem Entwickler mit CDI zur Verfügung stehen, an einer durchgängigen Beispielanwendung vor, darunter Dependency Injection, Qualifier, Scores und Contexts, Interzeptoren sowie Dekoratoren, Events und Produzenten.
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Michael Kurz
Folien zum Vortrag Go Fullstack: Webanwendungen mit Java EE 6 bauen von Michael Kurz auf der W-JAX 2011 in München.
Die dazugehörenden Beispiele sind unter https://github.com/jsflive/mygourmet-ee zu finden.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
Go Fullstack: Webanwendungen mit Java EE 6 bauen (W-JAX 2011)Michael Kurz
Folien zum Vortrag Go Fullstack: Webanwendungen mit Java EE 6 bauen von Michael Kurz auf der W-JAX 2011 in München.
Die dazugehörenden Beispiele sind unter https://github.com/jsflive/mygourmet-ee zu finden.
BASTA! 2016 - Roslyn & Visual Studio ExtensionsRobin Sedlaczek
Slides from my talks at the BASTA! Conference 2016 in Mainz. It's about the Microsoft .NET Compiler Platform (Roslyn), Visual Studio Extensions and increasing productivity when combining them.
Kuck mal, Node.js! Einstieg für .NET Entwickler mit Visual Studio Code und Ty...Gregor Biswanger
Das Jahr 2009 war die Geburtsstunde von Node.js. Dass hierbei JavaScript ebenfalls serverseitig verwendet werden kann, ist nur ein Teilaspekt für den hohen Erfolg. Viel relevanter ist die extrem hohe Performance, Skalierbarkeit und Produktivität. Nicht ohne Grund wird ASP.NET komplett neu erfunden und basiert auf den gleichen Ideen wie Node.js. Namenhafte Firmen wie Microsoft selbst, Google, PayPal, New York Times, GitHub, uvw. setzen bereits auf das leistungsstarke Node.js. Der Vortrag zeigt durch eine Reise der Node.js Architektur, woher die Vorteile kommen. Durch einen Vergleich von ähnlichen Funktionen, wird zudem der ideale Einstieg für .NET Entwickler geboten.
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
JavaLand 2018, Brühl: Vortrag von Josef Adersberger (@adersberger, CTO bei QAware).
Abstract:
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
These are the slides from my talk about immutable types in Microsoft .NET and how they are used in Roslyn from the Parallel Conference 2016 in Heidelberg.
Erfahrene Ärzte können einige Krankheiten bereits am Geruch ihres Patienten erkennen. Ähnliches können erfahrene Softwareentwickler, im übertragenen Sinne auch mit Software tun. Beide Berufsgruppen nehmen dazu unterschwellige Hinweise auf und können Rückschlüsse darauf ziehen welche Bereiche nicht arbeiten wie sie sollten. Typische schlechte Gerüche wollen wir uns in diesem Vortrag ansehen und darüber sprechen wie man ihnen begegnet. Um sie leichter zu verstehen, werden sie dabei als Antipattern beschrieben. Auf diese Weise wird der Rahmen abgesteckt in dem sie auftreten und wie man ihnen begegnen kann.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Der Vortrag wurde beim Webmontag Leipzig im März 2010 gehalten.
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
Es geht um die Entwicklung und Parametrisierung, Mehrfachnutzung und Transportierbarkeit von Funktionen, wie Skripten, Navigationselementen, PopOvers etc..
Das Abstraktions-Niveau ist hier deutlich niedriger gewählt als bei den Extrem-Programmierern der FileMaker-Szene.
Auch hier liegt der Schwerpunkt auf Nachvollziehbarkeit und Pflege.
Das Konzept hat Überschneidungen/Gemeinsamkeiten mit FM-Modular
- Begriffsdfefinition
- Verschiedene Typen von FrameWorks
- Notwendigkeit
- Aufbau, Vorgehensweise, Pflege
- Vor- und Nachteile
- Anwendungsbeispiele
- DEMO
- Diskussion /Fragen
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
Meine Erfahrungen mit dem Erstellen von Plugins für WordPress - was habe ich gelernt, worauf kommt es an? -- Hooks & Filter, Coding Standards, etc. -- ein bisschen aus dem Nähkästchen geplaudert. Vielleicht hilfreich für alle, die auch bei WordPress.org Plugins einstellen wollen, oder sich überhaupt mal an diese Materie heranwagen wollen...
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Weitere ähnliche Inhalte
Ähnlich wie Freundliche Eindringlinge - Moderne Web-Applikationen mit CDI
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
Docker und Kubernetes Patterns & Anti-PatternsQAware GmbH
JavaLand 2018, Brühl: Vortrag von Josef Adersberger (@adersberger, CTO bei QAware).
Abstract:
Kubernetes und Docker sind trotz des hohen Verbreitungsgrads noch relativ junge Technologien. Viele Menschen machen gerade gute und teilweise auch schmerzliche Erfahrungen mit beiden. Der Vortrag bietet einen Katalog an Patterns und Antipatterns bei der Entwicklung von Anwendungen auf Basis Kubernetes und Docker. Der Katalog repräsentiert dabei die Erfahrung aus mehreren Industrieprojekten, die es bis in Produktion geschafft haben.
Es geht darum, was man bei Docker-Files und Kubernetes-Deskriptoren richtig und falsch machen kann; welche Architekturbausteine man einsetzen sollte; wie die Continuous Delivery Pipeline gestaltet werden sollte und wie Anwendungen auf Cloud-Native-Plattformen gut betreibbar und diagnostizierbar gemacht werden können.
These are the slides from my talk about immutable types in Microsoft .NET and how they are used in Roslyn from the Parallel Conference 2016 in Heidelberg.
Erfahrene Ärzte können einige Krankheiten bereits am Geruch ihres Patienten erkennen. Ähnliches können erfahrene Softwareentwickler, im übertragenen Sinne auch mit Software tun. Beide Berufsgruppen nehmen dazu unterschwellige Hinweise auf und können Rückschlüsse darauf ziehen welche Bereiche nicht arbeiten wie sie sollten. Typische schlechte Gerüche wollen wir uns in diesem Vortrag ansehen und darüber sprechen wie man ihnen begegnet. Um sie leichter zu verstehen, werden sie dabei als Antipattern beschrieben. Auf diese Weise wird der Rahmen abgesteckt in dem sie auftreten und wie man ihnen begegnen kann.
BASTA! Spring 2017 - Warum warten auf die IDE? Direct Coding in der eigenen A...Robin Sedlaczek
Slides from my talk about direct coding in the own application using C# Scripting. Try and us your applications domain models and services in C# Scripts to empower development within an application. Or give your users the possibility to automate and extend your application with scripting.
Django ist ein in Python programmiertes Framework, dass die schnelle Entwicklung von Web-Applikationen ermöglicht. Dabei wird Wert auf sauberen Code und die Wiederverwendbarkeit von einzelnen Komponenten gelegt.
Der Vortrag wurde beim Webmontag Leipzig im März 2010 gehalten.
FMK2015: FrameWork Konzepte in FileMaker Pro by Wolfgang WunderlichVerein FM Konferenz
Es geht um die Entwicklung und Parametrisierung, Mehrfachnutzung und Transportierbarkeit von Funktionen, wie Skripten, Navigationselementen, PopOvers etc..
Das Abstraktions-Niveau ist hier deutlich niedriger gewählt als bei den Extrem-Programmierern der FileMaker-Szene.
Auch hier liegt der Schwerpunkt auf Nachvollziehbarkeit und Pflege.
Das Konzept hat Überschneidungen/Gemeinsamkeiten mit FM-Modular
- Begriffsdfefinition
- Verschiedene Typen von FrameWorks
- Notwendigkeit
- Aufbau, Vorgehensweise, Pflege
- Vor- und Nachteile
- Anwendungsbeispiele
- DEMO
- Diskussion /Fragen
Meine ersten 12 Monate als Plugin-Entwickler für WordPress - WP Camp 2012 BerlinDavid Decker
Meine Erfahrungen mit dem Erstellen von Plugins für WordPress - was habe ich gelernt, worauf kommt es an? -- Hooks & Filter, Coding Standards, etc. -- ein bisschen aus dem Nähkästchen geplaudert. Vielleicht hilfreich für alle, die auch bei WordPress.org Plugins einstellen wollen, oder sich überhaupt mal an diese Materie heranwagen wollen...
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
Kurzbeschreibung
Automatische Softwaretests rücken immer mehr in den Mittelpunkt. Gerade die derzeit vielfach eingesetzten agilen Vorgehensweisen benötigen ein teamübergreifendes und reproduzierbares Verfahren zur Sicherung der Softwarequalität. In diesem Vortrag legt Dirk Weil, Geschäftsführer der GEDOPLAN GmbH aus Bielefeld, das Augenmerk auf die Werkzeuge, die in Java-Projekten zum fortlaufenden Build und Test von Software genutzt werden können. Anhand einiger Praxisbeispiele zeigt er den Aufbau und Betrieb einer Continuous-Integration-Umgebung, die GEDOPALN für Softwareprojekte betreibt. Dozent: Dirk Weil, Gedoplan
Inhalt
- Grundlagen und Motivation automatischer Softwaretests
- Testziele und Verfahren (Unit-Tests, Regressionstests, Akzeptanztests etc.)
- Build- und Testautomatisierung
- Beispielumgebung auf Basis von Ant, Maven, Subversion und Hudson
- Code-Analyse
- Extreme Feedback
Ähnlich wie Freundliche Eindringlinge - Moderne Web-Applikationen mit CDI (20)
4. Motivation - JSR 299
Noch kein umfassendes DI Framework
im Java EE Standard
Standardisierung und Vereinfachung
des Zusammenspiels
von JSF und EJB
Präsentationsschicht
Geschäftslogik
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 4
5. Neuerungen – Was bietet CDI?
DI-Mechanismus (Dependency Injection)
Deklarative Verknüpfung von Beans
Scopes
Interzeptorenkonzept
Dekoratoren
Bean-Verwaltung zur Laufzeit
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 5
6. Bean-Verständnis - Beans
JSF, EJB, Spring & CDI
Eine Bean ist ein Objekt, dessen Lebenszyklus vom Container verwaltet wird.
Managed Beans
Parameterlosen Konstruktor | mit @Inject annotiert
Lebenszyklus & Beziehungen verwaltet
Session Beans
Managed Beans + Lebenszyklus, Statusmanagement- & Nebenläufigkeitsmodell
Stateless Session Bean und Singleton Session Bean „scopeless“
Stateful Session Beans beliebiger Scope
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 6
7. Bean-Verständnis - Nicht Beans
Message-Driven Beans
Interzeptoren
Servlets
JAX WS Services
JSP Tag Handler
Tag Library Event Listener
Können Beans injiziert bekommen
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 7
13. DI
@Stateless
public class BlogServiceBean implements BlogService {
...
}
public class InvasionController {
@Inject
private BlogService blogService;
...
}
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 13
14. Qualifier
@Qualifier
@Target({TYPE, METHOD, PARAMETER, FIELD})
@Retention(RUNTIME)
public @interface Holisticon {}
@Holisticon
@Stateless
public class HolisticonBlogServiceBean
implements BlogService {
...
}
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 14
15. Qualifier
public class InvasionController {
@Inject @Holisticon
private BlogService blogService;
...
}
Mehrere Implementierungen?
@Default
Sonst: Start verweigert
WELD-001409 Ambiguous dependencies for type [BlogService] with qualifiers
[@Default] at injection point ...
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 15
16. Alternativen
@Alternative
public class BlogServiceMock implements BlogService,
Serializable{
...
}
Aktivierung in beans.xml
<alternatives>
<class>
de.holisticon.blog.fiendlyInvaders.service.
mock.BlogServiceMock
</class>
</alternatives>
Freundliche Eindringlinge | Norman Erck | norman.erck@holisticon.de | 16