김영태 선임 연구원 웹서비스를 위한 personalization server jps 1.0 웹서비스를...
TRANSCRIPT
김영태 선임 연구원
웹서비스를 위한 웹서비스를 위한 Personalization ServerPersonalization Server
JPS 1.0JPS 1.0
웹서비스를 위한 웹서비스를 위한 Personalization ServerPersonalization Server
JPS 1.0JPS 1.0
22/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap
☞☞
33/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 E-Business Customer
Relationship
• Large number of customers• Much larger enterprise• Low customer loyalty• Higher customer expectation• Difficult to watch customers
44/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Definition
• Personalization is the art and science of dynamically altering content according to the preferences of a customer, client, or colleague.
55/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Types of Personalization
System
• Adaptive SystemAdaptive System– Recommends contents based on the Recommends contents based on the
knowledge the system has learned from knowledge the system has learned from customer behaviorscustomer behaviors
• Rule-Based SystemRule-Based System– Recommends contents based on the rules Recommends contents based on the rules
the marketing manager defined with his the marketing manager defined with his marketing experience and knowledgemarketing experience and knowledge
66/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Adaptive
System
• The system learns the market pattern and define its own policies.
• Slow Starter.• Large system resource is required. • Not yet powerful to follow all the market
trends.
Policy
Modify policie
s
Apply policie
s
Recommend contents
77/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Rule-Based System
• The system recommends contents based on The system recommends contents based on the rules defined by the marketing the rules defined by the marketing manager.manager.
• Less required system resources.Less required system resources.• High performance. High performance. • Easy to create and modify policies. Easy to create and modify policies.
Define policie
sApply
policies
Recommend contents
Policy(Rules)
88/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap
☞☞
99/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS ?
• Rule-Based Personalization System.• Rely on performance and reliability proven JEUS ap
plication server.• API for Recommendation Service and User, Content
management.• Support personalized application developed in JSP,
Servlet, and EJB.
JEUS Personalization Server
1010/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS
Environment• Manage Resources• Define Profile Schema• Modify Rules
• Evaluate rules• Recommend contents
Explicit andimplicit data
JPS ToolJPS Tool
JEUSStudio
JEUSStudio
Contents
Rules
Profiles
JEUS Application Server
Rule Engine
Resource Engine
JPS
Develope Web pages
Pages personalizedfor each user
1111/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Resource Engine
• Resource Engine Duties– User-Group Management– Content Profile Management– Customer behavioral data management
• Flexible schema• Allows Rule Engine to query database at
runtime
ResourceEngine
Cache
DB
Requester
Request update or query…
Returnresults
Update or query
Update or query
1212/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Rule Engine
• Rule Engine Duties• Evaluate business rules• Recommend appropriate contents
• Rule Matching Algorithm• Capable to handle very complicated rules
RuleEngine
Ruleset
Ruleset
Ruleset
Rule Storage
Requester
User profile and Ruleset name
Query string for content selection
Search
1313/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap
☞☞
1414/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS Recommendation
Process
ResourceResourceEngineEngine DB
RuleRuleEngineEngine
JPSJPSManagerManagerJEUS
1 JPS API Invocation
6 Targeted Contents
2 Applied Rule Check
3 Targeted Query
4 Query Execution
5 Executed Results
Put in Cache
Store in Disk
JPS ToolJPS Tool
Resource & Rule Management Query
Queried Results
1 – 6 Standard processes of retrieving targeted contents
JPS
1515/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 About Rules
• Types of RulesTypes of Rules– User Classification Rule
• Grouping Users based on User propertiesGrouping Users based on User properties– Content Classification Rule
• Grouping Contents based on Content propertiesGrouping Contents based on Content properties– Content Selector Rule
• Mapping User classification to Content classificationMapping User classification to Content classification• Operators of RulesOperators of Rules
– Contains, startsWith, equals, etc.– Using AND, OR, NOT.. A rule can be manipulated to a very co
mplicated one.• e.g <user classification rule>e.g <user classification rule>
– If user contains property of age = 20 AND contains …
1616/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Rule Execution Process
JPS ToolJPS Tool Rule EngineRule Engine
RuleStatement
XMLCachedRule-Set
ActionQueue
Rule statement is saved to an XML file
Each XML file is cached as a Rule-Set
Matched rules are added to Action Queue
Rules in Action Queue are executed
1717/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Behavior Tracking Events
• They provide a detailed entire customer lifecycle and they can be customized.
• Custom listeners to listen to these events can be added to system.
• When: – Events are fired when customer showed certain behaviors Events are fired when customer showed certain behaviors
that need attention.that need attention.• How:
– Some are fired from the system and some are fired by usiSome are fired from the system and some are fired by using APIs from applications.ng APIs from applications.
• e.g. ViewContentEvent, FireRuleEvent.
1818/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Behavior
Tracking
EventEvent EventQueue
EventQueue
XMLXMLDBScheduler
Clicks a productClicks a product
An event is thrownAn event is thrown
Converts events-info to XMLStore in DB
Scheduler executes
CustomListener
CustomListener
1919/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap
☞☞
2020/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Performance Features
• Implemented as system classes– Higher performance than EJBHigher performance than EJB
• Caching user-group profiles– No need to retrieve data from DBNo need to retrieve data from DB
• Caching business rules– No need to read data from XML filesNo need to read data from XML files
• Caching recommended contents– No need to request to Rule Engine againNo need to request to Rule Engine again
2121/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Server
Features
• Multi-threading• Load balancing• Fail-over• Clustering
– How data is preserved in a clustered How data is preserved in a clustered environment?environment?• Session Routing(Higher performance)Session Routing(Higher performance)• BroadcastBroadcast
2222/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Clustered
Environment
Servlet
JPS
Servlet
JPS
Servlet
JPS
WebtoBWebtoB
Client 1
Client 2
Client 3
Engine1 Engine2 Engine3
If any update, notify all
2323/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Convenience Features – JSP
Tags
• All APIs also exist as JSP Tags.• Easy to use when developing web
pages in JSP.• e.g.
– <upm:setProperty propertyName = <upm:setProperty propertyName = “age” value=<%=myAge%>/>“age” value=<%=myAge%>/>
2424/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Convenience Features – JPS Tool
• Rule Query Editor• User-Group Profile Management• Content Management
2525/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap
☞☞
2626/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS Ex - Define Profile Schema
2727/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS Ex – Create Rules
2828/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS Ex - Sample code
JPSManager jpsm = new JPSManager();Object obj[] = jpsm.upmGetRecommendation(req, “rset1", 40);
for(int i=0 ; i<=obj.length(); i++){ String path = (String)obj[i]; Integer count = (Integer)jpsm.cpmGetProperty(path, … ); String ptitle = (String)jpsm.cpmGetProperty(path, … );
……
}
<Sample code>
2929/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
Before !!!
JPS Ex - Web page(before)
3030/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다
After !!!
JPS Ex - Web page(after)
3131/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS Ex - Profile Management
3232/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 Agenda
• What is Personalization?What is Personalization?• JEUS Personalization Server v1.0JEUS Personalization Server v1.0
– Overview & ArchitectureOverview & Architecture– Recommendation FeatureRecommendation Feature– Other FeaturesOther Features– JPS ExampleJPS Example
• JPS 2.0 RoadmapJPS 2.0 Roadmap☞☞
3333/33/33Copyright © 2002 Tmax Soft Co.,Ltd. All Rights Reserved.
JPSJPS기술로 고객의 마음을 움직입니다기술로 고객의 마음을 움직입니다 JPS 2.0 Roadmap
• More flexible resource management• Auto contents loading feature• More events to track even more
detailed customer behaviors.• Behavior Analysis Tool
– Analyze the behavioral data collected and Analyze the behavioral data collected and guide the marketing manager in creating guide the marketing manager in creating rules.rules.