330 likes | 520 Vues
웹서비스를 위한 Personalization Server JPS 1.0. 김영태 선임 연구원. Agenda. ☞. What is Personalization? JEUS Personalization Server v1.0 Overview & Architecture Recommendation Feature Other Features JPS Example JPS 2.0 Roadmap. Large number of customers Much larger enterprise Low customer loyalty
E N D
웹서비스를 위한 Personalization Server JPS 1.0 김영태 선임 연구원
Agenda ☞ • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • JPS 2.0 Roadmap
Large number of customers Much larger enterprise Low customer loyalty Higher customer expectation Difficult to watch customers E-Business Customer Relationship
Personalization is the art and science of dynamically altering content according to the preferences of a customer, client, or colleague. Definition
Adaptive System Recommends contents based on the knowledge the system has learned from customer behaviors Rule-Based System Recommends contents based on the rules the marketing manager defined with his marketing experience and knowledge Types of Personalization System
Adaptive System Modify policies Recommend contents Policy Apply policies • 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.
Rule-Based System Recommend contents Policy(Rules) Define policies Apply policies • The system recommends contents based on the rules defined by the marketing manager. • Less required system resources. • High performance. • Easy to create and modify policies.
Agenda • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • JPS 2.0 Roadmap ☞
Rule-Based Personalization System. Rely on performance and reliability proven JEUS application server. API for Recommendation Service and User, Content management. Support personalized application developed in JSP, Servlet, and EJB. JPS ? JEUS Personalization Server
JPS Environment • Evaluate rules • Recommend contents • Manage Resources • Define Profile Schema • Modify Rules Contents JPS JPS Tool Rule Engine Rules Resource Engine Profiles JEUS Studio JEUS Application Server Explicit and implicit data Develope Web pages Pages personalized for each user
Resource Engine Update or query Request update or query… Cache Requester Resource Engine DB Returnresults Update or query • Resource Engine Duties • User-Group Management • Content Profile Management • Customer behavioral data management • Flexible schema • Allows Rule Engine to query database at runtime
Rule Engine User profile and Ruleset name Rule Storage Ruleset Search Rule Engine Requester Ruleset Query string for content selection Ruleset • Rule Engine Duties • Evaluate business rules • Recommend appropriate contents • Rule Matching Algorithm • Capable to handle very complicated rules
Agenda • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • JPS 2.0 Roadmap ☞
JPS Recommendation Process JPS 2 Applied Rule Check Rule Engine 3 Targeted Query Put in Cache JEUS 1 JPS API Invocation JPS Manager 4 Query Execution Resource Engine DB 6 Targeted Contents 5 Executed Results Store in Disk Resource & Rule Management Query JPS Tool Queried Results 1 – 6 Standard processes of retrieving targeted contents
Types of Rules User Classification Rule Grouping Users based on User properties Content Classification Rule Grouping Contents based on Content properties Content Selector Rule Mapping User classification to Content classification Operators of Rules Contains, startsWith, equals, etc. Using AND, OR, NOT.. A rule can be manipulated to a very complicated one. e.g <user classification rule> If user contains property of age = 20 AND contains … About Rules
Rule Execution Process 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 Rule Statement XML Cached Rule-Set Action Queue JPS Tool Rule Engine
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 that need attention. How: Some are fired from the system and some are fired by using APIs from applications. e.g. ViewContentEvent, FireRuleEvent. Behavior Tracking Events
Behavior Tracking Custom Listener An event is thrown Event Event Queue Clicks a product Converts events-info to XML DB Store in DB XML Scheduler Scheduler executes
Agenda • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • JPS 2.0 Roadmap ☞
Implemented as system classes Higher performance than EJB Caching user-group profiles No need to retrieve data from DB Caching business rules No need to read data from XML files Caching recommended contents No need to request to Rule Engine again Performance Features
Multi-threading Load balancing Fail-over Clustering How data is preserved in a clustered environment? Session Routing(Higher performance) Broadcast Server Features
Clustered Environment If any update, notify all JPS JPS JPS Servlet Servlet Servlet Engine1 Engine2 Engine3 WebtoB Client 1 Client 2 Client 3
All APIs also exist as JSP Tags. Easy to use when developing web pages in JSP. e.g. <upm:setProperty propertyName = “age” value=<%=myAge%>/> Convenience Features – JSP Tags
Rule Query Editor User-Group Profile Management Content Management Convenience Features – JPS Tool
Agenda • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • JPS 2.0 Roadmap ☞
JPS Ex - Sample code <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, … ); … … }
Before !!! JPS Ex - Web page(before)
After !!! JPS Ex - Web page(after)
Agenda • What is Personalization? • JEUS Personalization Server v1.0 • Overview & Architecture • Recommendation Feature • Other Features • JPS Example • 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 guide the marketing manager in creating rules. JPS 2.0 Roadmap