SlideShare a Scribd company logo
Enviar pesquisa
Carregar
Entrar
Cadastre-se
MVC 1.0 / JSR 371
Denunciar
David Delabassee
Seguir
DevRel - Java Platform Group - Oracle em Oracle
24 de Mar de 2015
•
0 gostou
•
12,685 visualizações
1
de
42
MVC 1.0 / JSR 371
24 de Mar de 2015
•
0 gostou
•
12,685 visualizações
Baixar agora
Baixar para ler offline
Denunciar
Tecnologia
MVC 1.0 /JSR 371, presented at JavaLand 2015
David Delabassee
Seguir
DevRel - Java Platform Group - Oracle em Oracle
Recomendados
Java EE 8 Adopt a JSR : JSON-P 1.1 & MVC 1.0
David Delabassee
1.8K visualizações
•
50 slides
EJB and CDI - Alignment and Strategy
David Delabassee
31.9K visualizações
•
43 slides
Java EE 8 - An instant snapshot
David Delabassee
10.7K visualizações
•
91 slides
HTTP/2 comes to Java. What Servlet 4.0 means to you. DevNexus 2015
Edward Burns
19.2K visualizações
•
82 slides
Servlet 4.0 at GeekOut 2015
Edward Burns
19.3K visualizações
•
87 slides
Adopt-a-JSR for JSON Processing 1.1, JSR 374
Heather VanCura
6.5K visualizações
•
13 slides
Mais conteúdo relacionado
Mais procurados
Down-to-Earth Microservices with Java EE
Reza Rahman
103.6K visualizações
•
17 slides
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Arshal Ameen
10.5K visualizações
•
44 slides
Reactive Java EE - Let Me Count the Ways!
Reza Rahman
104.5K visualizações
•
39 slides
What's New in WebLogic 12.1.3 and Beyond
Oracle
20.3K visualizações
•
16 slides
Finally, EE Security API JSR 375
Alex Kosowski
13.4K visualizações
•
80 slides
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Edward Burns
3.4K visualizações
•
67 slides
Mais procurados
(17)
Down-to-Earth Microservices with Java EE
Reza Rahman
•
103.6K visualizações
Java EE 6 Adoption in One of the World’s Largest Online Financial Systems
Arshal Ameen
•
10.5K visualizações
Reactive Java EE - Let Me Count the Ways!
Reza Rahman
•
104.5K visualizações
What's New in WebLogic 12.1.3 and Beyond
Oracle
•
20.3K visualizações
Finally, EE Security API JSR 375
Alex Kosowski
•
13.4K visualizações
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Edward Burns
•
3.4K visualizações
Ed presents JSF 2.2 and WebSocket to Gameduell.
Edward Burns
•
3.9K visualizações
JavaOne 2014 BOF4241 What's Next for JSF?
Edward Burns
•
29.7K visualizações
JavaCro'15 - HTTP2 Comes to Java! - David Delabassee
HUJAK - Hrvatska udruga Java korisnika / Croatian Java User Association
•
1.4K visualizações
WebSocket in Enterprise Applications 2015
Pavel Bucek
•
1.9K visualizações
Have You Seen Java EE Lately?
Reza Rahman
•
37.1K visualizações
How to Thrive on REST/WebSocket-Based Microservices
Pavel Bucek
•
1.2K visualizações
Testing Java EE Applications Using Arquillian
Reza Rahman
•
25.7K visualizações
Java EE Revisits GoF Design Patterns
Murat Yener
•
15.9K visualizações
JSF 2.2 Input Output JavaLand 2015
Edward Burns
•
1.9K visualizações
Java EE 8: On the Horizon
Josh Juneau
•
13.3K visualizações
Modern web application development with java ee 7
Shekhar Gulati
•
24K visualizações
Destaque
Updates to the java api for json processing for java ee 8
Alex Soto
4.8K visualizações
•
49 slides
HTML5 Media Elements
Javier Antonio Humarán Peñuñuri
2.2K visualizações
•
10 slides
JSR 375 Segurança em Java EE 8
Helder da Rocha
4.9K visualizações
•
68 slides
New MVC 1.0 JavaEE 8 API
Trayan Iliev
932 visualizações
•
33 slides
Gráficos Vetoriais na Web com SVG
Helder da Rocha
2.7K visualizações
•
117 slides
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
13.8K visualizações
•
69 slides
Destaque
(12)
Updates to the java api for json processing for java ee 8
Alex Soto
•
4.8K visualizações
HTML5 Media Elements
Javier Antonio Humarán Peñuñuri
•
2.2K visualizações
JSR 375 Segurança em Java EE 8
Helder da Rocha
•
4.9K visualizações
New MVC 1.0 JavaEE 8 API
Trayan Iliev
•
932 visualizações
Gráficos Vetoriais na Web com SVG
Helder da Rocha
•
2.7K visualizações
HTTP/2 Comes to Java - What Servlet 4.0 Means to You
David Delabassee
•
13.8K visualizações
Java EE 8 - February 2017 update
David Delabassee
•
6K visualizações
Java EE 8 Recipes
Josh Juneau
•
3.8K visualizações
Java EE 8 Web Frameworks: A Look at JSF vs MVC
Josh Juneau
•
8K visualizações
Padrão Arquitetural MVC e suas aplicações para WEB
Rafael França
•
5.2K visualizações
Model View Controller (MVC)
Javier Antonio Humarán Peñuñuri
•
35.9K visualizações
Java EE 8先取り!MVC 1.0入門 [EDR2対応版] 2015-10-10更新
Masatoshi Tada
•
15.5K visualizações
Similar a MVC 1.0 / JSR 371
2015 UJUG, MVC 1.0 portion
mnriem
1.9K visualizações
•
26 slides
Oracle JET overview
Steven Davelaar
2.3K visualizações
•
19 slides
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
3.9K visualizações
•
36 slides
Mastering DevOps with Oracle
jeckels
17.7K visualizações
•
39 slides
JavaOne2015報告会 in Okinawa
Takashi Ito
745 visualizações
•
44 slides
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
1.5K visualizações
•
72 slides
Similar a MVC 1.0 / JSR 371
(20)
2015 UJUG, MVC 1.0 portion
mnriem
•
1.9K visualizações
Oracle JET overview
Steven Davelaar
•
2.3K visualizações
Melhore o Desenvolvimento do Time com DevOps na Nuvem
Bruno Borges
•
3.9K visualizações
Mastering DevOps with Oracle
jeckels
•
17.7K visualizações
JavaOne2015報告会 in Okinawa
Takashi Ito
•
745 visualizações
Oracle WebLogic Server 12.2.1 Do More with Less
Ed Burns
•
1.5K visualizações
How to Obtain Peak Performance from Your Virtual Environment
eG Innovations
•
1.1K visualizações
JDK versions and OpenJDK
Wolfgang Weigend
•
1.8K visualizações
Coding from Application Container Cloud to Oracle JET
Geertjan Wielenga
•
504 visualizações
20160123 java one2015_feedback @ Osaka
Takashi Ito
•
466 visualizações
Java fx
Attune World Wide
•
475 visualizações
2015 JavaOne LAD JSF 2.3 & MVC 1.0
mnriem
•
624 visualizações
Modernizing an Existing SOA-based Architecture with APIs
Apigee | Google Cloud
•
2.3K visualizações
ODTUG_NoPlsql_vs_SmartDB_Part1_and_2.pptx
Toon Koppelaars
•
14 visualizações
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
Edward Burns
•
3.6K visualizações
Migrating Oracle Forms Using Oracle Application Express
DavidPeake15
•
345 visualizações
Increased Developer Productivity for IoT with Java and Reactive Blocks (Oracl...
Bart Jonkers
•
553 visualizações
Oracle Enterprise Manager for MySQL
Mario Beck
•
752 visualizações
Rapid private cloud with oracle vm and oracle openstack for oracle linux
OTN Systems Hub
•
1.5K visualizações
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Mark Matthews
•
731 visualizações
Mais de David Delabassee
JVMs in Containers - Best Practices
David Delabassee
722 visualizações
•
37 slides
JVMs in Containers
David Delabassee
1.3K visualizações
•
38 slides
Serverless Java Challenges & Triumphs
David Delabassee
1.2K visualizações
•
46 slides
Serverless Java - Challenges and Triumphs
David Delabassee
280 visualizações
•
41 slides
Randstad Docker meetup - Serverless
David Delabassee
321 visualizações
•
37 slides
Java Serverless in Action - Voxxed Banff
David Delabassee
231 visualizações
•
22 slides
Mais de David Delabassee
(20)
JVMs in Containers - Best Practices
David Delabassee
•
722 visualizações
JVMs in Containers
David Delabassee
•
1.3K visualizações
Serverless Java Challenges & Triumphs
David Delabassee
•
1.2K visualizações
Serverless Java - Challenges and Triumphs
David Delabassee
•
280 visualizações
Randstad Docker meetup - Serverless
David Delabassee
•
321 visualizações
Java Serverless in Action - Voxxed Banff
David Delabassee
•
231 visualizações
Serverless Kotlin
David Delabassee
•
251 visualizações
REST in an Async World
David Delabassee
•
2.3K visualizações
JAX-RS 2.1 Reloaded
David Delabassee
•
1.7K visualizações
Java EE Next
David Delabassee
•
2.2K visualizações
Java EE Next - BeJUG JavaOne Afterglow 2016
David Delabassee
•
433 visualizações
HTTP/2 comes to Java
David Delabassee
•
5.9K visualizações
Java EE 8 - Work in progress
David Delabassee
•
2.5K visualizações
HTTP/2 comes to Java (Dec. 2015 version)
David Delabassee
•
690 visualizações
HTTP/2 Comes to Java
David Delabassee
•
2.9K visualizações
Java EE 8 - What’s new on the Web front
David Delabassee
•
959 visualizações
HTTP/2 Comes to Java
David Delabassee
•
10.8K visualizações
What's coming in Java EE 8
David Delabassee
•
2.3K visualizações
Avatar 2.0
David Delabassee
•
1.9K visualizações
Java EE 8 - An instant snapshot
David Delabassee
•
1.7K visualizações
Último
who we are - values.pptx
LauraGarceran
30 visualizações
•
5 slides
Demystifying ML/AI
Matthew Reynolds
22 visualizações
•
30 slides
DWeb and Civil Society: An Introduction For Makers
TechSoup
47 visualizações
•
48 slides
Scaling out with WordPress
Konstantin Kovshenin
50 visualizações
•
55 slides
MapInfo Pro v2023: The Next Dimension in Spatial Analytics
Precisely
38 visualizações
•
25 slides
TaketoFujikawa_KES2023
Matsushita Laboratory
121 visualizações
•
26 slides
Último
(20)
who we are - values.pptx
LauraGarceran
•
30 visualizações
Demystifying ML/AI
Matthew Reynolds
•
22 visualizações
DWeb and Civil Society: An Introduction For Makers
TechSoup
•
47 visualizações
Scaling out with WordPress
Konstantin Kovshenin
•
50 visualizações
MapInfo Pro v2023: The Next Dimension in Spatial Analytics
Precisely
•
38 visualizações
TaketoFujikawa_KES2023
Matsushita Laboratory
•
121 visualizações
BuilderAI Proposal_Malesniak
Michael Lesniak
•
82 visualizações
Data Integrity Trends
Precisely
•
19 visualizações
The Rise of the Machines: How AI will shape our lives in 2024
Iain Martin
•
41 visualizações
Swiss Re Reinsurance Solutions - Automated Claims Experience – Insurer Innova...
The Digital Insurer
•
26 visualizações
Fipto Seed Pitch Deck
sjcobrien
•
36 visualizações
Data Formats: Reading and writing JSON – XML - YAML
CSUC - Consorci de Serveis Universitaris de Catalunya
•
47 visualizações
Announcing InfluxDB Clustered
InfluxData
•
47 visualizações
Roottoo Innovation V24_CP.pdf
roottooinnovation
•
22 visualizações
The Ultimate Administrator’s Guide to HCL Nomad Web
panagenda
•
45 visualizações
Knowledge graph use cases in natural language generation
Elena Simperl
•
82 visualizações
Regulating Generative AI - LLMOps pipelines with Transparency
Debmalya Biswas
•
42 visualizações
AMAZON-RESUME.pdf
RegineRaneses
•
38 visualizações
Exploration cyclefinding a better dining experience:a framework of meal-pl...
Matsushita Laboratory
•
43 visualizações
Jino Clone: Develop a Car Wash Mobile App with Limited Resources
eSiteWorld TechnoLabs Pvt. Ltd.
•
28 visualizações
MVC 1.0 / JSR 371
1.
MVC 1.0 JavaLand March
2015 David Delabassee @delabassee Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. 1
2.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. The following is intended to outline our g eneral product direction. It is intended for i nformation purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Safe Harbor Statement 2
3.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Lorem ipsum dolor sit amet, MVC, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, Action-‐Based MVC. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. JSR 371 duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Ozark excepteur sint occaecat cupidatat non proident. My Own Statement 3
4.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Agenda Context MVC 1.0 JSR Conclusion 1 2 3 4
5.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Agenda Context MVC 1.0 JSR Conclusion 1 2 3 5
6.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Java EE 7 ENTERPRISE EDITION • Batch • Concurrency • Simplified JMS • More annotated POJOs • Less boilerplate code • Cohesive integrated platform DEVELOPER PRODUCTIVITY • WebSockets • JSON • Servlet 3.1 NIO • REST MEETING ENTERPRISE DEMANDS Java EE 7 6
7.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Java EE 8 Cloud Mobile HTTP/2 SECURITY Reactive Programming User Experience 7
8.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Java EE 8 Community Survey Should Java EE provide support for MVC alongside JSF? Is there any one de-‐facto standard technology in this space to which we should look for inspiration? 8
9.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. 9
10.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Community-‐Prioritized Features 10 http://glassfish.org/survey
11.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. What is MVC? • Pattern used to implement a User Interface • Consists of 3 major components – Model – View – Controller • Each of the components has a distinct responsibility 11
12.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. The M(odel) • Interim state you want to keep when you are building an UI • Examples – Who is logged in – What are they trying to buy – What page are they on in a multi page flow 12
13.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. The V(iew) • What your user interacts with – In a web application that would be the web page or web pages • your JSP page • your CSS styles • your JavaScript – In a thick client scenario it would be the entire UI – In an embedded scenario it could be the touch screen, hardware buttons etc. 13
14.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. The C(ontroller) • Work horse of the pattern: – Executes the business logic • Run a credit card transaction – Updates the model • Mark the transaction as successful in the model object – Ask the view to render itself • Shows the transaction was successful 14
15.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Different styles of MVC • Component-‐based MVC • Action-‐based MVC • Others 15
16.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Component-‐based MVC • A specific style of MVC made popular by component frameworks • Controller provided by the framework • Examples – JavaServer Faces – Wicket – Tapestry – Seam (discontinued) – Apache Click (retired) 16
17.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Action-‐based MVC • Controller(s) defined by the application • Examples – Struts 1 (end of life), Struts 2 – Spring MVC • No standard Java EE implementation – Good news we are creating one! – Targeted for inclusion in Java EE 8 17
18.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Action-‐based MVC – Manual request parameter processing – No view kept around – Request centric – Developer responsible for all HTML / JS – Limited support for re-‐usable behavior – No automatic input conversion – No automatic input validation Component-‐based MVC – Automatic request parameter processing – View kept around – Page centric – Components handle HTML / JS – Component implement re-‐usable behavior – Automatic input conversion – Automatic input validation Compare and contrast 18
19.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Agenda Context MVC 1.0 JSR Conclusion 1 2 3 19
20.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model-‐View-‐Controller (MVC 1.0) Specification • “Action-‐based” MVC 1.0 JSR • Why? – UI landscape is not one size fits all – Java EE 8 Community Survey – Talking to our customers, etc. • EG formed – Oracle, RedHat, innoQ, IBM, Caelum, LifeRay, and 6 individuals members • You can contribute too! JSR 371 20
21.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model-‐View-‐Controller (MVC 1.0) Specification • Ozark – https://ozark.java.net • Open Source – git://java.net/ozark~sources – https://github.com/spericas/ozark Reference Implementation 21
22.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. MVC 1.0 • Action-‐based MVC • Glues together key Java EE technologies – Model : CDI, Bean Validation, JPA – View : Facelets, JSP, more? – Controller : Invent new technology Vs. Leverage existing technologies 22 Principles
23.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller • Combine data models and views to produce web application pages @Path("hello") public class HelloController { @GET @Controller public String hello() { return "hello.jsp"; } } 23
24.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller • Class/method decorated with @Controller @Path(“hello") @Controller public class HelloController { @GET @View(“hello.jsp") public void hello() { } } 24
25.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller @Path(“hello") @Controller public class HelloController { @GET public Viewable hello() { return new Viewable("hello.jsp"); } } 25
26.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Controller … @GET @Controller public Response getById(@PathParam("id") String id) { if (id.length() == 0) { return Response.status(Response.Status.BAD_REQUEST) .entity(“error.jsp") .build(); } } 26
27.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model • “Refers to the data” • 2 types – javax.mvc.Models interface – CDI @Named bean (recommended) 27
28.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model @Named(“greeting”) @RequestScoped public class Greeting { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } } 28
29.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Model @Path(“hello”) public class HelloController { @Inject private Models models; @GET @Controller public String hello() { models.set(“greeting”, new Greeting(“Hi JavaLand”)); return “hello.jsp”; } } 29
30.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View • Define the structure of the output • Can refer to model(s) • Rendered by a View Engine – JSP – Facelets • Not accessible as static resources – /WEB-‐INF/views/ 30
31.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View <%@ page contentType=“text/html;charset=UTF-8” language=“java” %> <html> <head> <title>Hello</title> </head> <body> <p>Hello ${user.name}</p> </body> </html> 31
32.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. View Engine • CDI based extension mechanism • javax.mvc.engine.ViewEngine interface boolean supports(String view); void processView(ViewEngineContext context) throws ViewEngineException; • Ozark – JSP & Facelets – FreeMarker, Velocity, Thymeleaf, Mustache & Handlebars 32
33.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Miscellaneous • Bootstrap – javax.ws.rs.core.Application • Validation • Exception Mapping Providers • @Produces • CDI Events • Tooling 33
34.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Demos? 34 Lorem ipsum dolor sit amet, Intial consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua, Ozark Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Velit duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. milestone build excepteur sint occaecat cupidatat non proident.
35.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Agenda Context MVC 1.0 JSR Conclusion 1 2 3 35
36.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Conclusion • Doing MVC now is not a bad idea, because we are: – Leveraging CDI, JAX-‐RS, Facelets, BV – More? Servlet 4.0’s ServerPush – Delivering an easy migration path if you are using JSPs • Offers more choices • New annotations – @Controller – @View 36
37.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Java EE 8 • Java EE 8 Platform (JSR 366) • CDI 2.0 (JSR 365) • JSON Binding 1.0 (JSR 367) • JMS 2.1 (JSR 368) • Java Servlet 4.0 (JSR 369) • JAX-‐RS 2.1 (JSR 370) • MVC 1.0 (JSR 371) • JSF 2.3 (JSR 372) • Java EE Management 2.0 (JSR 373) • JSON-‐P 1.1 (JSR 374) • Java EE Security 1.0 (JSR 375) So far….. 37
38.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Roadmap • Q3 2014 Expert Group formed • Q1 2015 Early Draft • Q3 2015 Public Review • Q1 2016 Proposed Final Draft • Q3 2016 Final Release 38
39.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Contribute! • Join the JCP • “Adopt-‐A-‐JSR” – http://glassfish.java.net/adoptajsr • Get involved – Join MVC users mailing list – Tweet, blog, socialize to raise awareness about MVC 1.0 – Test MVC SNAPSHOT and milestone builds (https://ozark.java.net) – Fill issues! 39
40.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Links • MVC specification – http://mvc-‐spec.java.net, users@mvc-‐spec.java.net • MVC implementation – http://ozark.java.net, users@ozark.java.net • Spec leads – Santiago (@spericas) – Manfred (@mnriem, http://mvc.zeef.com/manfred.riem ) • The Aquarium Blog – https://blogs.oracle.com/theaquarium/ 40
41.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. Danke! 41
42.
Copyright © 2015,
Oracle and/or its affiliates. All rights reserved. 42