Gwt create2013 Frankfurt: How we built a million dollar business with GWT
Upcoming SlideShare
Loading in...5
×
 

Gwt create2013 Frankfurt: How we built a million dollar business with GWT

on

  • 900 views

QAFE stands for Quality Application Framework for Enterprises. It was developed by Java and Oracle engineers to modernize Oracle Forms, and at the same time to create a modern platform for new ...

QAFE stands for Quality Application Framework for Enterprises. It was developed by Java and Oracle engineers to modernize Oracle Forms, and at the same time to create a modern platform for new business application development. QAFE separated the business logic from the presentation layer. Therefore, as the web evolves, developers do not have to rewrite their applications: because the QAFE engine, with the help of GWT and other toolkits, renders their logic to any frontend.


http://gwtcreate.com/#agenda-eu_room1_event10

http://www.qafe.com

Statistics

Views

Total Views
900
Views on SlideShare
806
Embed Views
94

Actions

Likes
1
Downloads
14
Comments
0

2 Embeds 94

http://www.qafe.com 92
http://plus.url.google.com 2

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

Gwt create2013 Frankfurt: How we built a million dollar business with GWT Gwt create2013 Frankfurt: How we built a million dollar business with GWT Presentation Transcript

  • How we built a million dollar business with GWT GWT.create 2013 Frankfurt QAFE Inc. Rokesh Jankie (rjankie@qafe.com) Salar Abdefaily(sabdefaily@qafe.com)
  • Agenda • Introduction: Rokesh, Salar, QAFE • Tools and Demos • What we have learned • Considerations • The Future…
  • Who we are QAFE Inc. ! 2008 QUALOGY Est.1998 220 Consultants Outsourcing, Hosting, Training Soft- / Hardware Solutions Application Development USA, S-America & Netherlands
  • Who we are QAFE Inc. ! 2008 QUALOGY Est.1998 220 Consultants Outsourcing, Hosting, Training Soft- / Hardware Solutions Application Development USA, S-America & Netherlands
  • Who we are QAFE Inc. ! 2008 QUALOGY Est.1998 220 Consultants Outsourcing, Hosting, Training Soft- / Hardware Solutions Application Development USA, S-America & Netherlands
  • QAFE • Quality Application Framework for Enterprises. • Created by Developers for Developers • Makes sure you focus on business and not nitty-gritty of building applications
  • Our Mission • Bring legacy Oracle Forms to the Web and be the best at it. • To tackle my frustration :)
  • Our Mission • Bring legacy Oracle Forms to the Web and be the best at it. • To tackle my frustration :)
  • Why ? Horror of last decade
  • Why ? Horror of last decade
  • And of course…
  • And of course…
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 Q4 2013
  • Hmmmm… Q4 2010 History seems to repeat itself! Q4 2013
  • QAFE Architecture Front-end Technologies QAFE GWT FLEX HTML5 Mobile Others Presentation Framework (QPF) Business Framework(QBF) Back-end Technologies Java WebService Database “Third Parties”
  • QAFE Architecture How do we do that ? Front-end Technologies QAFE GWT FLEX HTML5 Mobile Others Presentation Framework (QPF) Business Framework(QBF) Back-end Technologies Java WebService Database QA QA FE ML La ’s M , ng ark ua up ge “Third Parties”
  • Inspiration
  • Inspiration
  • Why GWT • Early adopter • Lots of Java back then • Best solution so far • Alternative, ZK Framework, but wasn’t Google :) Our first GWT
  • Design considerations • Shorter compilation times (fast development cycle) • Any application with same size Javascript • Easy for any developer, accessible for newbies • Use the power of GWT under the hood • • We like Single Page Applications (SPAs) Use of Maven and other standards (web overlay)
  • Tooling • QAML Builder [Eclipse Plugin] • Graphical Editing UI • Flow Editing • Integration with native sources [DB,Java] • Maven based • Mobile and more…
  • Demo Tooling
  • Mobile
  • Mobile • We’ve spent a lot of time on finding out which Mobile Platform
  • Mobile • We’ve spent a lot of time on finding out which Mobile Platform • Sencha, JQuery Mobile, Dojo Mobile, etc.
  • Mobile • We’ve spent a lot of time on finding out which Mobile Platform • • Sencha, JQuery Mobile, Dojo Mobile, etc. Result: mgwt !!
  • Mobile • We’ve spent a lot of time on finding out which Mobile Platform • Sencha, JQuery Mobile, Dojo Mobile, etc. • Result: mgwt !! • Demo: ERP integration with Mobile GWT
  • Demo Mobile
  • Oracle Forms • Global Marketplace • Default industry standard for more than a decade • Blocking Innovation: Client -Server (2-tier)
  • Demo Forms Wizard
  • So what did we do ? • Mentis • too.qafe.com • Telecommunications Company in Caribbean
  • What we’ve learned
  • Callbacks • Performance Callback • IE6 • Telecommunication company in South America • Callback coding
  • Callbacks Java GC != Javascript GC
  • Callbacks service.getShapes(dbName, new AsyncCallback() { public void onSuccess(Shape[] result) { } public void onFailure(Throwable caught) { } catch (IncompatibleRemoteServiceException e) { // this client is not compatible with the server; cleanup and refresh the // browser } catch (InvocationException e) { // the call didn't complete cleanly } catch (Throwable e) { // last resort -- a very unexpected exception }
  • CSS & Dom • Reading from IE8, from com.google.gwt.user.client.DOM class public static java.lang.String getStyleAttribute(Element elem,java.lang.String attr) • Put “background” in the DOM and get “BACKGROUND” back. • We use LessCSS for clever CSS
  • Dependency Third-party Libraries • gwt-mosaic • gwt-incubator • Wasn’t rebuilt by Google, had to make explicit request for that • Wrapper of JS Libraries were hard! • Still using gquery though!
  • Download size • http compression of generated javascript • GZIPFilter in HttpResponseHeaderFilter (web.xml)
  • Styling of Components • Complex • Our Graphic Designer wasn’t happy • gwt-bootstrap seems really nice :)
  • Releases • Lower release frequency • Risky, updates on browsers are fast (Chrome) and there were some issues with GWT Animation. • Smaller community
  • Future roadmap
  • Future roadmap • From the first build until now a super solid solution!
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones)
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense!
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT • Focus on clean HTML output (Web Components!)
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT • Focus on clean HTML output (Web Components!) • Open Sourcing the QAFE Engine
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT • Focus on clean HTML output (Web Components!) • Open Sourcing the QAFE Engine • Debugging using what we learned at “Compiler Deep Dive”
  • Future roadmap • From the first build until now a super solid solution! • Cross Browser (even the older ones) • Tuning in Javascript is immense! • Continue to work with GWT • Focus on clean HTML output (Web Components!) • Open Sourcing the QAFE Engine • Debugging using what we learned at “Compiler Deep Dive”
  • Thanks Questions ? ! Rokesh Jankie (rjankie@qafe.com) 
 (+RokeshJankie) Salar Abdefaily(sabdefaily@qafe.com)
  • Thanks Questions ? Vote for our presentation! gwtcreate.com/agenda ! Rokesh Jankie (rjankie@qafe.com) 
 (+RokeshJankie) Salar Abdefaily(sabdefaily@qafe.com)