Presentation is loading. Please wait.

Presentation is loading. Please wait.

Why should I care? Under Creative Commons License Source:

Similar presentations


Presentation on theme: "Why should I care? Under Creative Commons License Source:"— Presentation transcript:

1

2

3

4 Why should I care?

5

6

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

19

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

24

25 Tenant separation DB design convention

26 Tenant separation

27 Strong type checking Dynamic extension

28

29

30

31

32

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  

35

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

39

40

41

42

43

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

46

47 Under Creative Commons License Source: http://www.flickr.com/photos/laurie_pink/2599768757/

48

49


Download ppt "Why should I care? Under Creative Commons License Source:"

Similar presentations


Ads by Google