• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
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

on

  • 4,940 views

Drupal experts from IBM Global Business Services detail the process of defining business requirements, selecting the appropriate technologies, overcoming the technical enterprise integration ...

Drupal experts from IBM Global Business Services detail the process of defining business requirements, selecting the appropriate technologies, overcoming the technical enterprise integration challenges, and ultimately launching best of breed e-commerce sites with Drupal.

Statistics

Views

Total Views
4,940
Views on SlideShare
4,466
Embed Views
474

Actions

Likes
4
Downloads
85
Comments
1

5 Embeds 474

http://www.acquia.com 243
http://acquia.com 187
https://www.acquia.com 26
http://www.slideshare.net 17
file:// 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

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

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • I really enjoyed this webinar. Does anybody know whether any of the modules covering OO forms API and SOAP integration have been pushed back into the Drupal community? If so, I'd be really interested to find out more. Thanks
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    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 Presentation Transcript

    • 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
      • Presentation Tier responsible for presentation logic
      • 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.
    • 13
      Technology Selection: So many choices…
      Presentation Tier
      Content Management System
      Alfresco (Java based)
      Drupal (PHP)
      Joomla (PHP)
      Custom-built solution
      JavaServer Faces (JSF)
      Ruby on Rails
      Zend Framework
      Web Application Logic Tier
      Java-based
      Essentially dictated by client IT strategy.
    • 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
      • Logical Architecture
    • 18
      Solution Overview: Architecture
      • Physical Architecture (Overview)
    • 19
      Solution Overview: Logic Layer
      Key components
      WebSphere, DB2, Java 6, Spring, Apache CXF.
      Purpose
      Expose business-aligned web-services
      Provide a stable abstraction of the ERP system and other back-ends
      Present a clean, easy-to-test interface to the UI layer
    • 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
      • Example from “Serviceability Check” built for determining heating oil delivery availability, as well as price savings.
    • 22
      Agenda
      Background
      Technology Selection
      Solution Overview
      Challenges and Solutions
      Questions
    • 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