SlideShare a Scribd company logo
Cisco WebEx – Charlie Du
 Brief historical retrospect of web develop
◦ Problems and challenge
 Re-organization
◦ F2E & SDE1
◦ Process
◦ Benefits
 Separation and Cooperation
◦ How did Y! do it
◦ How did Cisco WebEx do it
◦ Replicable model of any languages
 1 man, from end 2 end.
 Small business
 Most of the sites
look the same
 No innovation
 How to handle the big business dev?
 How to improve the productivity?
 How to improve the quality?
 We need Re-organization in our developer team.
 Organization
Organization
Team Leader
Technic Leader
Team member
 Explicit Requirements
 Change Control
 For Company
Improve productivity
Improve product quality
Save cost
Professional
 For Developer
Improve skill to be a master
Do what you want to do
Help for the career planning
 PHP
 Maple System + PHP
 What is the problem?
 Hard to replace the mock data
 Always lost the close tag
 QA joined too later
 Java + Freemarker + Data Interface Spec
 What is the problem?
 Environment data have no handled
 Two frameworks conflict
Language URL
Register
Template Data
Interface
Directive
Implementing
Java URL/Template
Mapping
Freemarker
Velocity
Mock Data(.json)
Form Data
Link URL
I18N For JS
I18N For Template
Biz Data Access
Env Data Access
Static Resource Access
Php N/A .php
Asp(.net) N/A .asp(x)
 Biz Data and Ajax Call Response
◦ It should be agreement with F2E and SDE
{
status: “SUCCESS|FAILURE”,
message: “Response report of current request”,
result: “Return value, it can be any data type,
Such as String, Array, Object,
F2E and SDE need agree on
the data structure here”
}
{
status: “SUCCESS|FAILURE”,
message: “Response report of current request”,
result: “Return value, it can be any data type,
Such as String, Array, Object,
F2E and SDE need agree on
the data structure here”
}
 Environment Data
◦ It should be agreement with F2E and SDE
{
skinpath: “/resource/image/”,
jspath: “/resource/css/”,
rootpath: “/resource/js/”,
currentuser.cred: “U1U7EXG5”,
currentuser.username: “Charlie Du”
}
{
skinpath: “/resource/image/”,
jspath: “/resource/css/”,
rootpath: “/resource/js/”,
currentuser.cred: “U1U7EXG5”,
currentuser.username: “Charlie Du”
}
 Environment Data
◦ In order to decide where are these environment data from @SDE
{
currentuser.cred: {
from: “session”
},
currentuser.username:{
from: “session”
}
}
{
currentuser.cred: {
from: “session”
},
currentuser.username:{
from: “session”
}
}
 Mock Data File Structure
 Form Data
 Action URL
 Items’ Name
 Submit Method
 Link URL
 All these need to be a
document of
Data
Interface
Specification
finally!
Data Interface Specification
XXX Project
Version:0.1
F2E Owner: Charlie Du
SDE Owner: Bo Song
2010/10/09
 I18N For JS
 <@easySC.i18nJs path=“…/feed.js”/>
 It should generated these codes:
 <script type=“text/javascript” src=“…/feed_en_US.js”></script>
 <script type=“text/javascript” src=“…/feed.js”></script>
 “en_US” should match the client language.
 I18N For Template
 <@easySC.i18nMsg key=“feed.userinfo”
arguments=“Charlie” />
 It should get the key “feed.userinfo” from the i18n properties and
pass the arguments to render the final content.
 For example: feed.userinfo={0}&#39;s Info
The result should be: Charlie’s Info
 Biz Data Access
 <@easySC.bizData name=“feed” service=“feed.feed_list”
param=“{pageSize:10,pageIndex:0}” />
 “service” should match the mockdata/biz/feed/feed_list.json (Mock Env)
it as a Service Name on Production ENV.
 “param” will be used by Production Env
 “name” will be the returned value, a JSON Object from the .json mock data Or true
data.
 Then, we can use the variable “feed” to access the data, such as: feed.status,
feed.message, feed.result.
 Biz Data Access For AJAX Call
 bizcall.ext [.do, .php, .asp(x)]
 All Ajax call point to the JSONRPCHandler.ext, and post a field:
 Name: bizcall
 Value: {name:“feed”, service:“feed.feed_list”, params:{pageSize:10,pageIndex:0}}
 Then, on the SDE side, they still can use the easySC.bizData’s Handle, on F2E
side, they can use the unique mock data.
 Tips: you can build the request as a utility function. Such as “bizCall”
 ENV Data Access
 <@easySC.envData name=“username”
key=“currentuser.username” />
 “key” should match the property “currentuser.username” in
mockdata/env/env.txt (Mock Env)
 “name” will be the returned value: “Charlie Du”
 Then, we can use the variable “username”
 Directive can be implemented any way
with different languages!
 The core is:
 Access txt file and parse the content to a JSON Object on Mock
Env
 Assembling true data to a JSON Object on Production Env
 They should provide least 2 types of return value : JSON Object
and JSON Text (For Template and Ajax Call)
dh20156@126.com

More Related Content

Viewers also liked

Common Licensing Layer Build and Assist
Common Licensing Layer Build and AssistCommon Licensing Layer Build and Assist
Common Licensing Layer Build and Assist
Flexera
 
2010 Software Licensing and Pricing Survey Results and 2011 Predictions
2010 Software Licensing and Pricing Survey Results and 2011 Predictions2010 Software Licensing and Pricing Survey Results and 2011 Predictions
2010 Software Licensing and Pricing Survey Results and 2011 Predictions
Flexera
 
Hola me llamo Laura
Hola me llamo  LauraHola me llamo  Laura
Hola me llamo Laurasbolader
 
Top Priority Dr. Shriniwas Kashalikar
Top Priority Dr. Shriniwas KashalikarTop Priority Dr. Shriniwas Kashalikar
Top Priority Dr. Shriniwas Kashalikarshriniwaskashalikar
 
N E W S T U D Y O F B H A G A V A D G I T A D R
N E W  S T U D Y  O F  B H A G A V A D  G I T A   D RN E W  S T U D Y  O F  B H A G A V A D  G I T A   D R
N E W S T U D Y O F B H A G A V A D G I T A D Rshriniwaskashalikar
 
教學訪問教師試辦計畫106學年度說明會簡報
教學訪問教師試辦計畫106學年度說明會簡報教學訪問教師試辦計畫106學年度說明會簡報
教學訪問教師試辦計畫106學年度說明會簡報
Josephine C
 
Scholing Fanny Huijbregts
Scholing   Fanny HuijbregtsScholing   Fanny Huijbregts
Scholing Fanny HuijbregtsMijnZorgnet
 
Education & Stress Dr. Shriniwas Kashalikar
Education & Stress Dr. Shriniwas KashalikarEducation & Stress Dr. Shriniwas Kashalikar
Education & Stress Dr. Shriniwas Kashalikarshriniwaskashalikar
 
Steve Murphy Visual Resume
Steve Murphy Visual ResumeSteve Murphy Visual Resume
Steve Murphy Visual ResumeStephen Murphy
 
Monetizing Engagement
Monetizing EngagementMonetizing Engagement
Monetizing Engagement
Kathy Herrmann
 
Linga Pooja Dr. Shriniwas Janardan Kashalikar
Linga Pooja Dr. Shriniwas Janardan KashalikarLinga Pooja Dr. Shriniwas Janardan Kashalikar
Linga Pooja Dr. Shriniwas Janardan Kashalikarshriniwaskashalikar
 
教學訪問教師及受訪學校合作計畫書
教學訪問教師及受訪學校合作計畫書教學訪問教師及受訪學校合作計畫書
教學訪問教師及受訪學校合作計畫書
Josephine C
 

Viewers also liked (15)

Common Licensing Layer Build and Assist
Common Licensing Layer Build and AssistCommon Licensing Layer Build and Assist
Common Licensing Layer Build and Assist
 
2010 Software Licensing and Pricing Survey Results and 2011 Predictions
2010 Software Licensing and Pricing Survey Results and 2011 Predictions2010 Software Licensing and Pricing Survey Results and 2011 Predictions
2010 Software Licensing and Pricing Survey Results and 2011 Predictions
 
Hola me llamo Laura
Hola me llamo  LauraHola me llamo  Laura
Hola me llamo Laura
 
Top Priority Dr. Shriniwas Kashalikar
Top Priority Dr. Shriniwas KashalikarTop Priority Dr. Shriniwas Kashalikar
Top Priority Dr. Shriniwas Kashalikar
 
N E W S T U D Y O F B H A G A V A D G I T A D R
N E W  S T U D Y  O F  B H A G A V A D  G I T A   D RN E W  S T U D Y  O F  B H A G A V A D  G I T A   D R
N E W S T U D Y O F B H A G A V A D G I T A D R
 
教學訪問教師試辦計畫106學年度說明會簡報
教學訪問教師試辦計畫106學年度說明會簡報教學訪問教師試辦計畫106學年度說明會簡報
教學訪問教師試辦計畫106學年度說明會簡報
 
Scholing Fanny Huijbregts
Scholing   Fanny HuijbregtsScholing   Fanny Huijbregts
Scholing Fanny Huijbregts
 
Exhibitions
ExhibitionsExhibitions
Exhibitions
 
Education & Stress Dr. Shriniwas Kashalikar
Education & Stress Dr. Shriniwas KashalikarEducation & Stress Dr. Shriniwas Kashalikar
Education & Stress Dr. Shriniwas Kashalikar
 
Steve Murphy Visual Resume
Steve Murphy Visual ResumeSteve Murphy Visual Resume
Steve Murphy Visual Resume
 
AMC WIT MARMER COLLECTIE
AMC WIT MARMER COLLECTIEAMC WIT MARMER COLLECTIE
AMC WIT MARMER COLLECTIE
 
Monetizing Engagement
Monetizing EngagementMonetizing Engagement
Monetizing Engagement
 
Linga Pooja Dr. Shriniwas Janardan Kashalikar
Linga Pooja Dr. Shriniwas Janardan KashalikarLinga Pooja Dr. Shriniwas Janardan Kashalikar
Linga Pooja Dr. Shriniwas Janardan Kashalikar
 
Aphrodite marble centre flagstones
Aphrodite marble centre flagstonesAphrodite marble centre flagstones
Aphrodite marble centre flagstones
 
教學訪問教師及受訪學校合作計畫書
教學訪問教師及受訪學校合作計畫書教學訪問教師及受訪學校合作計畫書
教學訪問教師及受訪學校合作計畫書
 

Similar to How to separate the f2 e and sde in web development for_taobao

Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
RapidValue
 
Data models in Angular 1 & 2
Data models in Angular 1 & 2Data models in Angular 1 & 2
Data models in Angular 1 & 2
Adam Klein
 
Taking Web Apps Offline
Taking Web Apps OfflineTaking Web Apps Offline
Taking Web Apps OfflinePedro Morais
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
Adrien Guéret
 
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Red Hat Developers
 
Fatc
FatcFatc
Agile Data Science 2.0
Agile Data Science 2.0Agile Data Science 2.0
Agile Data Science 2.0
Russell Jurney
 
Agile Data Science
Agile Data ScienceAgile Data Science
Agile Data Science
Russell Jurney
 
Learning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client DevelopersLearning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client Developers
Kathy Brown
 
Practical OData
Practical ODataPractical OData
Practical OData
Vagif Abilov
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Guido Schmutz
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
confluent
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Guido Schmutz
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
Vivian S. Zhang
 
Java Technology
Java TechnologyJava Technology
Java Technologyifnu bima
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchApps
Bradley Holt
 
03 form-data
03 form-data03 form-data
03 form-datasnopteck
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to TornadoGavin Roy
 

Similar to How to separate the f2 e and sde in web development for_taobao (20)

Having Fun with Play
Having Fun with PlayHaving Fun with Play
Having Fun with Play
 
Data Seeding via Parameterized API Requests
Data Seeding via Parameterized API RequestsData Seeding via Parameterized API Requests
Data Seeding via Parameterized API Requests
 
Data models in Angular 1 & 2
Data models in Angular 1 & 2Data models in Angular 1 & 2
Data models in Angular 1 & 2
 
Taking Web Apps Offline
Taking Web Apps OfflineTaking Web Apps Offline
Taking Web Apps Offline
 
Introduction to node.js
Introduction to node.jsIntroduction to node.js
Introduction to node.js
 
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
Full Stack Development With Node.Js And NoSQL (Nic Raboy & Arun Gupta)
 
Fatc
FatcFatc
Fatc
 
Agile Data Science 2.0
Agile Data Science 2.0Agile Data Science 2.0
Agile Data Science 2.0
 
Agile Data Science
Agile Data ScienceAgile Data Science
Agile Data Science
 
Learning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client DevelopersLearning To Run - XPages for Lotus Notes Client Developers
Learning To Run - XPages for Lotus Notes Client Developers
 
Practical OData
Practical ODataPractical OData
Practical OData
 
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache KafkaSolutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
 
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafk...
 
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache KafkaSolutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
 
08 ajax
08 ajax08 ajax
08 ajax
 
Nodejs.meetup
Nodejs.meetupNodejs.meetup
Nodejs.meetup
 
Java Technology
Java TechnologyJava Technology
Java Technology
 
OSCON 2011 CouchApps
OSCON 2011 CouchAppsOSCON 2011 CouchApps
OSCON 2011 CouchApps
 
03 form-data
03 form-data03 form-data
03 form-data
 
An Introduction to Tornado
An Introduction to TornadoAn Introduction to Tornado
An Introduction to Tornado
 

More from taobao.com

编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editortaobao.com
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践taobao.com
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化taobao.com
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践taobao.com
 
编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editortaobao.com
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践taobao.com
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践taobao.com
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路taobao.com
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical enginetaobao.com
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏taobao.com
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索taobao.com
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索taobao.com
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现taobao.com
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构taobao.com
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台taobao.com
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具taobao.com
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考taobao.com
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践taobao.com
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践taobao.com
 

More from taobao.com (20)

编辑器设计U editor
编辑器设计U editor编辑器设计U editor
编辑器设计U editor
 
Berserk js
Berserk jsBerserk js
Berserk js
 
淘宝开放产品前端实践
淘宝开放产品前端实践淘宝开放产品前端实践
淘宝开放产品前端实践
 
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
 
第三方内容开发最佳实践
第三方内容开发最佳实践第三方内容开发最佳实践
第三方内容开发最佳实践
 
编辑器设计Kissy editor
编辑器设计Kissy editor编辑器设计Kissy editor
编辑器设计Kissy editor
 
百度前端性能监控与优化实践
百度前端性能监控与优化实践百度前端性能监控与优化实践
百度前端性能监控与优化实践
 
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
 
Kind editor设计思路
Kind editor设计思路Kind editor设计思路
Kind editor设计思路
 
Java script physical engine
Java script physical engineJava script physical engine
Java script physical engine
 
Html5环保小游戏
Html5环保小游戏Html5环保小游戏
Html5环保小游戏
 
阅读类Web应用前端技术探索
阅读类Web应用前端技术探索阅读类Web应用前端技术探索
阅读类Web应用前端技术探索
 
完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索完颜:移动网站的兼容性探索
完颜:移动网站的兼容性探索
 
张平:JavaScript引擎实现
张平:JavaScript引擎实现张平:JavaScript引擎实现
张平:JavaScript引擎实现
 
高力:19楼现有前端架构
高力:19楼现有前端架构高力:19楼现有前端架构
高力:19楼现有前端架构
 
李成银:前端编译平台
李成银:前端编译平台李成银:前端编译平台
李成银:前端编译平台
 
钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具钱宝坤:多浏览器集成的JavaScript单元测试工具
钱宝坤:多浏览器集成的JavaScript单元测试工具
 
张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考张克军:前端基础架构的实践和思考
张克军:前端基础架构的实践和思考
 
刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践刘平川:【用户行为分析】Marmot实践
刘平川:【用户行为分析】Marmot实践
 
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
吴英杰:【用户行为分析】淘宝页面显微镜系统原理及实践
 

How to separate the f2 e and sde in web development for_taobao

  • 1. Cisco WebEx – Charlie Du
  • 2.  Brief historical retrospect of web develop ◦ Problems and challenge  Re-organization ◦ F2E & SDE1 ◦ Process ◦ Benefits  Separation and Cooperation ◦ How did Y! do it ◦ How did Cisco WebEx do it ◦ Replicable model of any languages
  • 3.  1 man, from end 2 end.  Small business  Most of the sites look the same  No innovation
  • 4.  How to handle the big business dev?  How to improve the productivity?  How to improve the quality?
  • 5.
  • 6.  We need Re-organization in our developer team.
  • 9.  For Company Improve productivity Improve product quality Save cost Professional  For Developer Improve skill to be a master Do what you want to do Help for the career planning
  • 10.
  • 11.  PHP  Maple System + PHP  What is the problem?  Hard to replace the mock data  Always lost the close tag  QA joined too later
  • 12.  Java + Freemarker + Data Interface Spec  What is the problem?  Environment data have no handled  Two frameworks conflict
  • 13. Language URL Register Template Data Interface Directive Implementing Java URL/Template Mapping Freemarker Velocity Mock Data(.json) Form Data Link URL I18N For JS I18N For Template Biz Data Access Env Data Access Static Resource Access Php N/A .php Asp(.net) N/A .asp(x)
  • 14.
  • 15.  Biz Data and Ajax Call Response ◦ It should be agreement with F2E and SDE { status: “SUCCESS|FAILURE”, message: “Response report of current request”, result: “Return value, it can be any data type, Such as String, Array, Object, F2E and SDE need agree on the data structure here” } { status: “SUCCESS|FAILURE”, message: “Response report of current request”, result: “Return value, it can be any data type, Such as String, Array, Object, F2E and SDE need agree on the data structure here” }
  • 16.  Environment Data ◦ It should be agreement with F2E and SDE { skinpath: “/resource/image/”, jspath: “/resource/css/”, rootpath: “/resource/js/”, currentuser.cred: “U1U7EXG5”, currentuser.username: “Charlie Du” } { skinpath: “/resource/image/”, jspath: “/resource/css/”, rootpath: “/resource/js/”, currentuser.cred: “U1U7EXG5”, currentuser.username: “Charlie Du” }
  • 17.  Environment Data ◦ In order to decide where are these environment data from @SDE { currentuser.cred: { from: “session” }, currentuser.username:{ from: “session” } } { currentuser.cred: { from: “session” }, currentuser.username:{ from: “session” } }
  • 18.  Mock Data File Structure
  • 19.  Form Data  Action URL  Items’ Name  Submit Method  Link URL
  • 20.  All these need to be a document of Data Interface Specification finally! Data Interface Specification XXX Project Version:0.1 F2E Owner: Charlie Du SDE Owner: Bo Song 2010/10/09
  • 21.  I18N For JS  <@easySC.i18nJs path=“…/feed.js”/>  It should generated these codes:  <script type=“text/javascript” src=“…/feed_en_US.js”></script>  <script type=“text/javascript” src=“…/feed.js”></script>  “en_US” should match the client language.
  • 22.  I18N For Template  <@easySC.i18nMsg key=“feed.userinfo” arguments=“Charlie” />  It should get the key “feed.userinfo” from the i18n properties and pass the arguments to render the final content.  For example: feed.userinfo={0}&#39;s Info The result should be: Charlie’s Info
  • 23.  Biz Data Access  <@easySC.bizData name=“feed” service=“feed.feed_list” param=“{pageSize:10,pageIndex:0}” />  “service” should match the mockdata/biz/feed/feed_list.json (Mock Env) it as a Service Name on Production ENV.  “param” will be used by Production Env  “name” will be the returned value, a JSON Object from the .json mock data Or true data.  Then, we can use the variable “feed” to access the data, such as: feed.status, feed.message, feed.result.
  • 24.  Biz Data Access For AJAX Call  bizcall.ext [.do, .php, .asp(x)]  All Ajax call point to the JSONRPCHandler.ext, and post a field:  Name: bizcall  Value: {name:“feed”, service:“feed.feed_list”, params:{pageSize:10,pageIndex:0}}  Then, on the SDE side, they still can use the easySC.bizData’s Handle, on F2E side, they can use the unique mock data.  Tips: you can build the request as a utility function. Such as “bizCall”
  • 25.  ENV Data Access  <@easySC.envData name=“username” key=“currentuser.username” />  “key” should match the property “currentuser.username” in mockdata/env/env.txt (Mock Env)  “name” will be the returned value: “Charlie Du”  Then, we can use the variable “username”
  • 26.  Directive can be implemented any way with different languages!  The core is:  Access txt file and parse the content to a JSON Object on Mock Env  Assembling true data to a JSON Object on Production Env  They should provide least 2 types of return value : JSON Object and JSON Text (For Template and Ajax Call)
  • 27.
  • 28.
  • 29.

Editor's Notes

  1. 1. F2E: Front end engineer, SDE: Server develop engineer
  2. coolapration