SlideShare a Scribd company logo
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!

More Related Content

Similar to 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 architectures
Hyderabad Scalability Meetup
 
Serverless architectures
Serverless architecturesServerless architectures
Serverless architectures
techmaddy
 
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
Red 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, SK
David Wesst
 
From ci to cd - LavaJug 2012
From ci to cd  - LavaJug 2012From ci to cd  - LavaJug 2012
From ci to cd - LavaJug 2012
Henri Gomez
 
Bringing JAMStack to the Enterprise
Bringing JAMStack to the EnterpriseBringing JAMStack to the Enterprise
Bringing JAMStack to the Enterprise
C4Media
 
Úvod do programování 7
Úvod do programování 7Úvod do programování 7
Úvod do programování 7
Karel 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 Introduction
Anthony 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 week
Dr. 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 Arquillian
Ray 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 Applications
Daniel 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 Paris
Quentin 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 and
shubhamrana767862
 
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
cornelia 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 Kubernetes
Wojciech Barczyński
 
Camel on Cloud by Christina Lin
Camel on Cloud by Christina LinCamel on Cloud by Christina Lin
Camel on Cloud by Christina Lin
Tadayoshi Sato
 

Similar to 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
 

Recently uploaded

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
kumardaparthi1024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 

Recently uploaded (20)

Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
GenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizationsGenAI Pilot Implementation in the organizations
GenAI Pilot Implementation in the organizations
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 

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!