SlideShare una empresa de Scribd logo
1 de 31
Integrating Drupal with Enterprise Back-Office Systems to Deliver Best of Breed e-Commerce Sites Ted Tritchew Delivery Executive IBM Global Business Services Bryan House Sr. Director, Marketing  Acquia @bryanhouse Stuart Robertson  Lead IT Architect IBM Global Business Services
Introduction Ted Tritchew Delivery Executive, IBM Global Business Services Stuart Robertson Lead IT Architect, IBM Global Business Services
Integrating Drupal with Enterprise Back-Office Systems to Deliver a Best of Breed e-Commerce Sites  January 21st, 2010
4 Agenda Background  Technology Selection  Solution Overview  Challenges and Solutions  Questions
5 Background IBM Application Services Typical website scope for custom eCommerce solutions
6 IBM Application Services	 The IBM Application Innovation  Services group is part of IBM’s consulting organization – IBM Global Business Services “The mission of Application Innovation Services is to help our clients grow, innovate, differentiate, and transform their businesses by delivering world-class solution design, development and integration services.” Create many custom applications for clients, including Drupal-based web sites, and e-commerce sites which integrate into enterprise systems. This presentation we talk about custom e-commerce solutions that are built when there is no commercially available e-commerce infrastructure that meets the needs of client, and the solution requires integration to clients enterprise systems…
7 Typical Website Scope Superior Brand Companies brand should be supported through “best of breed” web site  Support best of breed Web 2.0 features including: Blogs, RSS Feeds, Ratings and Comments, Tell-a-friend, Polls, Contact us. Self Evident User Interface & features Self Service user interface optimized for ease-of-use, and requiring minimum on-line help  Self-service ordering, order status, and account management Significant Reach Allow as many users as possible to access the site (support multiple browsers) Support multiple regions through web site Speed Highly responsive user interface (sub-second response time) Users can quickly perform key operations such as: customer sign-up, order entry, order status, order history Secure Secure role-based web access to site, and to individual accounts,  Data security Secure Web site administration Seamless Integration to backend applications Account Setup, Account Maintenance, Quotes, Orders, Order History, Order Status, Account Balance, Credit Card/Checking Account Payment/Validation
8 Agenda Background  Technology Selection  Solution Overview  Challenges and Solutions  Questions
9 Technology Selection Constraints  So many choices… What we chose and why
10 Constraints Web site scope and requirements drive many of the technology requirements & decisions: Browser based access Real-time integration to enterprise applications Best of breed ecommerce Self-service ordering and account management Blogs, RSS Feeds, Ratings and Comments etc. Secure  Role based authentication Protect personal information Self evident highly responsive user interface Instant feedback to user by integrating with back-office application in real-time  Support branding and marketing: Quickly make changes to web site content Search Engine Optimization
11 Technology Selection:  Constraints Need to integrate with existing back-office systems and IT environment Largely dictated choice of Application Server and “mid-tier” database. Short time to market Ease of use and rapid prototyping very important. Use of proven e-commerce application and SOA patterns important Skills availability Java, WebSphere, dynamic languages (Ruby, PHP), SASS, CSS, etc. Familiarity with standard IBM Tools (Rational tool suite, etc). “Enterprise readiness” Scalability, performance, security … Need to be easily supported by IT operations team Limitations on use of “approved” Open Source Software (OSS) GPL Legal pedigree Precedent Cost
12 Self-service ecommerce application pattern ,[object Object]
Web Application Tier responsible for some application business logic, and for accessing backend application logic and data (in real time) via point-to-point integration
Backend Enterprise applications contain core business logic and data that run the business. ,[object Object]
14 Technology Selection:  What we choose and Why Web Application Logic Tier Linux, WebSphere, DB2;  Custom Development (Java) Skills availability, good fit with existing IT environment and strategy IT operations team has solid experience supporting “Blue stack” Presentation Tier Acquia Drupal (6.x), Linux; Contributed & Custom Modules Supported features required for best of breed solution Stable APIs Extensibility  Security Documentation  Quality  Support (both Acquia and community-based) Rapid delivery and prototyping  Cost effective
15 Agenda Background  Technology Selection  Solution Overview  Challenges and Solutions  Questions
16 Solution Overview Architecture  Logic Layer (WebSphere) Presentation Layer (Drupal) Interaction Patterns
17 Solution Overview:  Architecture ,[object Object],[object Object],[object Object]
20 Solution Overview:  Presentation Layer Key components Acquia Drupal 6.14,  LAMP stack  CCK, Views, Panels, JQuery, Location, GMap Custom modules including: OO SOAP-client framework OO Forms API abstraction OO Logging framework (into watchdog) Configurable diagnostics and tracing Forms (“My Account”, “Signup”, “Order”, “Order History”…) Login hooks, etc.
21 Solution Overview:  Interaction Patterns ,[object Object],[object Object]
23 Challenges and Solutions Dynamic Requirement and Agile Delivery ERP System Integration Team Development with Drupal Drupal Limitations (ie. Panels availability, Forms API)
24 Challenges and Solutions:  Changing Requirements/Agile Delivery Challenges Short timelines. Support evolving requirements in order to provide best possible solution Parallel development of Presentation and Logic layers. Ensure teams’ deliverables work when integrated. Provide developers the freedom to “re-factor mercilessly” while preventing regressions. Solutions Agile development process (Scrum) Test-Driven Development (TDD) JUnit, PHPUnit, Selenium, SoapUI Interface-based Design Continuous Integration Hudson, Maven, SVN
25 Challenges and Solutions: ERP System Integration Challenges Most e-commerce applications fail because it is difficult to integrate with Enterprise applications (ERP systems) Poorly documented and evolving ERP APIs. Firewalls and access restrictions. Availability and stability of test systems. Population of suitable test data in ERP test system.  Solutions (using best-of-breed patterns) Service Oriented Architecture (SOA)  “Hide” the ERP system behind a set of business-aligned web-services (the “mid-tier”). “Mock” Framework Decoupled continuous-integration test environments from real ERP systems using a custom-built “mock” framework that simulates the ERP interactions Automated Testing Comprehensive automated test-suite (JUnit-based) run against both mock and real ERP environments.
26 Challenges and Solutions:  Team Development with Drupal Challenges How to reliably merge team-members’ work? How to ensure merged changes work correctly end-to-end? How to give developers “private workspaces” without letting them get “too far” from the integration environment? Solutions Central Drupal “Integration Server” Cron-job to dump integration DB and check it into source control (SVN). Developers pull from SVN and reload their local database. Continuous-integration build system Reacts to changes made to source files (Java & PHP) and the Integration Server database  Spans both “mid-tier” and Drupal Automated compile, test, package, deploy, integration-test cycle Downstream Drupal “builds”
27 Challenges and Solutions:  Drupal Forms API Challenges Verbose, error-prone syntax (“array hell”). Difficult for new developers to use (no auto-complete, no inheritance or code-level reuse). Difficult to ensure consistency across developers. Solutions Create custom object-oriented Forms API Provides an OO class hierarchy for forms and form elements (Checkbox, TextField, Form, FieldSet, etc.) Forms and form elements are render()’d into Drupal Forms API arrays. Fully unit-tested using PHPUnit.
28 Other Considerations	 Security It is essential that e-commerce site is secure Use independent team to perform security audit/testing of site before going into production Use Rational Appscan as main tool for security testing Development team also does ad-hoc security testing using Fiddler and Watcher as the site is being developed
29 Conclusions	 Keys to success: Use of Drupal framework as a key building block	 Real-time integration to back-office applications to provide best of breed solution Use of well known development, application and architecture patterns  Observations: Integration to enterprise applications such as ERP systems is not easy, don’t underestimate it as it will be the difference between success and failure Make sure that you spend a lot of time up front creating your development, continuous integration, and unit testing environments, it will be time well spent It always helps to have an experienced team that has done similar projects in the past
30 Agenda Background  Technology Selection  Solution Overview  Challenges and Solutions  Questions
Questions Today’s webinar recording  will be posted at: http://acquia.com/community/resources/recorded_webinars For more information, visit: http://acquia.com http://twitter.com/acquia Contact us: sales@acquia.com  888.9.ACQUIA Contact IBM Global Services: tedt@ca.ibm.com http://www-935.ibm.com/services/us/index.wss/bus_serv/gbs/a1005270 Sign up for a free 30-day Acquia Network Trial http://acquia.com/trial
Integrating Drupal with Enterprise Back-Office Systems to Deliver Best of Breed e-Commerce Sites
Integrating Drupal with Enterprise Back-Office Systems to Deliver Best of Breed e-Commerce Sites

Más contenido relacionado

Más de Acquia

May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022Acquia
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022Acquia
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story Acquia
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXAcquia
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowAcquia
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner BootcampAcquia
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcampAcquia
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner BootcampAcquia
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner BootcampAcquia
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYAcquia
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineAcquia
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless futureAcquia
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsAcquia
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...Acquia
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Acquia
 
Leave Local Dev Behind: Start Writing Your Code In The Cloud
Leave Local Dev Behind: Start Writing Your Code In The CloudLeave Local Dev Behind: Start Writing Your Code In The Cloud
Leave Local Dev Behind: Start Writing Your Code In The CloudAcquia
 
Overwhelmed with data from different sources and systems?
Overwhelmed with data from different sources and systems?Overwhelmed with data from different sources and systems?
Overwhelmed with data from different sources and systems?Acquia
 
You've got a CDP, so what?
You've got a CDP, so what?You've got a CDP, so what?
You've got a CDP, so what?Acquia
 
CDP vs CRM - What's the difference?
CDP vs CRM - What's the difference?CDP vs CRM - What's the difference?
CDP vs CRM - What's the difference?Acquia
 

Más de Acquia (20)

May Partner Bootcamp 2022
May Partner Bootcamp 2022May Partner Bootcamp 2022
May Partner Bootcamp 2022
 
April Partner Bootcamp 2022
April Partner Bootcamp 2022April Partner Bootcamp 2022
April Partner Bootcamp 2022
 
How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story How to Unify Brand Experience: A Hootsuite Story
How to Unify Brand Experience: A Hootsuite Story
 
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CXUsing Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
Using Personas to Guide DAM Results: How Life Time Pumped Up Their UX and CX
 
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development WorkflowImprove Code Quality and Time to Market: 100% Cloud-Based Development Workflow
Improve Code Quality and Time to Market: 100% Cloud-Based Development Workflow
 
September Partner Bootcamp
September Partner BootcampSeptember Partner Bootcamp
September Partner Bootcamp
 
August partner bootcamp
August partner bootcampAugust partner bootcamp
August partner bootcamp
 
July 2021 Partner Bootcamp
July  2021 Partner BootcampJuly  2021 Partner Bootcamp
July 2021 Partner Bootcamp
 
May Partner Bootcamp
May Partner BootcampMay Partner Bootcamp
May Partner Bootcamp
 
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASYDRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
DRUPAL 7 END OF LIFE IS NEAR - MIGRATE TO DRUPAL 9 FAST AND EASY
 
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead MachineWork While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
Work While You Sleep: The CMO’s Guide to a 24/7/365 Lead Machine
 
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B LeadsAcquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
Acquia webinar: Leveraging Drupal to Bury Your Sales Team In B2B Leads
 
April partner bootcamp deck cookieless future
April partner bootcamp deck  cookieless futureApril partner bootcamp deck  cookieless future
April partner bootcamp deck cookieless future
 
How to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutionsHow to enhance cx through personalised, automated solutions
How to enhance cx through personalised, automated solutions
 
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
DRUPAL MIGRATIONS AND DRUPAL 9 INNOVATION: HOW PAC-12 DELIVERED DIGITALLY FOR...
 
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
Customer Experience (CX): 3 Key Factors Shaping CX Redesign in 2021
 
Leave Local Dev Behind: Start Writing Your Code In The Cloud
Leave Local Dev Behind: Start Writing Your Code In The CloudLeave Local Dev Behind: Start Writing Your Code In The Cloud
Leave Local Dev Behind: Start Writing Your Code In The Cloud
 
Overwhelmed with data from different sources and systems?
Overwhelmed with data from different sources and systems?Overwhelmed with data from different sources and systems?
Overwhelmed with data from different sources and systems?
 
You've got a CDP, so what?
You've got a CDP, so what?You've got a CDP, so what?
You've got a CDP, so what?
 
CDP vs CRM - What's the difference?
CDP vs CRM - What's the difference?CDP vs CRM - What's the difference?
CDP vs CRM - What's the difference?
 

Último

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 

Último (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 

Integrating Drupal with Enterprise Back-Office Systems to Deliver Best of Breed e-Commerce Sites

  • 1. Integrating Drupal with Enterprise Back-Office Systems to Deliver Best of Breed e-Commerce Sites Ted Tritchew Delivery Executive IBM Global Business Services Bryan House Sr. Director, Marketing Acquia @bryanhouse Stuart Robertson Lead IT Architect IBM Global Business Services
  • 2. Introduction Ted Tritchew Delivery Executive, IBM Global Business Services Stuart Robertson Lead IT Architect, IBM Global Business Services
  • 3. Integrating Drupal with Enterprise Back-Office Systems to Deliver a Best of Breed e-Commerce Sites January 21st, 2010
  • 4. 4 Agenda Background Technology Selection Solution Overview Challenges and Solutions Questions
  • 5. 5 Background IBM Application Services Typical website scope for custom eCommerce solutions
  • 6. 6 IBM Application Services The IBM Application Innovation Services group is part of IBM’s consulting organization – IBM Global Business Services “The mission of Application Innovation Services is to help our clients grow, innovate, differentiate, and transform their businesses by delivering world-class solution design, development and integration services.” Create many custom applications for clients, including Drupal-based web sites, and e-commerce sites which integrate into enterprise systems. This presentation we talk about custom e-commerce solutions that are built when there is no commercially available e-commerce infrastructure that meets the needs of client, and the solution requires integration to clients enterprise systems…
  • 7. 7 Typical Website Scope Superior Brand Companies brand should be supported through “best of breed” web site Support best of breed Web 2.0 features including: Blogs, RSS Feeds, Ratings and Comments, Tell-a-friend, Polls, Contact us. Self Evident User Interface & features Self Service user interface optimized for ease-of-use, and requiring minimum on-line help Self-service ordering, order status, and account management Significant Reach Allow as many users as possible to access the site (support multiple browsers) Support multiple regions through web site Speed Highly responsive user interface (sub-second response time) Users can quickly perform key operations such as: customer sign-up, order entry, order status, order history Secure Secure role-based web access to site, and to individual accounts, Data security Secure Web site administration Seamless Integration to backend applications Account Setup, Account Maintenance, Quotes, Orders, Order History, Order Status, Account Balance, Credit Card/Checking Account Payment/Validation
  • 8. 8 Agenda Background Technology Selection Solution Overview Challenges and Solutions Questions
  • 9. 9 Technology Selection Constraints So many choices… What we chose and why
  • 10. 10 Constraints Web site scope and requirements drive many of the technology requirements & decisions: Browser based access Real-time integration to enterprise applications Best of breed ecommerce Self-service ordering and account management Blogs, RSS Feeds, Ratings and Comments etc. Secure Role based authentication Protect personal information Self evident highly responsive user interface Instant feedback to user by integrating with back-office application in real-time Support branding and marketing: Quickly make changes to web site content Search Engine Optimization
  • 11. 11 Technology Selection: Constraints Need to integrate with existing back-office systems and IT environment Largely dictated choice of Application Server and “mid-tier” database. Short time to market Ease of use and rapid prototyping very important. Use of proven e-commerce application and SOA patterns important Skills availability Java, WebSphere, dynamic languages (Ruby, PHP), SASS, CSS, etc. Familiarity with standard IBM Tools (Rational tool suite, etc). “Enterprise readiness” Scalability, performance, security … Need to be easily supported by IT operations team Limitations on use of “approved” Open Source Software (OSS) GPL Legal pedigree Precedent Cost
  • 12.
  • 13. Web Application Tier responsible for some application business logic, and for accessing backend application logic and data (in real time) via point-to-point integration
  • 14.
  • 15. 14 Technology Selection: What we choose and Why Web Application Logic Tier Linux, WebSphere, DB2; Custom Development (Java) Skills availability, good fit with existing IT environment and strategy IT operations team has solid experience supporting “Blue stack” Presentation Tier Acquia Drupal (6.x), Linux; Contributed & Custom Modules Supported features required for best of breed solution Stable APIs Extensibility Security Documentation Quality Support (both Acquia and community-based) Rapid delivery and prototyping Cost effective
  • 16. 15 Agenda Background Technology Selection Solution Overview Challenges and Solutions Questions
  • 17. 16 Solution Overview Architecture Logic Layer (WebSphere) Presentation Layer (Drupal) Interaction Patterns
  • 18.
  • 19. 20 Solution Overview: Presentation Layer Key components Acquia Drupal 6.14, LAMP stack CCK, Views, Panels, JQuery, Location, GMap Custom modules including: OO SOAP-client framework OO Forms API abstraction OO Logging framework (into watchdog) Configurable diagnostics and tracing Forms (“My Account”, “Signup”, “Order”, “Order History”…) Login hooks, etc.
  • 20.
  • 21. 23 Challenges and Solutions Dynamic Requirement and Agile Delivery ERP System Integration Team Development with Drupal Drupal Limitations (ie. Panels availability, Forms API)
  • 22. 24 Challenges and Solutions: Changing Requirements/Agile Delivery Challenges Short timelines. Support evolving requirements in order to provide best possible solution Parallel development of Presentation and Logic layers. Ensure teams’ deliverables work when integrated. Provide developers the freedom to “re-factor mercilessly” while preventing regressions. Solutions Agile development process (Scrum) Test-Driven Development (TDD) JUnit, PHPUnit, Selenium, SoapUI Interface-based Design Continuous Integration Hudson, Maven, SVN
  • 23. 25 Challenges and Solutions: ERP System Integration Challenges Most e-commerce applications fail because it is difficult to integrate with Enterprise applications (ERP systems) Poorly documented and evolving ERP APIs. Firewalls and access restrictions. Availability and stability of test systems. Population of suitable test data in ERP test system. Solutions (using best-of-breed patterns) Service Oriented Architecture (SOA) “Hide” the ERP system behind a set of business-aligned web-services (the “mid-tier”). “Mock” Framework Decoupled continuous-integration test environments from real ERP systems using a custom-built “mock” framework that simulates the ERP interactions Automated Testing Comprehensive automated test-suite (JUnit-based) run against both mock and real ERP environments.
  • 24. 26 Challenges and Solutions: Team Development with Drupal Challenges How to reliably merge team-members’ work? How to ensure merged changes work correctly end-to-end? How to give developers “private workspaces” without letting them get “too far” from the integration environment? Solutions Central Drupal “Integration Server” Cron-job to dump integration DB and check it into source control (SVN). Developers pull from SVN and reload their local database. Continuous-integration build system Reacts to changes made to source files (Java & PHP) and the Integration Server database Spans both “mid-tier” and Drupal Automated compile, test, package, deploy, integration-test cycle Downstream Drupal “builds”
  • 25. 27 Challenges and Solutions: Drupal Forms API Challenges Verbose, error-prone syntax (“array hell”). Difficult for new developers to use (no auto-complete, no inheritance or code-level reuse). Difficult to ensure consistency across developers. Solutions Create custom object-oriented Forms API Provides an OO class hierarchy for forms and form elements (Checkbox, TextField, Form, FieldSet, etc.) Forms and form elements are render()’d into Drupal Forms API arrays. Fully unit-tested using PHPUnit.
  • 26. 28 Other Considerations Security It is essential that e-commerce site is secure Use independent team to perform security audit/testing of site before going into production Use Rational Appscan as main tool for security testing Development team also does ad-hoc security testing using Fiddler and Watcher as the site is being developed
  • 27. 29 Conclusions Keys to success: Use of Drupal framework as a key building block Real-time integration to back-office applications to provide best of breed solution Use of well known development, application and architecture patterns Observations: Integration to enterprise applications such as ERP systems is not easy, don’t underestimate it as it will be the difference between success and failure Make sure that you spend a lot of time up front creating your development, continuous integration, and unit testing environments, it will be time well spent It always helps to have an experienced team that has done similar projects in the past
  • 28. 30 Agenda Background Technology Selection Solution Overview Challenges and Solutions Questions
  • 29. Questions Today’s webinar recording will be posted at: http://acquia.com/community/resources/recorded_webinars For more information, visit: http://acquia.com http://twitter.com/acquia Contact us: sales@acquia.com 888.9.ACQUIA Contact IBM Global Services: tedt@ca.ibm.com http://www-935.ibm.com/services/us/index.wss/bus_serv/gbs/a1005270 Sign up for a free 30-day Acquia Network Trial http://acquia.com/trial