Your SlideShare is downloading. ×
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI

2,276
views

Published on

Auch mit JSF 2 und CDI lassen sich in kürzester Zeit komplexe Anwendungen realisieren, wenn man weiß, wie. Anhand des Technologie-Stacks JSF 2, CDI, Lombok, HTML5, jQuery und JPA wird eine …

Auch mit JSF 2 und CDI lassen sich in kürzester Zeit komplexe Anwendungen realisieren, wenn man weiß, wie. Anhand des Technologie-Stacks JSF 2, CDI, Lombok, HTML5, jQuery und JPA wird eine leichtgewichtige Architektur anhand einer Livedemo vorgestellt, die den Anforderungen des Rapid Application Development gerecht wird und in der Cloud betrieben werden kann.

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,276
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
17
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Schlanke Webarchitekturennicht nur mit JSF 2 & CDIAndreas Hartmann & Stephan Mülleradesso AG
  • 2. AgendaArchitektur Vision Querschnittsfunktionen Technologie Stack Schlanke Webarchitekturen Technologien im Detail Code-BeispieleCloud Ready
  • 3. Architektur Vision
  • 4. 3 Layer Reflex Over-Presentation-Layer <<GUI>> engineering <<Domain Model>> Boiler PlateBusiness-Layer <<Service>> CodeIntegrationLayer Expensive <<Adapter>>
  • 5. Cross-Sectional Tasks
  • 6. Technology Stack
  • 7. Schlanke Webarchitekturen Tiny Enterprise Applications Client Tier MiddleTier JSF jQuery <<Presenter>> <<Adapter DB>> Spring Data <<View>> CDI <<Model>> << . . . >> Lombok BeanValidation <<Domain Model>>
  • 8. Schlanke Webarchitekturen Large Scale Enterprise Applications Client Tier MiddleTier JSF jQuery <<Presenter>> <<Service>> <<Adapter DB>> Spring Data <<View>> CDI <<Model>> <<. . . >> << . . . >> Lombok Dozer BeanValidation <<Domain Model>>
  • 9. Wunschliste für Dependency Injection ...•  Standardisierte DI für Java –  Wiederverwendbarkeit –  Testbarkeit –  Flexibilität•  Fachlichkeit statt Infrastruktur –  Eingeloggter Benutzer statt UserService•  ... und natürlich Erweiterbarkeit
  • 10. Context and Dependency Injection•  CDI 1.0 (JSR-299) –  typsicheres und schichtenneutrales Injection Framework –  Annotationsbasiert •  @Produces, @RequestScope, @ConversationScope –  mehrere Implementierungen •  Weld, Apache Open WebBeans, Caucho CanDI –  nutzt DI for Java (JSR-330) als grundlegende API •  @Inject, @Named, ... –  bietet Mechanismus zur individuellen Erweiterung•  CDI ermöglicht ... –  Java Enterprise Entwicklung ohne EJB und ohne Spring
  • 11. Context and Dependency Injection•  CDI Beans ersetzen JSF BeansJSF 2.0 (JSR 314) CDI 1.0 (JSR 299, JSR 330)@javax.faces.bean.ManagedBean @javax.inject.Named@javax.faces.bean.ManagedProperty @javax.inject.Inject@javax.faces.bean.SessionScoped @javax.enterprise.context.SessionScoped•  Vorteile –  alle Beans werden im CDI Container verwaltet –  Injizieren von POJOs und Diensten in „Managed Beans“ möglich –  Leichtgewichtig •  läuft auch im Web Container
  • 12. HTML •  Einfache Nutzung mit Facelets und Composite Components •  Mit JSF2.2 auch HTML5 Komponenten
  • 13. •  freie, umfangreiche JavaScript Bibliothek•  komfortable Möglichkeit zur DOM Manipulation•  Erweiterbarkeit durch Plugins (u.a. DataTable)
  • 14. Lombok •  Reduziert Boilerplate Code durch Annoations –  @Getter, @Setter –  @ToString –  @HashCodeAndEquals –  @Data –  @NotNull •  Delombok Funktionalität
  • 15. Bean Validation •  Standardisierung von Constraints in Form von Annotations •  Standardisierung des Metadata API •  Integration anderer Frameworks wie z.B. JSF und JPA
  • 16. Dozer •  Java Bean to Java Bean Mapper
  • 17. Spring Data •  ermöglicht Zugriff auf relationale und NoSQL Datenbanken •  CDI Integration in progress
  • 18. Apache Deltaspike•  Apache Incubator Projekt•  zentrale Sammelstelle für CDI Erweiterungen –  u.a. für CODI & Seam3 Module•  implementierungsunabhängiger Zugriff auf CDI APIs
  • 19. Code-Beispiele•  Exceptionhandling•  Monitoring•  Security
  • 20. Cloud-Ready•  Deployment bei PaaS/IaaS Providern –  Amazon Beanstalk / EC2 –  RedHat OpenShift –  VMware Cloud Foundry•  Warum Cloud ...? –  Rechenleistung on demand –  Elastizität und Skalierbarkeit –  Hohe Flexibilität –  Geringe Kosten
  • 21. Cloud-Ready•  Laufzeitumgebung –  Webcontainer þ –  Application Server ý (þ) nur OpenShift•  Unterstützte DI Frameworks –  CDI þ –  Spring þ•  Verfügbare Datenbank –  RDBMS þ –  NoSQL þ
  • 22. RessourcenJSF2.2 (JSR-344) http://jcp.org/en/jsr/detail?id=344CDI (JSR-299) http://docs.jboss.org/cdi/spec/1.0/html_singlejQuery http://jquery.com http://datatables.netDozer http://dozer.sourceforge.netLombok http://projectlombok.orgSpring Data http://www.springsource.org/spring-dataBean Validation http://hibernate.org/subprojects/validator
  • 23. Vielen Dank für Ihre Aufmerksamkeit

×