SlideShare uma empresa Scribd logo
1 de 39
Baixar para ler offline
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!

Mais conteúdo relacionado

Semelhante a 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
 

Semelhante a 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
 

Último

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
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
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
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
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
"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
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 

Último (20)

The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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.
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
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
 
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate AgentsRyan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
Ryan Mahoney - Will Artificial Intelligence Replace Real Estate Agents
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
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
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
"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
 
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
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 

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!