OpenDolphin: Enterprise Apps for collaboration on Desktop, Web, and Mobile
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

OpenDolphin: Enterprise Apps for collaboration on Desktop, Web, and Mobile

  • 552 views
Uploaded on

see http://open-dolphin.org

see http://open-dolphin.org

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
552
On Slideshare
544
From Embeds
8
Number of Embeds
5

Actions

Shares
Downloads
3
Comments
0
Likes
0

Embeds 8

https://twitter.com 3
https://www.linkedin.com 2
http://eventifier.com 1
http://eventifier.co 1
http://ec2-54-243-189-159.compute-1.amazonaws.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. OpenDolphin Enterprise Apps for Desktop, Web & Mobile Donnerstag, 7. November 13
  • 2. OpenDolphin Enterprise Apps for Desktop, Web & Mobile Donnerstag, 7. November 13
  • 3. Collaborative Enterprise Desktop Android iPad Embedded Donnerstag, 7. November 13 for for for for the office the field meetings displays
  • 4. Tour Guide Single client Multiple clients Multiple channels Donnerstag, 7. November 13
  • 5. Single client Enterprise == Server-side application Clean separation Least possible coupling Donnerstag, 7. November 13
  • 6. View Model Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 7. View Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 8. View How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 9. Client View How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 10. Client View Server How Model What Controller Model Shared Presentation Model Donnerstag, 7. November 13
  • 11. How it works Asynchronous commands “@KentBeck: If MVC is so damn clear, in strictdo I see classes like sequence why XViewController & YViewModel? Rich, generic models in Something's wrong with this picture.” managed environment 20. April 2013 Donnerstag, 7. November 13
  • 12. How it works Asynchronous commands in strict sequence Rich, generic models in managed environment Donnerstag, 7. November 13
  • 13. Independent Views Donnerstag, 7. November 13
  • 14. View Controller Shared Presentation Model Donnerstag, 7. November 13 abc
  • 15. LoginAction View Controller Shared Presentation Model Donnerstag, 7. November 13 abc
  • 16. LoginAction View Controller id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 17. LoginAction View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 18. LoginAction Name Passw Login View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 19. LoginAction Name Passw Login binding View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 20. LoginAction Name Passw Login View Controller id: currentUser name passw loggedIn id: currentUser name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 21. Name LoginAction abc Passw Login View Controller id: currentUser abc name passw loggedIn id: currentUser abc name passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 22. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 23. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 24. Name Passw Login LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 25. Name Passw LoginAction abc *** read Login View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 26. Name Passw LoginAction abc *** Login write View Controller id: currentUser abc name abc passw loggedIn id: currentUser abc name abc passw loggedIn Shared Presentation Model Donnerstag, 7. November 13 abc
  • 27. Name Passw LoginAction abc *** Login View Controller id: currentUser abc name abc passw loggedIn TRUE id: currentUser abc name abc passw loggedIn TRUE Shared Presentation Model Donnerstag, 7. November 13 abc
  • 28. LoginAction View Controller id: currentUser abc name abc passw loggedIn TRUE id: currentUser abc name abc passw loggedIn TRUE Shared Presentation Model Donnerstag, 7. November 13 abc
  • 29. Create PM ClientPresentationModel user = clientDolphin.presentationModel( CURRENT_USER, USER, new ClientAttribute(NAME), new ClientAttribute(PASSW), new ClientAttribute(LOGGED_IN) ); Donnerstag, 7. November 13
  • 30. Bind to view bind(NAME).of(user) .to(TEXT).of(nameTextField); Donnerstag, 7. November 13
  • 31. Send command clientDolphin.send(LOGIN); Donnerstag, 7. November 13
  • 32. Read from store ServerPresentationModel user = serverDolphin.getAt(CURRENT_USER); String name = user.getAt(NAME).getValue(); Donnerstag, 7. November 13
  • 33. Change value changeValue( user.getAt(LOGGED_IN), true ); Donnerstag, 7. November 13
  • 34. Multiple clients Presence Notification Instant update Shared information Donnerstag, 7. November 13
  • 35. Multiple clients in collaboration Donnerstag, 7. November 13
  • 36. Client Server View Controller Model Model Shared Presentation Model Donnerstag, 7. November 13
  • 37. Server View 1 Controller Model View 2 Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 38. Multiple channels Same application logic Different UI technologies Least common denominator Donnerstag, 7. November 13
  • 39. Multiple channels Same application logic Different UI technologies Least common denominator Full channel fidelity! Donnerstag, 7. November 13
  • 40. Server View 1 Controller Model View 2 Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 41. Server Desktop Controller Model Mobile Web Model Donnerstag, 7. November 13 Model Controller Model Event Bus Client
  • 42. Swing iPhone JavaFX Hybrid Web Android Nexus Donnerstag, 7. November 13
  • 43. Embedded device Donnerstag, 7. November 13
  • 44. JavaFX + PI Donnerstag, 7. November 13
  • 45. OpenDolphin What it is Why we care How it works Donnerstag, 7. November 13
  • 46. OpenDolphin is a small, generic library for communication between view and controller in an async [remote] fashion with presentation models. Donnerstag, 7. November 13
  • 47. Why we care Save money Protect investment Outperform competition Donnerstag, 7. November 13
  • 48. Save money Implement cleanly Less maintenance costs Easy to test Donnerstag, 7. November 13
  • 49. Protect investment UI channels come and go, application logic lives on. You can bet who will win or bet that things change. Donnerstag, 7. November 13
  • 50. Lead the pack Multi-user, multi-channel, collaboration, instant updates, 3D, undo/redo, validation, lazy loading, local devices, ... Donnerstag, 7. November 13
  • 51. Channel fidelity Donnerstag, 7. November 13
  • 52. Use when Clean is better low coupling, build, test, maintain, extend, safe threading The future is open Donnerstag, 7. November 13
  • 53. Donnerstag, 7. November 13
  • 54. dierk.koenig@canoo.com @mittie @OpenDolphin open-dolphin.org github.com/canoo/open-dolphin available from MavenCental Donnerstag, 7. November 13
  • 55. canoo UI Engineering Donnerstag, 7. November 13
  • 56. canoo UI Engineering We enable you to write great applications. Donnerstag, 7. November 13