SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Creating a Global eCommerce Site
          with EBusiness Suite and Fusion
          Middleware

          Brian “Bex” Huff
          Chief Software Architect
          Oracle ACE Director



Monday, October 17, 2011
The Project


      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



                                                                     2


Monday, October 17, 2011
High-Level Requirements


      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

                                                                   3


Monday, October 17, 2011
The Challenges


      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?




                                                                  4


Monday, October 17, 2011
More Challenges


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


      IE 6 must be supported
          • Unfortunately...


      Different prices for different customers / locations




                                                              5


Monday, October 17, 2011
The Stack!


      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


                                                            6


Monday, October 17, 2011
Stack Diagram




                           7


Monday, October 17, 2011
Infrastructure


      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)



                                                              8


Monday, October 17, 2011
Framework


      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


                                                                       9


Monday, October 17, 2011
Back-End Applications: Existing


      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!



                                                                               10


Monday, October 17, 2011
Back-End Applications: New


      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




                                                            11


Monday, October 17, 2011
Apps Challenges


      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




                                                                               12


Monday, October 17, 2011
Security


      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




                                                               13


Monday, October 17, 2011
Security Configuration




                           14


Monday, October 17, 2011
Integration Strategy


      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


                                                                         15


Monday, October 17, 2011
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
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
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
“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
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
Custom Navigation Editor App




                                 21


Monday, October 17, 2011
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
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
Web Cache


      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)


                                                                                24


Monday, October 17, 2011
Technical Architecture




                           25


Monday, October 17, 2011
Product Catalog




                           26


Monday, October 17, 2011
AJAX Embedded Application




                              27


Monday, October 17, 2011
Business-Controlled Content




                                28


Monday, October 17, 2011
Lessons Learned


      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


                                                                                          29


Monday, October 17, 2011
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
Questions?


      My Company: http://bezzotech.com

      My Blog: http://bexhuff.com

      My Self: bex@bezzotech.com




                                          31


Monday, October 17, 2011

Más contenido relacionado

La actualidad más candente

Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco Software
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
Andrew Ferrier
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11
Zia Consulting
 

La actualidad más candente (20)

Switching to Oracle Document Cloud
Switching to Oracle Document CloudSwitching to Oracle Document Cloud
Switching to Oracle Document Cloud
 
Creating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized WebsiteCreating and Maintaining An Internationalized Website
Creating and Maintaining An Internationalized Website
 
The Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java DeveloperThe Mobile Web Revealed For The Java Developer
The Mobile Web Revealed For The Java Developer
 
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
Top 10 Ways To Integrate With Oracle Enterprise Content Management (ECM)
 
Oracle UCM Implementation Patterns
Oracle UCM Implementation PatternsOracle UCM Implementation Patterns
Oracle UCM Implementation Patterns
 
PLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and DesignPLAT-17 Alfresco iOS Mobile Application Details and Design
PLAT-17 Alfresco iOS Mobile Application Details and Design
 
Alfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and DesignAlfresco iOS Mobile Application In Depth Details and Design
Alfresco iOS Mobile Application In Depth Details and Design
 
PLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and DesignPLAT-18 Alfresco iOS Mobile Application Details and Design
PLAT-18 Alfresco iOS Mobile Application Details and Design
 
Liferay & Alfresco: Delivering Enterprise Content Through a Portal 02 August ...
Liferay & Alfresco: Delivering Enterprise Content Through a Portal 02 August ...Liferay & Alfresco: Delivering Enterprise Content Through a Portal 02 August ...
Liferay & Alfresco: Delivering Enterprise Content Through a Portal 02 August ...
 
Metalogix and KMA - Planning your SharePoint Migration
Metalogix and KMA - Planning your SharePoint MigrationMetalogix and KMA - Planning your SharePoint Migration
Metalogix and KMA - Planning your SharePoint Migration
 
Web works presso
Web works pressoWeb works presso
Web works presso
 
Real-world Dojo Mobile
Real-world Dojo MobileReal-world Dojo Mobile
Real-world Dojo Mobile
 
Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11Alfresco mobile webinar 11 1-11
Alfresco mobile webinar 11 1-11
 
A Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to KnowA Succesful WebCenter Upgrade: What You Need to Know
A Succesful WebCenter Upgrade: What You Need to Know
 
WCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and AlfrescoWCM-5 WCM Solutions with Drupal and Alfresco
WCM-5 WCM Solutions with Drupal and Alfresco
 
CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany CM WebClient CA Expo Mannheim Germany
CM WebClient CA Expo Mannheim Germany
 
Building your first windows store app in html5 js phonegap
Building your first windows store app in html5 js phonegapBuilding your first windows store app in html5 js phonegap
Building your first windows store app in html5 js phonegap
 
Lean Startup with WebObjects
Lean Startup with WebObjectsLean Startup with WebObjects
Lean Startup with WebObjects
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
Developing Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClientDeveloping Apps with CA Plex + CM WebClient
Developing Apps with CA Plex + CM WebClient
 

Destacado

Reference letter for Tran Duc Minh
Reference letter for Tran Duc MinhReference letter for Tran Duc Minh
Reference letter for Tran Duc Minh
Minh Tran
 

Destacado (19)

e-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalabilitye-Commerce web app Architecture and Scalability
e-Commerce web app Architecture and Scalability
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
Reference letter for Tran Duc Minh
Reference letter for Tran Duc MinhReference letter for Tran Duc Minh
Reference letter for Tran Duc Minh
 
1 architecture & design
1   architecture & design1   architecture & design
1 architecture & design
 
OpenStack at PayPal
OpenStack at PayPalOpenStack at PayPal
OpenStack at PayPal
 
Idoc script beginner guide
Idoc script beginner guide Idoc script beginner guide
Idoc script beginner guide
 
Oracle Webcenter Suite Overview
Oracle Webcenter Suite OverviewOracle Webcenter Suite Overview
Oracle Webcenter Suite Overview
 
E-Commerce Basics
E-Commerce BasicsE-Commerce Basics
E-Commerce Basics
 
FT Partners Research: Apple Unveils Apple Pay - Comprehensive Overview and Im...
FT Partners Research: Apple Unveils Apple Pay - Comprehensive Overview and Im...FT Partners Research: Apple Unveils Apple Pay - Comprehensive Overview and Im...
FT Partners Research: Apple Unveils Apple Pay - Comprehensive Overview and Im...
 
QR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless paymentQR Code Based Payment- The most advanced contactless payment
QR Code Based Payment- The most advanced contactless payment
 
Mobile Payments: An IBM Point of View
Mobile Payments: An IBM Point of ViewMobile Payments: An IBM Point of View
Mobile Payments: An IBM Point of View
 
Secure QR code payment
Secure QR code paymentSecure QR code payment
Secure QR code payment
 
Secured qr code [Pankaj Jeswani and Team]
Secured qr code [Pankaj Jeswani and Team]Secured qr code [Pankaj Jeswani and Team]
Secured qr code [Pankaj Jeswani and Team]
 
Cloud Customer Architecture for e-Commerce
Cloud Customer Architecture for e-CommerceCloud Customer Architecture for e-Commerce
Cloud Customer Architecture for e-Commerce
 
E commerce & m-commerce payment systems
E commerce & m-commerce payment systemsE commerce & m-commerce payment systems
E commerce & m-commerce payment systems
 
Li Fung Supply Chain Management
Li Fung Supply Chain ManagementLi Fung Supply Chain Management
Li Fung Supply Chain Management
 
Paypal.com ppt
Paypal.com pptPaypal.com ppt
Paypal.com ppt
 
E-commerce website development process
E-commerce website development processE-commerce website development process
E-commerce website development process
 
Mobile Payments Framework
Mobile Payments FrameworkMobile Payments Framework
Mobile Payments Framework
 

Similar a Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware

WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational Intranet
Tech Liminal
 
Belgacom presentatie portal roundtable 27 september 2012
Belgacom presentatie portal roundtable 27 september 2012Belgacom presentatie portal roundtable 27 september 2012
Belgacom presentatie portal roundtable 27 september 2012
MooijBert
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
Nuxeo
 
An introduction to GWT and Ext GWT
An introduction to GWT and Ext GWTAn introduction to GWT and Ext GWT
An introduction to GWT and Ext GWT
Darrell Meyer
 
Rich Internet Applications and Flex - 1
Rich Internet Applications and Flex - 1Rich Internet Applications and Flex - 1
Rich Internet Applications and Flex - 1
Vijay Kalangi
 

Similar a Creating a Global E-Commerce Website With E-Business Suite and Fusion Middleware (20)

Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2Making Wcm Easy With Alfresco Share 3 2
Making Wcm Easy With Alfresco Share 3 2
 
Zero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApExZero to Sixty with Oracle ApEx
Zero to Sixty with Oracle ApEx
 
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
A Platform Approach to Enterprise Content Management with Eclipse Apricot, CM...
 
Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)Eclipse Enterprise Content Repository (ECR)
Eclipse Enterprise Content Repository (ECR)
 
WordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational IntranetWordPress as a CMS - Case Study of an Organizational Intranet
WordPress as a CMS - Case Study of an Organizational Intranet
 
Owd multi repo-v2
Owd multi repo-v2Owd multi repo-v2
Owd multi repo-v2
 
Oracle web center
Oracle web centerOracle web center
Oracle web center
 
Belgacom presentatie portal roundtable 27 september 2012
Belgacom presentatie portal roundtable 27 september 2012Belgacom presentatie portal roundtable 27 september 2012
Belgacom presentatie portal roundtable 27 september 2012
 
Introduction to eXo ECM Suite
Introduction to eXo ECM SuiteIntroduction to eXo ECM Suite
Introduction to eXo ECM Suite
 
Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011Mobile ECM with JavaScript - JSE 2011
Mobile ECM with JavaScript - JSE 2011
 
Prueba ppt
Prueba pptPrueba ppt
Prueba ppt
 
Html5v1
Html5v1Html5v1
Html5v1
 
An introduction to GWT and Ext GWT
An introduction to GWT and Ext GWTAn introduction to GWT and Ext GWT
An introduction to GWT and Ext GWT
 
Apex 4.0 @ ODTUG 2009
Apex 4.0 @ ODTUG 2009Apex 4.0 @ ODTUG 2009
Apex 4.0 @ ODTUG 2009
 
Rich Internet Applications and Flex - 1
Rich Internet Applications and Flex - 1Rich Internet Applications and Flex - 1
Rich Internet Applications and Flex - 1
 
Oracle web-applications
Oracle web-applicationsOracle web-applications
Oracle web-applications
 
SharePoint SpeedMetal Admin 101 - SPSDEN
SharePoint SpeedMetal Admin 101 - SPSDENSharePoint SpeedMetal Admin 101 - SPSDEN
SharePoint SpeedMetal Admin 101 - SPSDEN
 
Apache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM AlternativeApache Cayenne: a Java ORM Alternative
Apache Cayenne: a Java ORM Alternative
 
Where to save my data, for devs!
Where to save my data, for devs!Where to save my data, for devs!
Where to save my data, for devs!
 
Why real integration developers ride Camels
Why real integration developers ride CamelsWhy real integration developers ride Camels
Why real integration developers ride Camels
 

Más de Brian Huff

OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
Brian Huff
 

Más de Brian Huff (9)

AP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenterAP Automation for EBS or PeopleSoft with Oracle WebCenter
AP Automation for EBS or PeopleSoft with Oracle WebCenter
 
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADFOWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
OWASP Top 10 Security Vulnerabilities, and Securing them with Oracle ADF
 
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogicThe Top 10 Things Oracle UCM Users Need To Know About WebLogic
The Top 10 Things Oracle UCM Users Need To Know About WebLogic
 
Oracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best PracticesOracle UCM Security: Challenges and Best Practices
Oracle UCM Security: Challenges and Best Practices
 
Oracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance TuningOracle UCM: Web Site Performance Tuning
Oracle UCM: Web Site Performance Tuning
 
Real World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management StrategiesReal World Examples of Succesful Enterprise Content Management Strategies
Real World Examples of Succesful Enterprise Content Management Strategies
 
A Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content ManagementA Pragmatic Strategy for Oracle Enterprise Content Management
A Pragmatic Strategy for Oracle Enterprise Content Management
 
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
A Pragmatic Strategy for Oracle Enterprise Content Management (ECM)
 
Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!Enterprise 2.0: What it is, and how you'll fail!
Enterprise 2.0: What it is, and how you'll fail!
 

Último

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 

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

  • 1. Creating a Global eCommerce Site with EBusiness Suite and Fusion Middleware Brian “Bex” Huff Chief Software Architect Oracle ACE Director Monday, October 17, 2011
  • 2. The Project  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 2 Monday, October 17, 2011
  • 3. High-Level Requirements  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 3 Monday, October 17, 2011
  • 4. The Challenges  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? 4 Monday, October 17, 2011
  • 5. More Challenges  60+ product families • Each has a “business owner”  IE 6 must be supported • Unfortunately...  Different prices for different customers / locations 5 Monday, October 17, 2011
  • 6. The Stack!  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 6 Monday, October 17, 2011
  • 7. Stack Diagram 7 Monday, October 17, 2011
  • 8. Infrastructure  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) 8 Monday, October 17, 2011
  • 9. Framework  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 9 Monday, October 17, 2011
  • 10. Back-End Applications: Existing  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! 10 Monday, October 17, 2011
  • 11. Back-End Applications: New  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 11 Monday, October 17, 2011
  • 12. Apps Challenges  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 12 Monday, October 17, 2011
  • 13. Security  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 13 Monday, October 17, 2011
  • 14. Security Configuration 14 Monday, October 17, 2011
  • 15. Integration Strategy  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 15 Monday, October 17, 2011
  • 16. 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
  • 17. 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
  • 18. 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
  • 19. “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
  • 20. 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
  • 21. Custom Navigation Editor App 21 Monday, October 17, 2011
  • 22. 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
  • 23. 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
  • 24. Web Cache  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) 24 Monday, October 17, 2011
  • 25. Technical Architecture 25 Monday, October 17, 2011
  • 26. Product Catalog 26 Monday, October 17, 2011
  • 27. AJAX Embedded Application 27 Monday, October 17, 2011
  • 28. Business-Controlled Content 28 Monday, October 17, 2011
  • 29. Lessons Learned  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 29 Monday, October 17, 2011
  • 30. 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
  • 31. Questions?  My Company: http://bezzotech.com  My Blog: http://bexhuff.com  My Self: bex@bezzotech.com 31 Monday, October 17, 2011