In samenwerking met HowITsDone Spring as legacy Hoe innovatie legacy kan worden.

Slides:



Advertisements
Verwante presentaties
Help, ik moet naar Office 2007!?. Wat horen wij bij klanten Training “New UI will cause too big of a loss in productivity” Training “New UI will cause.
Advertisements

Hoe SQL injection werkt
Stateful web, developments, trends 1 Webtechnologie Lennart Herlaar.
JQuery en ASP.NET Bart De Meyer.
Conditional Clauses If-zinnen.
Deel XIV Eerste echte e-commerce applicatie Implementatie (vervolg) 1 Internetapplicaties Deel 14: Eerste echte e-commerce applicatie: Implementatie (vervolg)
Finance & Business Control
17 april 2008 WAB*info De digitale bron van de Nederlandse waterbodems Gaston Lamaitre Data-ICT-Dienst, Delft Uitvoerders: Atlis (hoofdaannemer), CSO (functioneel.
Programmeren in Java met BlueJ
Cloud Computing woensdag 20 november Wat is Cloud Computing ? Cloud Computing.
Lucene/SOLR 1: inleiding + indexering
Van domeinklasse tot implementatie
OOP met Java Sessie 1.
MagentaPurpleTeal PinkOrangeBlue LimeBrown RedGreen Introductie C# /.NET
Voor VBA programmeurs Maurice de Beijer.  Maurice de Beijer.  The Problem Solver.  Visual Basic MVP.  Blog: theproblemsolver/default.aspxhttp://msmvps.com/blogs/
Speaking OData to SharePoint 2010 in a RESTful manner Michaël Hompus | Principal Developer | Winvision.
OOS Object geOrienteerd Software-ontwerp - 4 Codeerperikelen Singleton Specificeren Scheiding GUI en Domein Facade.
Faculteit Ingenieurswetenschappen & Wetenschappen Software Engineering Publicatie Management Systeem Groep se1 Software Engineering Thierry Coppens.
Omgevingen zijn dan geïmplementeerd als Symbol Tables. Symbol Table mapt een symbool met een Binding Meerdere noties van binding –Meerdere manieren te.
SQL injections en meer... PERU. web application vulnerabilities Cross Site Scripting (21.5%) SQL Injection (14%) PHP includes (9.5%) Buffer overflows.
Computervaardigheden en Programmatie Universiteit AntwerpenObjecten 4.1 Computervaardigheden en Programmatie 1rste BAC Toegepaste Biologische Wetenschappen.
Modula vs Java MODULE Show; CONST PI = ; TYPE PointRc = RECORD x,y : INTEGER; speed : REAL; angle : REAL; END; VAR a,b : PointRc; BEGIN.
Server side scripting 1 Webtechnologie Lennart Herlaar.
Network Address Translation
Integratie Software Systemen Alonso, Casati, Kunu & Machiraju Web Services - Concepts, Architectures and Applications Hoofdstuk 5 – Webservices Danny Romme.
Algoritmiek Arrays: wat zijn dat en wat kun je ermee? Loops: hoe hou je ze in bedwang? Hoorcollege 6 - Ma. 9 okt L.M. Bosveld-de Smet.
Lezingenreeks : weefsels Introductie wiki. Wat is een wiki? Wiki From Wikipedia, the free encyclopedia A wiki is computer software that allows users to.
SPLA Service Provider License Agreement
© 2002 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied,
Microsoft Partner Programma & Applicatie testen
WinFX Overview Martin Tirion Senior Consultant Microsoft Services.
Applicatieplatform congres 12 & 13 maart
Hoorcollege 8 Game object structuren. Arrays in games Grid-gebaseerd speelveld (zoals Tetris) Lijst van spelers Lijst van inventory items Lijst van alle.
Hoorcollege 7 Collections, arrays. Programma ‘Snowflakes’ Sneeuwvlok object.
Hogeschool van Utrecht1 LEERPLAN V2GDSY3 Februari 2010 – August 2010
JAVA -- H51 CONSTRUCTOR –- COPY-CONSTRUCTOR 1Constructor: Dezelfde naam als de klasse Wordt uitgevoerd d.m.v. new Initialisatie van de (private) attributen.
Hibernate Object relational mapping
JProject02 Bert Jacobs Ignace Van Tricht 4 juni 2009.
JAVA1 H 22. COLLECTIONS FRAMEWORK. 1. INLEIDING. Collections framework Is een verzameling van data structuren, interfaces en algoritmen Meest voorkomende.
Visual Basic.Net - Overzicht
2PROJ5 – PIC assembler Hogeschool Utrecht / Institute for Computer, Communication and Media Technology 1 Les 3 - onderwerpen Instruction timing Shadow.
LauwersCollege Buitenpost Java Applet programma dat op een website zichtbaar is Java Application programma dat zelfstandig werkt Javascript Scripttaal.
Geheugen, distributie en netwerken Netwerken: de basis voor distributie van gegevens en taken (processen) –bestaan zo’n 40 jaar, zeer snelle ontwikkeling.
Hoofdstuk 2 Java. Soorten Java-programma’s nJava Applet programma “leeft” op een WWW-pagina nJava Application programma heeft een eigen window nJavascript.
Hoofdstuk 9 Objecten en klassen.
Hoorcollege 9 Jewel Jam The revenge. Hierarchie van game objecten Game object (lijst) Game object (grid) Game object (lijst) Game object.
Deel XIII Eerste echte e-commerce applicatie (iteraties + impl ) 1 Internetapplicaties Deel 13: Eerste echte e-commerce applicatie: Enkele iteraties met.
Internetapplicaties - IV Collecties 1 Internetapplicaties Deel 4: Java hulpklassen: Collecties.
Deel XIX Security, Servlets & authenticatie 1 Internetapplicaties Deel XIX: Security, Servlets & Authenticatie.
Web Applicaties Bouwen met Visual Studio .NET
© Copyright VIMC 2009 Telecom Expense Management A Discussion Ed Vonk
1 december KC Development Tools Oracle HTML DB 2.0.
Keuzetraject Software Ontwikkeling. Marktvraag Mark Heeren (ceo CSC Benelux): –Nieuwe mensen aannemen wordt weer moeilijk, men stelt meer eisen over auto.
Hoofdstuk 5 Interactie. Controls Form Label Button Label TextBox.
In samenwerking met HowITsDone JSF versus AngularJS client-server 2.0.
C++ C++ als een verbetering van C Abstracte datatypen met classes Constructoren en destructoren Subklassen binding van functies 1.
The beast has been released! 4 arcade-style games Interviews with famous people in the game industry Develop browsers games for any device (phone, tablet,
Algoritmiek Class Hierarchies, Inheritance. Hoorcollege 12 - Ma. 20 nov L.M. Bosveld-de Smet.
EQUA Moeten we requirements serieus nemen?. Traditioneel Iteratief Agile Open Source Frank Peeters Petra Heck
Constructoren Genesis 1:1 Aarde a1 = new Aarde(“Adam”, “Eva”);
Tircms03-p les 4 Klassen. Abstracte datatypes in C struct stack { char info[100]; int top; }; void reset(stack *s) { s->top = -1; } void push(stack *s,
Polymorphisme en Interfaces: inleiding
Java Objectgeoriënteerd Programmeren in Java met BlueJ
Java & het Web Programma: Databases (jdbc, JNDI, ORM, JPA)
Java & het Web Programma: 3rd party libraries Standard actions (E)xpression (L)anguage.
Java & het Web Programma: Contexts Listeners Scope/Attributes Thread safety.
Java & het Web Programma: JSP. JSP....herhaling Welke van de volgende expressions is geldig/ongeldig? %>
Variabelen. Wat zijn variabelen? In een programmeertaal zijn er “dingen” nodig die ervoor zorgen dat het programma informatie voor korte of langere tijd.
Over de fabels en feiten van applicatiebouw en de invoering van het Spring Framework 16 december 2014 Ferdy du Chatenier / Gilbert van den.
OOS Object geOrienteerd Software-ontwerp - 5
Transcript van de presentatie:

in samenwerking met HowITsDone Spring as legacy Hoe innovatie legacy kan worden

Geschiedenis JEE J2EE: container managed security en persistence, global transaction management API’s niet schoon; container managed functionaliteit lekt door in de applicatiecode (bijv. EJB1 en 2) Missende functionaliteit: SOAP stack, UI webframework, Dependency Injection

Spring Maak applicatiecode schoon o Alles runtime excepties! o Plain Old Java Objecten! o Dependency Injection! Ongewenst gevolg: heterogene ontwikkel API’s en frameworks o Voorbeelden:  DUO Java 5 straat: Spring + Axis + JEE JAXB + JEE Message Driven Beans + JEE Servlet/ JSF + JEE JPA  Rotterdam IOO: Spring + Spring WS + JEE Servlet + Wicket + Hibernate

Filosofisch uitstapje Is dit soort framework heterogeniteit bij software ontwikkeling een pluspunt, minpunt of noodzakelijk kwaad? Roept U maar… In mijn visie is het bijna altijd een minpunt. Wel af en toe handig om een log schip van koers te laten veranderen. Maar geen doel op zich. We hebben sowieso al dotNet, PHP en dan ook nog meerdere Java benaderingen? Nee dank u.

Eeuwige lente? Voor degenen die het met mij eens zijn: Hadden we gewoon Spring moeten gebruiken voor alles? Roept U maar… In mijn visie alleen als Sun geen JEE5 en 6 had gespecificeerd; overigens gebruikt Spring wel JEE servlet…

Na de lente volgt de zomer Sun (ja okee nu Oracle) is geen log schip; ze hebben in JEE5/6 nagenoeg alle Spring oplossingen ingebouwd o CDI is zelfs uitgebreider dan Spring’s Dependency Injection o Validation Beans (business layer -> web layer integratie) o Persistency en transaction: JPA en JTA o JSF 2 (samen met primefaces ;-) o SOAP: JAX-WS, JAXB o RESTful webservices: JAX-RS o sort of outjection (SEAM)

EJB-lite Stateless, stateful, and singleton session beans Local EJB interfaces or no interfaces Interceptors Container-managed and bean-managed transactions Declarative and programmatic security Embeddable API

Web profile EJB-lite Servlet 3.0, JSF 2.0, JSP 2.2, EL 1.2, JSTL 1.2 CDI 1.0 JPA 2.0, JTA 1.1 Bean Validation 1.0 Dus niet: JMS, JAX-WS, JAXB, JAX-RS JavaMail

JEE 6 voorbeelden Een paar voorbeelden van annotaties waarmee je een POJO om kan zetten in een JEE object: o o EJB o SOAP o JMS

JEE 6 voorbeelden public class Login Credentials EntityManager userDatabase; private public void login() {... } public void logout() { user = null; } public boolean isLoggedIn() { return @LoggedIn User getCurrentUser() {... } }

JEE 6 voorbeelden (3) { TYPE, METHOD, PARAMETER, @Qualifier LoggedIn {...} public class Credentials { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

Innovatie of conservatief EJB’s bah? Dat is oud nieuws. Ga met je tijd mee aub. Je hebt nu zelfs de optie EJB lite; EJB’s die draaien in een WAR zonder aparte EJB container (Tomcat, Jetty) Conclusie: een paar jaar stilstaan en je bent legacy in Java land ;-) pdfhttp://wikis.sun.com/display/GlassFish/Java+EE+6+Annotation+Referenc e