Building an enterprise web site presents a unique set of challenges. In this session, we’ll review IBM’s development of the NCL.com site, focusing on challenges and solutions. We will discuss using open source in the enterprise, the impact of open source support contracts, integrating with enterprise systems such as itinerary data, pricing, reservations, shore excursions, geotargeting, and search, integrating with technologies such as Endeca and Flash, defining a complex content model in Drupal and migrating legacy CMS data, staging and deploying content, structuring and being efficient with large development teams (up to 30 team members), working with many content contributors, hosting within an enterprise infrastructure, caching and content delivery networks, code deployments, monitoring, load testing and integrating Agile practices.
43. What did you think? Locate this session on the DCC website: http://chicago2011.drupal.org/sessions Click the “Take the Survey” link. Thanks!
Editor's Notes
Working on NCL from pre-production, thru development thru support Number of differences between Drupal in the Enterprise “ Conventional” Drupal implementations
IBM known for BIG IRON
And big challenges
IBM Interactive, a digital agency within IBM Not just developing solutions with IBM software, such as WebSphere Portal Use open source, such as Drupal and Ruby, mobile apps
NCL.com Revenue generating – booking cruises and excursions, making reservations High availability High performance 4m visitors/month 32m page views/month Higher waves of traffic during promotions
From mid-west Wife thinks I spend my time in Miami doing this.
Kids this
Friends this
More like this
And sometimes like this
Used by the enterprise for decades Enterprise purchases software license from vendor. Enterprise perspective: Legal ownership of code is well-defined. Software backed by established entity.
OSS Licensing - Software distributed under open source (GPL) license. Enterprise perspective: Who “owns” the license? Who “owns” the code? Who backs the software? Community Who is the community???
Conversations like this result from differing perspectives even within the IBM Team.
Support must be addressed before project, not after. Support is critical in the enterprise. While people may come and go, support needs to remain consistent.
Enterprise purchases support contract from vendor. (maybe same as license) Enterprise engages IT (internal or contract) for regular maintenance. Enterprise engages support vendor for escalated support. Enterprise perspective: Well defined escalation procedures Accountability
Great for developers Google.com Drupal.org IRC Enterprise perspective: No accountability No escalation path
Content model critical many content types many integration points
Inputs to content model
Process driven by documentation in enterprise Interview content owners Document content model Define content types Export legacy content Import legacy content Tweak content types repeatedly to address changing import and template needs
Legacy CMS – One time import, daily import via cron Endeca Search Index – XML from Drupal on demand + cache data = index JSON back to Drupal Geotargeting – IP address on demand Flash XML content nodeapi Many potential points of failure Many drivers of content model
Many challenges
Staging – Full preview with Drupal, Flash and Endeca Deploy module Not widely used No upgrade path to D7 D8?
Pre-production – small team Build – large team Maintenance – small team
Lack of team lead can result in diff modules being used for same tasks.