Image credit : http://www.epic-cities.eu26th July 2012                                              1
The Story of the                 Biology Professor26th July 2012                       2
What is the best way                 for me to crunch my                      numbers?26th July 2012                      ...
Private                                                                                          cloud                    ...
What is the issue                     here?26th July 2012                       5
Programming for the                    cloud is hard!26th July 2012                         6
Cloud software                   stacks are                 incompatible!26th July 2012                    7
Abstraction Driven Application                 and Data Portability in Cloud                          Computing           ...
Carefully crafted abstractions          provide a means to develop, deploy          and manage cloud applications in a    ...
Agenda       • Overview of Using Abstractions       • Abstractions for program                 generation       •         ...
Cloud in a nutshell                 Data                                         Software as a service (SaaS)           An...
What is the problem?26th July 2012                     12
Programming for the           cloud and keeping the           applications portable is                    hard!26th July 2...
Vendor lock-in is a                 major concern in                  cloud adoption26th July 2012                        ...
Future of Cloud computing survey by North Bridge, showing the top 10 concerns in       Cloud computing. Full survey availa...
• Overview of Using Abstractions       • Abstractions for program                 generation       •         Abstractions ...
Why Abstract?26th July 2012                   17
Completely decouple the cloud                     from applications!26th July 2012                                   18
What to Abstract?26th July 2012                       19
Development of cloud                     applications26th July 2012                          20
Deployment of cloud                    applications26th July 2012                         21
Management of cloud                    applications26th July 2012                         22
How to Abstract?26th July 2012                      23
What is already out                       there?26th July 2012                         24
Abstraction Based Mobile                 Application Generators26th July 2012                              25
Abstraction Based Cloud Web                   Application Generators26th July 2012                                 26
General                                                     Programming         Platform Independence                     ...
Abstractions for cloud interaction -              Cloud Brokers and Integrators26th July 2012                             ...
API Libraries26th July 2012                   29
Cloud         Platform Independence                                 Solution Area we    brokers                           ...
What are our                 Solutions?26th July 2012                  31
Program using                 Domain Specific                   Languages26th July 2012                     32
Interact          (Deploy and Manage)             via Middleware26th July 2012                  33
• Overview of Using Abstractions       • Abstractions for program                 generation       •         Abstractions ...
Preliminaries – A                 background on                   Languages26th July 2012                       35
What makes up a                   Language?26th July 2012                     36
• Abstract Syntax Model (ASM)                 o An abstract model of what the language                   represents       ...
Abstract Syntax                           Concrete                             Transformation          Model              ...
What is a Domain                 Specific Language                      (DSL)?26th July 2012                       39
A domain-specific language (DSL) is a                 programming      language     or executable                 specific...
A domain is a set of operations              / activities of interest26th July 2012                              41
A model is an abstraction of           a system or its environment                     or both                 K. Czarneck...
Domain Models and                      DSLs26th July 2012                       43
The Modeling                  Hierarchy26th July 2012                  44
Meta-Metamodels                           describe                      Metamodels                                      de...
ASM = Domain Meta                      Model26th July 2012                       46
Where do we use       DSLs in the context of        cloud applications?26th July 2012                  47
Breaking down the                 Cloud Application26th July 2012                       48
System Aspects            Data Aspects                                              Cloud Application                     ...
Introduce DSLs to                 cover each aspect!26th July 2012                        50
Problem Formation26th July 2012                       51
How do we put         things in a theoretical             perspective?26th July 2012                     52
Focus on the                 transformations26th July 2012                     53
Transformations            from domain models             to cloud supported                   models26th July 2012       ...
Focus on the                   properties of                 language model                 transformations26th July 2012 ...
Assertion :            Each metamodel is a                  graph26th July 2012                    56
Model Transformations – Relationship between models,                           metamodels and transformations26th July 201...
Model Transformations – Relationship between models,                 metamodels and transformations expressed symbolically...
Condition 1 : Each semantically              distinct concept must be           distinctly defined in the domain          ...
26th July 2012   60
Example26th July 2012             61
Typical  Required             Metamodel for expressions is a simplified version from Software Language Engineering:       ...
Condition 2 : The          transformation must completely              define the target model26th July 2012              ...
26th July 2012   64
Lemma 1 : The transformation                     is not reversible26th July 2012                                  65
Derived condition for Map-Reduce                       style computations:                  Domain meta model must be     ...
Practical                 Implications26th July 2012                  67
More detailed                 domain models are                     needed!26th July 2012                       68
Not all models can            be transformed to           parallel architectures26th July 2012                      70
Don’t keep hopes on         Reverse Engineering!26th July 2012                  71
What about Data?26th July 2012                      72
Data schema                 Incorporated using                       DSLs26th July 2012                        73
Ontologies as data                     schemas26th July 2012                        74
Practical Applications :            MobiCloud      My Contribution : Conceptualization and primary portion of implementati...
MobiCloud is a          Cloud-Mobile hybrid          application generator26th July 2012                    76
• Front-end is a native Mobile                 application         •       Back-end sits in a cloud,                 expos...
Service         Server                               Service                 UI                                       prov...
MobiCloud                 Architecture26th July 2012                  79
Graphical          Text based           Other                 Composer           Composer           Composers             ...
MobiCloud DSL26th July 2012                   81
recipe(:todolist) do                    metadata({:id => task-manager})                 # models                   model(:...
MobiCloud Tools26th July 2012                     83
MobiCloud Graphical Composer26th July 2012                                  84
Available publicly at           http://mobicloud.knoesis.org26th July 2012                            85
MobiCloud Code Catalog26th July 2012                            86
Available publicly at        http://mobicloud-catalog.knoesis.org26th July 2012                                 87
MobiCloud has extensions that          enable the use of known ontologies26th July 2012                                 88
A Scenarios in a                    nutshell26th July 2012                      89
Blood pressure                 recorder : Personal                   Web Application26th July 2012                        ...
Objective : Record                  daily BP values26th July 2012                        91
     Data Driven                    4 data items to be recorded and                     retrieved (BP figures and date) ...
Visual composition of the blood pressure date recorder26th July 2012                                                      ...
Different Android views, showing the index and the addbp26th July 2012                                          screens   ...
showbp view of Android application26th July 2012                                        95
With MobiCloud, this         application was built and        deployed under 5 minutes !26th July 2012                    ...
MobiCloud is the recipient of the             Technology award at the Fukuoka               Ruby Innovators Competition   ...
A helping hand to our biology professor !      Practical Applications :              SCALE                         My Cont...
SCALE is a DSL based                 Statistical Application                       Generator26th July 2012                ...
SCALE DSL26th July 2012               100
# load data           original_data = load_data(:raw_data_file,{:format =>           "csv"})           # sum normalize    ...
Supports 3 Target                    Platforms26th July 2012                       102
• Hadoop (Local cluster or                     Amazon EC2)                 •   Windows Azure (using the                   ...
SCALE Architecture26th July 2012                        104
Graphical         Text based           Other                 Composer          Composer           Composers               ...
SCALE Tools26th July 2012                 106
SCALE Graphical Composer26th July 2012                              107
Available publicly at                 http://metabolink.knoesis.org/SCALE26th July 2012                                   ...
Our friendly biologist can             now quickly compose his            programs and run them with              any reso...
What did we learn            from these projects?26th July 2012                     110
Code Metrics                 comparison26th July 2012                  111
LOC counts of                   generated                  applications26th July 2012                   112
26th July 2012   113
26th July 2012   114
Significant savings                   in effort can be                 obtained by using                         DSLs26th ...
Effort Comparison –                    LOC counts in                      templates26th July 2012                         ...
26th July 2012   117
26th July 2012   118
The effort required to            create the templates               is manageable26th July 2012                       119
General                                 DSL based   Programming         Platform Independence                             ...
• Overview of Using Abstractions       • Abstractions for program                 generation       •         Abstractions ...
Preliminaries –          Basics of Middleware26th July 2012                   122
Application                 Application 1   Application 2                                                     N           ...
Using Middleware In                  the Cloud Context26th July 2012                         124
What Operations can               we abstract?26th July 2012                     125
Application                 Deployment26th July 2012                 126
Application                 Undeployment26th July 2012                  127
Data Snapshots26th July 2012                    128
Additional Benefits26th July 2012                         129
Enforcing / Reusing                      Patterns26th July 2012                         130
How to Apply                 Middleware in the                  cloud context?26th July 2012                       131
General Architecture for using Middleware in a cloud context26th July 2012                                                ...
Practical Applications :           Altocumulus     My Contribution : Evolving the concept and major portion of implementat...
Cloud Middleware                 System from IBM                    Research26th July 2012                      134
Supported 3 target                    platforms26th July 2012                        135
• Amazon EC2                   o Included EC2 clones such as Eucalyptus                 • Google App Engine               ...
Introduced the                 Concept of Best                     Practices26th July 2012                     137
Altocumulus                 Architecture26th July 2012                  138
26th July 2012   139
Altocumulus                 Dashboard26th July 2012                 140
Altocumulus Dashboard – Showing the list of deployments and                                        their status26th July 2...
Altocumulus /         Platform Independence                                 Middleware                                 Sol...
Altocumulus technology is now         part of the IBM PureSystems Cloud        offering, as part of the IBM Workload      ...
Publication Coverage26th July 2012                     144
Altocumulus         MobiCloud                   SCALE                Others         2009       1.   OOPSLA [1]            ...
Publications                 •   Ajith Ranabahu, Michael Maximilien, Amit Sheth and Krishnaprasad                     Thir...
Publications (Cont.)                 •   Ashwin Manjunatha, Paul Anderson, Ajith Ranabahu and Amit Sheth.                 ...
Publications(Cont.)                 •   Ajith Ranabahu and Michael Maximilien. A Best Practice Model for Cloud            ...
Conclusion26th July 2012                149
Using DSLs to provide domain                 abstractions is a feasible way to                    develop cloud applicatio...
Middleware based process                 abstractions are a feasible                 way to deploy and manage             ...
My Other Research Activities26th July 2012                                  152
SCALE                             Cloud                                                               MobiCloud           ...
Questions26th July 2012               154
26th July 2012   155
26th July 2012   156
Thank You26th July 2012               157
Extra Slides26th July 2012                  158
Salesforce Contact           Manager : Enterprise             Web application26th July 2012                    159
Objective: View                 contacts from your                 Salesforce account26th July 2012                       ...
• Connected to external data                     sources                 •   Likely to be shared                 •   Rigor...
Uses  2nd                   Generation           MobiCloud with the          Salesforce Extension26th July 2012           ...
Text Mode, editing the salesforce contact manager Application –                       Graphical mode is not active in the ...
Different Android views, showing the index,26th July 2012                 salesforce_accounts and salesforce_login screens...
Upcoming SlideShare
Loading in …5
×

PhD thesis defense of Ajith Ranabahu

4,499 views

Published on

Description - Ajith defended his thesis on application and data portability in cloud
computing. More details on Ajith's research and publications can be
found at http://knoesis.wright.edu/researchers/ajith/

Video can be found at : http://www.youtube.com/watch?v=oDBeBIIFmHc&list=UUORqXk1ZV44MOwpCorAROyQ&index=1&feature=plpp_video

Published in: Education, Technology, Business
  • Be the first to comment

PhD thesis defense of Ajith Ranabahu

  1. 1. Image credit : http://www.epic-cities.eu26th July 2012 1
  2. 2. The Story of the Biology Professor26th July 2012 2
  3. 3. What is the best way for me to crunch my numbers?26th July 2012 3
  4. 4. Private cloud In house cluster Public cloud All logos are trademarks of the respective organizations26th July 2012 4
  5. 5. What is the issue here?26th July 2012 5
  6. 6. Programming for the cloud is hard!26th July 2012 6
  7. 7. Cloud software stacks are incompatible!26th July 2012 7
  8. 8. Abstraction Driven Application and Data Portability in Cloud Computing Ajith H. Ranabahu PhD Candidate Ohio Center of Excellence in Knowledge-enabled Computing (kno.e.sis) Wright State University Dayton OH26th July 2012 8
  9. 9. Carefully crafted abstractions provide a means to develop, deploy and manage cloud applications in a platform agnostic manner26th July 2012 9
  10. 10. Agenda • Overview of Using Abstractions • Abstractions for program generation • Abstractions for cloud interaction26th July 2012 10
  11. 11. Cloud in a nutshell Data Software as a service (SaaS) Analytics Hadoop XaaS Platform as a service (PaaS) Infrastructure as a service (IaaS)26th July 2012 Logos and Images are trademarks of the respective companies / projects 11
  12. 12. What is the problem?26th July 2012 12
  13. 13. Programming for the cloud and keeping the applications portable is hard!26th July 2012 13
  14. 14. Vendor lock-in is a major concern in cloud adoption26th July 2012 14
  15. 15. Future of Cloud computing survey by North Bridge, showing the top 10 concerns in Cloud computing. Full survey available at http://www.northbridge.com/2012-cloud- computing-survey, released on June 20th 201226th July 2012 15
  16. 16. • Overview of Using Abstractions • Abstractions for program generation • Abstractions for cloud interaction26th July 2012 16
  17. 17. Why Abstract?26th July 2012 17
  18. 18. Completely decouple the cloud from applications!26th July 2012 18
  19. 19. What to Abstract?26th July 2012 19
  20. 20. Development of cloud applications26th July 2012 20
  21. 21. Deployment of cloud applications26th July 2012 21
  22. 22. Management of cloud applications26th July 2012 22
  23. 23. How to Abstract?26th July 2012 23
  24. 24. What is already out there?26th July 2012 24
  25. 25. Abstraction Based Mobile Application Generators26th July 2012 25
  26. 26. Abstraction Based Cloud Web Application Generators26th July 2012 26
  27. 27. General Programming Platform Independence Solution area we Language are interested in based Frameworks Direct Programming Complexity26th July 2012 27
  28. 28. Abstractions for cloud interaction - Cloud Brokers and Integrators26th July 2012 28
  29. 29. API Libraries26th July 2012 29
  30. 30. Cloud Platform Independence Solution Area we brokers are interested in API Based solutions Original Cloud APIs Complexity26th July 2012 30
  31. 31. What are our Solutions?26th July 2012 31
  32. 32. Program using Domain Specific Languages26th July 2012 32
  33. 33. Interact (Deploy and Manage) via Middleware26th July 2012 33
  34. 34. • Overview of Using Abstractions • Abstractions for program generation • Abstractions for cloud interaction26th July 2012 34
  35. 35. Preliminaries – A background on Languages26th July 2012 35
  36. 36. What makes up a Language?26th July 2012 36
  37. 37. • Abstract Syntax Model (ASM) o An abstract model of what the language represents • Concrete Syntax Model (CSM) o The syntax of the language • Transformations o A mapping from ASM to CSM or vice versa26th July 2012 37
  38. 38. Abstract Syntax Concrete Transformation Model Syntax Model = X+Y=Z + Z X Y26th July 2012 38
  39. 39. What is a Domain Specific Language (DSL)?26th July 2012 39
  40. 40. A domain-specific language (DSL) is a programming language or executable specification language that offers, through appropriate notations and abstractions, expressive power focused on, and usually restricted to, a particular problem domain. A. van Deursen, P. Klint, and J. Visser, “Domain-specific languages: an annotated bibliography,” SIGPLAN Not., vol. 35, no. 6, pp. 26–36, 2000.26th July 2012 40
  41. 41. A domain is a set of operations / activities of interest26th July 2012 41
  42. 42. A model is an abstraction of a system or its environment or both K. Czarnecki and S. Helsen, “Feature-based survey of model transformation approaches,” IBM Systems Journal, vol. 45, no. 3, pp. 621–645, 2006.26th July 2012 42
  43. 43. Domain Models and DSLs26th July 2012 43
  44. 44. The Modeling Hierarchy26th July 2012 44
  45. 45. Meta-Metamodels describe Metamodels describe Domain Models describe Computer Based Systems26th July 2012 45
  46. 46. ASM = Domain Meta Model26th July 2012 46
  47. 47. Where do we use DSLs in the context of cloud applications?26th July 2012 47
  48. 48. Breaking down the Cloud Application26th July 2012 48
  49. 49. System Aspects Data Aspects Cloud Application Non-Functional Functional Aspects Aspects Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 2, IEEE Internet Computing, vol. 14, no. 4, July/Aug 2010 pages 81-84 Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 1, IEEE Internet Computing, vol. 14, no. 3, May/June 2010 pages 81-8326th July 2012 49
  50. 50. Introduce DSLs to cover each aspect!26th July 2012 50
  51. 51. Problem Formation26th July 2012 51
  52. 52. How do we put things in a theoretical perspective?26th July 2012 52
  53. 53. Focus on the transformations26th July 2012 53
  54. 54. Transformations from domain models to cloud supported models26th July 2012 54
  55. 55. Focus on the properties of language model transformations26th July 2012 55
  56. 56. Assertion : Each metamodel is a graph26th July 2012 56
  57. 57. Model Transformations – Relationship between models, metamodels and transformations26th July 2012 57
  58. 58. Model Transformations – Relationship between models, metamodels and transformations expressed symbolically26th July 2012 58
  59. 59. Condition 1 : Each semantically distinct concept must be distinctly defined in the domain metamodel26th July 2012 59
  60. 60. 26th July 2012 60
  61. 61. Example26th July 2012 61
  62. 62. Typical Required Metamodel for expressions is a simplified version from Software Language Engineering: Creating Domain-Specific Languages Using Metamodels By Anneke Kleppe26th July 2012 62
  63. 63. Condition 2 : The transformation must completely define the target model26th July 2012 63
  64. 64. 26th July 2012 64
  65. 65. Lemma 1 : The transformation is not reversible26th July 2012 65
  66. 66. Derived condition for Map-Reduce style computations: Domain meta model must be mappable to a map-reduce task model26th July 2012 66
  67. 67. Practical Implications26th July 2012 67
  68. 68. More detailed domain models are needed!26th July 2012 68
  69. 69. Not all models can be transformed to parallel architectures26th July 2012 70
  70. 70. Don’t keep hopes on Reverse Engineering!26th July 2012 71
  71. 71. What about Data?26th July 2012 72
  72. 72. Data schema Incorporated using DSLs26th July 2012 73
  73. 73. Ontologies as data schemas26th July 2012 74
  74. 74. Practical Applications : MobiCloud My Contribution : Conceptualization and primary portion of implementation 1. A Domain Specific Language for Enterprise Grade Cloud-Mobile Hybrid Applications, 11th Workshop on Domain-Specific Modeling (DSM), 2011 2. Power of Clouds In Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development , Cloudcom 2010 3. Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages , International Workshop on Mobile Computing and Clouds (MobiCloud 2010)26th July 2012 75
  75. 75. MobiCloud is a Cloud-Mobile hybrid application generator26th July 2012 76
  76. 76. • Front-end is a native Mobile application • Back-end sits in a cloud, exposed by a service interface • Both pieces considered the app26th July 2012 77
  77. 77. Service Server Service UI provider side Persistent Client Implementation handler Storage Data Structures Data Structures Mobile Device Cloud26th July 2012 Cloud-mobile hybrid application 78
  78. 78. MobiCloud Architecture26th July 2012 79
  79. 79. Graphical Text based Other Composer Composer Composers MobiCloud DSL Code Generation Templating Engine GAE EC2 Android Blackberry Templates Templates Templates Templates26th July 2012 80
  80. 80. MobiCloud DSL26th July 2012 81
  81. 81. recipe(:todolist) do metadata({:id => task-manager}) # models model(:task, { :name=>:string,:description => :string, :time => :date,:location => :string}) #controllers controller(:taskhandler) do action :create, :task action :retrieve, :task end # views view :add_task, {:models =>[:task],:controller => :taskhandler, :action => :create} view :show_tasks, {:models =>[:task],:controller => :taskhandler, :action => :retrieve} end26th July 2012 82
  82. 82. MobiCloud Tools26th July 2012 83
  83. 83. MobiCloud Graphical Composer26th July 2012 84
  84. 84. Available publicly at http://mobicloud.knoesis.org26th July 2012 85
  85. 85. MobiCloud Code Catalog26th July 2012 86
  86. 86. Available publicly at http://mobicloud-catalog.knoesis.org26th July 2012 87
  87. 87. MobiCloud has extensions that enable the use of known ontologies26th July 2012 88
  88. 88. A Scenarios in a nutshell26th July 2012 89
  89. 89. Blood pressure recorder : Personal Web Application26th July 2012 90
  90. 90. Objective : Record daily BP values26th July 2012 91
  91. 91.  Data Driven  4 data items to be recorded and retrieved (BP figures and date)  Simple user interface  Personal  Private (own) data source26th July 2012 92
  92. 92. Visual composition of the blood pressure date recorder26th July 2012 93
  93. 93. Different Android views, showing the index and the addbp26th July 2012 screens 94
  94. 94. showbp view of Android application26th July 2012 95
  95. 95. With MobiCloud, this application was built and deployed under 5 minutes !26th July 2012 96
  96. 96. MobiCloud is the recipient of the Technology award at the Fukuoka Ruby Innovators Competition One of two winners of the technology award from 82 competitors over 9 countries26th July 2012 97
  97. 97. A helping hand to our biology professor ! Practical Applications : SCALE My Contribution : Concept and Implementation 1. Identifying and Implementing the Underlying Operators for Nuclear Magnetic Resonance Based Metabolomics Data Analysis, Third International Conference on Bioinformatics and Computational Biology (BICoB-2011) 2. The Cloud Agnostic e-Science Analysis Platform, IEEE Internet Computing 201126th July 2012 98
  98. 98. SCALE is a DSL based Statistical Application Generator26th July 2012 99
  99. 99. SCALE DSL26th July 2012 100
  100. 100. # load data original_data = load_data(:raw_data_file,{:format => "csv"}) # sum normalize normalized = sum_normalize(original_data) # Auto scale scaled = auto_scale(normalized) # write the file store_data(:scaled, scaled)26th July 2012 101
  101. 101. Supports 3 Target Platforms26th July 2012 102
  102. 102. • Hadoop (Local cluster or Amazon EC2) • Windows Azure (using the experimental Daytona framework) • Any desktop OS using Ruby26th July 2012 103
  103. 103. SCALE Architecture26th July 2012 104
  104. 104. Graphical Text based Other Composer Composer Composers SCALE DSL Code Generation Templating Engine Java (Hadoop) C# (Azure / Ruby Templates Daytona) Templates Templates26th July 2012 105
  105. 105. SCALE Tools26th July 2012 106
  106. 106. SCALE Graphical Composer26th July 2012 107
  107. 107. Available publicly at http://metabolink.knoesis.org/SCALE26th July 2012 108
  108. 108. Our friendly biologist can now quickly compose his programs and run them with any resource available!26th July 2012 109
  109. 109. What did we learn from these projects?26th July 2012 110
  110. 110. Code Metrics comparison26th July 2012 111
  111. 111. LOC counts of generated applications26th July 2012 112
  112. 112. 26th July 2012 113
  113. 113. 26th July 2012 114
  114. 114. Significant savings in effort can be obtained by using DSLs26th July 2012 115
  115. 115. Effort Comparison – LOC counts in templates26th July 2012 116
  116. 116. 26th July 2012 117
  117. 117. 26th July 2012 118
  118. 118. The effort required to create the templates is manageable26th July 2012 119
  119. 119. General DSL based Programming Platform Independence Solutions Language based Frameworks Direct Programming Complexity26th July 2012 120
  120. 120. • Overview of Using Abstractions • Abstractions for program generation • Abstractions for cloud interaction26th July 2012 121
  121. 121. Preliminaries – Basics of Middleware26th July 2012 122
  122. 122. Application Application 1 Application 2 N APIs Middleware Interface Interface Interface Lower Lower Lower level level level services services services Platform 1 Platform 2 Platform M26th July 2012 123
  123. 123. Using Middleware In the Cloud Context26th July 2012 124
  124. 124. What Operations can we abstract?26th July 2012 125
  125. 125. Application Deployment26th July 2012 126
  126. 126. Application Undeployment26th July 2012 127
  127. 127. Data Snapshots26th July 2012 128
  128. 128. Additional Benefits26th July 2012 129
  129. 129. Enforcing / Reusing Patterns26th July 2012 130
  130. 130. How to Apply Middleware in the cloud context?26th July 2012 131
  131. 131. General Architecture for using Middleware in a cloud context26th July 2012 132
  132. 132. Practical Applications : Altocumulus My Contribution : Evolving the concept and major portion of implementation (Member of the 4 person team. Internship work at IBM Research 2009) 1. Toward Cloud-Agnostic Middlewares, OOPSLA, 2009 2. A Best Practice Model for Cloud Middleware Systems , Best Practices in Cloud Computing: Designing for the Cloud workshop OOPSLA, 200926th July 2012 133
  133. 133. Cloud Middleware System from IBM Research26th July 2012 134
  134. 134. Supported 3 target platforms26th July 2012 135
  135. 135. • Amazon EC2 o Included EC2 clones such as Eucalyptus • Google App Engine • IBM HiPODS o IBM private cloud system, providing infrastructure cloud services26th July 2012 136
  136. 136. Introduced the Concept of Best Practices26th July 2012 137
  137. 137. Altocumulus Architecture26th July 2012 138
  138. 138. 26th July 2012 139
  139. 139. Altocumulus Dashboard26th July 2012 140
  140. 140. Altocumulus Dashboard – Showing the list of deployments and their status26th July 2012 141
  141. 141. Altocumulus / Platform Independence Middleware Solutions Cloud brokers API Based solutions Original Cloud APIs Complexity26th July 2012 142
  142. 142. Altocumulus technology is now part of the IBM PureSystems Cloud offering, as part of the IBM Workload Deployer26th July 2012 143
  143. 143. Publication Coverage26th July 2012 144
  144. 144. Altocumulus MobiCloud SCALE Others 2009 1. OOPSLA [1] 2. OOPSLA cloud workshop [1] * Altocumulus demonstration 2010 1. IEEE Cloudcom [2] 2 part article on 2. MobiCase MobiCloud cloud application workshop [1] modeling in IEEE * MobiCloud demonstration Internet Computing 2011 1. workshop at SPLASH 1. BiCob [1] [1] 2. IEEE Internet 2. IEEE COMSOC Computing [1] MMTC E-Letter [1] (invited) 2012 Paper under review in IEEE TSC26th July 2012 Total of 11 publications and 2 demonstrations covering this research 145
  145. 145. Publications • Ajith Ranabahu, Michael Maximilien, Amit Sheth and Krishnaprasad Thirunarayan. A Domain Specific Language for Enterprise Grade Cloud- Mobile Hybrid Applications, 11th Workshop on Domain-Specific Modeling (DSM) 2011 , Portland OR, USA. • Ashwin Manjunatha, Ajith Ranabahu, Amit Sheth and Krishnaprasad Thirunarayan. Power of Clouds In Your Pocket: An Efficient Approach for Cloud Mobile Hybrid Application Development , 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. Pages 496-503 • Ajith Ranabahu, Ashwin Manjunatha, Amit Sheth and Krishnaprasad Thirunarayan. Towards Cloud Mobile Hybrid Application Generation using Semantically Enriched Domain Specific Languages , International Workshop on Mobile Computing and Clouds (MobiCloud 2010) ,Santa Clara CA 2010.26th July 2012 146
  146. 146. Publications (Cont.) • Ashwin Manjunatha, Paul Anderson, Ajith Ranabahu and Amit Sheth. Identifying and Implementing the Underlying Operators for Nuclear Magnetic Resonance Based Metabolomics Data Analysis, Third International Conference on Bioinformatics and Computational Biology (BICoB-2011), 2011, New Orleans LA, USA. pages 205-209 • Ajith Ranabahu and Amit Sheth. Semantics Centric Solutions for Application and Data Portability in Cloud Computing, 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. pages 234-241 • Kalpa Gunaratna, Ajith Ranabahu, Paul Anderson and Amit Sheth. A Study in Hadoop Streaming with Matlab for NMR Data Processing , 2nd IEEE International Conference on Cloud Computing Technology and Science, 2010, Indianapolis IN, USA. pages 786-789 • Michael Maximilien, Ajith Ranabahu, Roy Engehausen and Laura Anderson. Toward Cloud-Agnostic Middlewares, 24th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), 2009, Orlando FL, USA. pages 619-62626th July 2012 147
  147. 147. Publications(Cont.) • Ajith Ranabahu and Michael Maximilien. A Best Practice Model for Cloud Middleware Systems , Proceedings of the Best Practices in Cloud Computing: Designing for the Cloud workshop at the 24th ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA) pages 41-51 • Ajith Ranabahu, Paul Anderson and Amit Sheth. The Cloud Agnostic e- Science Analysis Platform, IEEE Internet Computing, vol. 15, no. 6, Nov/Dec. 2011 pages 85-89 • Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 2, IEEE Internet Computing, vol. 14, no. 4, July/Aug 2010 pages 81-84 • Amit Sheth and Ajith Ranabahu. Semantic Modeling for Cloud Computing, Part 1, IEEE Internet Computing, vol. 14, no. 3, May/June 2010 pages 81- 8326th July 2012 148
  148. 148. Conclusion26th July 2012 149
  149. 149. Using DSLs to provide domain abstractions is a feasible way to develop cloud applications in a platform agnostic manner26th July 2012 150
  150. 150. Middleware based process abstractions are a feasible way to deploy and manage applications in the cloud26th July 2012 151
  151. 151. My Other Research Activities26th July 2012 152
  152. 152. SCALE Cloud MobiCloud Application GenerationResearch and Contributions IBM Altocumulus publication Cloud Middleware Open source / public tool Patent IBM Sharable Code Service Composition SA-WSDL SA-REST Kino Annotation Tools Annotation Faceted Search / APIHut SOA Event Mediatability Detection Year 2007 2008 2009 2010 2011 201226th July 2012 153
  153. 153. Questions26th July 2012 154
  154. 154. 26th July 2012 155
  155. 155. 26th July 2012 156
  156. 156. Thank You26th July 2012 157
  157. 157. Extra Slides26th July 2012 158
  158. 158. Salesforce Contact Manager : Enterprise Web application26th July 2012 159
  159. 159. Objective: View contacts from your Salesforce account26th July 2012 160
  160. 160. • Connected to external data sources • Likely to be shared • Rigorous security26th July 2012 161
  161. 161. Uses 2nd Generation MobiCloud with the Salesforce Extension26th July 2012 162
  162. 162. Text Mode, editing the salesforce contact manager Application – Graphical mode is not active in the advanced mode26th July 2012 163
  163. 163. Different Android views, showing the index,26th July 2012 salesforce_accounts and salesforce_login screens 164

×