Over de fabels en feiten van applicatiebouw en de invoering van het Spring Framework 16 december 2014 Ferdy du Chatenier / Gilbert van den Dobbelsteen
AGENDA Welkomstwoord van de teamleider Systeemontwikkeling Opbouw van een webapplicatie Invoering Spring Framework Ontwikkelen van webapplicaties in detail
ARCHITECTUUR: 3-TIER MODEL Security Presentation Logic Data
Logic Data Presentation Logic Data ARCHITECTUUR: CLIENT-SERVER MODEL Security Presentation ServerClient
TECHNIEKEN EN FRAMEWORKS Java Servlets JSP CSS2 SQLJNDI PL/SQL UT WebApp Library AtCampus JSP TagLibrary HTML4 UT Database Library JavaScript JDBC Basic AuthN (SSO) J2EE AuthZ Database Security Database Constraints Huisstijl EJB
TECHNIEKEN EN FRAMEWORKS 2014 Java Servlets JSP CSS3 SQLJNDI PL/SQL Spring MVC (+ WebFlow) Spring FormsHTML5 JavaScript JDBC Basic AuthN (SSO) J2EE AuthZ Database Security Database Constraints Huisstijl jQuery JSTL + EL jQuery Widgets JPA + JPQL Spring Security JSON
INVOERING SPRING FRAMEWORK Selectie Proof of Concept Invoeren
SELECTIE Marktconform Actieve gebruikerscommunity Platform onafhankelijk
SELECTIE: MARKTCONFORM Iemand een idee? We hebben Indeed Jobtrend gebruikt
SELECTIE: MARKTCONFORM
Bron: zeroturnaround.com
SELECTIE: GEBRUIKERSCOMMUNITY SpringDeveloper Youtube channel: > leden Actief stackoverflow forum met > vragen Actieve LinkedIn pagina met > leden 131 vacatures voor JAVA J2EE Spring developers ( )
SELECTIE: PLATFORM ONAFHANKELIJK Wat is dat precies? We bedoelden: Geen vendor lock-in Spring is er voor java en.NET Java is beschikbaar op de meeste platformen
PROOF OF CONCEPT Voor nieuwe applicaties Niet te klein kiezen Ervaren ontwikkelaar die alle ruimte krijgt
PROOF OF CONCEPT Wat krijg je dan? Pragmatische keuzes Iets dat alleen voor die éne applicatie werkt Goede voortgang
INVOEREN Vanaf alle nieuwe applicaties UT-FLEX als grote applicatie (na portfolio) Inmiddels gerealiseerd: Portfolio UT-FLEX AppInfo store WBP Register Nevenwerkzaamheden
ARCHITECTUUR: 3-TIER MODEL Security Presentation Logic Data
PRESENTATION Aandeel: 10-30% Genereren van de user interface? Ontwerp: Huisstijl en widgets Mobile devices Accessibility Interaction design? Meertaligheid en PDF documenten
LOGIC Aandeel: 50-80% Kan dat niet wat minder? Onderhoudbaarheid (Maintainability) Dependency Injection Aspect Oriented Programming Workflow “uitbesteden”? Single Page Interface
DATA Aandeel: 10-20% Onafhankelijk van het type database? Logisch model vs. fysiek model BackOffice vs. FrontOffice applicaties Object Relational Mapping Informatieanalyse vooraf of “agile”? Gebruik van brongegevens
SECURITY Aandeel: 5-10% Authenticatie via Single Sign On Autorisaties via Role Based Access Control? Informatiebeveiliging Binnen de applicatie Buiten de applicatie om Audit Toegangsrechten voor applicatiebeheer?