2. About
Ab t me and us
d
Application Development (Financial Sector)
VASER Frameworks
Distributed Models
OBJECTdynamics
1996 Deutschland
Product developement
vaserControl
Natural Software
2009 Spanien
Copyright Natural Software SL, 2009 - 2010
3. References
R f
ZFS – Zurich VKB
Financial Services
Hugo Boss Deutsche Bank
OBJECTdynamics
Germany
Natural Software
superDeli Spain
ianus
Private Villas
Copyright Natural Software SL, 2009 - 2010
4. Presentation
P t ti
It all started back in 2000…
Existing application
Insurance application
Management of new and existing life insurance contracts
Needed to build Java Frontend
Distributed environment
Implemented a facade- based access to Smalltalk
Over the years…
We used the same technology to build
Smalltalk Clients
C# Clients
Copyright Natural Software SL, 2009 - 2010
5. Existing
E i ti application
li ti
Existing large scale application
Complex architecture
Access to DB via CICS/Cobol
Model driven approach
Complex business object model
Existing Rule engine
Very small granularity of rules being used
y g y g
Basically every entry is checked
Copyright Natural Software SL, 2009 - 2010
6. Architecture
A hit t
Existing large scale application
CICS
Host
GUI EOM Service
VASER
Frameworks
Project
DB/2
Smalltalk application (Rich client) Database
Copyright Natural Software SL, 2009 - 2010
7. New D
N Development
l t
Requirement
Turn the „rich client“ application into a advanced,
distributed application
Build a Java Frontend
Use AWT (2000)
Later Swing (
g (2003)
)
„Re-Use“ existing application as central backend
Transformation from „Rich client“ to „Server“
Multiple
M lti l parallel t
ll l transactions
ti
Multiple concurrent instances of the object model
~~14.000 Clients in ~~3.000 locations using 7 servers
Copyright Natural Software SL, 2009 - 2010
8. New A hit t
N Architecture
CICS
Host
GUI EOM Service
VASER
Frameworks
Project
DB/2
Java Frontend Smalltalk application (Server) Database
Java Frontend
Java Frontend
J F t d
Copyright Natural Software SL, 2009 - 2010
9. Requirements
R i t
Access to the object model from a Java
frontend
Low granularity
Methodlevel (Action)
Fast
On
O method executions, normal rule checking h t
th d ti l l h ki has to
occur
Scalable
Target: 14.000 Clients using 7 Servers
Copyright Natural Software SL, 2009 - 2010
10. Decision Table
D i i T bl
Decisions (R
D i i (Remember, thi was i 2000)
b this in
Communication on an object level
+ -
Java/RMI •Available •Slow
•Only Java datatypes
Only
•Granularity too large
Corba •Available •Slow
•Standard
St d d •Only C b d t t
O l Corba datatypes
•Granularity too large
Webservices •Haven‘t been invented
Haven t
yet…
VASER •Fast •Had to be developed
RemoteRepository •Fits into the Backend
Architecture
Copyright Natural Software SL, 2009 - 2010
11. Facades
F d Repository
Provides
Object Id
j
Function call
Message send
Smalltalk
perform
Java Facade Business
m
Object
Object Result
Id
Result
Copyright Natural Software SL, 2009 - 2010
12. Facades
F d
Java Facade for a Smalltalk Object
Actions
Actions may b performed and may change attributes
A ti be f d d h tt ib t
Attributes
Changes in attributes invalidate derived attributes
Cache for server values
Behaves „like a Smalltalk Object“
Copyright Natural Software SL, 2009 - 2010
13. Cool t ff
C l stuff
aFacade i
F d inspect
t
Debugging
Breakpoints
Development i th d b
D l t in the debugger
I do 80% development in the debugger
Copyright Natural Software SL, 2009 - 2010
14. Analysis
A l i
Network Latency biggest p
y gg performance issue
Block size 1 2k Byte
1…2k
Number of datablocks and parallel sockets
was/is not an issue
Copyright Natural Software SL, 2009 - 2010
15. Other f
Oth functionality
ti lit
Event propagation
Facades have to be marked invalid, if someone
else changes a value
Solution: E
S l ti EventManager waits on events for
tM it t f
registered objects
Copyright Natural Software SL, 2009 - 2010
16. Event propagation
E t ti
Distribution of changes
Objects are marked read-only
If read-only exception
Change will be done anyway
Object fires events to registered facades to invalidate
j g
attribute value
If required – client facade reloads
Copyright Natural Software SL, 2009 - 2010
17. Other f
Oth functionality
ti lit
Garbage Collect
g
Side effect of event propagation
All remote objects are in a weaktable
(RemoteRepository)
Remote usage is a object reference
If taken out, they send a special event
Copyright Natural Software SL, 2009 - 2010
18. Other f
Oth functionality
ti lit
Performaning an action requires
Invalidating and reloading all attributes
I lid ti d l di ll tt ib t
Reloading all attribute descriptors
Type
T
Fieldlength (for databasemapping)
Infotext (Information about each attribute like „value has to
be between x and y“)
Messages
Information, Warning, Error, etc.
Copyright Natural Software SL, 2009 - 2010
19. Tools
T l
Facade generator
F d t
Copyright Natural Software SL, 2009 - 2010
20. Other
Oth programming languages
i l
Facades Tools Application
Smalltalk Generic Not VASERControl
Facade needed •Editor
•Registration
Registration
•Distributed Energy metering
C# Yes Yes VASERControl Frontend
•Silverlight
•Microsoft Surface
Java Yes Yes •Insurance project
•SpiritSE T t t l
S i itSE Test tool
Actionscript Yes No VASERControl Frontend
(Flash) •Flash
Copyright Natural Software SL, 2009 - 2010
21. VASERCONTROL
Product development
P d td l t
2004 – Renovation of our kitchen
Latest gadgets
KNX
Serve@home
Miele@home
Mi l @h
Integration? Yes, but how?
VASER framework usage led to
VASERCO
S ONTROL product d
O d t development
l t
Copyright Natural Software SL, 2009 - 2010
22. VASERCONTROL
Goals
1.
1 Integration Platform
Making the best use of all the automation systems
2. Visualisation
Making all the different systems usable
g y
Copyright Natural Software SL, 2009 - 2010
23. Using RemoteRepository
U i R t R it
VASERControl
VASERC t l
Editor
Browser
with Silverlight
Internet
Browser
with Flash
Registration
Server
VASERControl
Server
Copyright Natural Software SL, 2009 - 2010
24. Architektur Architecture
A hit kt – A hit t
VASERControl Server
KNX Service Logik Presentation
KNX
Connection
KNXNet/IP
Gateway
HTTP Browser
Server
miele@home
Browser
LAN miele@home
miele@home Connection
Gateway
Object
Server
S
SlimServer
Player
Client
SlimServer System
Player
Connection
Musicserver
Player
Copyright Natural Software SL, 2009 - 2010
25. VASERCONTROL
Multiple i
M lti l visualization possibilities
li ti ibiliti
Copyright Natural Software SL, 2009 - 2010
27. VASERCONTROL NextGen
N tG
Microsoft Surface (3D rotating)
Copyright Natural Software SL, 2009 - 2010
28. The best way to predict the
future is to invent it.
Alan Kay
Good things are simple.
Natural Software - Practice
Copyright Natural Software SL, 2009 - 2010
29. Thank
Th k you
Questions? More information?
http://www.natural-software.eu
http://www.vasercontrol.com
Contact me:
thomas.stalzer@natural-software.eu
Tel: +34 971 603676
Natural Software Services SL
Calle Joan XXIII No. 9
E-07141 Sa Cabaneta, M
E 07141 S C b t Marratxi
t i
Copyright Natural Software SL, 2009 - 2010