Case study - Nuskin: Statefull Applications in a Stateless World

1,712 views
1,575 views

Published on

Published in: Technology
0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,712
On SlideShare
0
From Embeds
0
Number of Embeds
13
Actions
Shares
0
Downloads
0
Comments
0
Likes
7
Embeds 0
No embeds

No notes for slide

Case study - Nuskin: Statefull Applications in a Stateless World

  1. 1. Day Communiqué 5.2 Stateful Sites in a Stateless World Oct, 2009
  2. 2. History •  Founded in 1984, Nu Skin Enterprises is a direct selling company based in Provo, UT –  Selling premium quality personal care, nutrition, and technology products –  Global network of more than 750,000 active independent distributors and preferred customers. –  1.3 billion in sales last year •  Nu Skin operates in 48 international markets and 36 languages across the Americas, the Asia Pacific region and Europe •  More then 70% of Nu Skin revenue is from outside North America
  3. 3. Business Case •  Business Case for a new CMS solution: –  Current platform was a more technical based, IT centric platform for contribution –  No easy way for less-technical users to contribute content •  Heavy dependency on Corporate IT –  Performance –  Web property consolidation •  Many different properties, no single global web strategy •  Global web standards, brand standards
  4. 4. •  US/English Launch on October 22, 2009 –  6 months of development. –  12 months from RFP to first market launch. –  1200 Content Pages –  10 marketing content contributors •  3 have no web experience whatsoever –  38 markets scheduled by Q4 2010 •  36 LANGUAGES •  New design •  New CMS •  48 New content contributors
  5. 5. Live Site
  6. 6. Previous Architecture
  7. 7. New Architecture AKAMAI (CDN) APACHE WEBLOGIC DAY CQ5 SAP ORACLE
  8. 8. 40,000 Static Servers Server Server Nu Skin Server Server
  9. 9. How to Deliver new site in 6 Months •  Leverage DAY for content centric pages •  To increase performance convert as many pages as possible from Stateful to Static •  When state is required for functionality, reuse existing applications
  10. 10. Techniques for integrating stateful apps into the static CMS •  Using the Cookie •  Using the DOM (HTML Document Object Model) •  Using Iframes •  Using Ajax Applications •  Using Server Side Includes
  11. 11. Using the Cookie •  Migrate non secure session variables into the client cookie. •  Synchronize cookie and server session using post rendering Ajax calls •  Bind cookie variables directly to html elements using the BIND API
  12. 12. BIND Cookie: bind-first_name=Bart bind-last_name=Strong bind-number_of_items=1 HTML Elements: hello, <div class=“bind-first_name”></div> Your Cart(<div class=“bind-number_of_items”></div>)
  13. 13. Using the DOM •  Create HTML with both wholesale and retail pricing hidden. Using java script and cookie variables, display only those values appropriate to the user. •  Only use technique when data is not sensitive.
  14. 14. Product Price Example
  15. 15. How to handle real time product information •  Key content not owned by Day but by SAP –  Product pricing –  Product availability 1.  SAP posts changes to product information to CQ5 author using existing sling REST services 2.  Updated product information kicks off workflow that activates pages and notifies Akamai
  16. 16. Product Content Propagation PUBLISH SAP AUTHOR AKAMAI
  17. 17. Using IFrame •  Pros –  Application Reuse with completely different look –  Simple –  Good use of bandwidth •  Cons –  Security –  Cross Domain –  Frame Resizing –  Session Syncing
  18. 18. IFrame component tips •  Iframes work for simple flows •  Define –  Entry Page –  Success Page –  Abort and Error Page •  Securely pass CSS from the design. •  Iframe components means the business can decide where the flow is used.
  19. 19. Iframe Configuration
  20. 20. Server Side Includes •  When to Use –  Can’t really touch the Stateful apps HTML –  Statefull app needs access to full HTML (ie header, body tag, …) •  Pros –  Quick –  Simple •  Cons –  Slows apache rendering –  Problems with last modified date –  Link checker
  21. 21. Web 2.0 Ajax Applications •  Thin client Ajax based apps •  Delivered as cacheable Java Script files and/or Flash files •  Services can be hosted across domains –  (with a little help) •  Complex apps can be encapsulated behind simple CQ5 components •  Nice separation of content from functionality
  22. 22. Web 2.0 (Ajax Applications) •  When to Use –  When possible –  When application functionality is separated from content but located in a content page. •  Pros –  Mix Stateful and Stateless content into the same HTML element –  An application can become a component •  Cons –  More Complex –  Security
  23. 23. Benefits of Techniques •  Faster pages •  Reduce load on hardware •  Accelerate solution delivery •  Application reuse •  Architecture agnostic
  24. 24. THANK YOU

×