integrating drupal with enterprise back-office systems to deliver best of breed e-commerce sites

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

Upload: acquia

Post on 26-Jun-2015

5.232 views

Category:

Technology


3 download

DESCRIPTION

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.

TRANSCRIPT

Page 1: 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

Ted TritchewDelivery Executive

IBM Global Business Services

Bryan HouseSr. Director, Marketing

Acquia

@bryanhouse

Stuart Robertson

Lead IT Architect

IBM Global Business Services

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

Introduction

Ted Tritchew– Delivery Executive, IBM Global Business

Services

Stuart Robertson– Lead IT Architect, IBM Global Business

Services

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

IBM GBS – Application Innovation Services © 2010 IBM Corporation

Integrating Drupal with Enterprise Back-Office Systems

January 21st, 2010

to Deliver a Best of Breed e-Commerce Sites

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

4

Agenda

Background Technology Selection Solution Overview Challenges and Solutions Questions

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

5

Background

IBM Application Services Typical website scope for custom eCommerce solutions

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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…

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

7

Typical Website Scope1. 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.2. 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 management3. Significant Reach

– Allow as many users as possible to access the site (support multiple browsers)– Support multiple regions through web site

4. 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 history5. Secure

– Secure role-based web access to site, and to individual accounts, – Data security– Secure Web site administration

6. Seamless Integration to backend applications– Account Setup, Account Maintenance, Quotes, Orders, Order History, Order Status,

Account Balance, Credit Card/Checking Account Payment/Validation

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

8

Agenda

Background Technology Selection Solution Overview Challenges and Solutions Questions

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

9

Technology Selection

Constraints So many choices… What we chose and why

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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.

Presentation Tier

Back-end Enterprise

Application 1Web Application

Logic Tier

Directly Integrated Self Service Application Pattern

Back-end Enterprise

Application 2

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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.

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

15

Agenda

Background Technology Selection Solution Overview Challenges and Solutions Questions

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

16

Solution Overview

Architecture Logic Layer (WebSphere) Presentation Layer (Drupal) Interaction Patterns

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

17

Solution Overview: Architecture

Logical Architecture

Customer

DatabaseDatabase(if CMS)

Credit CardService Provider

ACHService Provider

Presentation Layer

ERP SystemLogicLayer

Employee

“Backend” Systems 3rd-Party Systems

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

18

Solution Overview: Architecture

Physical Architecture (Overview)

InternetWeb

browser

LinuxLinux Linux

WebSphere 7.0Apache

ERPPresentation

Layer

Drupal

Logic Layer

PHP 5 Java 6

DB2

DB

Legend

Firewall

Web service

HTTP/S SOAP

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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.

Apache

Presentation Layer

AcquiaDrupal 6.x

CustomDrupal

authentication

PHP 5

Pages, Views,Custom modules

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

21

Internet

LinuxLinux Linux

WebSphere 7.0Apache

ERPPresentation

Layer

Drupal

Logic Layer

PHP 5 Java 6

DB2

DB

Solution Overview: Interaction Patterns

Example from “Serviceability Check” built for determining heating oil delivery availability, as well as price savings.

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

22

Agenda

Background Technology Selection Solution Overview Challenges and Solutions Questions

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

23

Challenges and Solutions

Dynamic Requirement and Agile Delivery ERP System Integration Team Development with Drupal Drupal Limitations (ie. Panels availability, Forms API)

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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.

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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”

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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.

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

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

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

© 2010 IBM CorporationIBM GBS – Application Innovation Services

30

Agenda

Background Technology Selection Solution Overview Challenges and Solutions Questions

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

Questions

For more information, visit:– http://acquia.com– http://twitter.com/acquia

Contact us:– [email protected]– 888.9.ACQUIA

Contact IBM Global Services:– [email protected]– 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

Today’s webinar recording will be posted at:

http://acquia.com/community/resources/recorded_webinars