SlideShare a Scribd company logo
1 of 17
Best Practice of RIAs Architecture                  - RIA MVC Web technology Presented by Jie Gao Engineering and Computer Science Academic Year 2011
Agenda Traditional Web MVC RIA MVC Service-Side Transformation Current RIA MVC Frameworks Conclusion
Comparison with traditional Web MVC(1)                          Server-side MVC User -> Controller -> View -> User User -> Controller -> Model -> View         -> User Advantage: ,[object Object],Disadvantage: ,[object Object]
Increase bandwidth usage
Cause the server to be busy,[object Object]
Decrease bandwidth usage and the     server overriding ,[object Object]
Able to use AJAX
Able to use a RIA plug-in at client-side for avoiding multi-version problems(2)
Comparison with traditional Web MVC(3) The architectural shift from server-side web MVC towards RIA                     represented by Struts and still the world of Server-side MVC It is not problem free: Computation for tasks requiring access to the server-side MVC are slow Difficult to program and maintain client-side Model (necessary to deploy different code per client platform like browser, OS, other devices) Over-heading on communication among MVC design elements
RIA MVC 1)User -> Controller -> View -> User 2) User -> Controller -> Model (Client      ) -> View-> User 3) User -> Controller -> Model (Client) ->     Model (Server) -> View -> User Advantage: The page is sent once and quick response to the user Updating the model at client minimizes the bandwidth usage Communication of Models between client and server sides is able to asynchronous and transparent to the user(client-side model take the decision) Take full advantage of the processing capabilities and resources at client-side Update part of the View at client-side easier Deficiency: Remain the problem of multiple client-side platforms Plug-ins may solve this situation extending browsers capabilities
Service-Side Implicationin RIAs(best practice) turn the server into an generic API provide RESTful web-services open up the application for other clients Enable: Development of other GUIs Integration with other tools Scriptability and automation Easier to develop clients with different capabilities(different clients that use the same server services)
Current RIA MVC Frameworks 							http://www.flickr.com/photos/joost-ijmuiden/
Current RIA MVC Frameworks browser-based Solutions JavaScriptMVC DOJO SproutCore(HTML5) PureMVC  framework for Javascript CorMVC Jamal(Ruby on Rails style) And many more… flash-based Solutions ,[object Object]
Cairgorm  micro-architecture
Mate
FlexMVCS(make PureMVC more  suitable for Flex)
Swiz(uses dependency injection)

More Related Content

What's hot

Case Study for Dotnetnuke Intranet Portal for MNC’s
Case Study for Dotnetnuke Intranet Portal for MNC’sCase Study for Dotnetnuke Intranet Portal for MNC’s
Case Study for Dotnetnuke Intranet Portal for MNC’sMike Taylor
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate pptPankaj Patel
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC StructureDipika Wadhvani
 
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteMonitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteKnoldus Inc.
 
RES Wisdom 2009 training day2
RES Wisdom 2009 training day2RES Wisdom 2009 training day2
RES Wisdom 2009 training day2marcelvenema
 
#7 - Client-side web apps, MVC and jQuery
#7 - Client-side web apps, MVC and jQuery#7 - Client-side web apps, MVC and jQuery
#7 - Client-side web apps, MVC and jQueryiloveigloo
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backboneRTigger
 
V cloud request manager overview presentation
V cloud request manager overview presentationV cloud request manager overview presentation
V cloud request manager overview presentationsolarisyourep
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar PresantationAbhishek Yadav
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009Jonas Follesø
 
Hassle Free Issue tracking with redmine
Hassle Free Issue tracking with redmineHassle Free Issue tracking with redmine
Hassle Free Issue tracking with redmineciaranj
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvcJean Michel
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSJinkyu Kim
 
Introduction to WPF and MVVM
Introduction to WPF and MVVMIntroduction to WPF and MVVM
Introduction to WPF and MVVMSirar Salih
 

What's hot (20)

Case Study for Dotnetnuke Intranet Portal for MNC’s
Case Study for Dotnetnuke Intranet Portal for MNC’sCase Study for Dotnetnuke Intranet Portal for MNC’s
Case Study for Dotnetnuke Intranet Portal for MNC’s
 
Struts & hibernate ppt
Struts & hibernate pptStruts & hibernate ppt
Struts & hibernate ppt
 
Ppt of Basic MVC Structure
Ppt of Basic MVC StructurePpt of Basic MVC Structure
Ppt of Basic MVC Structure
 
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-GraphiteMonitor Kafka Stream Application Using JMX With Grafana-Graphite
Monitor Kafka Stream Application Using JMX With Grafana-Graphite
 
Struts introduction
Struts introductionStruts introduction
Struts introduction
 
RES Wisdom 2009 training day2
RES Wisdom 2009 training day2RES Wisdom 2009 training day2
RES Wisdom 2009 training day2
 
#7 - Client-side web apps, MVC and jQuery
#7 - Client-side web apps, MVC and jQuery#7 - Client-side web apps, MVC and jQuery
#7 - Client-side web apps, MVC and jQuery
 
Cloud native-microservices
Cloud native-microservicesCloud native-microservices
Cloud native-microservices
 
Intro ASP MVC
Intro ASP MVCIntro ASP MVC
Intro ASP MVC
 
Give your web apps some backbone
Give your web apps some backboneGive your web apps some backbone
Give your web apps some backbone
 
Single-SignOn Intranet Portal On DotNetNuke
Single-SignOn Intranet Portal On DotNetNukeSingle-SignOn Intranet Portal On DotNetNuke
Single-SignOn Intranet Portal On DotNetNuke
 
V cloud request manager overview presentation
V cloud request manager overview presentationV cloud request manager overview presentation
V cloud request manager overview presentation
 
Ctrl+Z To Undo
Ctrl+Z To UndoCtrl+Z To Undo
Ctrl+Z To Undo
 
MVC Seminar Presantation
MVC Seminar PresantationMVC Seminar Presantation
MVC Seminar Presantation
 
MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009MVVM Design Pattern NDC2009
MVVM Design Pattern NDC2009
 
Hassle Free Issue tracking with redmine
Hassle Free Issue tracking with redmineHassle Free Issue tracking with redmine
Hassle Free Issue tracking with redmine
 
Architecture logicielle #4 : mvc
Architecture logicielle #4 : mvcArchitecture logicielle #4 : mvc
Architecture logicielle #4 : mvc
 
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOSSoftware architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
Software architectural design patterns(MVC, MVP, MVVM, VIPER) for iOS
 
Introduction to WPF and MVVM
Introduction to WPF and MVVMIntroduction to WPF and MVVM
Introduction to WPF and MVVM
 
Struts ppt 1
Struts ppt 1Struts ppt 1
Struts ppt 1
 

Viewers also liked

Pure mvc教程
Pure mvc教程Pure mvc教程
Pure mvc教程liuweiwei
 
關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事Erin Lin
 
Internet in mobilità: scenari, tecnologie ed esigenze dei Consumatori
Internet in mobilità: scenari, tecnologie ed esigenze dei ConsumatoriInternet in mobilità: scenari, tecnologie ed esigenze dei Consumatori
Internet in mobilità: scenari, tecnologie ed esigenze dei ConsumatoriVodafoneIT
 
Staying Connected to UT Arlington
Staying Connected to UT ArlingtonStaying Connected to UT Arlington
Staying Connected to UT Arlingtonjunoespo78
 
Developing for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoDeveloping for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoYuri Visser
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworksYuri Visser
 
Switching perspectives nov10 s sh
Switching perspectives nov10 s shSwitching perspectives nov10 s sh
Switching perspectives nov10 s shJohn Juliano
 
An Opinionated Introduction to Mate
An Opinionated Introduction to MateAn Opinionated Introduction to Mate
An Opinionated Introduction to MateEffective
 
User Testing: Adapt to Fit Your Needs
User Testing: Adapt to Fit Your NeedsUser Testing: Adapt to Fit Your Needs
User Testing: Adapt to Fit Your NeedsEffective
 

Viewers also liked (9)

Pure mvc教程
Pure mvc教程Pure mvc教程
Pure mvc教程
 
關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事關於 Puremvc Command 的那點事
關於 Puremvc Command 的那點事
 
Internet in mobilità: scenari, tecnologie ed esigenze dei Consumatori
Internet in mobilità: scenari, tecnologie ed esigenze dei ConsumatoriInternet in mobilità: scenari, tecnologie ed esigenze dei Consumatori
Internet in mobilità: scenari, tecnologie ed esigenze dei Consumatori
 
Staying Connected to UT Arlington
Staying Connected to UT ArlingtonStaying Connected to UT Arlington
Staying Connected to UT Arlington
 
Developing for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder BurritoDeveloping for the BlackBerry PlayBook using Flex Builder Burrito
Developing for the BlackBerry PlayBook using Flex Builder Burrito
 
Lunch and learn as3_frameworks
Lunch and learn as3_frameworksLunch and learn as3_frameworks
Lunch and learn as3_frameworks
 
Switching perspectives nov10 s sh
Switching perspectives nov10 s shSwitching perspectives nov10 s sh
Switching perspectives nov10 s sh
 
An Opinionated Introduction to Mate
An Opinionated Introduction to MateAn Opinionated Introduction to Mate
An Opinionated Introduction to Mate
 
User Testing: Adapt to Fit Your Needs
User Testing: Adapt to Fit Your NeedsUser Testing: Adapt to Fit Your Needs
User Testing: Adapt to Fit Your Needs
 

Similar to Ria Mvc

Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satyaSatya Johnny
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCAnton Krasnoshchok
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) pptmrsurwar
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesAaron Jacobson
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET Journal
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)Carles Farré
 
e-SUAP - General software architecture (English)
e-SUAP - General software architecture  (English)e-SUAP - General software architecture  (English)
e-SUAP - General software architecture (English)Sabino Labarile
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...Prem Gurbani
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application ArchitectureMadonnaLamin1
 
Migration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App PlatformMigration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App PlatformVMware vFabric
 
Cap2194 migration from weblogic to v fabric - cloud application platform
Cap2194  migration from weblogic to v fabric - cloud application platformCap2194  migration from weblogic to v fabric - cloud application platform
Cap2194 migration from weblogic to v fabric - cloud application platformRamarao Kanneganti
 
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...CrimsonpublishersPRSP
 

Similar to Ria Mvc (20)

Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts natraj - satya
Struts   natraj - satyaStruts   natraj - satya
Struts natraj - satya
 
Struts notes
Struts notesStruts notes
Struts notes
 
J2 ee archi
J2 ee archiJ2 ee archi
J2 ee archi
 
MVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVCMVC Pattern. Flex implementation of MVC
MVC Pattern. Flex implementation of MVC
 
MVC Framework
MVC FrameworkMVC Framework
MVC Framework
 
Struts(mrsurwar) ppt
Struts(mrsurwar) pptStruts(mrsurwar) ppt
Struts(mrsurwar) ppt
 
Technoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development servicesTechnoligent providing custom ASP.NET MVC development services
Technoligent providing custom ASP.NET MVC development services
 
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and WorkingIRJET- MVC Framework: A Modern Web Application Development Approach and Working
IRJET- MVC Framework: A Modern Web Application Development Approach and Working
 
Spring Framework-II
Spring Framework-IISpring Framework-II
Spring Framework-II
 
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
[DSBW Spring 2009] Unit 07: WebApp Design Patterns & Frameworks (1/3)
 
Asp.net,mvc
Asp.net,mvcAsp.net,mvc
Asp.net,mvc
 
e-SUAP - General software architecture (English)
e-SUAP - General software architecture  (English)e-SUAP - General software architecture  (English)
e-SUAP - General software architecture (English)
 
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"..."A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
"A Highly Decoupled Front-end Framework for High Trafficked Web Applications"...
 
Components of a Generic Web Application Architecture
Components of  a Generic Web Application ArchitectureComponents of  a Generic Web Application Architecture
Components of a Generic Web Application Architecture
 
Migration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App PlatformMigration from Weblogic to vFabric Cloud App Platform
Migration from Weblogic to vFabric Cloud App Platform
 
Cap2194 migration from weblogic to v fabric - cloud application platform
Cap2194  migration from weblogic to v fabric - cloud application platformCap2194  migration from weblogic to v fabric - cloud application platform
Cap2194 migration from weblogic to v fabric - cloud application platform
 
MVC
MVCMVC
MVC
 
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
MVC Architecture: A Detailed Insight to the Modern Web Applications Developme...
 
Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)Unit 07: Design Patterns and Frameworks (1/3)
Unit 07: Design Patterns and Frameworks (1/3)
 

Ria Mvc

  • 1. Best Practice of RIAs Architecture - RIA MVC Web technology Presented by Jie Gao Engineering and Computer Science Academic Year 2011
  • 2. Agenda Traditional Web MVC RIA MVC Service-Side Transformation Current RIA MVC Frameworks Conclusion
  • 3.
  • 5.
  • 6.
  • 8. Able to use a RIA plug-in at client-side for avoiding multi-version problems(2)
  • 9. Comparison with traditional Web MVC(3) The architectural shift from server-side web MVC towards RIA represented by Struts and still the world of Server-side MVC It is not problem free: Computation for tasks requiring access to the server-side MVC are slow Difficult to program and maintain client-side Model (necessary to deploy different code per client platform like browser, OS, other devices) Over-heading on communication among MVC design elements
  • 10. RIA MVC 1)User -> Controller -> View -> User 2) User -> Controller -> Model (Client ) -> View-> User 3) User -> Controller -> Model (Client) -> Model (Server) -> View -> User Advantage: The page is sent once and quick response to the user Updating the model at client minimizes the bandwidth usage Communication of Models between client and server sides is able to asynchronous and transparent to the user(client-side model take the decision) Take full advantage of the processing capabilities and resources at client-side Update part of the View at client-side easier Deficiency: Remain the problem of multiple client-side platforms Plug-ins may solve this situation extending browsers capabilities
  • 11. Service-Side Implicationin RIAs(best practice) turn the server into an generic API provide RESTful web-services open up the application for other clients Enable: Development of other GUIs Integration with other tools Scriptability and automation Easier to develop clients with different capabilities(different clients that use the same server services)
  • 12. Current RIA MVC Frameworks http://www.flickr.com/photos/joost-ijmuiden/
  • 13.
  • 15. Mate
  • 16. FlexMVCS(make PureMVC more suitable for Flex)
  • 20.
  • 21. Current RIA MVC Frameworks -javaScriptMVC(2) Strength: Enhance code quality, performance, and maintainability Locally separate javascript files Library interdependence->light enough to change to another libraries such as jQuery or Prototype Testing->Provide browser-based and command-line approach to perform unit/functional test to facilitate the UI test Error handling->Plenty of plugins support in firefox to check errors(e.g. typing error or grammar) It is about how to build an application Weakness: based on jQuery, maybe some issues evoked by jQuery Not suitable for small applications
  • 22. Current RIA MVC Frameworks-PureMVC(1) PureMVC provides the model, view, and controller just as expected but hides them behind a global Facade layer with mediators and proxies to manipulate them
  • 23. Current RIA MVC Frameworks-PureMVC(2) Benefits: can be used for 11 kinds of language(e.g. c#,java,javascript,python,as2/as3) Avoid platform dependencies Pattern-based(implemented in any OOP env and easy to understand) Facade class provides a single collaborator for communication with the core framework Loosely-coupled framework(e.g. publish/subscribe style notifications) Well-documented However, PureMVC does not leverage native Flex features(e.g. event delegation model, Flex binding) PureMVC is not tied to Flex or even ActionScript
  • 24.
  • 25.
  • 26. Conclusion A general guidelines to choose a RIA MVC framework: Help build complex applications faster Support team development Support code reuse Support maintainability and extensibility Short learn curve Well-document support On the basis of: Business requirement Target platform Experience of the development group
  • 27. Reference Morales-Chaparro, R.; Linaje, M.; Preciado, J. C.; Sánchez-Figueroa F. “MVC Web design patterns and Rich Internet Applications.” Actas del IV Taller en SistemasHipermediaColaborativos y Adaptativos, asociado a JISBD’2007. Zaragoza, September 2007. Y. Fain, V, Rasputnis and A. Tartakovsky, Enterprise Development with Flex: Best Practices for Flex Jupiter IT - JavaScriptMVC Training and Support Futurescale, Inc. PureMVC framework, 2011. http://puremvc.org/ Cairngorm Docs Borrowed contents from Calinlepure’s slide