MVC in JavaEE 8 Manfred Riem Principal Member of Technical Staff September, 2014 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.
@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.
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.
PeopleSoft Enterprise SRM Return To Vendor
Copyright © 2014 Oracle and/or its affiliates. All rights reserved. | Oracle SQL Developer What’s New in Version 4.1 Jeff Smith
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
American Airlines AAdvantage®:
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 © 2014, Oracle and/or its affiliates. All rights reserved. | From a certain point of view Eye tracking with Java Gerrit Grunwald Java Technology.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit PaaS from an Applications Perspective Charles McGuinness Director,
Lecture 2 - Struts ENTERPRISE JAVA. 2 Contents  Servlet Deployment  Servlet Filters  Model View Controllers  Struts  Dependency Injection.
Module - How To Get Help The DSpace Course. Module Overview  By the end of this module you will:  Understand the help available from the DSpace community.
Application Express 4.1 New Features Hilary Farrell, Principal Member of Technical Staff, Oracle.
MVC 1.0 Manfred Riem Oracle Geertjan Wielenga Oracle Copyright © 2014, 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.
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.
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.
RMB Billing UX Design Concepts / Proposals Peter Picone.
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. An Auto-Join Network of Things Wong, H. and Wesson, B. Oracle Confidential – Internal/Restricted/Highly.
Hadoop 2 cluster with Oracle Solaris Zones, ZFS and unified archives Orgad Kimchi - Principal Software Engineer September 29, 2014 Oracle Confidential.
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.
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.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. JD Edwards Summit Really Cool Demo Stuff – 2015 Edition!!!!! For demo content, please.
Java Web Development with NetBeans IDE -- Kai Qian Chapter 5 JavaServer Faces (JSF) Technology.
1Copyright © 2011, Oracle and/or its affiliates. All rights reserved.
Chính phủ điện tử TS. Phạm Văn Tính Khoa CNTT, ĐH Nông Lâm TP.HCM
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
RIA and Web2.0 Development with no Coding Juan Camilo Ruiz Senior Product Manager Development Tools.
Workforce Scheduling Release 5.0 for Windows Implementation Overview OWS Development Team.
Build Mobile Apps for Oracle E-Business Suite with Oracle Mobile Platform Bruce Bailey Principal Mobile/Social Solutions Consultant Jagadeesh Maira Senior.
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.
Industry specific cover image Girish Jashnani What’s new in R12 – A technology perspective Jan 17 th 2007.
Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 12 1.
Get Connected through the My Oracle Support Community Lynn Pionkowski Sr Regional Support Advocate
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.
Online Airline Reservation System
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. |
Build a Web App with Oracle REST Data Services &
OpenWorld 2018 How to Combine Data from Source Sites
Charles Phillips screen
JD Edwards Support and Oracle Cloud Infrastructure: A Successful Path to Oracle Cloud
Confidential – Oracle Internal/Restricted/Highly Restricted
Key Considerations in User Lifecycle Management
Project Helidon Deep Dive
OpenWorld How to Prepare Data from Business Intelligence Cloud Service
OpenWorld 2018 Oracle API Platform: How to Manage Typical Workflows
Leverage the virtual team using Oracle Support Communities Phil Dixon Director Service Automation Product Management Global Customer Support October,
Principal Product Manager Oracle Data Science Platform
JavaServer Faces: The Fundamentals
R11 Product Release Update March 2008
1.
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 in JavaEE 8 Manfred Riem Principal Member of Technical Staff September, 2014 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. 4

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Program Agenda MVC – What is MVC? – Different styles of MVC MVC 1.0 JSR – A rough JSP example – A rough Facelets example 5

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 6

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The M 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 The Model 7

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The V 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 The View 8

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The C in MVC The controller is the work horse of the pattern, as it: – Executes the business logic Run a credit card transaction Send out the order for fulfilling – Updates the model Mark the transaction as successful in the model object Set the fulfillment date in the model object – Ask the view to render itself Shows the transaction was successful Shows when to expect the order to be fulfilled The Controller 9

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

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) 11

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

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 there is one! Some examples – Struts 1 (end of life) – Struts 2 – Spring MVC 13

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

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Compare and contrast 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 tree) – Component libraries that implement re- usable behavior – Components render HTML / JavaScript – Automatic input conversion – Automatic input validation – Page centric High level overview 15

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC JSR 16

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC 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? Version

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC JSR 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 List of supporters (see JCP page) 18

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC JSR Where are we at? – The JSR has just been approved – We are in the process of forming the EG How can I help? – Consider joining the EG – Participate in the Adopt-a-JSR program (JUGs) Where can I get more information? – See the end of the presentation – Talk / contact to the spec leads Where, how and where? 19

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. 20

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC JSR Initial HTML page Managed Bean Result HTML page A rough JSP example 21

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

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Rough 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 … } Managed Bean 23

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

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. The MVC JSR Initial HTML page Managed Bean Result HTML page A rough Facelets example 25

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Rough Facelets example Rough example Initial HTML page 26

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Rough 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 … } Managed Bean 27

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

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Questions & Answers 29

Copyright © 2014, Oracle and/or its affiliates. All rights reserved. Safe Harbor Statement The preceding 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. 30

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