click to play button
click to replay button
Extending CAS Using Spring Web Flow 20100309 11.54.13AM
X
  1. Extending CAS Using Spring Web Flow
  2. Slide 2
  3. Overview
  4. Disclaimer
  5. What Is Spring Web Flow?
  6. What Is Spring Web Flow?
  7. How Does CAS Use Spring Web Flow?
  8. What Is Spring Web Flow?
  9. What Is Spring Web Flow?
  10. What Is Spring Web Flow?
  11. How Does CAS Use Spring Web Flow?
  12. How Does CAS Use Spring Web Flow?
  13. How Does CAS Use Spring Web Flow?
  14. How Does CAS Use Spring Web Flow?
  15. Adding New Functionality
  16. Why Use SWF to Extend CAS?
  17. New Bean
  18. New View
  19. New Action State
  20. Demo
  21. New Action State
  22. Questions?
  23. Demo
  24. New Action State
  25. New View
  26. New Bean
00:00 / 00:00
CC
Extending CAS Using Spring Web Flow Adam Rybicki 2010 Jasig Conference, San Diego, CA March 8, 2010 © Copyright Unicon, Inc., 2009. This work is the intellectual property of Unicon, Inc. Permission is granted for this material to be shared for non-commercial, educational purposes, provided that this copyright statement appears on the reproduced materials and notice is given that the copying is by permission of Unicon, Inc. To disseminate otherwise or to republish requires written permission from Unicon, Inc. Overview What is Spring Web Flow? How CAS Uses Spring Web Flow? Adding to the CAS Flow Adding Action Beans Adding Views Example Password Update Extension Q/A Overview What Is Spring Web Flow? How Does CAS Use Spring Web Flow? Disclaimer This presentation is not a comprehensive Spring Web Flow (SWF) introduction It is not even a SWF overview The presenter is not a SWF expert This presentation is only meant to show how CAS uses SWF, and how you can, too. What Is Spring Web Flow? Not very different in purpose from: Business Process Execution Language (BPEL) Various Workflow standards But much easier to get started with No huge committee behind it Couple of guys, Keith Donald and Erwin Vervaet, credited for creation of SFW Easy to understand and become productive What Is Spring Web Flow? Complements Spring Web MVC Allows to control the states of the application outside of its controllers action state decision state view state end state Upgrading from SWF 1 to 2 is supported org.springframework.webflow.upgrade.WebFlowUpgrader How Does CAS Use Spring Web Flow? Set up the initial state Check for the TGT Display the login form, if needed Check for the service parameter Redirect to service or display a generic login success message Set up “global” exception-handling state transitions What Is Spring Web Flow? Complements Spring Web MVC Allows to control the states of the application outside of its controllers action state decision state view state end state Upgrading from SWF 1 to 2 is supported org.springframework.webflow.upgrade.WebFlowUpgrader What Is Spring Web Flow? Not very different in purpose from: Business Process Execution Language (BPEL) Various Workflow standards But much easier to get started with No huge committee behind it Couple of guys, Keith Donald and Erwin Vervaet, credited for creation of SFW Easy to understand and become productive What Is Spring Web Flow? Complements Spring Web MVC Allows to control the states of the application outside of its controllers action state decision state view state end state Upgrading from SWF 1 to 2 is supported org.springframework.webflow.upgrade.WebFlowUpgrader How Does CAS Use Spring Web Flow? Set up the initial state Check for the TGT Display the login form, if needed Check for the service parameter Redirect to service or display a generic login success message Set up “global” exception-handling state transitions How Does CAS Use Spring Web Flow? CAS uses SWF 1 Beginning with CAS 3.4, CAS will use Spring Framework 3 and SWF 2 This significantly speeds up access to these new technologies over the older CAS4-based CAS roadmap Details in the Jasig Wiki: http://www.ja-sig.org/wiki/x/VwG0AQ How Does CAS Use Spring Web Flow? <action-state id="initialFlowSetup"> <action bean="initialFlowSetupAction" /> <transition on="success" to="ticketGrantingTicketExistsCheck" /> </action-state> <decision-state id="ticketGrantingTicketExistsCheck"> <if test="${flowScope.ticketGrantingTicketId != null}" then="hasServiceCheck" else="gatewayRequestCheck" /> </decision-state> <decision-state id="gatewayRequestCheck"> <if test="${externalContext.requestParameterMap['gateway'] != '' &amp;&amp; externalContext.requestParameterMap['gateway'] != null &amp;&amp; flowScope.service != null}" then="redirect" else="viewLoginForm" /> </decision-state> <view-state id="viewLoginForm" view="casLoginView"> <render-actions> <action bean="authenticationViaFormAction" method="setupForm"/> <action bean="authenticationViaFormAction" method="referenceData"/> </render-actions> <transition on="submit" to="bindAndValidate" /> </view-state> <end-state id="redirect" view="bean:dynamicRedirectViewSelector" /> How Does CAS Use Spring Web Flow? Adding New Functionality Why Is This A Good Path? Adding New Business Logic Adding New Views Why Use SWF to Extend CAS? Discrete points to inject new functionality The only thing to modify is the flow definition New beans and views can be added easily with Maven overlay build method New Bean SWF-specific Spring bean type Extends org.springframework.webflow.action.AbstractAction Access to the flow scope object also accessible in the flow definition file doExecute() method contains business logic and returns success() or error() Event types Returned Event types are evaluated in the flow definition file New View Add to default_views.properties View’s name directly referenced from the flow definition file ### View for password update passwordUpdateView.(class)=org.springframework.web.servlet.view.JstlView passwordUpdateView.url=/WEB-INF/view/jsp/default/ui/passwordUpdateView.jsp New Action State Add to login-webflow.xml <action-state id="testPasswordUpdate"> <action bean="testPasswordUpdateAction" /> <transition on="success" to="serviceCheck" /> <transition on="error" to="viewPasswordUpdate" /> </action-state> Demo New Action State Add to login-webflow.xml <action-state id="testPasswordUpdate"> <action bean="testPasswordUpdateAction" /> <transition on="success" to="serviceCheck" /> <transition on="error" to="viewPasswordUpdate" /> </action-state> Adam Rybicki arybicki@unicon.net www.unicon.net Questions? Demo New Action State Add to login-webflow.xml <action-state id="testPasswordUpdate"> <action bean="testPasswordUpdateAction" /> <transition on="success" to="serviceCheck" /> <transition on="error" to="viewPasswordUpdate" /> </action-state> New View Add to default_views.properties View’s name directly referenced from the flow definition file ### View for password update passwordUpdateView.(class)=org.springframework.web.servlet.view.JstlView passwordUpdateView.url=/WEB-INF/view/jsp/default/ui/passwordUpdateView.jsp New Bean SWF-specific Spring bean type Extends org.springframework.webflow.action.AbstractAction Access to the flow scope object also accessible in the flow definition file doExecute() method contains business logic and returns success() or error() Event types Returned Event types are evaluated in the flow definition file
. and to me sixty seconds when he was on the project . . . you and you . . . . reaction to the board . what message . . . . now where the battle to . Oh oh . . what we're for that . . . . I just hope . the boy . . . in a . . . but lot of decisions made at the question that he would do that . treat it . I look that up . that . Graham . . I you make of a chance to move to expand on that Deliver . um . my speed UI with enough don't . . part of this thing and recording me OK are we have some technical difficulties with a slew the upload is for a slight delay . on the presentation may have of someone . Ms Levy title because this is not on Spring Web Flow . this is just focused on the using . what's brand Workflow is good for . with regards to CAS . Tom did the idea will . specifically focused on the Fox backed it with this approach . you don't have to . MODIFIER I a lot of things in the CAS to put this on the extent that I with all war . how it does because it has been designed to have these expansion points and the Continue ticket into the . . with Flow . so em . just to go or what will be talking about that a mandatory slide now but just in case if you don't like what I'm talking about two you will still have a chance to switch to become presentation on . at twelve Overview What doing how they're with Spring Web Flow . this is going to be very quick because if you will see on the other slide on of the Spring Web Flow . expert on I happen to know what you're that but you know expertise that claimed here . on the and then will do Update quick overview all photo has the turbines over on it you know I could probably plugins that the fight that you'll portal now uses Spring Web Flow tool . and so if you learn something which as you may be the real play those tasks are with you'll portal to happen to use that though . and you never know . on . will be Adding to the CAS that Web Flow . again trying to be careful not to mess up hope as Works . and to that that's important because the has actually enforces Some all the security at by performing some tests that would into Web Flow . I'm . will the . and as you can see there the key here Adding Adding Adding where Adding and no motive font and that's the of the key theme to to take away from from here . Doug by adding onto CAS is where we do sing though . notifications to the need to be made at all how you look up to one File call to we always have to mortar fire configuration file or to with has . so it was about staying but that for you will . I will strongly advocate against . the key to this cause find Java code and notifying . Kate let's talk maintain its core has Code . as he is a well equipped to do . but the if you want to of Model something up his Code . a copy of Wyoming's but to stay away from his because then you key decides to make his Code even better . you have to Some Hobart when those so . Anyware Extension versus with the case Michael . and to let it based on some war . I have actually done . he would like to bend to embarrass myself and there's still you are the more that will inevitably fail . it will go . I'm hoping that Flow . it in the U . it will not use a real Password Update publication . but they will have to change the parts words to actually to get the last basically the example that will give is that a casual to take the two parts with has expired . and it's will been Redirect to the flow about the case and instead O from there . dissing al to service the kid in of all we knew two of two authentic eight or just basically saying that the petition filed . it will instead . it's and you go Password change place and then when you are satisfied that changed when the the US would have been updated and has will continue working as before . so . hear what Is Spring Web Flow com . org is the disclaimers right the effect of what this up . . I am not an expert on Spring Web Flow and seventy four on in the of . the . will it work . . so for those of you who may not have a target or Use Spring Web Flow . I personally would compare it to something that . well it may not mean of the other person but this time it of business . prosecutors accused Language know perhaps one Flow . and there are some standards behind that . did you get to describe the holdup with the central fact of the side older Code itself . on . people trace to do this . and still do the various with the Workflow standards on . did you keep it code to keep the business logic doing what it knows best how to do . but the Powell view transitioned from state to another topic how you make some decisions . perhaps the long use of federal the core business logical view Code and this is what the Spring Web Flow his is good for for Web based the name implies up with these . on . so if you're familiar with says Spring . with MVC which may have come up in the prior for a presentation of it . Does Complements . of the . Maher All Duke on throw . in addition to the break though that the ball over the so called science . you can actually up Kong . comptroller program . the transition so go over the states . it of your application . on . he on . there are these the very finite the cause of so for action state decision state throughout their view in this thing up . in the awareness will definition you describe it . the car . the initial state . and then based on some conditions on the petition can determine out which state that it's currently and this allows you are publication Light has specifically and as the this way . to be virtually statements that it doesn't somehow associate users browse or search term with with where it gets with end of the low from processing but based on the request coming in from the brawler . it would be helpful for SWF test can determine at what has what has happened which state is up in the peace process happens to be . and then it stays in time to send within Disclaimer request for example to the request team came in with the credentials . it Web Flow can perform up convocation by directing the flow somewhere and then depending on Go result of the present the case and can you to paint the . plug in your password again to the screen or the Redirect to but soon to a to another . UPMC's publication upon successful open kitchen . so what that means is that that you could have a few steps within a single http requests . Ferraro do you can transition to a few states that will . now their eyes off right now . release version of has there still uses Spring Web Flow . version one . it's note of that B Daubach . change to version two . because the webflow business impl has this . this long . . and created to make things easier to Nexium of leader tool that comes with the Spring Web Flow version tool which has been around for awhile so that the question may come up event for him bring it up . but two very if you wanted . if you had a motive slide with Flow up Wiki said Like has and to are you window from a near with hope to bring enough to present who are maybe just to will tell . I am told that this tool works of the box almost a hundred percent of the time . it starts as the third when he was developing Version three four as the prune these the alf has that the is now using . was it the viewer Version two . he might know reported because the file is not a big so he has that . . anyway . I tested upgraded and fiftieth of totally violent fall about the shouldn't work . they didn't wait but for a to have three four of the prime . . now . . yes . I know what they say flow from that to give so the credit to Couple based government . but to be a one to signify to Spring Web Flow . he is so . no QB Committee driven and the poll type of standard or or it that's why they're Workflow . standards if taken for ever to get standardized and probably still nobody . accepted . because two of the committees though did not ever agree on standards . now this was a project that was put to do with it Couple back . and they get the full credit for Spring Web Flow . . John Marino . he knows of the bodies . . . how Does CAS Use Spring Web Flow of a . who is the first time presenting on this topic so I apologize if I'm a little bit less so . calls to did that I did yesterday . . . I did say I'm not the MC for No . it the viewer . I'm so that bit of a mention in this really coming into the world it with flow definition has or what Flow . we'll check it initial steps of initial state had them in order to determine what state this particular uses them . it will start by taking with enough but the kid that didn't because It's are presented . if you're familiar with Hasbro call it the kidnapping ticket difficulty that is passed by the browser to CAS and to as only that the It's about the kid is not shared within the the publication event . based on the fight that that the dividend thing to get the Does this has been determined whether or not you have already successfully moved on . on and to condemn make a decision on whether or not to display the Look in scoring . on . yes that was up out here service equals big and this is about the pope a book or as part of all bought tickets during the premiere like that been that means that the ground Authentication was a request . and to be Use it or was requested that we have petitioned service tickets for that . . for the service . on . the raid . right so if it's those service to get to that was so successful be generated and that we have no from there . we're done with basic be processing this individual again a request . then we Redirect the user's browser tool for the service . so this was all completed in the state of the same http requests . because the kidnapping ticket was present . we didn't have to prompt four of . Logan . and to . there was a prime leaders service equals . which basically would request for Authentication to that service . if there was no service e was parameter and which is a violent although we did case . Benedict as has to say um univ success when the bell because it doesn't know where to send you it doesn't have generated service picture but it has some hope of the disease TGT requests . so it will just say univ successfully moved on and that ends BO . the flow . so this one bit present one of the end state or to the bullpen states and in the Web Flow . which would be basically that you all the the generic . Moby successful . on message . and then the webflow also allows you to set up a somewhat more generate error handling situations . if you eight twelve the Process tangle with flu and ten build exception of course for example I've been you can set up criteria for how to handle them . and the with all definition file . the company . continuing a vote no cut is uses the statement late Sunday November of the pope about . . . I have to the repeat with of yesterday that it did . Oh well Palm . the change in CAS community of occured to wear out all these new features like Beltran all for new version of Web Flow another option off some old who and many many other . . it as features were considered Version four . brain you'll version was going to be rewritten and then delivered an so that this was seen as a such a distant future time that the it has Steering Committee decided tool top and up into bits and pieces and then announce Version three four three five . and so on and so forth . where are these smaller improvements will be available . as needed better stop it . most requested features will be made available solar with it that way . if it's you cannot start but the people if us . if you are to deliver the big bang because for a version that was the prevailing Model and say I year ago . it held much longer do you think you get Schwartz before releasing . . . . but they . but anyway so so we're just looking a boat to to do with a welcome thing that's happened to Spring Web Flow tool . it now Use the the imminently going to be available in him . CAS three four . although for for you guys in implementing as the scrubbing of the accused thing but that some people may question whether the white wedding war we still using Version one . . and Go per cent to all of you know available for two years or some plan to . . . they went how Does your notice . . Does your O is for ago . it has server . roadmap . a variety two . right this is that you're probably going to part time reading this and this is just as an example but that these are examples of some all the states . Dr . . Can't may be a . the view that of initial Flow said in Set up for example that Edmondson . on and then of it . basically transitionsWhat the kidnapping think it exists Check doesn't mention had been here is though that think that basically built for ID all stick Event the tickets are being available within the so called no flowScope . Path . if it is that it means that it came in with the request . Pulte that therefore that we proceed through the service to remember I mentioned earlier . if there is a service from your we generate top service picture . and the . he chose not to move on . with Ryan Rupe on . and that this one here of you inform us the name implies . we are right about that state . if it is the mutant who are trained to look in screen because the unit as a love gone . Hopkins the odious to you can read that but it would help all open source tools . Buchanan . I'm actually you know it impress your boss . the and say well you know that the I'm going Workflow stuff here in end to it . I can arrange these icons but basically . open source known Spring Lady plugins . will allow you to edit view of invisible ice . the entire with were or where Flow . it's probably easier to . C . the actual screen . . been . MC to the open the right thing . so this is right of . this is the clips will with the Spring . I eighteen . by then . ball graphical that there . results will be justice electable but the nice though . well be able to as the men and Now . well . they wasted the to my spot ical flight from beneath the get go off and designed it and it's basically that same file that the . it is Wittman XML and most of with this . it's fine least openly planning so . the Gers . . . so would be considered can stop you think it would this be considered the top of the sample . Web Flow . I thing it would . . well you if only because of the home . this is an statement . . or is statement of conditional . . OK . so it now in trying to convince you were white This is a good way to expand as we view them font topic . on . so unlike eight mentioned earlier during to you Daryn . he's Discrete it does gives you know portlet you throughout the Discrete points because you have the states . OK so that if you look at that the frontlines of XML file that you use your of that state . instead all taking this tiny can pay one extra time . and then to inject some additional business logic and depending on the outcome of that . you can revert to the regional Flow . or you could dampen sick use what you have set out to two to of Add to that . on that the so . these points . well you could have . on slide . it . so you can not only at an you'll top business logic using the so called Action Beans . but you could also had of course new so called view state which I the new user interface that to Kobe user on a long this new Functionality . and the . . but I will use the I will reply began to Maven overlay build up . because it is very friendly to this edit the faithful for war . well when are you with that . so that . this may be somewhat to the Spring Web Flow see that one are specific . . on the camp's carpeted in our budget . O . . . . . OK . . . . yes . yes . well . . this . good will but to sign it so we two three four . should all be difficult with this wonders what a light on so New Bean would be useful if you wanted to introduce New Business logic on . Bill easy as we could do it of course is to expand this upstart base class for all mares and the viewer . this is what did Beans included with has do . on and that you have to . and Drummondville exit get mad about your business logic map . and then . there are very handy . existing met folks like we have a successful return error . to signify the Alto mobile twelve Your Business logic then goes on . Dover test that inside all the XML Web Flow definition file and then the decision is made what to do after this impl the outcome of the decision is made within this business logic is made within the Web Flow the permission . . there are Massive the Los the bullet . now in addition to Adding New take you Tim . as I mentioned at the UN you'll argue that an athlete element in this case will be using a new view . on to present some other . user interface but as the Recently of the box wasn't meant to go . it's all in this example here . . a show of . in addition hope something called Password Update view . and third . as we mentioned dirtier the example begun working with this though . detection older fact that your passport as Moby up abated the end of an excessively long time . and then to even go you can read them a violent Password . you will know be forced by CAS to go change the parts would be too Is . it just talks . it's will not issue any tickets to your application is requesting Authentication until you satisfied that require . . and though that this would be an example on login webflow Edition . . I hope it though . make sense I mean these are things No . everybody is familiar with but basically the new state this has Password out . great and it's as you now need to invoke his Bean . and when did the in the returns success . we switched of this state . when did Bean returns error . we switched to based on service to is another on the auction . state and Widget performs the additional actions and that's thrown from the original Web Flow been mentioned . Hmmm . on the other hand view Password Update is is on end state that ends the flow . and service . we to play this you the address . does Rome . change was . and at the time . the Huskies a statement . that's where Refers with the US and state because CAS uses control over it . that session from that point only the the need to try to either teach us . that's when you can think of it . right so that that that is going to be the embarrassing DemoNew Longwood right now . I fear this to that myself but . doing it in from of people . so I need to build it and also you'll on our land holders product if you can . if you can see this from . we don't need to speed is four to four right now and we're going to close the thing and third with a minimum you will actually have to redeploy . but the best a required step . M . so this the wrong project . . is that the of DemoNew . so Using eclipse and Maven to IDM . I'm going to rebuild this part this from scratch . first body . doing Maven clean . . how Does the recording software that's making that point . Flickr or what . unusual . and then you will blue . . they've infected . . connecting Scott told me that the Is of Maven overlay . com Themes presentation tomorrow . or . Michael Hughes . was that was the tube last of the during the Korean Prime presentation here . . I uploaded scope . I'm at . and so . . I'll . . I was trying to fill the moment of silence will my computer is working really hard . . . the . but basically this . Myers We'll talk about it now . so I have a single . . the iPhone file here . into I only have the files that Web Adding form we are fighting unit as a so . at and to do live under sorts . source Maine . then I have a jar file that contains the New Bean good at it so that that's basically I package qualified . Tom . directory structure . here's the Bean . that I have had to create . it does some set up and the here's the deal easy to platform . that I have to will be a sleeper right . and that the returns that different in all success or stuff like that . so it invokes its own private method is Password Update needed . and if so it does some things his way Ant under way since returns success . because success means no plus what the big businessman center . on . now the way that method works well . he is close with of duty . . . we would is that . who do Financial . whoops . well what they click on the wrong one . . in . what is basically perform some of the quake . I have a copy also bundled up running here . that implements the . recall this . . passwords something Password policy that's right . there is a standards quote unquote um held up implementation both Password policy enforcement . and you can control . Hall . longer about it I will foundation be replaced Carmody to . plus where's the system has to remember and retain of so that you don't change it into the same password hold of . how open are you permitted to change that the switch that you don't change it to you know five times to defeat history to go back to possible . plus word . and so and so forth so that I have implement this policy but it's not very strict with him like this in my life . but NBC using attributes of that to drive this does business logic you . still stood my build up . and that's running so that their phones that square e . and it looks for attribute the basic things debate over the last bus would change Andy's bean itself is going figures do with the property . and . I don't remember which one influence but it's basically . . Diego at well to make it easier for testing . I specified in the number of seconds from the . how long the plus with the should remain silent . . I waste of it you know we had it been days or something more logical that it would be difficult for me to this but this is a soap that the training table from now . and example . of . this is insisting on Billy files . been on break money . I haven't been touched . . broken in and connected . . . what do you know yes we're having right this . and the cable plug them . . . . there we go to . emergency but the plan . . . first Jiscmail Menon with the . yes the UN Clinic that true blue . Redisch here . impl of Florida . . . been . so the local why it's it's no fourteen for me . you may live mileage will vary . . use my phone . hopefully the alert . well this morning . . . mom mon Finland . . stalking . doubt it . so maybe that will revive Maven . . . . the thing I have a three G connection to the allegiance with the co-op . well hello there Donna Event . this . and to still be could there have on him at election . I couldn't vote to Maven is offline mode . it to I suppose . OK so we have no built . has war file . and they just might tomcat server . and to the application . Ducks will attempt to cool of long tool will be you'll portal so I have to stay sealed portal database . . and you Does it . . database about . and don't cut . . timing . well coming up Anyware . in the meantime though find the the race we would to deposit . tomcat who . I'm sorry has to . even after the storm I modified version right . will that don't come up . actually I'm going to also very afraid . the bill works . . . . . . so you portal . . I do use the cell Science certificate on my vocal tone that so . I will have to go . the to accept it . . . you can see that there's two messages coming out from tomcat starting on . it's not great on cots being slower necessary my computer the snow but to deal portal startup is quite significant because it starts the impl of the caisson and the . a whole slew will portlets the art their own without the Cajuns . so that just takes time . up front bonus nationalization . but then hopefully . respectable performance from that point on . OK so we're going to continue this is the warning I mentioned . so find certificate dismissal . . . . they should use to portal . and I tried that . this is not click as the right to build . I try to have gone just to verify that in the works . Hoops . and for . its word . and . from quicken up swimming notice authentication No I was late . I'm so so what's my . me and plan out . Mubarak to you portal . and now . here we have this brand new war file that was just created . with my mortified with Flow . and development in to the appropriate location . Swoopes . . . it's been the story that . and to you'll notice that the coaches know redeploying has . it's usually a pretty quick Corp . done . so . now when I try to again with tens . . scientists version . and has verified that it works . now my team and account and held up does not have Password policy enforcement . so that even if like I want a slap us with a four over . I'll be able to to the love them successfully . . so I did . it's a good thing . I didn't break it . and now I'll try to move them . with a metallic the dust of the Password of the policy of force month . demo . . and they get the Redirect of two parts what the big require . and then if I click here . that invokes my password change up the case and this is all made up his is the mail . but I'm using this for this race . now to get me out of this situation I do we have to perform what to write head but I didn't I didn't have R and B then B Password trained application they could quickly without for the purpose of his demo . so instead . it will open my build up and get a new tool . which is basically Joe . no the two . Ametys No to explore . they love two to three open source of build up . Quentin with Wiki stance to my medication and all and all that neat stuff that typical . in . so you're the most loaded onto my aide held up at used by the way we did the folds Password the big policy use the word . there . none of restrictive but that this probably . I'm not enough time to go through all the details of anyone actually you more of the Web Flow and I'm the code rather than wait didn't know that . so that once a sibling but here I'm now going to go to the demo account . and Hughes use their parts word . I'm going to change the password . those numbers for to us what responses Ametys teasing at the diverse and parsley . but the act also having change the parts to it . and then submitting . will every step . the age of the possibly attribute that this user has and identify can see this . this is one of those to Does that doesn't come out with him . as a Explorer by the fall . and I don't know states were well enough to force it . it to do that but the this is a goal . black who . you'll portal . . Stein an . and here I am a bomb as demo . I'd even have to are my in my is in the map us with and you know why . the loose here in the singles final session from having lived on Duke has . two . it attempts to hold onto a tool to for you all . this is a feature that if you will of this implementation . on the and this was designed to alter it this way because we wanted to be even more clever and too one of scoop has been able to passwords change up with this in itself . so that the user would have to plug in their origin all costs would be just what did the OSS which Improved the author of Paper system right . so although the for change up with these into one of the market up one the prior screen only had the new password . an oil only shook have you with the new buzzword and the verification and that's the . and that was so that are IT for design and then basically the other thing it was cleverly do you see the up and the devil regional URL all the services of to request that the convocation . the director box after successful parts which means so that the and waiting that I have to go by going to history and changing where I wanted to go back wouldn't you bet happen because the PA Sport and up the case and if it's smart enough . it would No . well you really meant to built we'll portal so I will now read Director two Who . so you couldn't do this and do we have done that the . with with our clients will work with but to my market cannot do that . I know that I talked to both . and . and so it in April to vote the showing you the Web Flow was so that this was the old New Bean . . and no this is the . Maven overlay part . and it source Maine a way about . so first let's take a look at Logan with will deploy a config complex . well look and the two but that unloaded Web Flow . . MC and maximize this Mimi be able to Shel you with the new state was introduced . png was this where . service to service . no it's actually . but for that . so here's the news state . but then try to find ways and Flow . where's transitioned to . well SEC . is that . so here to its source and the Getty grant the ticket . on the mobile standard . State all work as a Web Flow . instead of transitioning tool that is service check . people know transitioned to this new inject that state . so yes there is a what if the patient of his file . it's a very minimal on with looking probably got some lines up most . most of them are auditions . so if you're going Managing using as a DNR something like this you might get ical flicked on this deadline . but it's very easy to do to fix . and we transition to Password Update state so this is the state that invokes his Bean . and then . he did invoke the new view state visit to Password Update or to go was about Gore is going . . it's scheduled State of service . well if you Password Update . that's the new end state . that e . and use someone . well it is very simple . it basically goes to the press with the big view . I then have us slide four of how this was done . . no actually I do . but basically . and do less to see that the focus Use the properties is the father this that defines over the spring MVC use . for four pad itself . and I basically inject the death new definition of of you here . no come . you install it on the scoring . that was the place that said that there are you must know trying to Password click here to vote and two partial remember that . so that's file gets to a new at it . . if you'll File . and it has to be in the weather . normally these things reside in as . so this is the price would be view . . present . it's also Internationalized it uses Massive definition isn't all that stuff so that this is way beyond the scope of what we intend to go to both here . but basically . . that it provides this link here to the parts which range up the case and I'm on with it . . that's the view . that was with was that it . I'm just for the sake of completeness my new message definition zone here . that's because as the property . Internationalized up the case any of that style Use Olympics mastered this and make them . Language specific . I do not have any other alternative Line which implementation so this . um . and is the anything goes today . haven't talked to though . . so I miss so . there are questions about the battle . I will ask for any type of questions because they believe that my . that slide . . . . . this is somewhat contrite . you probably so but in the idea . I can certainly do it that I I could go probably them there because to make a better suggestion . Tom . although that will put me on the move to Builder the dough but the and the distance This presentation was was inspired by real project that the warehouse to to do but try . and the car and actually didn't want us to the parts would change . but it with the US Postal blue was checked with her in asked this students looking on the ticket off Longo Internet acceptable use policy for debts amassed . so the business logic was effective the identical right we we came in when injected a new state . we'd and check of date . over the last . profile of date . and two if that Update has not been done in the prequel to get number of base we were directed them to this new state . this new state created a link that to them to go . O . profile of the accommodation which in itself was not a fight . Aiden so you and that's my example but that is actually Business logic in my team . then it's . generate some service ticket specifically forgot publication in the application on the it depends a to the end of that URL . so when you click that your a OE will successfully . the key to that obligation because it is has its own service with that . it will then be able to vie with a belt with has because Dark portal status was not the motive fight . in a pool of the user along to this profile of the cup the case and at and allow them to make the change . moreover the URL was also cleverly enhance we'll have our on another . Goodwin name of the argument was parameter . the and build up your elbow with the parameter and by the way when you're gonna returned to this application which was always only requested publication by the U . on and so this was done with No . with Finley University only in this legal family though . I'm . two people . the bottom of the Ohio . it in anyway that and to Tufte it . based on the work with it four to the actions of all this looks pretty neat so we could add our own house would and they did the press which end up with these themselves . I'm sure it works because they voted . but I ended up going to write my own . to them and that because someone call Mom . if I knew Path to . . the deal . will that slide up into action . yes the implementation of an interesting idea behind it is that . he . yes it implement some athletes but there is there were and even the threat based class . and I think my slide here said that the kit . Strike action . and that you mean basically has to implement . so expect . and play starts as the this is so strained Does this base west of the same him . Spring Web Flow two . . going to happen Riverside is going to completely best only a threat . Michael . . . . the other questions . the body hundred . . are you thinking is based . better to deliver presentations before lunch down is the right up the by one estimate . but that that Thank you . the the the the the . . he . . . . . . yes . . .