Download presentation
Presentation is loading. Please wait.
Published byBrenda Higgins Modified over 9 years ago
4
Why should I care?
7
Under Creative Commons License Source: http://www.flickr.com/photos/spursfan_ace/2328879637/
8
Late Binding Many Customers Standardized Software as a Service Duck typing … Under Creative Commons License Source: http://www.flickr.com/photos/yjv/2910922647/
9
Dev Team Customer Close Relationship
10
Dev Team Customer From Cost Center to Profit Center! Kunde Customer External/New Customers
11
Dev Team Customer Kunde Customer Kunde Custom Customer Off-The-Shelf Product
12
The Long Tail http://www.wired.com/wired/archive/12.10/tail.html http://www.wired.com/wired/archive/12.10/tail.html
13
Under Creative Commons License Source: http://www.flickr.com/photos/mava/2445734571/
14
What does multi-tenancy + SaaS mean?
15
SaaS Maturity Levels Kwok, Nguyen, Lam: A Software as a Service with Multi- tenancy Support for an Electronic Contract Management Application, IEEE International Conference on e-Business Engineering, pp. 179-186, 2008 Custom Solution With Common Components Multi-Instance (ASP) Multi-Tenancy
16
SaaS Configuration Competency Model Wei Sun, Xin Zhang, Chang Jie Guo, Pei Sun, Hui Su: Software as a Service: Configuration and Customization Perspectives, in Proceedings of IEEE Congress on Services Part II, 2008
17
Under Creative Commons License Source: http://www.flickr.com/photos/dullhunk/426622486/ How can the problems be solved?
18
Configuration Instead Of Programming Different Metadata Management
20
Data Model Database Data Structures Mapping Business Processes and Logic User Interface Authentication and Authorization
21
Database Data Structures Mapping
22
SaaS often means programming against a (partly) unknown data model Under Creative Commons License Source: http://www.flickr.com/photos/dullhunk/426622486/
23
Domain specific Model Tenant specific Database Generate Domain specific Data Access and Query Layer Controls SQL, ODATA, etc. Security: Prevent cross- tenant data access Domain-specific Structure and Logic Metadata Serialize Domain-specific Structure and Logic Application
25
Tenant separation DB design convention
26
Tenant separation
27
Strong type checking Dynamic extension
33
This is what we do at time cockpit This is what we use to simplify metadata repository structure
34
Business Processes and LogicUser Interface
36
Data Store Model (XAML and DLR enabled) Declarative UI engine TCQL (time cockpit Query Language) VB LINQ TC Expression Language SQL, REST, ODATA Expression Trees Compile Dynamic Objects (DLR) Query Results Persist Basis for dynamic language support “Floating” business logic
37
Model: Calculated Property DurationInHours = Current.EndDate – Current.StartDate TCQL: From T In Timesheet Select T Where T.DurationInHours > 4 SQL: select […] from.Timesheet where datediff(…) > 4 Customized logic (functional expression language) Tenant filter injection Custom logic executed in DB layer Custom logic executed in UI layer (data binding) Expression Trees
38
Model Data In C# 4 we can use dynamic keyword
44
Photo Sources: http://www.istockphoto.com/file_closeup.php?id=11455462 http://www.istockphoto.com/file_closeup.php?id=9588509
45
User time cockpit Windows Azure Platform CMS Registration Queue Tenant Directory Web Role Tenant Maintenance Worker Role Msg. Tenant DB Tenant BLOB Store Tenant Data Store Local Cache Create Authentication and Discovery Web Service (Web Role) Download, Install MS Sync Framework Custom Sync Provider Sync
47
Under Creative Commons License Source: http://www.flickr.com/photos/laurie_pink/2599768757/
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.