SlideShare a Scribd company logo
1 of 19
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
yaniv@e4d.co.il
http://blogs.microsoft.co.il/blogs/rdt/
Israel JavaScript Conference
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
What’s ?
 JS library aimed to manage data in rich client applications
 Implements the Open Data Protocol (OData) query
standard
 Ships with adapters for the ASP.NET Web API and for
OData
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Communication
DAL
UI
BL (MV*)
Offline Storage
Entities
Module Module Module
Server
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Why ?
 It’s free
 Simplify data query tasks
 Manage client side data caching
 Support batch operations
 Support all modern browsers on desktop and mobile
devices (ECMAScript 5)
 Out-of-box support for Knockout, Angular, and Backbone
 Well documented
 Has roadmap
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Query Data
 LINQ style syntax
 Execute query asynchronously with a Promise
 Query related entities
 Flatten entity graphs
 Query server, cache, or both
 If a query can be expressed in OData syntax, it can be
expressed in Breeze
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Query Data
//define query
var query = breeze.EntityQuery().from("Customers")
.where("CompanyName", "startsWith", "C")
.orderBy("CompanyName");
//execute query
var manager = new breeze.EntityManager(serviceName);
manager.executeQuery(query)
.then(querySucceeded)
.fail(queryFailed);
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Query Data
 Breeze resolves this query into an HTTP GET request
formatted as an OData URI
 EntityManager reshapes the result JSON data into entities
and merges them into its cache
 The Promise object forwards entities to the caller’s
success callback
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Client Side Caching
 Cache entities locally on the JavaScript client
 Query client Cache, Server or both
 Navigate among entities in cache
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Client Side Caching
/* Query the server, cache, or both */
var query = breeze.EntityQuery("Customers");
// execute query asynchronously on the server
manager.executeQuery(query).then(querySuccess).fail(queryFail);
// execute query synchronously on local cache
var customers = manager.executeQueryLocally(query)
// fetch customer by id from cache (if found) or remotely
var checkCacheFirst = true;
manager.fetchEntityByKey("CompanyName", 42, checkCacheFirst).then
(fetchSuccess).fail(fetchFail);
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Track Changes
 Breeze Entities are self-tracking – they manage their own
state via entityAspect.entityState
 Refresh an entity to its current state on the server or revert
changed entities to their original values
 Get notifications about the entities that enter, leave, and
change in cache
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Track Changes
 Examine entity state via entityAspect.entityState
 Respond to entity property change via
entityAspect.propertyChanged event
 Respond to change validation errors via
entityAspect.validationErrorsChanged event
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Track Changes
/* Change tracking */// save all changes (if there are any)
if (manager.hasChanges())
{
manager.saveChanges().then(saveSucceeded).fail(saveFailed);
}
// listen for any change to a customer
customer.entityAspect.propertyChanged.subscribe(somethingHappened);
// listen for validation errors
customer.entityAspect.validationErrorsChanged.subscribe(updateValid
ationUI);
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
http://www.breezejs.com
 Breeze SDK
http://www.breezejs.com/sites/all/apidocs/index.html
 Trouble Shooting
http://stackoverflow.com/questions/tagged/breeze
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
yaniv@e4d.co.il
http://blogs.microsoft.co.il/blogs/rdt/
Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |

More Related Content

What's hot

domain driven design talk
domain driven design talkdomain driven design talk
domain driven design talk
Rui Sun
 

What's hot (20)

ASP .NET MVC - best practices
ASP .NET MVC - best practicesASP .NET MVC - best practices
ASP .NET MVC - best practices
 
Oracle JET and WebSocket
Oracle JET and WebSocketOracle JET and WebSocket
Oracle JET and WebSocket
 
Ajax workshop
Ajax workshopAjax workshop
Ajax workshop
 
domain driven design talk
domain driven design talkdomain driven design talk
domain driven design talk
 
Advantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client applicationAdvantages and disadvantages of an ajax based client application
Advantages and disadvantages of an ajax based client application
 
Event Sourcing your Angular and React applications
Event Sourcing your Angular and React applicationsEvent Sourcing your Angular and React applications
Event Sourcing your Angular and React applications
 
ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)ASP.net MVC Introduction Wikilogia (nov 2014)
ASP.net MVC Introduction Wikilogia (nov 2014)
 
React - Redux applications & Event Sourcing
React - Redux applications & Event SourcingReact - Redux applications & Event Sourcing
React - Redux applications & Event Sourcing
 
Course Scheduler
Course SchedulerCourse Scheduler
Course Scheduler
 
Dear Azure: External collaboration with Azure AD B2B
Dear Azure: External collaboration with Azure AD B2BDear Azure: External collaboration with Azure AD B2B
Dear Azure: External collaboration with Azure AD B2B
 
Mobile Web
Mobile WebMobile Web
Mobile Web
 
Ajax
AjaxAjax
Ajax
 
DevSum: Azure AD B2C Application security made easy
DevSum: Azure AD B2C Application security made easyDevSum: Azure AD B2C Application security made easy
DevSum: Azure AD B2C Application security made easy
 
Angular introduction basic
Angular introduction basicAngular introduction basic
Angular introduction basic
 
Cejv659 week09 glassfish-s14
Cejv659 week09 glassfish-s14Cejv659 week09 glassfish-s14
Cejv659 week09 glassfish-s14
 
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
Oracle ADF Online Training By Seasoft IT Solutions | Orace ADF Course Content...
 
Lecture1
Lecture1Lecture1
Lecture1
 
C# cookieless session id and application state
C# cookieless session id and application stateC# cookieless session id and application state
C# cookieless session id and application state
 
Creating Data Driven HTML5 Applications
Creating Data Driven HTML5 ApplicationsCreating Data Driven HTML5 Applications
Creating Data Driven HTML5 Applications
 
Event sourcing your React-Flux applications
Event sourcing your React-Flux applicationsEvent sourcing your React-Flux applications
Event sourcing your React-Flux applications
 

Similar to Js il 2013 breeze.js

E4D js conference responsive web design - js-il.com
E4D js conference responsive web design - js-il.comE4D js conference responsive web design - js-il.com
E4D js conference responsive web design - js-il.com
Eyal Vardi
 
Ui components - js-il.com
Ui components - js-il.comUi components - js-il.com
Ui components - js-il.com
Eyal Vardi
 
jQuery Mobile Apps
jQuery Mobile AppsjQuery Mobile Apps
jQuery Mobile Apps
Dima Kuzmich
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev Kumar Paul
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
Mayank Srivastava
 
Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagno...
Mission-critical Ajax:Making Test Ordering Easier and Faster at Quest Diagno...Mission-critical Ajax:Making Test Ordering Easier and Faster at Quest Diagno...
Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagno...
george.james
 

Similar to Js il 2013 breeze.js (20)

Spa Architecture with Durandal and Friends
Spa Architecture with Durandal and FriendsSpa Architecture with Durandal and Friends
Spa Architecture with Durandal and Friends
 
Routing in SPA
Routing in SPARouting in SPA
Routing in SPA
 
E4D js conference responsive web design - js-il.com
E4D js conference responsive web design - js-il.comE4D js conference responsive web design - js-il.com
E4D js conference responsive web design - js-il.com
 
Mvvm and KnockoutJS
Mvvm and KnockoutJSMvvm and KnockoutJS
Mvvm and KnockoutJS
 
Ui components
Ui componentsUi components
Ui components
 
Ui components - js-il.com
Ui components - js-il.comUi components - js-il.com
Ui components - js-il.com
 
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing
 
jQuery Mobile apps - js-il.com
jQuery Mobile apps - js-il.comjQuery Mobile apps - js-il.com
jQuery Mobile apps - js-il.com
 
jQuery Mobile Apps
jQuery Mobile AppsjQuery Mobile Apps
jQuery Mobile Apps
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Angular JS Basics
Angular JS BasicsAngular JS Basics
Angular JS Basics
 
Sanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-LatestSanjeev_Kumar_Paul- Resume-Latest
Sanjeev_Kumar_Paul- Resume-Latest
 
Vikram_Singh_TeamLead
Vikram_Singh_TeamLeadVikram_Singh_TeamLead
Vikram_Singh_TeamLead
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Application Security Workshop
Application Security Workshop Application Security Workshop
Application Security Workshop
 
Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0Targeting Mobile Platform with MVC 4.0
Targeting Mobile Platform with MVC 4.0
 
Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagno...
Mission-critical Ajax:Making Test Ordering Easier and Faster at Quest Diagno...Mission-critical Ajax:Making Test Ordering Easier and Faster at Quest Diagno...
Mission-critical Ajax: Making Test Ordering Easier and Faster at Quest Diagno...
 
Embracing Serverless Ops (Lightning Talk)
Embracing Serverless Ops (Lightning Talk)Embracing Serverless Ops (Lightning Talk)
Embracing Serverless Ops (Lightning Talk)
 
Node learnings implementation
Node learnings implementationNode learnings implementation
Node learnings implementation
 

More from Eyal Vardi

More from Eyal Vardi (20)

Why magic
Why magicWhy magic
Why magic
 
Smart Contract
Smart ContractSmart Contract
Smart Contract
 
Rachel's grandmother's recipes
Rachel's grandmother's recipesRachel's grandmother's recipes
Rachel's grandmother's recipes
 
Performance Optimization In Angular 2
Performance Optimization In Angular 2Performance Optimization In Angular 2
Performance Optimization In Angular 2
 
Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)Angular 2 Architecture (Bucharest 26/10/2016)
Angular 2 Architecture (Bucharest 26/10/2016)
 
Angular 2 NgModule
Angular 2 NgModuleAngular 2 NgModule
Angular 2 NgModule
 
Upgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.xUpgrading from Angular 1.x to Angular 2.x
Upgrading from Angular 1.x to Angular 2.x
 
Angular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time CompilationAngular 2 - Ahead of-time Compilation
Angular 2 - Ahead of-time Compilation
 
Routing And Navigation
Routing And NavigationRouting And Navigation
Routing And Navigation
 
Angular 2 Architecture
Angular 2 ArchitectureAngular 2 Architecture
Angular 2 Architecture
 
Angular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.xAngular 1.x vs. Angular 2.x
Angular 1.x vs. Angular 2.x
 
Angular 2.0 Views
Angular 2.0 ViewsAngular 2.0 Views
Angular 2.0 Views
 
Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0Component lifecycle hooks in Angular 2.0
Component lifecycle hooks in Angular 2.0
 
Template syntax in Angular 2.0
Template syntax in Angular 2.0Template syntax in Angular 2.0
Template syntax in Angular 2.0
 
Http Communication in Angular 2.0
Http Communication in Angular 2.0Http Communication in Angular 2.0
Http Communication in Angular 2.0
 
Angular 2.0 Dependency injection
Angular 2.0 Dependency injectionAngular 2.0 Dependency injection
Angular 2.0 Dependency injection
 
Angular 2.0 Routing and Navigation
Angular 2.0 Routing and NavigationAngular 2.0 Routing and Navigation
Angular 2.0 Routing and Navigation
 
Async & Parallel in JavaScript
Async & Parallel in JavaScriptAsync & Parallel in JavaScript
Async & Parallel in JavaScript
 
Angular 2.0 Pipes
Angular 2.0 PipesAngular 2.0 Pipes
Angular 2.0 Pipes
 
Angular 2.0 forms
Angular 2.0 formsAngular 2.0 forms
Angular 2.0 forms
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Recently uploaded (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 

Js il 2013 breeze.js

  • 1. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | yaniv@e4d.co.il http://blogs.microsoft.co.il/blogs/rdt/ Israel JavaScript Conference
  • 2. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
  • 3. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | What’s ?  JS library aimed to manage data in rich client applications  Implements the Open Data Protocol (OData) query standard  Ships with adapters for the ASP.NET Web API and for OData
  • 4. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Communication DAL UI BL (MV*) Offline Storage Entities Module Module Module Server
  • 5. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Why ?  It’s free  Simplify data query tasks  Manage client side data caching  Support batch operations  Support all modern browsers on desktop and mobile devices (ECMAScript 5)  Out-of-box support for Knockout, Angular, and Backbone  Well documented  Has roadmap
  • 6. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Query Data  LINQ style syntax  Execute query asynchronously with a Promise  Query related entities  Flatten entity graphs  Query server, cache, or both  If a query can be expressed in OData syntax, it can be expressed in Breeze
  • 7. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Query Data //define query var query = breeze.EntityQuery().from("Customers") .where("CompanyName", "startsWith", "C") .orderBy("CompanyName"); //execute query var manager = new breeze.EntityManager(serviceName); manager.executeQuery(query) .then(querySucceeded) .fail(queryFailed);
  • 8. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Query Data  Breeze resolves this query into an HTTP GET request formatted as an OData URI  EntityManager reshapes the result JSON data into entities and merges them into its cache  The Promise object forwards entities to the caller’s success callback
  • 9. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
  • 10. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Client Side Caching  Cache entities locally on the JavaScript client  Query client Cache, Server or both  Navigate among entities in cache
  • 11. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Client Side Caching /* Query the server, cache, or both */ var query = breeze.EntityQuery("Customers"); // execute query asynchronously on the server manager.executeQuery(query).then(querySuccess).fail(queryFail); // execute query synchronously on local cache var customers = manager.executeQueryLocally(query) // fetch customer by id from cache (if found) or remotely var checkCacheFirst = true; manager.fetchEntityByKey("CompanyName", 42, checkCacheFirst).then (fetchSuccess).fail(fetchFail);
  • 12. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
  • 13. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Track Changes  Breeze Entities are self-tracking – they manage their own state via entityAspect.entityState  Refresh an entity to its current state on the server or revert changed entities to their original values  Get notifications about the entities that enter, leave, and change in cache
  • 14. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Track Changes  Examine entity state via entityAspect.entityState  Respond to entity property change via entityAspect.propertyChanged event  Respond to change validation errors via entityAspect.validationErrorsChanged event
  • 15. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | Track Changes /* Change tracking */// save all changes (if there are any) if (manager.hasChanges()) { manager.saveChanges().then(saveSucceeded).fail(saveFailed); } // listen for any change to a customer customer.entityAspect.propertyChanged.subscribe(somethingHappened); // listen for validation errors customer.entityAspect.validationErrorsChanged.subscribe(updateValid ationUI);
  • 16. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |
  • 17. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | http://www.breezejs.com  Breeze SDK http://www.breezejs.com/sites/all/apidocs/index.html  Trouble Shooting http://stackoverflow.com/questions/tagged/breeze
  • 18. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com | yaniv@e4d.co.il http://blogs.microsoft.co.il/blogs/rdt/
  • 19. Israel JavaScript Conference | 03 – 6325707 | info@e4d.co.il | www.js-il.com |

Editor's Notes

  1. כמה שפחות שקפים ויותר הדגמות חיות הדגמות חיות מבוססות על דרישות עסקיות של לקוח (סיפור הנבנה בהדרגה) לכל נושא 3 שקפים: תיאור קצר של יתרונות, הצגת קוד לדוגמא והדגמה חיהצמידות מינימלית לצד שרת
  2. executeQuery method is asynchronousand returns a promise to call back either success handler or failure handler