김영태 선임 연구원 웹서비스를 위한 Personalization Server JPS 1.0 웹서비스를...

Post on 30-Dec-2015

234 views 11 download

Transcript of 김영태 선임 연구원 웹서비스를 위한 Personalization Server JPS 1.0 웹서비스를...

김영태 선임 연구원

웹서비스를 위한 웹서비스를 위한 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.