MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Slides:



Advertisements
Similar presentations
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 of the corporate.
Advertisements

Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Your customer as a segment of one That changes every second! Hein Van Der Merwe Chief.
MVC in JavaEE 8 Manfred Riem Principal Member of Technical Staff September, 2014 Copyright © 2014, Oracle and/or its affiliates. All rights reserved.
@mnriem#DV14 #MVC MVC 1.0 in JavaEE 8 A long time coming, or like some would say “finally!” Why are we doing it now? Survey input Customer input JavaEE.
JSF 2.2 in Action Kito D. Mann Principal Consultant.
Jim Ferrentino Elizabeth West
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Modern UI Design Implementing Oracle’s Best Practices in your Applications Laura.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Track the changes in your Apex application between releases: Yes you can Plsql.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Advanced Metadata Modeling Modeling for the Oracle Business Intelligence Cloud.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | 2 Hidden Gems of APEX David Gale Software Engineer Oracle Application Express November,
First Programming Steps in Oracle ADF: Beyond Drag and Drop Grant Ronald Director of Product Management Mobility and Development Tools October, 2014 Copyright.
The Safe Harbor The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated.
Best Practices for Upgrading Oracle PeopleSoft Environments
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Amit Jha Project Leader, Product Management Oracle EBS Procurement & Contracts.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Title Slide without Picture Subtitle Presenter’s Name Presenter’s Title Organization,
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit The Newest JDE Module – Rental Management Joel Sandberg Sales Consultant.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit PaaS from an Applications Perspective Charles McGuinness Director,
Oracle Confidential – Internal/Restricted/Highly RestrictedCopyright © 2014, Oracle and/or its affiliates. All rights reserved. | Oracle Identity Management.
Struts 2.0 an Overview ( )
Struts. Agenda Preface Struts and its components An example The architecture required for Struts Applications.
UNIT-V The MVC architecture and Struts Framework.
JavaServer Faces: The Fundamentals Compiled from Sun TechDays workshops (JSF Basics, Web-Tier Codecamp: JavaServer Faces, Java Studio Creator; IBM RAD)
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Reporting from Contract.
Oracle E-Business Suite Order Management: Presenting the HTML and Mobile User Experience Durgaprasad Bodapati Director, Product Management Bhavana Sharma.
JSR Review Process April Patrick Curran, Mike Milinkovich, Heather Vancura, Bruno Souza.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
JDeveloper 10g and JavaServer Faces: High-Performance UIs on the Web Avrom Roy-Faderman Senior Programmer May, 2006.
Design Patterns Phil Smith 28 th November Design Patterns There are many ways to produce content via Servlets and JSPs Understanding the good, the.
Copyright © 2012, Oracle and/or its affiliates. All rights reserved. 1 Quick Tutorial – Part 2 Open Data Web Services for Oracle BPM August, 2013 Forms.
1Copyright © 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 8 Contract Management.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Lecturer: Prof. Piero Fraternali, Teaching Assistant: Alessandro Bozzon, Advanced Web Technologies: Struts–
Fall CIS 764 Database Systems Design L8. Web ….
Learning Oracle ADF Grant Ronald Director of Product Management Mobility and Development Tools September, 2014 Copyright © 2014, Oracle and/or its affiliates.
Peter Laird. | 1 Building Dynamic Google Gadgets in Java Peter Laird Managing Architect WebLogic Portal BEA Systems.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Spring MVC Essentials Getting started.
RESTful Microservices In Java With Jersey Jakub Podlešák Software Engineer Oracle, Application Server Group September 29, 2014 Copyright © 2014, Oracle.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Planning & Budgeting Cloud Service (PBCS) Overview Business Analytics Product Group.
CS562 Advanced Java and Internet Application Introduction to the Computer Warehouse Web Application. Java Server Pages (JSP) Technology. By Team Alpha.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
1 Copyright © 2004, Oracle. All rights reserved. Oracle Application Development Framework.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Java Programming: Advanced Topics 1 Building Web Applications Chapter 13.
10 Copyright © 2004, Oracle. All rights reserved. Building ADF View Components.
Travel and Transportation General Session and Industry Excellence Awards Vijay Anand, Oracle Sundar Swaminathan, Oracle September 30, 2014 Copyright ©
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | 5 Lifehacks for the Apex Development environment Five frameworks you should use.
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | PeopleSoft Order Management Pricing Managers: Have We Got Tools for You Oracle Confidential.
Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | What You Need to Know About User Defined Objects (UDOs) With Tools Release 9.2.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Daddy, what's a middle wear? An incredibly oversimplified explanation of what Middleware.
Apache Wicket Component Based Web Development Framework.
Build a Web App with Oracle REST Data Services &
OpenWorld 2018 How to Combine Data from Source Sites
Charles Phillips screen
Confidential – Oracle Internal/Restricted/Highly Restricted
Project Helidon Deep Dive
Your Finance Cloud End User Adoption and Enablement Starts Here
Leverage the virtual team using Oracle Support Communities Phil Dixon Director Service Automation Product Management Global Customer Support October,
Confidential – Oracle Internal/Restricted/Highly Restricted
JavaServer Faces: The Fundamentals
Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only, and may not be.
Oracle Java SE Subscriptions; Protect Your Investment in Java SE
Presentation transcript:

MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information 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. M

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Some examples MVC tooling Questions and Answers E

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | What is MVC? MVC is a pattern used to implement a user interface (UI). It consists of 3 major components – Model (M) – View (V) – Controller (C) Each of the components has a distinct responsibility which is covered in the next slides

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The M(odel) in MVC The model is the interim state you want to keep when you are building an application that shows a user interface Examples – Who is logged in – What are they trying to buy – What page are they on in a multi page flow

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The V(iew) in MVC The view is 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.

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The C(ontroller) in MVC The controller is the work horse of the pattern, as it: – 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

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Different styles of MVC Component-based MVC Action-based MVC Other styles

Copyright © 2014, 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 Some examples – Java Server Faces (in the JavaEE platform) – Seam (discontinued) – Wicket – Tapestry – Apache Click (retired)

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Action-based MVC Controller(s) defined by the application Currently no JavaEE implementation – Good news we are creating one! Some examples – Struts 1 (end of life) – Struts 2 – Spring MVC

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |

Action-based MVC – Manual request parameter processing – No view kept around – Limited support for re-usable behavior – Developer responsible for all HTML / JavaScript – No automatic input conversion – No automatic input validation – Request centric Component-based MVC – Automatic request parameter procession – View kept around – Component libraries that implement re-usable behavior – Components render HTML / JavaScript – Automatic input conversion – Automatic input validation – Page centric Compare and contrast

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Some examples MVC tooling Questions and Answers E

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | The MVC 1.0 JSR It really is the “Action-based” MVC 1.0 JSR Where it this coming from? – JavaEE 8 survey – Talking to our customers – UI landscape is not one size fits all Who is supporting it?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | List of supporters Joshua Wilson (Red Hat) Woong-ki Lee (TmaxSoft) Josh Juneau Fabio Velloso (SouJava) Yara Senger (SouJava) Bruno Souza (SouJava) Markus Karg Antonio Goncalves Rajmahendra (JUGChennai) Francisco Sokol Werner Keil Martijn Verburg (London Java Community) And of course Oracle (see JCP page)

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Where and how? Where are we at? – The JSR has been approved – We have the EG up and running How can I help? – Join the mailinglist and – Participate in the Adopt-a-JSR program (JUGs) – Test out snapshots (once available) from the RI website ( and file issues if something is not workinghttp://ozark.java.net – Tweet, blog, socialize to raise awareness about MVC 1.0

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | An example about the EG process We are currently in the middle of a discussion about the following question: “Do we build on top of JAX-RS or not?” Since the mailing list gets every mail the EG sends you can follow this discussion as What do you think? – Tell us on the mailing list – Tweet about it – Talk to me after the session Why do I ask?

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Another couple of things being discussed Programmatic API so you can change the runtime behavior Type conversion of form inputs An SPI to plug in a different view technology – Velocity – Freemarker – Thymeleaf – … Your view technology …

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Some examples MVC tooling Questions and Answers E

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information 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. M

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | A rough JSP example Initial JSP page CDI Managed Bean (also known as the the controller) Result JSP page

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Initial JSP page Rough example

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | CDI Managed Bean public class RoughExampleBean implements Serializable { private String = "/form1a.jsp”) public String HttpServletRequest request) { String input1 = request.getParameter("inputText1"); setValue("We set input1 manually to - " + input1); return "/form1b.jsp”; } … omitted getter/setter methods … }

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Result JSP page Rough example result page We did a POST to an action based URL and the result is: #{roughExampleBean.value}

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | A rough Facelet example Initial Facelet page CDI Managed Bean (also known as the controller) Result Facelet page

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Initial Facelet page Rough example

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | CDI Managed Bean (aka public class RoughExampleBean implements Serializable { private String = "/form1a.xhtml”) public String HttpServletRequest request) { String input1 = request.getParameter("inputText1"); setValue("We set input1 manually to - " + input1); return "/form1b.xhtml”; } … omitted getter/setter methods … }

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Result Facelet Page Rough example result page We did a POST to an action based URL and the result is: #{roughExampleBean.value}

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Another Facelets example Template page Initial Facelet page CDI Managed Bean (also known as the controller) Result Facelet page

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Template Page Main Content

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Initial Page (using template)

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | CDI Managed Bean (aka public class RoughExampleBean implements Serializable { private String = "/form1a.xhtml”) public String HttpServletRequest request) { String input1 = request.getParameter("inputText1"); setValue("We set input1 manually to - " + input1); return "/form1b.xhtml”; } … omitted getter/setter methods … }

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Result page (using template) We did a POST to an action based URL and the result is: #{roughExampleBean.value}

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Some public public String public mypath)

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Some brief @RolesAllowed(“spec_lead”) public “my.js”}) public String egMember()

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Recap Doing MVC now is not a bad idea, because we can: – Leverage CDI – Leverage Servlet 4.0 (ServerPush) – Leverage Facelets – Deliver an easy migration path if you are using JSPs Can you get involved? Yes, how: – Join our users mailing list – Tweet about MVC – Blog about MVC – Test out SNAPSHOT and milestone builds from (once available)

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Some examples MVC tooling Questions and Answers E

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | MVC Tooling While it is not really part of the specification cycle perse we think to have tooling that allows you to work with MVC 1.0 is integral to a good developer experience So I have invited Geertjan to be my co-speaker to cover ideas he has with respect to tooling and he will take it from here

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Links MVC specification – Website – Users Mailing List MVC implementation – Website – Users Mailing List Spec leads – Santiago – Manfred Tooling – Geertjan

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Questions? Ask them now Talk to us afterwards