+ All Categories
Home > Documents > Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief...

Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief...

Date post: 03-Jan-2016
Category:
Upload: ashlie-parrish
View: 215 times
Download: 2 times
Share this document with a friend
28
Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.
Transcript
Page 1: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Real World Products And Profiles - Lessons Learned From Complex Industries

Tom LaStrangeChief Architect, e-Commerce ApplicationsChannelPoint, Inc.

Page 2: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Agenda• The concept of a “Domain Server”• Identity and portal configuration• External product and pricing engines• Content management• Profile management• Campaigns and reports

Page 3: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Domain Server Approach

Product & PricingManagement

Content Management

Customer ProfileManagement

CustomerRelationship Mgmt

DynamoComponents

Portal / Identity Management

Price WizardsPrice Wizards

Needs PlannersNeeds Planners

Deep Profile Deep Profile GroupsGroups

Pre-packaged Pre-packaged Campaigns/ReportsCampaigns/Reports

Tagging Taxonomy& Content

Repositories

Complex Product & External Pricing

Interfaces

Automated & Usage Triggered

Scenarios

Complex ProfileRepository / Object Model

DomainServerComponents

Price Shopper ->Price Shopper ->Passive AdvicePassive Advice

Value Shopper -> Value Shopper -> Active AdviceActive Advice

Engaged Customer->Engaged Customer->Proactive AdviceProactive Advice

Loyal Customer ->Loyal Customer ->Trusted AdviceTrusted Advice

The Right InformationThe Right Information

At The Right TimeAt The Right Time

To The Right PeopleTo The Right People

Right Products AndRight Products And

Revenue/YieldRevenue/Yield

UserExperience

Page 4: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity/Portal Management• Entire site configured through a

“ResourceCatalog”• ResourceBundle based architecture –

supports multiple locales• Adds another dimension called “portal”

• Inheritance mechanism allows portals to inherit base properties and override properties unique to their requirements

Page 5: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity Configuration Options• Strings, images• Page layout – Components on a page,

navigation context• “Skin” definition – images, HTML “chunks”

and component droplets• Error messages• Help text

Page 6: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity Configuration Tiers• Re-branding

• Take an existing skin and home page and add a custom logo and header image – Simple – no programmer involvement

• Re-skinning • Keep the existing layout and interaction model and replace

images and style sheet – Easy – minimal programmer involvement• Re-structuring

• Change page layout and interaction model – Involved – requires varying level of JHTML component rewrite

• Current skin components: 42 files, 1100 lines of JHTML code• Custom home pages

• Home pages are standalone components – allows per portal differentiation

Any Combination of the

above!

Page 7: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Portal Configuration Options• Any of the previously mentioned Identity

Configuration options• Product line mix and ordering - any

combination and order for auto, home, and life insurance lines of business

• Targeters – no hard coded targeter references allow portals to use defaults or define their own

• Physical properties of the site, e.g., external system URLs, IP addresses

Page 8: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity/Portal Examples

“blueice” skin with 3 lines of business ordered auto, home, and life

“neutral” skin with 2 lines of business ordered life and auto

Page 9: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity/Portal Examples

“blueice” skin with 3 lines of business ordered auto, home, and life

“neutral” skin with 2 lines of business ordered life and auto

Page 10: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity/Portal Examples

“blueice” skin with 3 lines of business ordered auto, home, and life

“neutral” skin with 2 lines of business ordered life and auto

Page 11: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Identity/Portal Examples

“blueice” targeted email “neutral” targeted email

Page 12: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

External Product & Pricing Engines

• Interact, “siphon”, and store external data

• More/better personalization

• More/better form pre-population

Dynamo ServerDynamo ServerDAS, DPS, DSSDAS, DPS, DSS

Domain Server Domain Server ComponentsComponents

External Engine 1External Engine 1 External Engine 2External Engine 2

DatabaseDatabase DatabaseDatabase DatabaseDatabase

HTML / HTTPHTML / HTTP

XML / HTTPXML / HTTP

Sip

ho

nS

iph

on

Web ServerWeb Server

Page 13: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Data Maps and Siphoning• Specifies attribute map between objects and external

systems• During object creation – cloning, pre-population of dissimilar

types• During external system interaction – siphon data out of HTTP

requests and populate object model• During external system initialization – pre-population

• Example – Object to Object/com/channelpoint/ddk/helpers/user.addressPrimary.zipCode=/com/channelpoint/ddk/helpers/vehicleQuote.zipCode/com/channelpoint/ddk/helpers/user.addressPrimary.state=/com/channelpoint/ddk/helpers/vehicleQuote.state/com/channelpoint/ddk/helpers/user.nameFirst=/com/channelpoint/ddk/helpers/vehicleQuote.drivers[idx:0].name/com/channelpoint/ddk/helpers/user.sex=/com/channelpoint/ddk/helpers/vehicleQuote.drivers[idx:0].sex

• Example – Object to External System/com/channelpoint/ddk/helpers/vehicleQuote.applicant.employmentStatus=32:INPUTS:0:0/com/channelpoint/ddk/helpers/vehicleQuote.applicant.employmentCurrentYears=33:INPUTS:0:0/com/channelpoint/ddk/helpers/vehicleQuote.drivers[idx:0].sex=30002:INPUTS:1:0/com/channelpoint/ddk/helpers/vehicleQuote.drivers[idx:0].maritalStatus=30003:INPUTS:1:0/com/channelpoint/ddk/helpers/vehicleQuote.driversTotal=1245361:INPUTS:0:0/com/channelpoint/ddk/helpers/vehicleQuote.zipCode=92:INPUTS:0:0

Page 14: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Content Management• Multiple content repositories

• HTML: Static content, Articles• XML: Tools: planners, pricing

engines, calculators• Content Tagging Taxonomy

• Comprehensive scheme to tag insurance and financial services content

• 33 tagging dimensions• Locale, line of business, life events, life roles, age groups, etc.

• Content groups created and managed through re-branded DCC

• Huge selling point for the business owner!

Page 15: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Content Management

Page 16: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Complex Profile Repository• Based completely on D5 SQL Repository, no Relational Views

• 32 Objects – 728 Attributes with 1-to-1 and 1-to-many relationships• Modeled in MS Excel (really!) saved as CSV’s

• Defining “Deep” profile groups• Profile groups utilizing attributes of these complex object

relationships• Example: “Parents of teenage drivers”

• User with any dependents whose age is greater than 14 and less than 20 –or-any auto quotes run that include drivers whose age greater than 14 and less than 20

• Problems – No way to WYSIWYG create/edit these “deep” groups through the DCC

CSV’s

ResourceCatalog labels

userProfile.xml userProfile.sql

MRIHelper beans

Page 17: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Deep Profile Group Example - Look at it later

<ruleset>\ <accepts>\ <rule op=and tag="Show">\ <rule op=and tag="Content">\ <rule op=any tag="ContentSources">\ </rule>\ <rule op=and tag="ContentConditions">\ <rule op=or>\ <rule op="includesItem">\ <valueof target="dependents">\ <rule op=and>\ <rule op="gt">\ <valueof target="ageComputed">\ <valueof constant="14">\ </rule>\ <rule op="lt">\ <valueof target="ageComputed">\ <valueof constant="20">\ </rule>\ </rule>\ </rule>\ <rule op="includesItem">\ <valueof target="vehicleQuotes">\ <rule op="includesItem">\ <valueof target="drivers">\ <rule op=and>\ <rule op="gt">\ <valueof target="age">\ <valueof constant="14">\ </rule>\ <rule op="lt">\ <valueof target="age">\ <valueof constant="20">\ </rule>\ </rule>\ </rule>\ </rule>\ </rule>\ </rule>\ </rule>\ </rule>\ </accepts>\

</ruleset>

Check dependents whose age is > 14 and < 20

Look at vehicleQuote objects in the vehicleQuotes Set

Check drivers on vehicleQuote whose age is > 14 and < 20

“or” the results of the next two rules

“Parents of teenage drivers” profile group

Page 18: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Repository Manipulation – Part 1

• Problem – How to handle dynamic, complex object relationships while writing minimal (in most cases, no) code

• MRIHelper base class – MutableRepositoryItem Helper• Mechanism to create, update, and delete objects• 1-many collection management – as objects are created

and deleted the collections they belong to are updated• XML serialization

• Provides import/export capabilities of object relations• More…

Page 19: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Repository Manipulation – Part 2

• MRIHelper base class – MutableRepositoryItem Helper• Cloning and pre-population

• “Deep” cloning of objects of the same type• Pre-population of objects of dissimilar types

• Object creation• Always look for a data map to pre-populate from the “user” object• Then clone or pre-populate from another source• Example – vehiclePlanner -> vehicleQuote• Pre-populates “vehicleQuote” from “user” then “vehiclePlanner”

• “Helper” beans created for each repository object• Provides typed setters and getters• Getters for ResourceCatalog labels and multi-choice options• Allows subclassing to encapsulate business logic

Page 20: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Repository Manipulation – Part 3

• Request scoped operation• Context of operation specified through request

parameters• oi = id of the object to operate on• ot = object type• op = operation – (c)reate, (u)pdate, (d)elete• bi = id of the base object, the collection owner• bt = base object type• bs = base set name

• Each request also verifies that the current user/session actually owns the object

• Prevents object ID guessing/spoofing

Page 21: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Repository Manipulation – Part 4

• Example Request<input type="hidden" name="oi“ value="cc1ef67db92d">

<input type="hidden" name="ot" value="vehicleQuote">

<input type="hidden" name="op" value="u">

<input type="hidden" name="bi" value="1e46ef3bc">

<input type="hidden" name="bt" value="user">

<input type="hidden" name="bs" value="vehicleQuotes">

• Meaning:• (u)pdate vehicleQuote with id==“cc1ef67db92d” that

is stored in the set called vehicleQuotes owned by the user with id==“1e46ef3bc”

Page 22: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Customer Management• “Super user” control through the Control Center

• Role based access - to user profile, scenario management, etc.

• Can inspect, follow, and change any object in the system

Page 23: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Customer Management

Page 24: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Customer Management• ConsumerSuite CSR view

• Uses the same role based access provided by the Control Center• Provides a subset of capabilities available through the Control

Center• Streamlined actions specific to ConsumerSuite• Assist customers in completing quotes and planners• One screen display of all critical information, minimal “decoration”• Provides streamlined keyboard navigation• Account search with wildcarding• User name, first name, last name, postal code• Allows opening a user session at different “jump-in” points

• Profile, quote, planner, …

Page 25: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Customer Management

Page 26: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Campaigns and Reports• Campaigns needed to move users into the “Loyal” tier• Reporting needed for business owner to drive campaigns• DSS gives us most of the tools off the shelf

• Utilizing “deep” profile groups + site interaction to drive campaigns

• Site interaction + custom events + data collectors enable reporting

• Site dropout rates• What users

are lookingat

Page 27: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Domain Server Approach

Product & PricingManagement

Content Management

Customer ProfileManagement

CustomerRelationship Mgmt

DynamoComponents

Portal / Identity Management

Price WizardsPrice Wizards

Needs PlannersNeeds Planners

Deep Profile Deep Profile GroupsGroups

Pre-packaged Pre-packaged Campaigns/ReportsCampaigns/Reports

Tagging Taxonomy& Content

Repositories

Complex Product & External Pricing

Interfaces

Automated & Usage Triggered

Scenarios

Complex ProfileRepository / Object Model

DomainServerComponents

Price Shopper ->Price Shopper ->Passive AdvicePassive Advice

Value Shopper -> Value Shopper -> Active AdviceActive Advice

Engaged Customer->Engaged Customer->Proactive AdviceProactive Advice

Loyal Customer ->Loyal Customer ->Trusted AdviceTrusted Advice

The Right InformationThe Right Information

At The Right TimeAt The Right Time

To The Right PeopleTo The Right People

Right Products AndRight Products And

Revenue/YieldRevenue/Yield

UserExperience

Page 28: Real World Products And Profiles - Lessons Learned From Complex Industries Tom LaStrange Chief Architect, e-Commerce Applications ChannelPoint, Inc.

Questions?Contact us at:

Tom LaStrange [email protected] architecture, Java, JHTML

Monty Hammontree [email protected] interaction model, content tagging, grouping, targeters


Recommended