SlideShare une entreprise Scribd logo
1  sur  39
Télécharger pour lire hors ligne
INTRO TO STRIPES
 RICHMOND JUG — MARCH 2012
AUDIENCE PARTICIPATION

 THANK YOU ICF IRONWORKS... ROUND II

 THANK YOU STACKEXCHANGE!

 C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON
 RPG.STACKEXCHANGE.COM

                MIX-EE-YEZ-PIT-LIK

                  KEL-TIP-ZIX-UM

* CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
AUDIENCE PARTICIPATION

 THANK YOU ICF IRONWORKS... ROUND II

 THANK YOU STACKEXCHANGE!

 C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON
 RPG.STACKEXCHANGE.COM

                MIX-EE-YEZ-PIT-LIK

                  KEL-TIP-ZIX-UM

* CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
AUDIENCE PARTICIPATION

 THANK YOU ICF IRONWORKS... ROUND II

 THANK YOU STACKEXCHANGE!

 C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON
 RPG.STACKEXCHANGE.COM

                MIX-EE-YEZ-PIT-LIK

                  KEL-TIP-ZIX-UM

* CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
ABOUT THE PRESENTER

TIMOTHY STONE

A SCJP WEB TIER ARCHITECT AND UX/UI ADVOCATE

STRIPES COMMITTER

GNUPG/PGP FINGERPRINT
0248 FAD3 D6BE 008C 27C8 7A72 7249 DE33 22A5 2C82

RPG ADVOCATE
REFEREES WFRP... OK, PLAYS PATHFINDER TOO
(AND LOOKING FOR A GROUP)

GOOGLE PROFILE
JAVAFUELED@GMAIL.COM
THE PITCH

STRIPES IS A PRESENTATION FRAMEWORK FOR BUILDING WEB
APPLICATIONS USING THE LATEST JAVA TECHNOLOGIES.

STRIPES GOALS

  MAKE DEVELOPING WEB APPLICATIONS IN JAVA EASY...???

  PROVIDE SIMPLE YET POWERFUL SOLUTIONS TO COMMON
  PROBLEMS

  MAKE THE STRIPES RAMP UP TIME FOR A NEW DEVELOPER
  LESS THAN 30 MINUTES

  MAKE IT REALLY EASY TO EXTEND STRIPES, WITHOUT MAKING
  YOU CONFIGURE EVERY LAST THING
THE BASE HIT

ZERO EXTERNAL CONFIGURATION PER PAGE/ACTION (ACTIONBEANS ARE AUTO-
DISCOVERED, AND CONFIGURED USING ANNOTATIONS)

POWERFUL BINDING ENGINE THAT WILL BUILD COMPLEX OBJECT WEBS OUT OF THE
REQUEST PARAMETERS

EASY TO USE (AND LOCALIZED) VALIDATION AND TYPE CONVERSION SYSTEM

LOCALIZATION SYSTEM THAT WORKS EVEN WHEN YOU USE DIRECT JSP ⇢ JSP LINKS

ABILITY TO RE-USE ACTIONBEANS AS VIEW HELPERS

EASY TO USE INDEXED PROPERTY SUPPORT

BUILT IN SUPPORT FOR MULTIPLE EVENTS PER FORM

TRANSPARENT FILE UPLOAD CAPABILITIES

SUPPORT FOR INCREMENTAL DEVELOPMENT (E.G. YOU CAN BUILD AND TEST YOUR JSP
BEFORE EVEN THINKING ABOUT YOUR ACTIONBEAN)
MY INTRODUCTION

CONTEXT GOES A LONG WAY, SO ...

  START WITH 10 YEAR OLD LEGACY CREDIT CARD
  APPLICATION PLATFORM

    STRUTS 1.0.2, NO JSTL, WEBLOGIC 10.X

  STRUTS 2?

  SPRING MVC + WEBFLOW?

  OTHERS?
LEGACY PLATFORM


10 YEARS OF CRUFT

LAZY ENGINEERS PUSHING BUSINESS LOGIC TO FRONT

SIGNIFICANT SCRIPTING

HEAVY JSP-BY-WAY-OF-PERL-LIKE ENGINEERING

THE CODE IS THE DOCUMENTATION (WEAK JAVADOC)

STRUTS 1.0.2
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL AND REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

  SOLVE THE PROBLEM OF ON-BOARDING
  JUNIOR DEVELOPERS
HttpSession IS NOT A BAG OF HOLDING
MAKE CODE REVIEWS PART OF GOVERNANCE
CRUCIBLE+FISHEYE

WHY ARE WE PROCESSING THE VIEW THROUGH
INCLUSION FILTERS AGAIN?

CAMPAIGNS HAVE EXPIRATION DATES. WHAT HAPPENS
ON EXPIRATION? WHAT REGULATIONS ARE APPLICABLE
ON EXPIRATION?

JAVADOC, DESIGN DOCUMENTS, BUSINESS PROCESSES




 REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
BUSINESS KNOWS THE DURATION OF A CAMPAIGN
AND THE EXPIRATION DATE

BUSINESS KNOWS HOW A CAMPAIGN EXPIRES, THE
REGULATION, AND THE REPLACEMENT CAMPAIGN

BUSINESS ALREADY HAS BOTH THE REPOSITORY AND
THE CHANGE CONTROL IN PRODUCTION

REMOVE DEVELOPMENT FROM CAMPAIGN DATA
MANAGEMENT




                      PUT BUSINESS IN CONTROL
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
THE BUSINESS TOOLS ALREADY HAVE ALL THE
CAMPAIGN DATA, STOP REKEYING IT




                               REDUCE ERRORS
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
UI 10 YEARS OLD

SERVICES. SERVICES. SERVICES.

GRADUATE DATA




                  UPDATE PLATFORM FRONT TO BACK
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
WHEN ONE SEES A JSP LIKE THIS:
<%@ page import=”...”%>
<%
    Enumeration e = request.getParameters();
    while(e.hasMoreElements()) {
      //put parameters on session
    }
    ...
    ...
    ...
    // 200 lines later
%>


IT’S TIME TO READ THE JSP SPECIFICATION.
PAYING CLOSE ATTENTION TO 3.3.3:
<jsp-property-group>
  <url-pattern>*.jsp</url-pattern>
  <scripting-invalid>true</scripting-invalid>
</jsp-property-group>




  ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
EVER TRIED TO RUN WEBLOGIC 10.X LOCALLY? ON WIN
XP? 4GB... NO, 3GB RAM?

EVER ASKED A JUNIOR DEVELOPER TO DO IT?

EVER ASKED A JUNIOR DEVELOPER SETUP MAVEN
RUNNING, DEPLOY TO WEBLOGIC, DEBUG A JSP... OH,
BUT NOT BEFORE INSTALLING ECLIPSE?




   SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
HOW DO WE GET TO “FULL IDE DEV CYCLE”?

    CALL IT “PRESS THE GREEN BUTTON” OR “PRESS
    PLAY” DEVELOPMENT




SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
GOALS

REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT

PUT BUSINESS IN CONTROL

REDUCE ERRORS

UPDATE PLATFORM FRONT TO BACK

ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS

SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE

SOLVE THE PROBLEM OF ON-BOARDING
JUNIOR DEVELOPERS
EVALUATIONS


APPLY GOALS TO SOLUTIONS IN EVALUATION

NO ONE SELLS MVC FRAMEWORKS, ONLY SUPPORT

MEET THE CHALLENGERS:

  STRUTS

  SPRING MVC

  STRIPES
STRUTS EVALUATION

LEGACY ON STRUTS 1.0.2

  STRUTS 1.2
  MODERATE REENGINEERING; perform DEPRECATED

  STRUTS 1.3
  SIGNIFICANT REENGINEERING, NIGH REWRITE; execute

  STRUTS 2
  FULL REWRITE

PROS: DEVELOPER AVAILABILITY

CONS: VERSION CEILING WITHOUT FULL REWRITE
SPRING MVC EVALUATION

PROS

 SUBJECTIVELY SPEAKING: BETTER THAN STRUTS 2

 DEVELOPER AVAILABILITY

 STACK INTEGRATION

CONS

 SOME CONVENTION, MOSTLY CONFIGURATION

 FULL REWRITE
COMMON PAIN POINTS



NO ESCAPING FULL REWRITE

FRAMEWORKS MAY ADD NEW TECHNOLOGIES TO LEARN

ENGINEER CENTRIC

CONFIGURATION VERSUS CONVENTION
STRIPES EVALUATION

PROS

 LIGHTWEIGHT

 ALL CONVENTION

 FEATURE RICH AND LATENT FUNCTIONALITY

CONS

 DEVELOPER AVAILABILITY

 FULL REWRITE
LEGACY TO NEXT GEN

STRIPES VS. ET. AL... STRIPES PREVAILS. HOW? WHY?

  THE STRIPES PROTOTYPE TEAM DELIVERED COMPLETE
  FEATURES TWO WEEKS BEFORE STRUTS AND SPRING

  STRUTS AND SPRING TEAMS COULD NOT DEMONSTRATE
  KEY PATCH AND DEPLOYMENT REQUIREMENTS

STRIPES SOLVED SIMPLY WHERE STRUTS AND SPRING
REQUIRED NEW LEARNING AND OPERATIONAL CHANGE

ENGINEERS CAN DIG TO EXPLOIT, BUT GETS OUT OF THE
WAY FOR EVERYONE ELSE
LEGACY TO NEXT GEN


MAVENIZE APPLICATION END-TO-END

  ALL SERVICES

  ALL CONTENT

  ...EVERYTHING

WE’LL SEE SOME OF CONTENT AND LOGIC TONIGHT
STRIPES... AND JAVA WEB
DEVELOPMENT IS FUN AGAIN*
COVERED

   ACTION BEANS AND AUTO CONFIGURATION

   EVENT HANDLING

   LAYOUTS

   VALIDATION

   GET-AFTER-POST

NOT COVERED

   SPRING BEANS, HIBERNATE (STRIPERSIST), ETC.

   INTERCEPTORS AND STRIPES REQUEST LIFECYCLE

   WIZARDS

* FREDDY DAOUD, AUTHOR
STRIPES MAVEN QUICKSTART

  NETBEANS BUG 208146

  NOT IN MAVEN CENTRAL... YET. BUT SOON.

BASIC ACTIONBEAN

WEB.XML

SO? WONDER WHERE STRUTS 2 GOT THE IDEA?




          ACTION BEANS AND AUTO CONFIGURATION
STRIPES EVENTS ARE VIEW RESOLUTIONS

EASILY ENFORCES THE PRE-ACTION PATTERN IN MVC

BASIC ACTIONBEAN

ADVANCED ACTIONBEAN

RESOLUTION VARIETY

  FORWARD, REDIRECT, JAVASCRIPT, STREAMING,
  ERROR... EXTENDABLE




                               EVENT HANDLING
STRIPES LAYOUT TAG LIBRARY

  SIMPLE AND ROBUST

  DYNAMIC

  WEBLOGIC 10.X ISSUE AND WORKAROUND

SIMPLE EXAMPLE

COMPLEX EXAMPLE




                                       LAYOUTS
STRIPES VALIDATION GETS OUT OF THE WAY

   ZERO, NADA, NO EXTERNAL CONFIGURATION

   FULLY ANNOTATED IN ACTIONBEANS

   NIGH INSTANT SERVER SIDE VALIDATION; EASILY COUPLED WITH CLIENT SIDE VALIDATION

   DYNAMIC AND EXTENSIBLE

   COMPLEX VALIDATION THROUGH

       TYPE CONVERTERS

       FORMATTERS

SIMPLE EXAMPLE

   BASIC FIELD VALIDATION

COMPLEX EXAMPLE

   OBJECT VALIDATION AND VALIDATION METHODS




                                                                 VALIDATION
WHAT IS THIS... GET-AFTER-POST?

WHY?

HOW STRIPES MAKES IT EASY




                                  GET-AFTER-POST
RESOURCES


IRC.FREENODE.NET#STRIPES

USER AND DEVELOPER MAILING LISTS

WWW.STRIPESFRAMEWORK.ORG

STRIPES...AND JAVA WEB DEVELOPMENT IS FUN AGAIN
BY FREDERIC DAOUD (PRAGPROG PRESS)

THE SOURCE IS ... ACTUALLY READABLE!
RESOURCES


IRC.FREENODE.NET#STRIPES

USER AND DEVELOPER MAILING LISTS

WWW.STRIPESFRAMEWORK.ORG

STRIPES...AND JAVA WEB DEVELOPMENT IS FUN AGAIN
BY FREDERIC DAOUD (PRAGPROG PRESS)

THE SOURCE IS ... ACTUALLY READABLE!

Contenu connexe

Similaire à Stripes RJUG March 2012

Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?cornelia davis
 
Serverless architectures
Serverless architecturesServerless architectures
Serverless architecturestechmaddy
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkRed Hat Developers
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Yan Cui
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKDavid Wesst
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012Henri Gomez
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseC4Media
 
Úvod do programování 7
Úvod do programování 7Úvod do programování 7
Úvod do programování 7Karel Minarik
 
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?Gene Kim
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Yan Cui
 
Dropwizard Introduction
Dropwizard IntroductionDropwizard Introduction
Dropwizard IntroductionAnthony Chen
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekDr. Felix Raab
 
Developer Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianDeveloper Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianRay Ploski
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise ApplicationsDaniel Oh
 
The End of server management - Continuous delivery meetup Paris
The End of server management  - Continuous delivery meetup ParisThe End of server management  - Continuous delivery meetup Paris
The End of server management - Continuous delivery meetup ParisQuentin Adam
 
Best online js training institute in chandigarh and
Best  online   js  training institute  in chandigarh  andBest  online   js  training institute  in chandigarh  and
Best online js training institute in chandigarh andshubhamrana767862
 
Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016cornelia davis
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesWojciech Barczyński
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina LinTadayoshi Sato
 

Similaire à Stripes RJUG March 2012 (20)

Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?Velocity NY 2016 - Devops: Who Does What?
Velocity NY 2016 - Devops: Who Does What?
 
Serverless architectures
Serverless architecturesServerless architectures
Serverless architectures
 
Serverless architectures
Serverless architecturesServerless architectures
Serverless architectures
 
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech TalkCloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
Cloud-Native Modernization or Death? A false dichotomy. | DevNation Tech Talk
 
Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)Serverless in production, an experience report (FullStack 2018)
Serverless in production, an experience report (FullStack 2018)
 
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SKJavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
JavaScript Revolution - 5/Nov/13 - PrDC Saskatoon, SK
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
 
Úvod do programování 7
Úvod do programování 7Úvod do programování 7
Úvod do programování 7
 
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
DOES SFO 2016 - Cornelia Davis - DevOps: Who Does What?
 
Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)Serverless in Production, an experience report (AWS UG South Wales)
Serverless in Production, an experience report (AWS UG South Wales)
 
Dropwizard Introduction
Dropwizard IntroductionDropwizard Introduction
Dropwizard Introduction
 
Building a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one weekBuilding a full-stack app with Golang and Google Cloud Platform in one week
Building a full-stack app with Golang and Google Cloud Platform in one week
 
Developer Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and ArquillianDeveloper Productivity with Forge, Java EE 6 and Arquillian
Developer Productivity with Forge, Java EE 6 and Arquillian
 
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications[RHFSeoul2017]6 Steps to Transform Enterprise Applications
[RHFSeoul2017]6 Steps to Transform Enterprise Applications
 
The End of server management - Continuous delivery meetup Paris
The End of server management  - Continuous delivery meetup ParisThe End of server management  - Continuous delivery meetup Paris
The End of server management - Continuous delivery meetup Paris
 
Best online js training institute in chandigarh and
Best  online   js  training institute  in chandigarh  andBest  online   js  training institute  in chandigarh  and
Best online js training institute in chandigarh and
 
Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016Devops: Who Does What? - Devops Enterprise Summit 2016
Devops: Who Does What? - Devops Enterprise Summit 2016
 
Zero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with KubernetesZero-downtime deployment of Micro-services with Kubernetes
Zero-downtime deployment of Micro-services with Kubernetes
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
 

Dernier

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 

Dernier (20)

The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 

Stripes RJUG March 2012

  • 1. INTRO TO STRIPES RICHMOND JUG — MARCH 2012
  • 2. AUDIENCE PARTICIPATION THANK YOU ICF IRONWORKS... ROUND II THANK YOU STACKEXCHANGE! C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON RPG.STACKEXCHANGE.COM MIX-EE-YEZ-PIT-LIK KEL-TIP-ZIX-UM * CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
  • 3. AUDIENCE PARTICIPATION THANK YOU ICF IRONWORKS... ROUND II THANK YOU STACKEXCHANGE! C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON RPG.STACKEXCHANGE.COM MIX-EE-YEZ-PIT-LIK KEL-TIP-ZIX-UM * CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
  • 4. AUDIENCE PARTICIPATION THANK YOU ICF IRONWORKS... ROUND II THANK YOU STACKEXCHANGE! C.H.A.O.S.* HAT TIP TO ‘MXYZPLK’ ON RPG.STACKEXCHANGE.COM MIX-EE-YEZ-PIT-LIK KEL-TIP-ZIX-UM * CHEERFUL HAPPY ADVOCATES OF STACKEXCHANGE
  • 5. ABOUT THE PRESENTER TIMOTHY STONE A SCJP WEB TIER ARCHITECT AND UX/UI ADVOCATE STRIPES COMMITTER GNUPG/PGP FINGERPRINT 0248 FAD3 D6BE 008C 27C8 7A72 7249 DE33 22A5 2C82 RPG ADVOCATE REFEREES WFRP... OK, PLAYS PATHFINDER TOO (AND LOOKING FOR A GROUP) GOOGLE PROFILE JAVAFUELED@GMAIL.COM
  • 6. THE PITCH STRIPES IS A PRESENTATION FRAMEWORK FOR BUILDING WEB APPLICATIONS USING THE LATEST JAVA TECHNOLOGIES. STRIPES GOALS MAKE DEVELOPING WEB APPLICATIONS IN JAVA EASY...??? PROVIDE SIMPLE YET POWERFUL SOLUTIONS TO COMMON PROBLEMS MAKE THE STRIPES RAMP UP TIME FOR A NEW DEVELOPER LESS THAN 30 MINUTES MAKE IT REALLY EASY TO EXTEND STRIPES, WITHOUT MAKING YOU CONFIGURE EVERY LAST THING
  • 7. THE BASE HIT ZERO EXTERNAL CONFIGURATION PER PAGE/ACTION (ACTIONBEANS ARE AUTO- DISCOVERED, AND CONFIGURED USING ANNOTATIONS) POWERFUL BINDING ENGINE THAT WILL BUILD COMPLEX OBJECT WEBS OUT OF THE REQUEST PARAMETERS EASY TO USE (AND LOCALIZED) VALIDATION AND TYPE CONVERSION SYSTEM LOCALIZATION SYSTEM THAT WORKS EVEN WHEN YOU USE DIRECT JSP ⇢ JSP LINKS ABILITY TO RE-USE ACTIONBEANS AS VIEW HELPERS EASY TO USE INDEXED PROPERTY SUPPORT BUILT IN SUPPORT FOR MULTIPLE EVENTS PER FORM TRANSPARENT FILE UPLOAD CAPABILITIES SUPPORT FOR INCREMENTAL DEVELOPMENT (E.G. YOU CAN BUILD AND TEST YOUR JSP BEFORE EVEN THINKING ABOUT YOUR ACTIONBEAN)
  • 8. MY INTRODUCTION CONTEXT GOES A LONG WAY, SO ... START WITH 10 YEAR OLD LEGACY CREDIT CARD APPLICATION PLATFORM STRUTS 1.0.2, NO JSTL, WEBLOGIC 10.X STRUTS 2? SPRING MVC + WEBFLOW? OTHERS?
  • 9. LEGACY PLATFORM 10 YEARS OF CRUFT LAZY ENGINEERS PUSHING BUSINESS LOGIC TO FRONT SIGNIFICANT SCRIPTING HEAVY JSP-BY-WAY-OF-PERL-LIKE ENGINEERING THE CODE IS THE DOCUMENTATION (WEAK JAVADOC) STRUTS 1.0.2
  • 10. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL AND REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 11. HttpSession IS NOT A BAG OF HOLDING MAKE CODE REVIEWS PART OF GOVERNANCE CRUCIBLE+FISHEYE WHY ARE WE PROCESSING THE VIEW THROUGH INCLUSION FILTERS AGAIN? CAMPAIGNS HAVE EXPIRATION DATES. WHAT HAPPENS ON EXPIRATION? WHAT REGULATIONS ARE APPLICABLE ON EXPIRATION? JAVADOC, DESIGN DOCUMENTS, BUSINESS PROCESSES REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT
  • 12. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 13. BUSINESS KNOWS THE DURATION OF A CAMPAIGN AND THE EXPIRATION DATE BUSINESS KNOWS HOW A CAMPAIGN EXPIRES, THE REGULATION, AND THE REPLACEMENT CAMPAIGN BUSINESS ALREADY HAS BOTH THE REPOSITORY AND THE CHANGE CONTROL IN PRODUCTION REMOVE DEVELOPMENT FROM CAMPAIGN DATA MANAGEMENT PUT BUSINESS IN CONTROL
  • 14. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 15. THE BUSINESS TOOLS ALREADY HAVE ALL THE CAMPAIGN DATA, STOP REKEYING IT REDUCE ERRORS
  • 16. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 17. UI 10 YEARS OLD SERVICES. SERVICES. SERVICES. GRADUATE DATA UPDATE PLATFORM FRONT TO BACK
  • 18. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 19. WHEN ONE SEES A JSP LIKE THIS: <%@ page import=”...”%> <% Enumeration e = request.getParameters(); while(e.hasMoreElements()) { //put parameters on session } ... ... ... // 200 lines later %> IT’S TIME TO READ THE JSP SPECIFICATION. PAYING CLOSE ATTENTION TO 3.3.3: <jsp-property-group> <url-pattern>*.jsp</url-pattern> <scripting-invalid>true</scripting-invalid> </jsp-property-group> ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS
  • 20. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 21. EVER TRIED TO RUN WEBLOGIC 10.X LOCALLY? ON WIN XP? 4GB... NO, 3GB RAM? EVER ASKED A JUNIOR DEVELOPER TO DO IT? EVER ASKED A JUNIOR DEVELOPER SETUP MAVEN RUNNING, DEPLOY TO WEBLOGIC, DEBUG A JSP... OH, BUT NOT BEFORE INSTALLING ECLIPSE? SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE
  • 22. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 23. HOW DO WE GET TO “FULL IDE DEV CYCLE”? CALL IT “PRESS THE GREEN BUTTON” OR “PRESS PLAY” DEVELOPMENT SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 24. GOALS REMOVE THE CRUFT, DECODE, INTERVIEW, DOCUMENT PUT BUSINESS IN CONTROL REDUCE ERRORS UPDATE PLATFORM FRONT TO BACK ELIMINATE SCRIPTING AND ENFORCE MVC PATTERNS SIMPLIFY DEVELOPMENT — FULL IDE DEV LIFECYCLE SOLVE THE PROBLEM OF ON-BOARDING JUNIOR DEVELOPERS
  • 25. EVALUATIONS APPLY GOALS TO SOLUTIONS IN EVALUATION NO ONE SELLS MVC FRAMEWORKS, ONLY SUPPORT MEET THE CHALLENGERS: STRUTS SPRING MVC STRIPES
  • 26. STRUTS EVALUATION LEGACY ON STRUTS 1.0.2 STRUTS 1.2 MODERATE REENGINEERING; perform DEPRECATED STRUTS 1.3 SIGNIFICANT REENGINEERING, NIGH REWRITE; execute STRUTS 2 FULL REWRITE PROS: DEVELOPER AVAILABILITY CONS: VERSION CEILING WITHOUT FULL REWRITE
  • 27. SPRING MVC EVALUATION PROS SUBJECTIVELY SPEAKING: BETTER THAN STRUTS 2 DEVELOPER AVAILABILITY STACK INTEGRATION CONS SOME CONVENTION, MOSTLY CONFIGURATION FULL REWRITE
  • 28. COMMON PAIN POINTS NO ESCAPING FULL REWRITE FRAMEWORKS MAY ADD NEW TECHNOLOGIES TO LEARN ENGINEER CENTRIC CONFIGURATION VERSUS CONVENTION
  • 29. STRIPES EVALUATION PROS LIGHTWEIGHT ALL CONVENTION FEATURE RICH AND LATENT FUNCTIONALITY CONS DEVELOPER AVAILABILITY FULL REWRITE
  • 30. LEGACY TO NEXT GEN STRIPES VS. ET. AL... STRIPES PREVAILS. HOW? WHY? THE STRIPES PROTOTYPE TEAM DELIVERED COMPLETE FEATURES TWO WEEKS BEFORE STRUTS AND SPRING STRUTS AND SPRING TEAMS COULD NOT DEMONSTRATE KEY PATCH AND DEPLOYMENT REQUIREMENTS STRIPES SOLVED SIMPLY WHERE STRUTS AND SPRING REQUIRED NEW LEARNING AND OPERATIONAL CHANGE ENGINEERS CAN DIG TO EXPLOIT, BUT GETS OUT OF THE WAY FOR EVERYONE ELSE
  • 31. LEGACY TO NEXT GEN MAVENIZE APPLICATION END-TO-END ALL SERVICES ALL CONTENT ...EVERYTHING WE’LL SEE SOME OF CONTENT AND LOGIC TONIGHT
  • 32. STRIPES... AND JAVA WEB DEVELOPMENT IS FUN AGAIN* COVERED ACTION BEANS AND AUTO CONFIGURATION EVENT HANDLING LAYOUTS VALIDATION GET-AFTER-POST NOT COVERED SPRING BEANS, HIBERNATE (STRIPERSIST), ETC. INTERCEPTORS AND STRIPES REQUEST LIFECYCLE WIZARDS * FREDDY DAOUD, AUTHOR
  • 33. STRIPES MAVEN QUICKSTART NETBEANS BUG 208146 NOT IN MAVEN CENTRAL... YET. BUT SOON. BASIC ACTIONBEAN WEB.XML SO? WONDER WHERE STRUTS 2 GOT THE IDEA? ACTION BEANS AND AUTO CONFIGURATION
  • 34. STRIPES EVENTS ARE VIEW RESOLUTIONS EASILY ENFORCES THE PRE-ACTION PATTERN IN MVC BASIC ACTIONBEAN ADVANCED ACTIONBEAN RESOLUTION VARIETY FORWARD, REDIRECT, JAVASCRIPT, STREAMING, ERROR... EXTENDABLE EVENT HANDLING
  • 35. STRIPES LAYOUT TAG LIBRARY SIMPLE AND ROBUST DYNAMIC WEBLOGIC 10.X ISSUE AND WORKAROUND SIMPLE EXAMPLE COMPLEX EXAMPLE LAYOUTS
  • 36. STRIPES VALIDATION GETS OUT OF THE WAY ZERO, NADA, NO EXTERNAL CONFIGURATION FULLY ANNOTATED IN ACTIONBEANS NIGH INSTANT SERVER SIDE VALIDATION; EASILY COUPLED WITH CLIENT SIDE VALIDATION DYNAMIC AND EXTENSIBLE COMPLEX VALIDATION THROUGH TYPE CONVERTERS FORMATTERS SIMPLE EXAMPLE BASIC FIELD VALIDATION COMPLEX EXAMPLE OBJECT VALIDATION AND VALIDATION METHODS VALIDATION
  • 37. WHAT IS THIS... GET-AFTER-POST? WHY? HOW STRIPES MAKES IT EASY GET-AFTER-POST
  • 38. RESOURCES IRC.FREENODE.NET#STRIPES USER AND DEVELOPER MAILING LISTS WWW.STRIPESFRAMEWORK.ORG STRIPES...AND JAVA WEB DEVELOPMENT IS FUN AGAIN BY FREDERIC DAOUD (PRAGPROG PRESS) THE SOURCE IS ... ACTUALLY READABLE!
  • 39. RESOURCES IRC.FREENODE.NET#STRIPES USER AND DEVELOPER MAILING LISTS WWW.STRIPESFRAMEWORK.ORG STRIPES...AND JAVA WEB DEVELOPMENT IS FUN AGAIN BY FREDERIC DAOUD (PRAGPROG PRESS) THE SOURCE IS ... ACTUALLY READABLE!