Presentation is loading. Please wait.

Presentation is loading. Please wait.

Fusebox ConferenceMaxim Porges Case Study: HotelsCorp.com Successfully Blending OO With Fusebox (and Other Cool Tricks)

Similar presentations


Presentation on theme: "Fusebox ConferenceMaxim Porges Case Study: HotelsCorp.com Successfully Blending OO With Fusebox (and Other Cool Tricks)"— Presentation transcript:

1 Fusebox ConferenceMaxim Porges Case Study: HotelsCorp.com Successfully Blending OO With Fusebox (and Other Cool Tricks)

2 Fusebox ConferenceMaxim Porges HotelsCorp.com At A Glance  The Business Plan  Generate hotel bookings online, undercut big names (Expedia, Travelocity)  Convert a percentage of bookings to tours  Market through PPC on Search Engines  Hotel revenue pays for the advertising  Create location “skin-able” web sites  N Landing Pages - Cater to Special Interests  Sell hotels for revenue, tours for Timeshare  Brings cost-per-tour down to $60 from $150+

3 Fusebox ConferenceMaxim Porges HotelsCorp.com At A Glance  Technical Challenges  Legacy Integration - Reservation System and Sales and Marketing System (S.A.M.S)  No API to S.A.M.S. - closed system  First CFMX Project  First OO with Fusebox Project  Delivery expected in 3 months (!)

4 Fusebox ConferenceMaxim Porges Implementation Choices  FB 3.0 on ColdFusion MX  Multi Aliased Circuits (from 2002 FB Conf)  Oracle back end (for web site)  Oracle PL/SQL API to legacy system  CFC Abstraction Layer  Java for Asynchronous Search and Form Validation System  A smattering of JavaScript (ugh)

5 Fusebox ConferenceMaxim Porges SAMS System Legacy System - SAMS DB Links Problems  Business Logic in Forms  Intimate Knowledge of DB required  No clean separation between systems

6 Fusebox ConferenceMaxim Porges Why Objects? Changes here… Fusebox App …don’t force changes here!

7 Fusebox ConferenceMaxim Porges HotelsCorp.com Architecture SAMSSAMS Web API HotelsCorp API

8 Fusebox ConferenceMaxim Porges Creating the Object Model

9 Fusebox ConferenceMaxim Porges Fusebox 3.0 Architecture  Designed in Adalon  Architecture diagram available for questioning

10 Fusebox ConferenceMaxim Porges Skinning The Site  Each web site is “skinned” through LAF and code  orlando.hotelscorp.com  smokies.hotelscorp.com  vegas.hotelscorp.com (coming soon)  All Fusebox code is reusable between destinations  Identical process flows  Changes to codebase affect all sites at once

11 Fusebox ConferenceMaxim Porges Skinning The Site  Code sample from main fbx_Settings <!--------------------------------------------- Set up destination resource bundle variables This includes the default market effort ----------------------------------------------> <cfset request.G_SECURE_SERVER_URL = "http://webdev1mx.wgresorts.com/… <cfset request.G_AREA_ATTRACTION_ID_LIST = "28,31,33,47,50,51,35,… <cfset request.G_DESTINATION_DOMAIN = "http://webdev1mx.wgresorts… <cfset request.G_LP_ATTRACTION_TICKET_LINK = "#request.G_SELF_FUSE…

12 Fusebox ConferenceMaxim Porges Skinning The Site  Sample Resource Bundle

13 Fusebox ConferenceMaxim Porges Tying the Objects To Fusebox  Main objects stored in the application scope as Singletons  The request scope is your friend  JSP forwarding in CFMX  Abstracts persistence implementation (i.e. session, cookie, DB)

14 Fusebox ConferenceMaxim Porges Asynchronous Search  Asynchronous Processes/Threads  ColdFusion doesn’t allow you to kick off your own threads  Wrote a simple Java object that would open a URL in a Java Thread and die on completion  Used for asynchronous search in HotelsCorp.com.

15 Fusebox ConferenceMaxim Porges Search Process Diagram Search Submitted ColdFusion Server Store Search Java Thread CFM Search Code Returns Search Complete? META Refresh Search Results Search Ends 

16 Fusebox ConferenceMaxim Porges // return object that’s brand new function getSomeObject() { return CreateObject(“component”, com.mywebsite.object”); }  In Fuses, don’t explicitly reference object scope  In Fuse:  In Application File: // return object stored persistently in application scope function getSomeObject() { return application.someObject; } Lessons Learned

17 Fusebox ConferenceMaxim Porges That’s All, Folks!  Thanks for watching!  Please ask me any questions that you might have


Download ppt "Fusebox ConferenceMaxim Porges Case Study: HotelsCorp.com Successfully Blending OO With Fusebox (and Other Cool Tricks)"

Similar presentations


Ads by Google