• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Wicket Live on Stage
 

Wicket Live on Stage

on

  • 6,803 views

Wicket Live on Stage features a Wicket project that has been in production use for over a year. The application is a web application for dutch highschools for administration of students' data for ...

Wicket Live on Stage features a Wicket project that has been in production use for over a year. The application is a web application for dutch highschools for administration of students' data for funding, guidance, graduation, attendance and financial purposes.

The presentation describes the road to choosing Wicket as the core framework, and includes screenshots of the live demo (which isn't captured in this presentation) of Vocus (http://www.vocuslis.nl).

Statistics

Views

Total Views
6,803
Views on SlideShare
6,786
Embed Views
17

Actions

Likes
1
Downloads
0
Comments
0

3 Embeds 17

http://www.slideshare.net 11
http://www.linkedin.com 3
https://www.linkedin.com 3

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Wicket Live on Stage Wicket Live on Stage Presentation Transcript

    • Wicket Live on Stage A Wicket case study
    • Agenda • Why Wicket? • What is Vocus? • Wicket in Action
    • Topicus • ASP/SAAS provider • healthcare • education • finance • insurance
    • Topicus Gifkikker
    • ket ic hy W W
    • Web 2002 • Struts • JSPs • OJB
    • Web 2003 • Maverick • Velocity • Baritus • Hibernate
    • Parnassys
    • Parnassys: searching
    • Parnassys: attendance
    • Problems with MVC • 1 change requires N files to be modified (for large values of N) • high learning curve • back button • procedural programming • little to no reuse • complex UI neigh impossible
    • Web 2005 • Wicket • Hibernate 3! • Java 5 • Start of Vocus
    • Vocus • Student information system • Secondary/High school • SaaS solution • Fully web based
    • Functionality • Registration • Funding • Results/Exams • Student guidance • Attendance
    • Wicket usage • Started with 1.1 • Moved along with 1.2 • Backports from 1.3 into custom 1.2 branch • Currently migrating to 1.3
    • DEMO
    • Student information at a glance (data has been scrambled)
    • Entering grades from home (data has been scrambled)
    • Wicket’s TreeTable in action (data has been scrambled)
    • Chart 2 300000 #Requests 225000 150000 75000 0 2007-09-12 2007-09-18 2007-09-24 2007-09-30 2007-10-06 2007-10-12 2007-10-18 2007-10-24 2007-10-30 2007-11-05 2007-11-11 2007-11-17 2007-11-23 2007-11-29 >300 users
    • Keeping your server alive • request logger • serialization check • use a profiler • pick the right GC • run on JDK 6 (mustang)
    • function ClickZoekresultaten(url) { if($('SRP_SearchResultsPanel').style.display=='none') { new Ajax.Updater( 'SRP_SearchResultsPanel', url, { asynchronous : true, method : 'get', onComplete : function() { Effect.SlideDown('SRP_SearchResultsPanel', {duration : 0.5}); Behaviour.apply(); } } ); } else { Effect.SlideUp('SRP_SearchResultsPanel', {duration : 0.5}); } }
    • add(new AttributeModifier(quot;onclickquot;, true, new Model() { @Override public Object getObject(Component component) { return quot;ClickZoekresultaten('quot; + component.urlFor(ILinkListener.INTERFACE) + quot;'); return false;quot;; } })); public void onClick() { Panel panel = (Panel) getParent().get(quot;resultatenquot;); showResultaten(); ComponentRequestTarget target = new ComponentRequestTarget(panel); WebRequestCycle cycle = (WebRequestCycle) RequestCycle.get(); // zet de contenttype op xml om UTF-8 goed voor elkaar te krijgen WebResponse response = (WebResponse) cycle.getResponse(); response.setContentType(quot;text/xmlquot;); response.setLastModifiedTime(Time.START_OF_UNIX_TIME); response.setHeader(quot;Cache-controlquot;, quot;no-cache, must-revalidatequot;); cycle.setRequestTarget(target); }
    • Questions?
    • BEER!