SlideShare ist ein Scribd-Unternehmen logo
1 von 26
MVC 1.0
Manfred Riem (@mnriem)
Oracle
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
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
1
2
3
4
5
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. |
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. |
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
Demos
Recap
Questions and Answers
1
2
3
4
5
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 first Early Draft has just been published
– Our first Milestone release is available
• How can I help?
– Join the users@mvc-spec.java.net mailing list and comment
– Participate in the Adopt-a-JSR program (JUGs)
– Test out milestones / snapshots from the RI website
(http://ozark.java.net) and file issues if something is not working
– 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
• How are we going to protect against Cross-Site Request Forgery?
• Since the users@mvc-spec.java.net mailing list gets every mail the EG sends
you can follow all the discussions happening
• 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. |
Agenda
MVC
MVC 1.0 JSR
Demos
Recap
Questions and Answers
1
2
3
4
5
E
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Demos
• Switching gears and showing you where we are at!
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Agenda
MVC
MVC 1.0 JSR
Demos
Recap
Questions and Answers
1
2
3
4
5
E
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Recap
• Doing MVC now is not a bad idea, because we are:
– We are leveraging CDI
– We are leveraging Facelets
– We are delivering an easy migration path if you are using JSPs
– We will be leveraging Servlet 4.0 (ServerPush)
• Can you get involved? Yes, how:
– Join our users mailing list
– Tweet about MVC
– Blog about MVC
– Test out SNAPSHOT and milestone builds from https://ozark.java.net
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Recap (continued)
• View Engines
– JSP
– Facelets
– FreeMarker*
– Mustache*
– Thymeleaf*
– Velocity*
– Handlebars*
* Delivered and supported by MVC community, not required by the MVC specification
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Links
• MVC specification
– Website http://mvc-spec.java.net
– Users Mailing List users@mvc-spec.java.net
• MVC implementation
– Website http://ozark.java.net
– Users Mailing List users@ozark.java.net
• Spec leads
– Santiago (@spericas)
– Manfred (@mnriem, https://www.java.net/blogs/mriem, http://mvc.zeef.com/manfred.riem )
Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
Questions?
• Ask them now
• Talk to me afterwards
2015 UJUG, MVC 1.0 portion

Weitere ähnliche Inhalte

Was ist angesagt?

Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesTyto Software
 
Aurelia Meetup Paris
Aurelia Meetup ParisAurelia Meetup Paris
Aurelia Meetup ParisAhmed Radjdi
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2Long Nguyen
 
Ektron Synergy 2014 - A Case Study in Using MVC with Ektron
Ektron Synergy 2014 - A Case Study in Using MVC with EktronEktron Synergy 2014 - A Case Study in Using MVC with Ektron
Ektron Synergy 2014 - A Case Study in Using MVC with EktronEktron
 
My XML is Alive! An Intro to XAML
My XML is Alive! An Intro to XAMLMy XML is Alive! An Intro to XAML
My XML is Alive! An Intro to XAMLJeremy Likness
 
How to build a JavaScript toolkit
How to build a JavaScript toolkitHow to build a JavaScript toolkit
How to build a JavaScript toolkitMichael Nelson
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionPawanMM
 
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Edureka!
 
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...mfrancis
 
Intro to Service Worker API and its use cases
Intro to Service Worker API and its use casesIntro to Service Worker API and its use cases
Intro to Service Worker API and its use casessatejsahu
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applicationsJulien Dubois
 
PHP Framework
PHP FrameworkPHP Framework
PHP Frameworkceleroo
 
Session 42 - Struts 2 Hibernate Integration
Session 42 - Struts 2 Hibernate IntegrationSession 42 - Struts 2 Hibernate Integration
Session 42 - Struts 2 Hibernate IntegrationPawanMM
 
ASP .NET MVC
ASP .NET MVC ASP .NET MVC
ASP .NET MVC eldorina
 
Spring - Part 4 - Spring MVC
Spring - Part 4 - Spring MVCSpring - Part 4 - Spring MVC
Spring - Part 4 - Spring MVCHitesh-Java
 

Was ist angesagt? (20)

Keeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework GuidelinesKeeping Pace with Product Evolution - UI Automation Framework Guidelines
Keeping Pace with Product Evolution - UI Automation Framework Guidelines
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
Aurelia Meetup Paris
Aurelia Meetup ParisAurelia Meetup Paris
Aurelia Meetup Paris
 
Enterprise TypeScript
Enterprise TypeScriptEnterprise TypeScript
Enterprise TypeScript
 
Struts 2-overview2
Struts 2-overview2Struts 2-overview2
Struts 2-overview2
 
ASP.NET MVC for Begineers
ASP.NET MVC for BegineersASP.NET MVC for Begineers
ASP.NET MVC for Begineers
 
Ektron Synergy 2014 - A Case Study in Using MVC with Ektron
Ektron Synergy 2014 - A Case Study in Using MVC with EktronEktron Synergy 2014 - A Case Study in Using MVC with Ektron
Ektron Synergy 2014 - A Case Study in Using MVC with Ektron
 
My XML is Alive! An Intro to XAML
My XML is Alive! An Intro to XAMLMy XML is Alive! An Intro to XAML
My XML is Alive! An Intro to XAML
 
How to build a JavaScript toolkit
How to build a JavaScript toolkitHow to build a JavaScript toolkit
How to build a JavaScript toolkit
 
Session 41 - Struts 2 Introduction
Session 41 - Struts 2 IntroductionSession 41 - Struts 2 Introduction
Session 41 - Struts 2 Introduction
 
Introduction to Angular Js
Introduction to Angular JsIntroduction to Angular Js
Introduction to Angular Js
 
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
Spring Interview Questions and Answers | Spring Tutorial | Spring Framework T...
 
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
Just-in-time Java EE - provisioning runtimes for enterprise applications - Ja...
 
Intro to Service Worker API and its use cases
Intro to Service Worker API and its use casesIntro to Service Worker API and its use cases
Intro to Service Worker API and its use cases
 
ASP .NET MVC - best practices
ASP .NET MVC - best practicesASP .NET MVC - best practices
ASP .NET MVC - best practices
 
Developing modular Java applications
Developing modular Java applicationsDeveloping modular Java applications
Developing modular Java applications
 
PHP Framework
PHP FrameworkPHP Framework
PHP Framework
 
Session 42 - Struts 2 Hibernate Integration
Session 42 - Struts 2 Hibernate IntegrationSession 42 - Struts 2 Hibernate Integration
Session 42 - Struts 2 Hibernate Integration
 
ASP .NET MVC
ASP .NET MVC ASP .NET MVC
ASP .NET MVC
 
Spring - Part 4 - Spring MVC
Spring - Part 4 - Spring MVCSpring - Part 4 - Spring MVC
Spring - Part 4 - Spring MVC
 

Ähnlich wie 2015 UJUG, MVC 1.0 portion

MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017Innovation Studio
 
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementUsing MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementMark Matthews
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
01 introduction to struts2
01 introduction to struts201 introduction to struts2
01 introduction to struts2Smita B Kumar
 
2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portion2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portionmnriem
 
Mvc presentation
Mvc presentationMvc presentation
Mvc presentationMaslowB
 
Fast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCFast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCAnkit Kashyap
 
ASP.NET MVC Best Practices malisa ncube
ASP.NET MVC Best Practices   malisa ncubeASP.NET MVC Best Practices   malisa ncube
ASP.NET MVC Best Practices malisa ncubeMalisa Ncube
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?Edward Burns
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckEdward Burns
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsPavel Bucek
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)Pavel Bucek
 
Sitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's importantSitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's importantnonlinear creations
 

Ähnlich wie 2015 UJUG, MVC 1.0 portion (20)

MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
Sitecore mvc
Sitecore mvcSitecore mvc
Sitecore mvc
 
MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017MVC architecture by Mohd.Awais on 18th Aug, 2017
MVC architecture by Mohd.Awais on 18th Aug, 2017
 
Using MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance ImprovementUsing MySQL Enterprise Monitor for Continuous Performance Improvement
Using MySQL Enterprise Monitor for Continuous Performance Improvement
 
Laravel session 1
Laravel  session 1Laravel  session 1
Laravel session 1
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
01 introduction to struts2
01 introduction to struts201 introduction to struts2
01 introduction to struts2
 
2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portion2015 UJUG, JSF 2.3 portion
2015 UJUG, JSF 2.3 portion
 
Mvc presentation
Mvc presentationMvc presentation
Mvc presentation
 
Module2
Module2Module2
Module2
 
Fast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVCFast Track introduction to ASP.NET MVC
Fast Track introduction to ASP.NET MVC
 
ASP.NET MVC Best Practices malisa ncube
ASP.NET MVC Best Practices   malisa ncubeASP.NET MVC Best Practices   malisa ncube
ASP.NET MVC Best Practices malisa ncube
 
Oracle JET overview
Oracle JET overviewOracle JET overview
Oracle JET overview
 
JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?JavaOne 2014 BOF4241 What's Next for JSF?
JavaOne 2014 BOF4241 What's Next for JSF?
 
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute InfodeckJSF 2.3 Adopt-a-JSR 10 Minute Infodeck
JSF 2.3 Adopt-a-JSR 10 Minute Infodeck
 
WebSockets in Enterprise Applications
WebSockets in Enterprise ApplicationsWebSockets in Enterprise Applications
WebSockets in Enterprise Applications
 
MVP Clean Architecture
MVP Clean  Architecture MVP Clean  Architecture
MVP Clean Architecture
 
What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)What's next for Java API for WebSocket (JSR 356)
What's next for Java API for WebSocket (JSR 356)
 
Sitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's importantSitecore MVC: What it is and why it's important
Sitecore MVC: What it is and why it's important
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 

Kürzlich hochgeladen

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...apidays
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 

Kürzlich hochgeladen (20)

CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

2015 UJUG, MVC 1.0 portion

  • 1. MVC 1.0 Manfred Riem (@mnriem) Oracle Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 2. 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
  • 3. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Some examples MVC tooling Questions and Answers 1 2 3 4 5 E
  • 4. 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
  • 5. 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
  • 6. 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.
  • 7. 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
  • 8. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Different styles of MVC • Component-based MVC • Action-based MVC • Other styles
  • 9. 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)
  • 10. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 11. 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
  • 12. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. |
  • 13. 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
  • 14. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Demos Recap Questions and Answers 1 2 3 4 5 E
  • 15. 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?
  • 16. 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)
  • 17. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Where and how? • Where are we at? – The first Early Draft has just been published – Our first Milestone release is available • How can I help? – Join the users@mvc-spec.java.net mailing list and comment – Participate in the Adopt-a-JSR program (JUGs) – Test out milestones / snapshots from the RI website (http://ozark.java.net) and file issues if something is not working – Tweet, blog, socialize to raise awareness about MVC 1.0
  • 18. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | An example about the EG process • How are we going to protect against Cross-Site Request Forgery? • Since the users@mvc-spec.java.net mailing list gets every mail the EG sends you can follow all the discussions happening • What do you think? – Tell us on the mailing list – Tweet about it – Talk to me after the session • Why do I ask?
  • 19. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Demos Recap Questions and Answers 1 2 3 4 5 E
  • 20. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Demos • Switching gears and showing you where we are at!
  • 21. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Agenda MVC MVC 1.0 JSR Demos Recap Questions and Answers 1 2 3 4 5 E
  • 22. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Recap • Doing MVC now is not a bad idea, because we are: – We are leveraging CDI – We are leveraging Facelets – We are delivering an easy migration path if you are using JSPs – We will be leveraging Servlet 4.0 (ServerPush) • Can you get involved? Yes, how: – Join our users mailing list – Tweet about MVC – Blog about MVC – Test out SNAPSHOT and milestone builds from https://ozark.java.net
  • 23. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Recap (continued) • View Engines – JSP – Facelets – FreeMarker* – Mustache* – Thymeleaf* – Velocity* – Handlebars* * Delivered and supported by MVC community, not required by the MVC specification
  • 24. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Links • MVC specification – Website http://mvc-spec.java.net – Users Mailing List users@mvc-spec.java.net • MVC implementation – Website http://ozark.java.net – Users Mailing List users@ozark.java.net • Spec leads – Santiago (@spericas) – Manfred (@mnriem, https://www.java.net/blogs/mriem, http://mvc.zeef.com/manfred.riem )
  • 25. Copyright © 2014, Oracle and/or its affiliates. All rights reserved. | Questions? • Ask them now • Talk to me afterwards

Hinweis der Redaktion

  1. This is a Safe Harbor Front slide, one of two Safe Harbor Statement slides included in this template. One of the Safe Harbor slides must be used if your presentation covers material affected by Oracle’s Revenue Recognition Policy To learn more about this policy, e-mail: Revrec-americasiebc_us@oracle.com For internal communication, Safe Harbor Statements are not required. However, there is an applicable disclaimer (Exhibit E) that should be used, found in the Oracle Revenue Recognition Policy for Future Product Communications. Copy and paste this link into a web browser, to find out more information. http://my.oracle.com/site/fin/gfo/GlobalProcesses/cnt452504.pdf For all external communications such as press release, roadmaps, PowerPoint presentations, Safe Harbor Statements are required. You can refer to the link mentioned above to find out additional information/disclaimers required depending on your audience.