56
OpenDolphin Enterprise Apps for Desktop, Web & Mobile Donnerstag, 7. November 13

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

  • View
    509

  • Download
    2

Embed Size (px)

DESCRIPTION

see http://open-dolphin.org

Citation preview

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

OpenDolphinEnterprise Apps for Desktop, Web & Mobile

Donnerstag, 7. November 13

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

OpenDolphinEnterprise Apps for Desktop, Web & Mobile

Donnerstag, 7. November 13

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

Collaborative Enterprise

Desktop Android iPad Embedded

for the officefor the fieldfor meetingsfor displays

Donnerstag, 7. November 13

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

Tour Guide

Single clientMultiple clientsMultiple channels

Donnerstag, 7. November 13

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

Single client

Enterprise == Server-side application

Clean separationLeast possible coupling

Donnerstag, 7. November 13

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

Shared Presentation Model

View Controller

Model Model

Donnerstag, 7. November 13

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

Shared Presentation Model

View Controller

Model Model

What

Donnerstag, 7. November 13

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

Shared Presentation Model

View Controller

Model Model

WhatHow

Donnerstag, 7. November 13

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

Shared Presentation Model

View Controller

Model Model

WhatHow

Client

Donnerstag, 7. November 13

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

Shared Presentation Model

View Controller

Model Model

WhatHow

Client Server

Donnerstag, 7. November 13

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

How it works

Asynchronous commands in strict sequence

Rich, generic models in managed environment

“@KentBeck: If MVC is so damn clear, why do I see classes like

XViewController & YViewModel? Something's wrong with this picture.”

20. April 2013

Donnerstag, 7. November 13

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

How it works

Asynchronous commands in strict sequence

Rich, generic models in managed environment

Donnerstag, 7. November 13

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

Independent Views

Donnerstag, 7. November 13

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

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

LoginAction

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

id: currentUsernamepasswloggedIn

LoginAction

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginAction

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginAction

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginAction

binding

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginAction

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

ControllerView

Login

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

ControllerView

Login

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

ControllerView

read

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

ControllerView

write

Shared Presentation Model

Donnerstag, 7. November 13

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

Login

NamePassw

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginActionabc

abc

abc

abc

abcabc

***

TRUETRUE

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

id: currentUsernamepasswloggedIn

id: currentUsernamepasswloggedIn

LoginAction

abc

abc

abc

abcabc

TRUETRUE

ControllerView

Shared Presentation Model

Donnerstag, 7. November 13

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

Create PMClientPresentationModel user = clientDolphin.presentationModel( CURRENT_USER, USER, new ClientAttribute(NAME), new ClientAttribute(PASSW), new ClientAttribute(LOGGED_IN));

Donnerstag, 7. November 13

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

Bind to viewbind(NAME).of(user) .to(TEXT).of(nameTextField);

Donnerstag, 7. November 13

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

Send command

clientDolphin.send(LOGIN);

Donnerstag, 7. November 13

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

Read from storeServerPresentationModel user = serverDolphin.getAt(CURRENT_USER);

String name = user.getAt(NAME).getValue();

Donnerstag, 7. November 13

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

Change valuechangeValue( user.getAt(LOGGED_IN), true);

Donnerstag, 7. November 13

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

Multiple clients

PresenceNotificationInstant updateShared information

Donnerstag, 7. November 13

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

Multiple clientsin collaboration

Donnerstag, 7. November 13

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

Client Server

Shared Presentation Model

View Controller

Model Model

Donnerstag, 7. November 13

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

Client Server

View 1 Controller

Model Model

View 2 Controller

Model Model

Even

t B

us

Donnerstag, 7. November 13

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

Multiple channels

Same application logic Different UI technologiesLeast common denominator

Donnerstag, 7. November 13

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

Multiple channels

Same application logic Different UI technologiesLeast common denominator

Full channel fidelity!

Donnerstag, 7. November 13

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

Client Server

View 1 Controller

Model Model

View 2 Controller

Model Model

Even

t B

us

Donnerstag, 7. November 13

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

Client Server

Desktop Controller

Model Model

Mobile Web Controller

Model Model

Even

t B

us

Donnerstag, 7. November 13

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

iPhone

Swing JavaFX Hybrid

Web

AndroidNexus

Donnerstag, 7. November 13

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

Embedded device

Donnerstag, 7. November 13

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

JavaFX + PI

Donnerstag, 7. November 13

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

OpenDolphin

What it isWhy we careHow it works

Donnerstag, 7. November 13

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

OpenDolphin is

a small, generic library for communication between view and controller in an async [remote] fashion with presentation models.

Donnerstag, 7. November 13

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

Why we care

Save moneyProtect investmentOutperform competition

Donnerstag, 7. November 13

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

Save money

Implement cleanlyLess maintenance costsEasy to test

Donnerstag, 7. November 13

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

Protect investment

UI channels come and go,application logic lives on.

You can bet who will winor bet that things change.

Donnerstag, 7. November 13

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

Lead the pack

Multi-user, multi-channel, collaboration,instant updates,3D, undo/redo, validation, lazy loading,local devices, ...

Donnerstag, 7. November 13

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

Channel fidelity

Donnerstag, 7. November 13

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

Use when

Clean is betterlow coupling,build, test, maintain, extend,safe threading

The future is open

Donnerstag, 7. November 13

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

Donnerstag, 7. November 13

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

[email protected]@mittie

@OpenDolphinopen-dolphin.orggithub.com/canoo/open-dolphinavailable from MavenCental

Donnerstag, 7. November 13

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

UI Engineering

canoo

Donnerstag, 7. November 13

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

UI Engineering

canoocanoo

We enable you to write great applications.

Donnerstag, 7. November 13