creating a global e-commerce website with e-business suite and fusion middleware

31
Creating a Global eCommerce Site with EBusiness Suite and Fusion Middleware Brian “Bex” Huff Chief Software Architect Oracle ACE Director Monday, October 17, 2011

Upload: brian-huff

Post on 18-Nov-2014

18.928 views

Category:

Technology


0 download

DESCRIPTION

Creating an e-commerce web site is always a challenge, but it's even a bigger challenge if its a global website for a multinational firm in a heavily regulated industry. Thousands of products, hundreds of locales, different regulations, different prices, and different marketing collateral. Attend this session to see how we wired together E-Business Suite, WebLogic Portal, Universal Content Management, Identity Management, and Enterprise Search to meet the global business needs.

TRANSCRIPT

Page 1: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Creating a Global eCommerce Site with EBusiness Suite and Fusion Middleware

Brian “Bex” HuffChief Software ArchitectOracle ACE Director

Monday, October 17, 2011

Page 2: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

2

The Web Site Redesign (WSR) project• Goal: completely re-vamp a 10-year old product website

The company• Multinational firm, heavily regulated industry• Fortune 500 company

The team• Approximately 80 people

My role• WebCenter architect, designer, and developer

The Project

Monday, October 17, 2011

Page 3: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

3

Fast and easy contribution by business owners• Mostly public content: secured edits

Workflow process for all content changes• Track who changed what, when, why

Support for multiple regions/countries locales

Applications and content on the same pages• E-Commerce ordering tools• End-user calculators and other small applications

Global Search Engine Optimization: “Google Friendly” URLs

High-Level Requirements

Monday, October 17, 2011

Page 4: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

4

Different products available in different markets• Users must never see a product they cannot purchase

Different regulations per region• You can’t say that in Germany!

Taxonomy was surprisingly critical• Incorrectly tagged content could lead to fines!

What’s the best way to blend content and applications?

The Challenges

Monday, October 17, 2011

Page 5: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

5

60+ product families• Each has a “business owner”

IE 6 must be supported• Unfortunately...

Different prices for different customers / locations

More Challenges

Monday, October 17, 2011

Page 6: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

6

Mostly Oracle

Infrastructure• Linux, Oracle Database, GFS

Framework• WebLogic Portal, SPRING, AJAX, and JavaScript

Back-End• Enterprise Applications and middleware

Security• Several identity management applications

The Stack!

Monday, October 17, 2011

Page 7: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Stack Diagram

7

Monday, October 17, 2011

Page 8: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

8

Oracle Enterprise Linux• Why not?

Oracle Database 11g• What else?

Red Hat Global File System (GFS)• Needed a shared file system in the SAN• Multiple nodes in the system had to share files

Load Balancers• Hardware and software (PEN)

Infrastructure

Monday, October 17, 2011

Page 9: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

9

WebLogic Application Server and Portal• 3-node cluster for main web site, and admin interface• 2-node cluster each for UCM, OID, IDOL, everything else!

“WSR Admin” portal• Configuration, customers, orders, product launches

SPRING• Open source toolkit for creating web front-ends in Java

JavaScript libraries• jQuery toolkit for front-facing• ExtJS for Admin interface

Framework

Monday, October 17, 2011

Page 10: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

10

E-Business Suite• Contracts, customers, products for sale

Product Information Management (QAD/FullTilt)• Product specs: size, weight, etc.• Categorization into product catalogs• Localizable, but unfortunately not normalized

Documentum• Repository for technical manuals• “Tactical” integration: content exported, but repository remains• Full consolidation out of scope of current project!

Back-End Applications: Existing

Monday, October 17, 2011

Page 11: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

11

WebCenter Content (UCM) 10gr3• Main content repository

Site Studio 10gr4• Built on top of UCM• Site navigation, web content, images, CSS, JS• Has the “Open WCM” web services we need

Autonomy Idol• Enterprise Search

Back-End Applications: New

Monday, October 17, 2011

Page 12: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

12

Speed was critical!• Needed to make custom web services to query eBiz tables directly

Multiple search indexes• One per locale: critical the people only search in their locale!

Blending the data together

Apps Challenges

Monday, October 17, 2011

Page 13: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

13

Active Directory• Used for internal employees• Integration needed for UCM and Admin site rights

Oracle Internet Directory• Used for external customers• Needed to log in, make orders, view pages

Oracle Access Manager• Single-Sign-On

Security

Monday, October 17, 2011

Page 14: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Security Configuration

14

Monday, October 17, 2011

Page 15: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

15

Portal front-end blends everything together

Content stored and managed by WebCenter Content• Marketing literature for products• General web pages, contact us, literature downloads, video• Localized versions of web assets

Site navigation controlled by Site Studio• Opt-in, Opt-out

Product information controlled by QAD• Localized and normalized there• Export the raw data to the portal’s database

Integration Strategy

Monday, October 17, 2011

Page 16: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Integrations

Portal - EBuisness Suite• Some TIBCO Web Services, some custom Web Services• Create Order, Order Details, Item Price services• Consumed via AJAX from portlet

Portal - Product Info / QAD• PIM data not fully normalized• Get a “dump” of raw data nightly• Organize it in WSR database in more useful ways• Create a “view” on this table, to drive UCM metadata tags

• Tree-control to “tag” a page as belonging to a product catalog

16

Monday, October 17, 2011

Page 17: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Integrations, cont.

Portal - UCM• Used “Open WCM” Web Services and a custom servlet

• Did not use Site Studio for External Applications (SSXA)

• Needed localization features unavailable in SSXA• Used RIDC bean• Cached with EHCache• Taxonomy controlled by UCM

Portal - Database• Spring DOA, and hand-written SQL• Tried Hibernate, ditched it half way through• ORM frameworks look good on paper... but...• Only worth the effort if using a 2nd layer cache, which we weren’t

17

Monday, October 17, 2011

Page 18: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Search Engine

IDOL needed one repository per locale• Also needed STRICT adherence to taxonomy

Did not have a UCM connector• HTTP web spider would not be fast enough for multiple locales

Custom connector• Database view on Revisions and DocMeta table• Scheduled task to watch for new content• Determined the URL based on xWebSiteSection• Determined taxonomy/locale from other metadata

18

Monday, October 17, 2011

Page 19: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

“Admin” Portal

Custom interface to E Business suite and OID• Create users, manage email templates• Enable products to be for sale online in specific regions• Manage / edit orders• Create a new “region” to enable sales / new website• Create new training class schedule / locations• Customer email subscriptions• Custom reports

19

Monday, October 17, 2011

Page 20: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Custom Portal Controller

Import the “Site Studio Navigation” file from UCM/Site Studio• Contains the full navigation for the site• All content references, and “tokens” representing specific AJAX apps

Generate site navigation for each locale• Inherit navigation/content from the “global” locale• Opt in / opt out of specific pages

Inject AJAX applications when “Tokens” found on page• Users can select which AJAX app they want• Data files “tagged” with a product ID or catalog

• Auto-generated AJAX

• Some templates

20

Monday, October 17, 2011

Page 21: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Custom Navigation Editor App

21

Monday, October 17, 2011

Page 22: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Security Integration

Most was out-of-the-box• OAM / OID works well with WebLogic and UCM• Some issues with OAM and non-signed applets

Some customizations needed• Simplified “customer info” editor in the Admin portal

Custom AJAX controller• Security through AJAX is tricky• Sessions expire while still on the page• AJAX needs to handle session expiration, and redirect• Made custom OAM AccessGate

22

Monday, October 17, 2011

Page 23: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Data Cache

Use the distributed EHCache code

Extremely easy to make existing SPRING code cachable

@Cacheable(cacheName="ucmCache")

public String renderPlaceholderByDocName(IdcContext userContext,

! String docName, String placeholderDefinitionName, String siteId,

! String nodeId, boolean isContrib, String userLocale) {

...

}

23

Monday, October 17, 2011

Page 24: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

24

Use front-end Apache server with mod_proxy

Problem: entire web site is HTTPS• Browsers by default do not cache secure traffic• Problem: with all the JavaScript libraries, some pages were 1 MB!• Caching those static resources critical

Apache server tuning• For all cachable content, set Cache-Control: public• Do not cache content from AJAX controller

• Force AJAX to reload on every page to avoid stale content

• mod_deflate• GZIP-compress rarely changing text files (JS/CSS/XML)

Web Cache

Monday, October 17, 2011

Page 25: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Technical Architecture

25

Monday, October 17, 2011

Page 26: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Product Catalog

26

Monday, October 17, 2011

Page 27: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

AJAX Embedded Application

27

Monday, October 17, 2011

Page 28: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

Business-Controlled Content

28

Monday, October 17, 2011

Page 29: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

29

Hire a team that’s done it before• Primary reason behind previous “false starts”

Avoid GFS like the plague!• Extremely difficult to set up properly• A file locking snafu would seize up all nodes in the system until rebooted!

More frequent code reviews, and project patterns• Could have avoided some • Tough to do, when the team’s under a tight deadline

OAM/WebGate has issues with non-signed Applets• UCM side was tricky to get working with SSO

Lessons Learned

Monday, October 17, 2011

Page 30: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

If I Had To Do It All Over Again...

Straight WebLogic for front-end, no Portal• Admin interface used portlet features, but• Front-end web site was all in one SPRING portlet• Google-Friendly URLs would be easier• AJAX controller would be easier• Oracle really needs a lightweight Java framework for websites...

Use Diesel Point for search engine• IDOL was overkill, both in cost and features used

Focus on ONE JavaScript framework, and keep it lean• Because of the “plugin” architecture, jQuery grows like weeds• Pages can become HUGE relatively quickly

30

Monday, October 17, 2011

Page 31: Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

31

My Company: http://bezzotech.com

My Blog: http://bexhuff.com

My Self: [email protected]

Questions?

Monday, October 17, 2011