Dieta de slăbit. Andreas Hartmann

Lean Web Architecture slimming with JSF 2.0, CDI & Co. Andreas Hartmann adesso AG

hartmann

Lean Web Architecture slimming with JSF 2.0, CDI & Co. Andreas Hartmann 05.09.2012

Agenda Architecture Vision Lean Web Architecture JSF întâlnește soluțiile tehnice CDI 09/05/2012 2 Lean Web Architecture cu JSF 2.0, CDI & Co.

Architecture Vision 09/05/2012 3 Lean Web Architecture cu JSF 2.0, CDI & Co.

Architecture Vision 3 Layer Reflex Presentation Layer Business Layer Integration Layer Overengineering> Boiler Plate Code> Scump> 05.09.2012 4 Lean Web Architecture cu JSF 2.0, CDI & Co.

Sarcini transversale de viziune arhitecturală 09/05/2012 5 Lean Web Architecture cu JSF 2.0, CDI & Co.

Architecture Vision Technology Stack 05.09.2012 6 Lean Web Architecture cu JSF 2.0, CDI & Co.

Lean Webarchitecture Tiny Applications Tier Client MiddleTier JSF jquery> CDI Spring Data >> Bean Validation> Lombok 05.09.2012 7 Lean Web Architecture with JSF 2.0, CDI & Co.

Lean Webarchitecture Large Scale Applications Tier Client MiddleTier jquery JSF >> CDI Spring Data >>> Bean Validation Lombok> Doozer 05.09.2012 8 Lean Web Architecture with JSF 2.0, CDI & Co.

De ce CDI? Dependency Injection Container controlează obiecte și dependențe> Instantează obiecte> Injectează dependențe în timp de execuție (cuplare liberă) Configurare prin adnotare sau fișier XML A devenit populară în Spring Framework, de când EJB3.0 este disponibil și în Java EE> @EJB> @PersistenceUnit> @Resource 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

De ce CDI? Injecție de dependență cu DI standardizat CDI pentru Java (SE/EE)> Siguranță tip> Reutilizabilitate> Testabilitate> Flexibilitate> Conștientizarea ciclului de viață Povestea utilizatorului Driven Inject 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

Module CDI Module CDI Siguranță tip> Stereotipuri> Calificativ> Alternative Cuplaj liber> Interceptori> Decorator> Vizibilități evenimente> Domenii de aplicare> Conștientizarea ciclului de viață 08/10/2012 Arhitectură web slabă cu JSF 2.0, CDI & Co.

CDI în detaliu Facelets (JSF) # @ManagedBean @Named (JSF) @Inject User PostBoxService. 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

CDI în detaliu CDI Managed Bean import javax.enterprise.context.requestscoped; import javax.inject.named; import javax.inject.inject; @Named ("userController") @RequestScoped UserController de clasă publică < @Inject private UserService userservice; private List users; #gültig für Request POJO Injection Point @PostConstruct private void init() < this.users = userservice.findallusers(); >08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

CDI în detaliu Puncte de injecție CDI Injecție câmp @Injectare privată UserService userservice; Constructor Injection @Inject public UserController (UserService userservice) < this.userservice = userservice; >Setter Injection @Inject public void setuserservice (userservice userservice) < this.userservice = userservice; >08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

Injectează povestea utilizatorului condusă de Calificator și producător Injectează utilizatorul actual @Inject @Current User privat utilizator; Injectați profesionalism @Inject @Admin Administratori de listă privată; @Injectează @Editor editori de listă private; Injectați infrastructura @Inject @UserDB private EntityManager userdb; @Inject @ProductDB private EntityManager productdb; 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

Povestea utilizatorului se injectează Calificator și producător import de.adesso.cdi.common.current; import javax.enterprise.inject.produces; @Named @SessionScoped public class Authenticationimplements Serializable < private User authenticateduser; public String authenticate() @Produces @Named("authenticatedUser") @Current public User getauthenticateduser() < return authenticateduser; >EL: # 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

HTML 5 Cu JSF2.2 și componente HTML5 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

Componente personalizate Implementarea tehnică a ghidului de stil 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

jquery free, extinsă bibliotecă JavaScript opțiune convenabilă pentru extinderea manipulării DOM prin plugin-uri (de ex. DataTable).

Lombok Reduce codul cazanului prin Annoations> @Getter, @Setter> @ToString> @HashCodeAndEqu ca> @Data>. Funcționalitate Delombok Suport Eclipse 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

JSR 303: Bean Validation Standardizarea constrângerilor sub formă de adnotări Standardizarea metadatelor API Integrarea altor cadre cum ar fi de ex. JSF și JPA 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

Doozer Java Bean în Java Bean Mapper 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

SpringData permite accesul la baze de date relaționale și NoSQL Integrare CDI 08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.

08/10/2012 Lean Web Architecture cu JSF 2.0, CDI & Co.