Title: Commerce Server ?? jodiwang@microsoft.com .Net Enterprise Server PMM Microsoft Corporation
1Commerce Server??jodiwang_at_microsoft.com.Net
Enterprise Server PMMMicrosoft Corporation
2Key Take away
- Introduction
- Commerce Server and BI
- Improve CRM using Cs
- Integrate third party ERP with Cs
- Application Service Provider using Cs
- QA
3What is Commerce Server?
- Commerce Server is
- Commerce Framework,
- ---------- ????.
4CS2000 Sellingpoints
- ?????????, ?????????, ??????????,
??????????????,???????????(???????), ????????. - ?????????,????????????,???????,???????.
- ??????????????????,?????????
5Commerce Server 2000--??.NET????????????????,??
????
6.Net ??????
Client???
7Commerce Server 2000
Business Analytics System
Business Desk
Commerce Server Manager
Business Processing Pipelines System
Solution Sites
8Microsoft Commerce Server 2000?????????????
9??7?11?(CRN)-Computer Reseller Network ??????
10Commerce Server in the News
- E-Business Just Got Smarterhttp//www.microsoft
.com/presspass/features/2000/nov00/11-29commerce.a
sp - Microsoft Commerce Server 2000 Powers Leading
Customers' E-Business Operationshttp//www.micro
soft.com/presspass/press/2000/Nov00/CommerceServer
PR.asp - Commerce Server 2000 is a big step
uphttp//www.zdnet.com/eweek/stories/general/0,1
1011,2663034,00.html - Commerce Server Delivers Ammo for Business-Level
Decision-Makinghttp//www.infoworld.com/articles
/mt/xml/00/09/04/000904mtcommerce.xml - Best of the Best Software
http//www.zdnet.com/smartbusinessmag/stories/all/
0,6605,2659975-5,00.html - cserver
- Crossroads 2001 A-List Award E-Commerce Platform
Winner - PC MagazineEditors Choice
- Smart Business MagazineA-List award Editors
Pick
11??????Commerce Server 2000
12Outline
- 1 Commerce Server 2000 Features
- 2 Business Intelligence(BI) Commerce Server 3
Improving CRM Using CS 2000 - 4 Integrate Third-Party ERP System with CS2000
- 5 ASP(Application Service Provider) Using CS2000
- 6 Designing B2B Trading Partner Integration
Solutions - 7 Review
- 8 Question
13Commerce Server 2000 Features(1)
- Commerce framework Solutions
- Consists of five core components
- Profile system
- Catalog system
- Targeting system
- Business Process Pipeline
- Data warehouse and analytic system()
- Business Desk
- Solution site
- Extensible
14Commerce Server 2000 Features(2)
- Building effective solutions
- Profile
- Catalog
- Targeting
- Business Process Pipeline
- Get to market faster
- Solution site ,SDK
- Administrative tools
- Empower business manager
- Business analytics
- Business Desk
- Integrate with other system such as ERP ,CRM .
15Business Intelligence(BI) Commerce Server
16Outline
- ??
- ????(Business Intelligence)
- ????????
- ??????????
- Commerce Server ???????????
- Commerce Server ??????
- OLE DB Provider for Commerce Server
- Commerce Server ??????
- ?????????????
- ??
17??
- ???????
- ??????????????????????????????????????,?????????
- ???????????
18????(Business Intelligence)
- ??????????????????????????????,?????,??????????,??
????????? - ?????????????????
- ?????????????????????
- ?????????????????????
- ???????,????.
19????????
- ??????????????.Net??,???????????,?????????,???????
????????????
20???????( Business Internet Analytics )
????? (Business Analytics) ?? CRM 360??? Cross /
Up Sell ???? ????(webhousing) ??? ??
21Commerce Server ???????????
- ????????????????????????????????
22Commerce Server ??????
- ?Commerce Server?????
- ???
- W3C???????????
- ??/??/??/????/??
- ???????
- ?????? (???????)
- ?????OLE DB????????
- ???ASP??????
- ???????
- ???????
- ???????
- ????(???????????)
- ??,????
23????????
- ?????(Logical Schema)
- ?(Class). ????(data members)?????RegisteredUser
????????????????. - ????(Data member)?????????RegisteredUser
?????E-mail ??????????????? - ??(Relation). ??????/???,?????????????????????????
?????????RegisteredUser??Request???,??????????,???
?????? - ?????(Physical Schema/Data Store)
- ???Commerce Server ????????Commerce Server
????SQL Server ?OLAP ?????.????????????Commerce Se
rver ???????????
24??????????
25OLE DB Provider for Commerce Server
- ???????????(metadata)???.
- ??????????????????
- ????????(Dimensions)????(Facts.)
- ?????????? Surrogate ?
- ???????SQL??????????
26Commerce Server ??????(1)
- ?Commerce Server???
- ??????????????
- ??????????
- ???????
- ???????????OLAP???,??????????
- ?????????
- ????
- ???????????????
27Commerce Server ??????(2)
- ???????
- ??????
- ???????
- ???????
- ????
- ????????????
- ????????(List Manager)
- ??Office????
- PivotList,??????????????
- ?????????????? ?PivotList???
- ????????????
28?????????????
- ????????????????????????,????????????
- ?ERP????????????
- ?CRM ?????????
- ????????????
- ???????????????????
- ???????
- ??Commerce server
29?????????????
30??????
----------------------------------- ' Add a new
CLASS ----------------------------------- rec.Op
en "CLASS/NewCls", cn, adModeReadWrite,
adCreateOverwrite rec("IsPersistent") 1
Persistent class rec("CatalogName")
"test1 Name of the catalog to
store rec("ClassDefName") "NewCls
Name of the new class rec("SourceDefName")
"test_Source Name of the source rec("GenerateT
ableDef") 1 Create a
table rec("GenerateKeyDef") 1
Create a key for the class rec("GenerateIdentity")
1 Create identity
column rec("__Commit") 1
Commit this class Commit the class to the
catalog cmd.CommandText "CommitSchema cmd.Execu
te
31?????
' ---------------------------------- ' Add a new
MEMBER ' ---------------------------------- rec.Op
en "MEMBER/NewCls/NewMem", cn, adModeWrite,
adCreateOverwrite rec("MemberDefName")
NewMem" rec("GenerateColumnDef")
1 rec("IsPrimaryKey") 1 rec("DefValAsStr")
"DefaultValue" rec("TypeName")
"WSTR" rec("__Commit") 1 ' Commit Catalog
changes cmd.CommandText "commitschema"
cmd.Execute
32?????
- ' ----------------------------------
- ' Add a new RELATION
- ' ----------------------------------
- rec.Open "Relation/MyNewInheritRel2", cn,
adModeWrite, adCreateOverwrite - rec("ChildClassName") NewCls"
- rec("ParentClassName") ParentNewCls"
- rec("RelType") 2
1-m relation - rec("ParentClasskey") ParentNewClsKey"
- rec("__Commit") 1
- ' Commit Catalog changes
- cmd.CommandText "commitschema"
- cmd.Execute
33??????????
set objRS CreateObject("ADODB.Recordset") objCon
n.Open strURL Open the OLE DB Provider
connection objRS.open "select from "
"stgOTCTable", strSQLConn while objRS.EOF ltgt
True objRec.Open "Instance/" "OTCStore",
objConn, 3, 67108864 objRec("ProductNameCat")
objRS.Fields("stg_ProductNameCat")
objRec("DTimeStamp") objRS.Fields("stg_Date")
objRec("OTCAmount") objRS.Fields("stg_Amount")
objRec("OTCQuantity") objRS.Fields("stg_Quantit
y") objRec("__Commit") 1 objRec.fields.update
' Added one record Not
flushed till connection is closed objRec.Close
objRS.movenext Wend
34??SQL??
CREATE VIEW AllSalesView AS SELECT
otc.productsid, otc.dateid,
otc.otcamount as Amount,
otc.otcquantity as Quantity, 'OTC' as
StoreType FROM otcstore otc UNION ALL SELECT
o.productsid, oh.dateid,
o.cy_lineitem_total, o.quantity,
'OnLine' as StoreType FROM
orderformlineitems o JOIN OrderFormHeader oh ON
oh.ordergroupid o.ordergroupid
35?????
- ' ----------------------------------
- ' Add a new Instance
- ' ----------------------------------
- rec.Open "Instance/NewCls", cn, adModeReadWrite,
adCreateOverwrite - rec(NewMem") StringData
- rec(MemDate") Now
- rec("__Commit") 1
36????
37BI??
- ?????????BIS
- ??Smooth EC??????????
38Improving CRM Using CS 2000
ECO313
39Objectives
- What is CRM?
- Commerce Server 2000 CRM
- How to implement Personalization Targeting
- Analyze Effectiveness
- Close the Loop
40Agenda
- Overview of CRM
- CRM applications business functions
- Microsoft's Vision and Strategies for CRM
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
41Overview of CRM(1)
- Customer Relationship Management (CRM) is a
business strategy designed to optimize
revenue(??) and profits(??) by - increasing customer satisfaction
- attracting new customers,
- retaining existing customers,
- understanding customers better
- When Web, e-mail, phone, fax, and in-person
42Overview of CRM(2)
- CRM is not just the province of private industry.
- Public sector organizations are also focusing on
how to build and enhance relationships with their
"customers."
43CRM applications business functions
- Sales automation.
- Provides sales professionals with access to
critical customer information - tools that enhance their ability to effectively
sell, as well as manage their time. - Marketing automation.
- Provides marketing departments with campaign
management, lead generation, and data mining
tools. - Customer service and support.
- Enables effective and efficient response to
customer questions, problems, or issues. - Channel management/partner relationship
management. - Extends CRM capabilities to the needs of extended
selling channels such as distributors and
value-added resellers. - Internal help desk.
- Supporting internal users through applications
covering network management and support, call
logging and resolution, and internal customer
support.
44Microsoft's Vision for CRM
- Put the customer at the center of the picture
- Give all departments a view into a composite
image of the customers' purchasing and service
history, as well as their buying, delivery, and
contact preferences. - The ultimate goal of a customer-centric approach
is to empower each department, and each employee,
to think and act more strategically about their
relationship with each and every customer. - An effective CRM strategy combines strategies and
applications for knowledge management, business
intelligence, and e-commerce. - Achieve a 360-degree view of a customer.
45Microsoft's Strategies for CRM
- Creating An Agile(??), Customer-Centric
Enterprise - Flexibility
- An adaptable, scalable, easy to manage
infrastructure is essential for enterprise
responsiveness. - Microsoft offers a scalable enterprise platform
based on open standards that integrate well with
legacy systems, such as database or collaboration
applications. For instance, built-in support for
XML. - Velocity
- Utilizing new Microsoft .NET building blocks and
Web services will speed development time for the
vast army of developers experienced in building
solutions on the Microsoft platform. - Empowerment
- Microsoft supports the organizational need to
implement unified CRM strategies that
automatically provide the right information to
the right employeesanywhere, any time, on any
device. - Open, standards-based information technologies
46CRM and Microsoft
- Microsoft technologies provide a common
environment across desktops and servers so that
organizations can build and administer CRM
solutions across the entire enterprise. - Successful CRM also depends upon the integration
of disparate technologies such as Internet
technologies, legacy systems, telephone services,
front- and back-office solutions, and partner
applications.
47How to develop CRM?
- Using Commerce Server 2000
48CS Architecture
49Agenda
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
50Profile Service
- A platform service for managing and tracking
business data in a dynamic, integrated, and
scaled Web environment - Simple object interface
- Extensible data object model
- Data store agnostic
- Optimized for Internet scale
51Profile System Architecture
Profile Object exposes simple API for profile
data access ADO Support for Bulk Processing
(Select, Insert, Update)
BizData OLEDB Provider provides standard
interface supporting both the profile service and
ADO Provider exposes simple SQL semantics
(profile analogous to a logical table
view) Provider enables data translations and
data source aggregation base on BizData
definitions
Optimized data source provider plug-ins for
directories (LDAPv3), SQL Server, and OLEDB/ODBC
sources supporting ANSI-SQL subset
52Using Profile Service
- Create
- Set mscsProfileService Server.CreateObject("Comm
erce.ProfileService") - Initialize
- mscsProfileService.Initialize(sProfileServiceConne
ctionString, Profile Definitions) - Cache
- Set Application("MSCSProfileService")
MSCSProfileService - API
- mscsProfileService.GetProfile(Joe_at_somesite.com,
UserObject) - mscsProfileService.GetProfileByKey(Account",
CJ878987, "UserObject") - mscsProfileService.CreateProfile()
- mscsProfileService.DeleteProfile()
53Agenda
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
54Targeting
- Expressions
- Expression Builder
- Expression Evaluator
55Targeting Overview
56Expressions
- Expressions
- Targeting conditions
- Filter queries
- Business rules
- Other expressions
- Expressions are
- Built on profiles
- Managed in Business Desk modules
- Evaluated at run-time
- Show promotion for new convertible when user
lives on the east side and income gt 100K - Select all users from user profile data store
who are between 25 and 30 years of age and live
in Seattle
57Expressions
- Target with multiple Expressions
- AND, OR support
- Target with Target Groups
- Collection of expressions actions
- Require
- Target
- Exclude
- Sponsor
- Targeting Context Profile
- Use to target against other contextual values
- Extensible Schema (Business Desk Profile
Designer) - Page Group is default
- Consumed by ContentSelector object
58Expression Builder
- Business manager focused UI
- DHTML launched in application context via the
Business Desk - Consumes profiles and site terms
- Data store
- Used to name, store and retrieve
- Expressions represented in XML
- Demo
59Expression Evaluator
- COM component
- Can preload and precompile Expressions
- Can evaluate multiple expressions/request
- Evaluation results cached within a request
- Callable with expression-id or XML
- Supports multi-threading for performance
60Expression Evaluator
- Create Context Dictionary
- Set dictProfiles Server.CreateObject("Commerce.D
ictionary") - Set dictProfiles.User oUser1 user profile
- Set dictProfiles.Address oAddress1 address
profile - Create Expression Evaluator
- Set oExpressionEval Server.CreateObject("Commerc
e.ExpressionEvaluator") - Evaluate Expression
- vResult oExpressionEval.Eval(ExpressionID,
dictProfiles) - Use ExpressionStore.GetExprID(BigSpenders) to
get ID from Name
61Agenda
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
62Campaigns
- Advertising
- Discounts
- Direct Mail
63Content Selection Framework
Run Time Content Selection Framework
Design Time Business Desk Modules
Users
Web Page
Content Selector
64Advertising Features
- Campaign or Campaign Item impression goals
- Industry conflict resolution (ex., Coke vs.
Pepsi) - Page Group support built in
- Near real-time performance monitoring
- Exposure limits
- New Need of Delivery algorithm ensures smooth and
even delivery even if overscheduled - Target using Expressions, Target Group, or Page
Group
65Advertising Features
- Improved analysis integration
- Open eventing model via IIS AppendToLog
- Can also plug in custom pipeline component for ad
bureau audit logging (Advertising.PCF) - CSF automatically tracks the content shown to a
user and implements a reselect penalty. - History stored as HTTP cookie, ASP session,
UserObject profile. - LoadHistory
- RecordHistory
- SaveHistory
66Using Advertising
- Creating Advertisements using Business Desk
- Demo
- Initialize
- Getting Content
- Targeting
- PageGroup
- Users
- Products
67Initialize Advertising
- Create Global Expression Evaluator
- Set MSCSExpressionEvaluator Server.CreateObject(
"Commerce.ExpressionEvaluator") - MSCSExpressionEvaluator.Connect(dictConfig.s_BizDa
taStoreConnectionString) - Create Global Advertising Context
- Set CSFAdvertisingContext CreateObject("Commerce
.Dictionary") - Configure with Expression Evaluator
- Set CSFAdvertisingContext("Evaluator")
oExpressionEvaluator - Configure with cache manager
- Set CSFAdvertisingContext("CacheManager")
oCacheManager - CSFAdvertisingContext("CacheName")
"Advertising"
68Initialize Advertising
- Configure click redirect (records clicks)
- CSFAdvertisingContext("RedirectUrl")
sRedirectUrl GetBaseUrl() "/redir.asp" - Load Advertising pipeline
- Set oPipe Server.CreateObject("Commerce.OrderPip
eline") - oPipe.LoadPipe(oPipelineMap.Advertising)
- Set CSFAdvertisingContext("Pipeline") oPipe
- Store Ad Context in application variable
- Set Application("CSFAdvertisingContext")
CSFAdvertisingContext
69Getting Ad Content
- Create Content Selector
- Set oCSO Server.CreateObject("Commerce.ContentSe
lector") - Configure with Product information
- Set oCSO.Products ProductDetails
- Function GetShownProductsDetails()
- Function listGetShownProductsInfo()
- Configure content selection parameters
- oCSO.NumRequested 1
- oCSO.Border 1
- oCSO.TargetFrame "_top
- oCSO.Size "Banner"
- oCSO.PageGroup Home
- Set oCSO.UserProfile oUserProfile
Targeting Context
70Getting Ad Content
- Call content selector to get content
- Set Ads oCSO.GetContent( Application("CSFAdverti
singContext") ) - Render Ad content collection
- For Each Ad In Ads
- Response.Write(Ad) ltBRgt
- Next
- FormatTemplate pipeline component
- Formats text based on ad specification in
Business Desk (Ad Display section) - Modifiable using Resource Kit tool
- Can also replace with custom format component
(must use C due to interface)
71Discounts
- Reacts to product page and users basket
- ScoreDiscounts used for product page Discount.PCF
pipeline - OrderDiscounts used for basket page Basket.PCF
pipeline - Supports page/basket and item level display
message - Uses catalog expressions to define
- Basket requirements (Buy)
- Award requirements (Get)
- Combines 3.0 Discount with 4.0 Ad
- Can require a click on discount image to
qualify for discount
72Using Discounts
- Creating Discounts using Business Desk
- Demo
- Initialize
- Getting Content
- Targeting
- PageGroup
- Users
- Products
73Initialize Discounts(same as Ad init)
- Create Global Expression Evaluator
- Set MSCSExpressionEvaluator Server.CreateObject(
"Commerce.ExpressionEvaluator") - MSCSExpressionEvaluator.Connect(dictConfig.s_BizDa
taStoreConnectionString) - Create Global Context for CSF Discounts
- Set CSFDiscountContext CreateObject("Commerce.Di
ctionary") - Configure with cachemanager
- Set CSFDiscountContext("CacheManager")
oCacheManager - CSFDiscountContext("CacheName") "Discounts"
- Configure with Expression Evaluator
- Set CSFDiscountContext("Evaluator")
oExpressionEvaluator
74Initialize Discounts
- Configure click redirect (records clicks)
- CSFDiscountContext("RedirectUrl") sRedirectUrl
GetBaseUrl() "/redir.asp" - Load Discount pipeline
- Set oPipe Server.CreateObject("Commerce.OrderPip
eline") - oPipe.LoadPipe(oPipelineMap.Discounts)
- Set CSFDiscountContext("Pipeline") oPipe
- Store Discount Context in application variable
- Set Application("CSFDiscountContext")
CSFDiscountContext
75Getting Discount Content(same as Ad Get)
- Create Content Selector
- Set oCSO Server.CreateObject("Commerce.ContentSe
lector") - Configure with Product information
- Set oCSO.Products ProductDetails
- Function GetShownProductsDetails()
- Function listGetShownProductsInfo()
- Configure content selection parameters
- oCSO.NumRequested 1
- oCSO.Border 1
- oCSO.TargetFrame "_top
- oCSO.Size "Banner"
- oCSO.PageGroup Home
- Set oCSO.UserProfile oUserProfile
76Getting Discount Content
- Call content selector to get content
- Set Discounts oCSO.GetContent(Application("CSFDi
scountContext")) - Render Discount content collection
- For Each Discount In Discounts
- Response.Write Discount ltBRgt
- Next
- FormatTemplate pipeline component
- Formats text based on ad specification in
Business Desk (Ad Display section) - Modifiable using Resource Kit tool
- Can also replace with custom format component
(must be C due to interface)
77Rendering Basket Discounts
- Run OrderDiscount component in basket pipeline
- oOrderForm.Value("_discounts")
- ContentList with discount messages
- oItem.discounts_applied
- Populated with item discounts
- Item discount values
- oItem.Value("_cy_iadjust_currentprice")
- oItem.Value("_cy_oadjust_discount")
- oItem.Value("_cy_oadjust_adjustedprice")
78Rendering Basket Discounts
- Enumerate oItem.discounts_applied to get discount
description - For Each ciid In oItem.discounts_applied
- sDesc GetDiscountDescription( ciid,
oOrderForm.Value(_discounts) - oItem.Value("_messages") oItem.Value("_messa
ges") "D" CStr(ciid) mc_NBSP sDesc - Next
- Function GetDiscountDescription(ByVal ciid, ByVal
oContentList) - Dim oRows, oFields
-
- Set oRows oContentList.Search("item_id", ciid)
- If Not oRows.EOF Then
- Set oFields oRows.Fields
- GetDiscountDescription "D" CStr(ciid)
oFields.description - Else
- GetDiscountDescription "D" CStr(ciid)
no discount text found - End If
- End Function
Simple List
Content List
79(Setup For Basket Pipeline)
- dictContext.CacheName "Discounts" discount
cache name - Set dictContext.CacheManager Application("MSCSCa
cheManager") the cache manager - Set dictContext.Evaluator Application("MSCSExpre
ssionEvaluator") expression evaluator - Set dictContext.UserProfile mscsUserProfile
if targeting user profile (typical, should have) - set dictContext.ContextProfile oTargetProfile
if using targeting context (retail solution
doesnt use this)
80Direct Mail
- Direct Mail Marketing is an off-line form
of targeting - Fast, Scalable, Runs as an NT Service
- Based on Business Processing Pipelines
- Designed for personalized bulk mailing
- Personalized web page
- Plain-text, HTML, mime formats
81Direct Mail
- Campaign tracking of mails sent, clicked
- It leverages the Business Data Warehouse calc
engine as one way to produce lists of users to
send mail to - Based on Windows 2000 CDO objects
- Uses SQL Server Agent for recurring jobs
- Tested to eight million mailing
82Using Direct Mail
- Creating Direct Mailing using Business Desk
- Demo
- Personalized Email Template
- Sets CampaignItemID cookie
- Currently running Direct Mail campaign
- Sets MSCSProfile cookie
- Use AuthManager object to get userid
- User ProfileService object to get user profile
- Opt-out page
- Adds user to opt-out user list
83Agenda
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
84Analysis
- Standard Reports (39 total)
- Commerce Server Reports for categories
- Advertising
- Ad Reach and Frequency per Day (Dynamic)
- Campaign Item Summary (Dynamic)
- Click-stream
- Top Requested Pages (Static)
- Directories (Dynamic)
- Query Strings (single value) (Static)
- Sales
- Buyer Browse to Purchase (Dynamic)
- Customer Sales (Static)
- Visual Insight Reports (third party)
- Campaign Manager (Ads, Disc.) near real time
- Shows Scheduled, Requests/Viewed, Clicked,
85Analysis
- Prediction
- Dependency nets
- Segmentation
- Discover implicit behavior
86Predictor
- Real-time recommendations
- Uses prediction models built from Data Warehouse
- Server builds models
- Dedicated Windows 2000 service
- Client does predictions
- Runs on web server
- Cached in Application variable
87Using Predictor
- Build Predictor Model using Commerce Server
Manager - Initialize Predictor Client
- Getting Predictor Content
88Initialize Predictor Client
- Create Predictor Client
- Set objPredictor Server.CreateObject("Commerce.P
redictorClient") - Load Predictor Model
- objPredictor.LoadModelFromDB Transactions,
connstr_db_dw - Set Popularity penalty weight (0 no penalty, 1
max) - objPredictor.fpPopularityPenalty 0.8 show
least popular - Set Confidence threshold
- objPredictor.fpDefaultConfidence 10 show most
items - Debug output flag (set to false for Production)
- objPredictor.bFailOnUnknownInputAttributes
False - Cache Predictor Client
- Set Application("MSCSPredictor") objPredictor
89Getting Predictor Content
- Create a case dictionary for basket items
- Set dCase GetDictionary()
- Populate case dictionary
- QTYcatalog name.product id
- For Each sOrderFormName in mscsOrderGrp.value("Ord
erforms") - Set oOrderForm
- mscsOrderGrp.value.OrderForms.Value(sOrder
FormName) - For Each dItem in oOrderForm.Items
- strPropName QTY("
dItem.product_catalog "." - dItem.product_id ")"
- lQuantity CLng(dItem.quantity)
- dCase(strPropName) lQuantity Add to
dictionary - Next
- Next
90Getting Predictor Content
- Pose known case, ask predictor client to predict
missing facts - Set slToPredict GetSimpleList()
- slToPredict.Add SKU
- oPredictor.Predict dCase, slToPredict,
arPredictedProps, arPredictedVals,
lMaxPredictions - dCase known case (list of product items)
- slToPredict SKU (fact to predict)
- arPredictedProps return array with list of SKUs
- arPredictedVals return array with list of
quantities - For i 0 To UBound(arPredictedProps)
- Response.Write arPredictedProps(i)) ltBRgt
- Next
91Segmentation
- Segment users based on implicit behavior
- System based discovery of hidden trends and
behavior in the Business Data Warehouse - Use discovered segments to drive targeting
- Results in clusters of users
- Export as user list
92Segmentation Architecture
93Segment Viewer
94Agenda
- Commerce Server Architecture
- User Profile Management
- Targeting
- Campaigns
- Analysis
- Closing the Loop
95Closing The Loop
- List Manager
- Bulk Updates
96List Manager
- Allows marketing managers to create lists without
a DBA - List Manager object import lists from CS Business
Analysis, SQL Server or flat files - Users can merge and subtracts lists
- Users can export lists
- Demo
- Exporting lists
- Table schema
97Bulk Updates
- Export static, dynamic reports as user list
- Create new user property
- Bulk update users using user list
- Automating bulk updates using script (Profile
Service SQL via ADO interface) - Demo
98Resources
- Commerce Server 2000 Resource Kit
- http//mspress.microsoft.com/prod/books/4659.htm
- Commerce Server 2000 Partners Page
- http//www.microsoft.com/commerceserver/partners/
default.asp - Profile SDK sitelet
- C\Program Files\Microsoft Commerce
Server\SDK\Samples\Sitelets\Profile - Discount SDK sitelet
- C\Program Files\Microsoft Commerce
Server\SDK\Samples\Sitelets\Discount - Ad SDK sitelet
- C\Program Files\Microsoft Commerce
Server\SDK\Samples\Sitelets\Ad - http//www.microsoft.com/business/index/casestudie
salpha.asp - http//www.microsoft.com/BUSINESS/articles/crm/crm
basics.asp
99Summary Call To Action
- Rich Personalization Targeting features
- User Profile Management
- Targeting
- Campaigns (Ads, Discounts, Direct Mail)
- Closed Loop Personalization Tools
- Analysis reports, Predictor, Segmentation
- ListManager
- Bulk updates
- csamsi_at_microsoft.com
100Integrate Third-Party ERP System with CS2000
101Outline
- Introduction
- Architecture for integrating an ERP system with a
Commerce Server application. - Integration Tech.
- General Considerations
- Integrate with SAP using CS2000
- review
102Introduction(1)
- Commerce data and business rules often exist on
the ERP system. - For accuracy and consistency, Commerce Server
application need those data and business rules - Customer data
- Product catalog (including SKU numbers, vendor
information, and availability) - Product inventory levels
- Pricing data
- Order status and history
- Taxation rules
- Credit card processing policies
- Product authorization rules
- Pricing algorithms
- Shipping algorithms
103Introduction(2)
- Data from the Commerce Server application, such
as the following, must be sent back to the ERP
System - Customer orders
- Web customers and customer updates
It is necessary for CS2000 application to
integrate with ERP system such as SAP, J.D.
Edwards OneWorld?, PeopleSoft, and other
corporate systems
104Architecture for integrating an ERP system with a
Commerce Server application.
105Integration Tech.
- Batch downloads
- Real-time connectors
- Queued connectors
- Mirrored updates
106Batch downloads
- copying ERP-managed data from an ERP system to a
Commerce Server application.
- Catalog object
- Bulk Copy Program (BCP)
- Data Transformation Services (DTS)
system availability
107Real-time connectors
- real-time connectors
- wrap the programming interfaces on the ERP system
with a COM component executed in real time. - The COM component is essentially a proxy object
- Any ASP page in the Commerce Server application
by the Server.CreateObject() method. - Provided by the ERP vendor or a third-party vendor
108Real-time connectors
109Queued connectors
- The queued-connector technique is similar to the
real-time connector technique. - The difference is that the queued-connector
technique adds a queuing technology to make the
calls asynchronous
110Mirrored updates
- it requires software event support on the ERP
system. - As events occur on the ERP system (for example,
inventory is updated, customers are added,
product pricing is changed), they can be trapped
and transmitted over a real-time connector to the
Commerce Server application.
111General Considerations
- ERP systems and Commerce Server business rules
- Physical architecture (highly scalable)
- Product catalog
- Pricing and promotions
- Shipping, taxation, and credit card authorization
- Replication
112ERP systems and Commerce Server business rules
- identify each of the business rules and decide
whether to mirror each one in the Commerce Server
application or provide a real-time call for it to
the ERP system. - The type of business rule
- The frequency with which the business rule must
be invoked - The costs and risks associated with invoking the
business rule directly, in real time - The cost to mirror the business rule
113Physical architecture (highly scalable)
- Highly scalable Commerce Server application
integrated with an ERP system
114Product catalog
- Design the product database to match the
structure of the corresponding ERP system as
closely as possible. - Develop a process to add content and add
data(images, multimedia, and so on)to the product
catalog as it is being built from the ERP system.
- Design a scheduled update process
115Pricing and promotions
- Use the pricing models and templates from the
ERP system and mirror changes to the Commerce
Server application. - Quantity
- Customer and customer volume history
- Current availability
- Product market status (discontinued, recalled,
and so on) - Sales goals
- Advertisements and promotions
116Shipping, taxation, and credit card authorization
- Shipping, taxation, and credit card authorization
functions are each important to a Commerce Server
application, but are also often provided by the
ERP system. - several third-party software developers provide
components (http//www.microsoft.com/commerce)
117Replication
- writing custom applications to bypass the ERP
vendors recommended API - or Setting up replication between the ERP
systems database and the Commerce Server
application database), - You should not try to directly access database
tables on the ERP system.
118Integrate with SAP using CS2000
- SAP system with integrated Commerce Server
application - Using the SAP DCOM connector
- Integrating a product catalog
- Integrating item pricing
- Integrating inventory data
- Integrating orders
119SAP system with integrated Commerce Server
Application
120Using the SAP DCOM connector
- the SAP DCOM connector is the bridge between the
Microsoft Windows 2000 platform and the SAP
business object framework
121Integrating a product catalog
- integrate a product catalog between Commerce
Server and SAP - Batch download product catalog data
- Batch download incremental catalog changes
- Mirrored updates
- Real-time connections
122Integrating item pricing
- Batch download item prices
- Triggered price change download
- Real-time pricing integration
123Integrating inventory data
- Batch download inventory data
- Batch download incremental inventory changes
- Mirrored updates Real-time connections
124Integrating orders
125Review
- Architecture for integrating an ERP system with a
Commerce Server application. - Integration Technologies.
- General Considerations
- Integrate with SAP using CS2000
- http//www.mysap.com/solutions/technology/bapis/co
m/dcom_mag/dcom_mag.htm
126ASP(Application Service Provider) Using CS2000
127Outline
- Overview ASP
- Microsoft ASP Strategy
- eCommerce ASP
- Case study
128Overview of ASP(1)
- ASPs are defined as companies that
- (1) develop and deliver a service shared by
multiple customers - (2) provide these services for a subscription or
usage-based fee - (3) supply these services from a central
location, over the Internet or a private network,
129Overview of ASP(1)
- These benefits are
- 1) predictable costs and low initial investments
- 2) enabling corporate resources to focus on
mission-critical goals - 3) shortening the time-to-market and
time-to-benefit for new IT solutions.
130Microsoft ASP Strategy
131The Evolution Of ASPs
Phase 2 Messaging, Line-of-Business
Phase 3 Web Services
Phase 1 Desktop
.NET Building Blocks, Software as a Service
Exchange, Client/server applications
Terminal Server, Office, Intellimirror/SMS
Overcome skill shortage Faster
deployment Lower initial investment
Re-architect chasm
132Web Services
HTML
133ASP Example
HTML
134Enabling Web Services
Visual Studio.NET, .NET Framework
.NET Enterprise Servers
.NET Device Software
.NET Building Block Services
135.NET Enterprise Servers
136eCommerce ASP
- eCommerce ASP
- Host ?manage ?eCommerce Applications and Database
for Customers - Web service provided by Commerce Server 2000
- Profile service
- Catalog service
- Targeting service
- Analysis service
- Pipeline Service
137Case study(1)
- USinternetworking and Coventry Health Care
Microsoft Platform Leads to Better Customer
ExperienceCoventry Health Care, a managed health
care company, turned to the World Wide Web and
application service provider USinternetworking to
help reduce costs without compromising customer
service. USi consolidated Coventry's disparate
Web sites and built a new set of customer care
solutions around the rich functionality enabled
by Microsoft Windows 2000 Advanced Server, SQL
Server 2000, and Microsoft Commerce Server 2000.
7/18/2001, Microsoft ISN
138Features of eCommerce ASP
- Easy on your Budget take advantage of shared
technology infrastructure to cut transaction
costs by as much as 90. - Easy to Collaborate creates stronger
relationships between parties. - Easy Marketing for new buyers and sellers
- Easy to Maintain
- Easy to Set-up
- Easy for Small Organizations
139What ec ASP looks Like?
Your customized solutions
Site Packager
Commerce Server Service
140How to implement
- XML technology
- COM technology
- Using Commerce Server SDK to call key services
- Customize Business Desk
- Customize customers solution site
141Designing B2B Trading Partner Integration
Solutions
- Identify internal integration requirements.
- Collect and organize content into a single
electronic format. - Design product catalogs.
- Publish and manage product catalogs.
- Enable supplier manager catalogs.
- Receive purchase orders from trading partners.
- Process orders from trading partners.
- Interface with Web services.
- Use Universal Description, Discovery, and
Integration (UDDI) to establish a business
relationship. - Plan a B2B trading partner integration solution.
142Review
- Commerce Server 2000?????????
- ??????????
- ????????,??????????????,
- Commerce Server ???????(ERP)???????(CRM)??????????
?????,????????????????? - ?????????XML
- ????OLE DB ????????
- ?????????
143