SlideShare ist ein Scribd-Unternehmen logo
1 von 41
RIA SalmanNamavar MostafaAlinaghi pour MohsenBeigi
WHAT IS RIA ? RICH INTERNET APPLICATIONS DISTRIBUTED PROCESS OVER SERVER AND CLIENT
WHAT IS RIA ? SERVER AND CLIENT PROCESSES SERVER SIDE PROCESS CLIENT SIDE PROCESS Rendering Documents Executing  Scripts File management User Interaction Executing Scripts Database Process Network Process Network Process
WHAT IS RIA ? SIMPLE RIA EXAMPLE ALL PROCESSES ARE IN SERVER SIDE 1 2 / 3 = 4 1 REQUEST 2 REQUEST 3 REQUEST 4 REQUEST 5 REQUEST
WHAT IS RIA ? SIMPLE RIA EXAMPLE ALL PROCESSES ARE IN CLIENTSIDE 1 2 / 3 = 4 0 REQUEST
WHAT IS RIA ? SIMPLE RIA EXAMPLE DISTRIBUTED PROCESSES 2 2 * Sinh(0.1) = 2.36253654 0 REQUEST 1 REQUEST
WHAT IS RIA ? BEST  EXAMPLES FACEBOOK GOOGLE ANALYTICS GOOGLE  INSTANT SEARCH EYE OS
WHAT IS RIA ? RIA REQUIRMENT CLIENT  SIDE TECHNOLOGIES SERVER SIDE TECHNOLOGIES AJAX
AJAX
WHAT IS AJAX ? ASYNCHRONOUS JAVASCRIPT AND XML LOADING DATA  FROM SERVER WITH PARTIAL PAGE REFRESH JAVASCRIPT HAS THE MAIN ROLE IN THIS COMMUNICATION
WHAT IS AJAX ? AJAX CORE OBJECT XMLHttpRequest XMLHttpRequest CONTROLS THE DATA EXCHANGES IE5 AND IE6 USES AN ActiveXObject INSTEAD OF XMLHttpRequest
WHAT IS AJAX ? XMLHttpRequest CREATE AN XMLHttpRequest OBJECT varxmlhttp;if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari        xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5       xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }
WHAT IS AJAX ? XMLHttpRequest SEND A REQUEST TO A SERVER xmlhttp.open("GET",“test.txt",true);xmlhttp.send(); xmlhttp.open(“POST",“test.txt",true);xmlhttp.send(‘page=1&ISBN=2564523652’);
WHAT IS AJAX ? XMLHttpRequest Server Response responseText responseXML
WHAT IS AJAX ? XMLHttpRequest readyState 0: request not initialized  1: server connection established 2: request received  3: processing request  4: request finished and response is ready
WHAT IS AJAX ? XMLHttpRequest STATUS
WHAT IS AJAX ? XMLHttpRequest ASYNCHRONOUS - TRUE OR FALSE?
WHAT IS AJAX ? XMLHttpRequest GET OR POST ?
SYNCHRONIZATION
SYNCHRONIZATION THE IMPORTANCE OF SYNCHRONIZATION SERVER TO CLIENT SYNCHRONIZATION CLIENT TO SERVER SYNCHRONIZATION
SYNCHRONIZATION SERVER TO CLIENT SYNCHRONIZATION RECIVING INFORMATIN IN TIME PERIODS CHANGES INFORMING HTTP CHUNKING
SYNCHRONIZATION HTTP CHUNKING
SYNCHRONIZATION CLIENT TO SERVER SYNCHRONIZATION SENDING WITH EVERY CHANGE GATHERING AND SENDING
PERFORMANCE
PERFORMANCE GENERAL PERFORMANCE CLIENT SIDE PERFORMANCE SERVER SIDE PERFORMANCE
PERFORMANCE GENERAL PERFORMANCE MERGE  CSS FILES TO INTO ONE FILE MERGE  JAVASCRIPT FILES TO INTO ONE FILE MERGE  IMAGES FILES TO INTO ONE FILE .btn1 {    background-image: url(images/icons.png);      background-position:0px 0px;     width:20px;     height:20px } .btn2 {      background-image: url(images/icons.png);      background-position:50px 85px;      width:15px;      height:15px } .elem1 {      margin-top:10px;      margin-right:5px;      margin-bottom:6px;      margin-left:8px } .elem2 {      margin: 10px 5px 6px 8px; } CACHING IS YOUR FRIEND USE IP INSTEAD OF URL IF POSSIBLE USE GET INSTEAD OF POST IF POSSIBLE KEEP YOUR CSS FILE SMALL OPTIMIZE YOUR HTML CODE COMPRESS FILES WITH SERVER COMPRESSION
PERFORMANCE CLIENT SIDE PERFORMANCE <script type="text/javascript">       for (i=0;i<document.images.length;i++)      document.images[i].src="blank.gif"  </script> <script type="text/javascript"> vartheimages=document.images;       for (i=0;i<theimages.length;i++) theimages[i].src="blank.gif“  </script> function addMethod(object, property, code) {      object[property] = new Function(code);}addMethod(myObj, 'methodName', 'this.localVar=foo'); function addMethod(object, property, func) {object[property] = func;}addMethod(myObj, 'methodName', function () { 'this.localVar=foo'; }); CACHE YOUR OBJECTS CONTROL YOUR INTERVALS AND TIMEOUTS USE JAVASCRIPT LIBRARIES IF YOU NEED AVOID USING EVAL OR THE FUNCTION CONSTRUCTOR
PERFORMANCE SERVER SIDE PERFORMANCE PROFILE YOUR CODE TO PINPOINT BOTTLENECKS UPGRADE YOUR VERSION OF LANGUAGE USE OUTPUT BUFFERING AVOID DOING SQL QUERIES WITHIN A LOOP KNOW YOUR DBMS FOR BEST QUERY PERFORMANCE
DEBUGGING
DEBUGGING CLIENT SIDE DEBUGGING SERVER SIDE DEBUGGING
DEBUGGING CLIENT SIDE DEBUGGING FireBug Chrome Developer Tools Opera Dragonfly
DEBUGGING SERVER SIDE DEBUGGING REAL TIME DEBUGGING USE IDE LANGUAGE DEBUGGING TOOLS DEBUGGING IN REAL SITUATION LOG INTO FILE SEND DEBUG INFORMATION TO CLIENT SIDE
DEBUGGING SEND DEBUG INFORMATION TO CLIENT SIDE FIRE PHP <?php include_once   ‘inc/FirePHP.php’;     FB::log('Log message');    FB::info('Info message');    FB::warn('Warn message');    FB::error('Error message');?>
CASE STUDY
CASE STUDY JAVASCRIPT FRAMEWORKS CLIENT SIDE STORAGES GOOGLE GEARS MASHUP YAHOO PIPES
CASE STUDY JAVASCRIPT FRAMEWORKS jQuery Dojo Prototype
CASE STUDY JAVASCRIPT FRAMEWORKS - jQuery POWER IN SELECTORS 33% USED FOR AJAX APPLICATIONS FLEXIBLE FOR CREATING PLUGIN MOBILE COMPATIBLE
CASE STUDY JAVASCRIPT FRAMEWORKS - Dojo ASYNCHRONOUS COMMUNICATION PACKAGING SYSTEM CLIENT-SIDE DATA STORAGE SUPPORT FOR ADOBE INTEGRATED RUNTIME
CASE STUDY JAVASCRIPT FRAMEWORKS - Prototype IMPROVING JAVASCRIPT CLASS-BASED OBJECT LAKE 45% USED FOR AJAX APPLICATIONS JSON COMPATIBLE
REFERENCES GOOGLE SMASHINMAGAZINE.COM Ajax Reference – MC Graw Hill WWW.PLAVEB.COM ENG.MANP@GMAIL.COM WWW.W3.ORG RIA Application - WILEY WIKIPEDIA

Weitere ähnliche Inhalte

Was ist angesagt?

Declaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaDeclaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaAtlassian
 
Growing into a proactive Data Platform
Growing into a proactive Data PlatformGrowing into a proactive Data Platform
Growing into a proactive Data PlatformLivePerson
 
Time to REST: testing web services
Time to REST: testing web servicesTime to REST: testing web services
Time to REST: testing web servicesIurii Kutelmakh
 
New Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeNew Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeBrian Doll
 
Craft effective API with GraphQL and Absinthe - Ihor Katkov
Craft effective API with GraphQL and Absinthe - Ihor KatkovCraft effective API with GraphQL and Absinthe - Ihor Katkov
Craft effective API with GraphQL and Absinthe - Ihor KatkovElixir Club
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksServerlessConf
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularTracy Lee
 
WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)崇之 清水
 
The dev ops code has no servers
The dev ops code has no serversThe dev ops code has no servers
The dev ops code has no serversEd Anderson
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.Andrey Oleynik
 
API Versioning in the Cloud
API Versioning in the CloudAPI Versioning in the Cloud
API Versioning in the CloudCloud Elements
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by InstrumentAmazon Web Services
 
Five Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your CodeFive Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your Code3scale
 
DPD:AWS Developer Training
DPD:AWS Developer TrainingDPD:AWS Developer Training
DPD:AWS Developer TrainingJosh Curtis
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environmentEuropean Collaboration Summit
 
Postman Galaxy Tour: San Francisco - Workshop Presentation
Postman Galaxy Tour: San Francisco -  Workshop PresentationPostman Galaxy Tour: San Francisco -  Workshop Presentation
Postman Galaxy Tour: San Francisco - Workshop PresentationPostman
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017Tracy Lee
 
Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014hezamu
 

Was ist angesagt? (20)

Declaring Server App Components in Pure Java
Declaring Server App Components in Pure JavaDeclaring Server App Components in Pure Java
Declaring Server App Components in Pure Java
 
Growing into a proactive Data Platform
Growing into a proactive Data PlatformGrowing into a proactive Data Platform
Growing into a proactive Data Platform
 
Measure() or die()
Measure() or die()Measure() or die()
Measure() or die()
 
Time to REST: testing web services
Time to REST: testing web servicesTime to REST: testing web services
Time to REST: testing web services
 
New Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL AlikeNew Relic: Optimizing The Database SQL and NoSQL Alike
New Relic: Optimizing The Database SQL and NoSQL Alike
 
Craft effective API with GraphQL and Absinthe - Ihor Katkov
Craft effective API with GraphQL and Absinthe - Ihor KatkovCraft effective API with GraphQL and Absinthe - Ihor Katkov
Craft effective API with GraphQL and Absinthe - Ihor Katkov
 
Donald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New TricksDonald Ferguson - Old Programmers Can Learn New Tricks
Donald Ferguson - Old Programmers Can Learn New Tricks
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + Angular
 
WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)WordPress RESTful API & Amazon API Gateway (English version)
WordPress RESTful API & Amazon API Gateway (English version)
 
The dev ops code has no servers
The dev ops code has no serversThe dev ops code has no servers
The dev ops code has no servers
 
API Testing. Streamline your testing process.
API Testing. Streamline your testing process.API Testing. Streamline your testing process.
API Testing. Streamline your testing process.
 
API Versioning in the Cloud
API Versioning in the CloudAPI Versioning in the Cloud
API Versioning in the Cloud
 
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
(DVO205) Monitoring Evolution: Flying Blind to Flying by Instrument
 
Cloud Custodian
Cloud CustodianCloud Custodian
Cloud Custodian
 
Five Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your CodeFive Ways to Scale your API Without Touching Your Code
Five Ways to Scale your API Without Touching Your Code
 
DPD:AWS Developer Training
DPD:AWS Developer TrainingDPD:AWS Developer Training
DPD:AWS Developer Training
 
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
ECS19 - Ingo Gegenwarth -  Running Exchangein large environmentECS19 - Ingo Gegenwarth -  Running Exchangein large environment
ECS19 - Ingo Gegenwarth - Running Exchange in large environment
 
Postman Galaxy Tour: San Francisco - Workshop Presentation
Postman Galaxy Tour: San Francisco -  Workshop PresentationPostman Galaxy Tour: San Francisco -  Workshop Presentation
Postman Galaxy Tour: San Francisco - Workshop Presentation
 
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017RxJS: A Beginner & Expert's Perspective - ng-conf 2017
RxJS: A Beginner & Expert's Perspective - ng-conf 2017
 
Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014Functional Vaadin talk at OSCON 2014
Functional Vaadin talk at OSCON 2014
 

Andere mochten auch (10)

Sqlite
SqliteSqlite
Sqlite
 
Web servers
Web serversWeb servers
Web servers
 
AslBt - Due decolli speciali, elisuperficie e odontoiatria sociale
AslBt - Due decolli speciali, elisuperficie e odontoiatria socialeAslBt - Due decolli speciali, elisuperficie e odontoiatria sociale
AslBt - Due decolli speciali, elisuperficie e odontoiatria sociale
 
Algemene Presentatie
Algemene PresentatieAlgemene Presentatie
Algemene Presentatie
 
User Interface
User InterfaceUser Interface
User Interface
 
Yappy prezentacija
Yappy prezentacijaYappy prezentacija
Yappy prezentacija
 
Promo mantas vasarai
Promo mantas vasaraiPromo mantas vasarai
Promo mantas vasarai
 
New microsoft word document (2)
New microsoft word document (2)New microsoft word document (2)
New microsoft word document (2)
 
School slide show - By: Unais Mohamed
School slide show - By: Unais MohamedSchool slide show - By: Unais Mohamed
School slide show - By: Unais Mohamed
 
E:\Softwares\Word Document\School Slide Show
E:\Softwares\Word Document\School Slide ShowE:\Softwares\Word Document\School Slide Show
E:\Softwares\Word Document\School Slide Show
 

Ähnlich wie RIA

Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomQConLondon2008
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정Arawn Park
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Charlin Agramonte
 
Best Practices for API Design to Keep Your App Secure, Scalable & Efficient
Best Practices for API Design to Keep Your App Secure, Scalable & EfficientBest Practices for API Design to Keep Your App Secure, Scalable & Efficient
Best Practices for API Design to Keep Your App Secure, Scalable & EfficientNordic APIs
 
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션Amazon Web Services Korea
 
Best Practices for Webcam Augmented Reality
Best Practices for Webcam Augmented RealityBest Practices for Webcam Augmented Reality
Best Practices for Webcam Augmented RealityZugara
 
[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 패턴 실습Oracle Korea
 
CQRS and Event Sourcing
CQRS and Event Sourcing CQRS and Event Sourcing
CQRS and Event Sourcing Inho Kang
 
Input validation slides of web application workshop
Input validation slides of web application workshopInput validation slides of web application workshop
Input validation slides of web application workshopPayampardaz
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...François-Guillaume Ribreau
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Richard Banks
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforcedeimos
 
Agile integration workshop Seattle
Agile integration workshop SeattleAgile integration workshop Seattle
Agile integration workshop SeattleJudy Breedlove
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Codemotion
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Vinícius Carvalho
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...VMware Tanzu
 
Pascarello_Investigating JavaScript and Ajax Security
Pascarello_Investigating JavaScript and Ajax SecurityPascarello_Investigating JavaScript and Ajax Security
Pascarello_Investigating JavaScript and Ajax Securityamiable_indian
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Amazon Web Services
 

Ähnlich wie RIA (20)

Application Services On The Web Sales Forcecom
Application Services On The Web Sales ForcecomApplication Services On The Web Sales Forcecom
Application Services On The Web Sales Forcecom
 
점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정점진적인 레거시 웹 애플리케이션 개선 과정
점진적인 레거시 웹 애플리케이션 개선 과정
 
Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5Xamarin Workshop Noob to Master – Week 5
Xamarin Workshop Noob to Master – Week 5
 
Best Practices for API Design to Keep Your App Secure, Scalable & Efficient
Best Practices for API Design to Keep Your App Secure, Scalable & EfficientBest Practices for API Design to Keep Your App Secure, Scalable & Efficient
Best Practices for API Design to Keep Your App Secure, Scalable & Efficient
 
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
AWS Step Functions을 활용한 서버리스 앱 오케스트레이션
 
Best Practices for Webcam Augmented Reality
Best Practices for Webcam Augmented RealityBest Practices for Webcam Augmented Reality
Best Practices for Webcam Augmented Reality
 
[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
 
JAX-RS.next
JAX-RS.nextJAX-RS.next
JAX-RS.next
 
Input validation slides of web application workshop
Input validation slides of web application workshopInput validation slides of web application workshop
Input validation slides of web application workshop
 
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...Choisir entre une API  RPC, SOAP, REST, GraphQL?  
Et si le problème était ai...
Choisir entre une API RPC, SOAP, REST, GraphQL? 
Et si le problème était ai...
 
Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016Microservices with .Net - NDC Sydney, 2016
Microservices with .Net - NDC Sydney, 2016
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Switch to Backend 2023
 
Dave Carroll Application Services Salesforce
Dave Carroll Application Services SalesforceDave Carroll Application Services Salesforce
Dave Carroll Application Services Salesforce
 
Agile integration workshop Seattle
Agile integration workshop SeattleAgile integration workshop Seattle
Agile integration workshop Seattle
 
Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...Maxim Salnikov - Service Worker: taking the best from the past experience for...
Maxim Salnikov - Service Worker: taking the best from the past experience for...
 
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014Recipes for a successful production cloudfoundry deployment - CF Summit 2014
Recipes for a successful production cloudfoundry deployment - CF Summit 2014
 
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
Cloud Foundry Cookbook: Recipes for a Successful Cloud Foundry Deployment in ...
 
Pascarello_Investigating JavaScript and Ajax Security
Pascarello_Investigating JavaScript and Ajax SecurityPascarello_Investigating JavaScript and Ajax Security
Pascarello_Investigating JavaScript and Ajax Security
 
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
Building Serverless Applications Using AWS AppSync and Amazon Neptune (SRV307...
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
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 Nanonetsnaman860154
 
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 2024Rafal Los
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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...apidays
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
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...Igalia
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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.pptxHampshireHUG
 

Kürzlich hochgeladen (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
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
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
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...
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 

RIA

  • 1.
  • 3. WHAT IS RIA ? RICH INTERNET APPLICATIONS DISTRIBUTED PROCESS OVER SERVER AND CLIENT
  • 4. WHAT IS RIA ? SERVER AND CLIENT PROCESSES SERVER SIDE PROCESS CLIENT SIDE PROCESS Rendering Documents Executing Scripts File management User Interaction Executing Scripts Database Process Network Process Network Process
  • 5. WHAT IS RIA ? SIMPLE RIA EXAMPLE ALL PROCESSES ARE IN SERVER SIDE 1 2 / 3 = 4 1 REQUEST 2 REQUEST 3 REQUEST 4 REQUEST 5 REQUEST
  • 6. WHAT IS RIA ? SIMPLE RIA EXAMPLE ALL PROCESSES ARE IN CLIENTSIDE 1 2 / 3 = 4 0 REQUEST
  • 7. WHAT IS RIA ? SIMPLE RIA EXAMPLE DISTRIBUTED PROCESSES 2 2 * Sinh(0.1) = 2.36253654 0 REQUEST 1 REQUEST
  • 8. WHAT IS RIA ? BEST EXAMPLES FACEBOOK GOOGLE ANALYTICS GOOGLE INSTANT SEARCH EYE OS
  • 9. WHAT IS RIA ? RIA REQUIRMENT CLIENT SIDE TECHNOLOGIES SERVER SIDE TECHNOLOGIES AJAX
  • 10. AJAX
  • 11. WHAT IS AJAX ? ASYNCHRONOUS JAVASCRIPT AND XML LOADING DATA FROM SERVER WITH PARTIAL PAGE REFRESH JAVASCRIPT HAS THE MAIN ROLE IN THIS COMMUNICATION
  • 12. WHAT IS AJAX ? AJAX CORE OBJECT XMLHttpRequest XMLHttpRequest CONTROLS THE DATA EXCHANGES IE5 AND IE6 USES AN ActiveXObject INSTEAD OF XMLHttpRequest
  • 13. WHAT IS AJAX ? XMLHttpRequest CREATE AN XMLHttpRequest OBJECT varxmlhttp;if (window.XMLHttpRequest)  {// code for IE7+, Firefox, Chrome, Opera, Safari  xmlhttp=new XMLHttpRequest();  }else  {// code for IE6, IE5  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");  }
  • 14. WHAT IS AJAX ? XMLHttpRequest SEND A REQUEST TO A SERVER xmlhttp.open("GET",“test.txt",true);xmlhttp.send(); xmlhttp.open(“POST",“test.txt",true);xmlhttp.send(‘page=1&ISBN=2564523652’);
  • 15. WHAT IS AJAX ? XMLHttpRequest Server Response responseText responseXML
  • 16. WHAT IS AJAX ? XMLHttpRequest readyState 0: request not initialized 1: server connection established 2: request received 3: processing request 4: request finished and response is ready
  • 17. WHAT IS AJAX ? XMLHttpRequest STATUS
  • 18. WHAT IS AJAX ? XMLHttpRequest ASYNCHRONOUS - TRUE OR FALSE?
  • 19. WHAT IS AJAX ? XMLHttpRequest GET OR POST ?
  • 21. SYNCHRONIZATION THE IMPORTANCE OF SYNCHRONIZATION SERVER TO CLIENT SYNCHRONIZATION CLIENT TO SERVER SYNCHRONIZATION
  • 22. SYNCHRONIZATION SERVER TO CLIENT SYNCHRONIZATION RECIVING INFORMATIN IN TIME PERIODS CHANGES INFORMING HTTP CHUNKING
  • 24. SYNCHRONIZATION CLIENT TO SERVER SYNCHRONIZATION SENDING WITH EVERY CHANGE GATHERING AND SENDING
  • 26. PERFORMANCE GENERAL PERFORMANCE CLIENT SIDE PERFORMANCE SERVER SIDE PERFORMANCE
  • 27. PERFORMANCE GENERAL PERFORMANCE MERGE CSS FILES TO INTO ONE FILE MERGE JAVASCRIPT FILES TO INTO ONE FILE MERGE IMAGES FILES TO INTO ONE FILE .btn1 { background-image: url(images/icons.png); background-position:0px 0px; width:20px; height:20px } .btn2 { background-image: url(images/icons.png); background-position:50px 85px; width:15px; height:15px } .elem1 { margin-top:10px; margin-right:5px; margin-bottom:6px; margin-left:8px } .elem2 { margin: 10px 5px 6px 8px; } CACHING IS YOUR FRIEND USE IP INSTEAD OF URL IF POSSIBLE USE GET INSTEAD OF POST IF POSSIBLE KEEP YOUR CSS FILE SMALL OPTIMIZE YOUR HTML CODE COMPRESS FILES WITH SERVER COMPRESSION
  • 28. PERFORMANCE CLIENT SIDE PERFORMANCE <script type="text/javascript"> for (i=0;i<document.images.length;i++) document.images[i].src="blank.gif" </script> <script type="text/javascript"> vartheimages=document.images; for (i=0;i<theimages.length;i++) theimages[i].src="blank.gif“ </script> function addMethod(object, property, code) { object[property] = new Function(code);}addMethod(myObj, 'methodName', 'this.localVar=foo'); function addMethod(object, property, func) {object[property] = func;}addMethod(myObj, 'methodName', function () { 'this.localVar=foo'; }); CACHE YOUR OBJECTS CONTROL YOUR INTERVALS AND TIMEOUTS USE JAVASCRIPT LIBRARIES IF YOU NEED AVOID USING EVAL OR THE FUNCTION CONSTRUCTOR
  • 29. PERFORMANCE SERVER SIDE PERFORMANCE PROFILE YOUR CODE TO PINPOINT BOTTLENECKS UPGRADE YOUR VERSION OF LANGUAGE USE OUTPUT BUFFERING AVOID DOING SQL QUERIES WITHIN A LOOP KNOW YOUR DBMS FOR BEST QUERY PERFORMANCE
  • 31. DEBUGGING CLIENT SIDE DEBUGGING SERVER SIDE DEBUGGING
  • 32. DEBUGGING CLIENT SIDE DEBUGGING FireBug Chrome Developer Tools Opera Dragonfly
  • 33. DEBUGGING SERVER SIDE DEBUGGING REAL TIME DEBUGGING USE IDE LANGUAGE DEBUGGING TOOLS DEBUGGING IN REAL SITUATION LOG INTO FILE SEND DEBUG INFORMATION TO CLIENT SIDE
  • 34. DEBUGGING SEND DEBUG INFORMATION TO CLIENT SIDE FIRE PHP <?php include_once ‘inc/FirePHP.php’; FB::log('Log message'); FB::info('Info message'); FB::warn('Warn message'); FB::error('Error message');?>
  • 36. CASE STUDY JAVASCRIPT FRAMEWORKS CLIENT SIDE STORAGES GOOGLE GEARS MASHUP YAHOO PIPES
  • 37. CASE STUDY JAVASCRIPT FRAMEWORKS jQuery Dojo Prototype
  • 38. CASE STUDY JAVASCRIPT FRAMEWORKS - jQuery POWER IN SELECTORS 33% USED FOR AJAX APPLICATIONS FLEXIBLE FOR CREATING PLUGIN MOBILE COMPATIBLE
  • 39. CASE STUDY JAVASCRIPT FRAMEWORKS - Dojo ASYNCHRONOUS COMMUNICATION PACKAGING SYSTEM CLIENT-SIDE DATA STORAGE SUPPORT FOR ADOBE INTEGRATED RUNTIME
  • 40. CASE STUDY JAVASCRIPT FRAMEWORKS - Prototype IMPROVING JAVASCRIPT CLASS-BASED OBJECT LAKE 45% USED FOR AJAX APPLICATIONS JSON COMPATIBLE
  • 41. REFERENCES GOOGLE SMASHINMAGAZINE.COM Ajax Reference – MC Graw Hill WWW.PLAVEB.COM ENG.MANP@GMAIL.COM WWW.W3.ORG RIA Application - WILEY WIKIPEDIA