SlideShare a Scribd company logo
1 of 101
Big Data
ENTERPRISEY Analytics
       and
      RUBY

                    1 | RUBY CONF 2011 | Sept-29 | Public
Big Data
ENTERPRISEY Analytics
       and
      RUBY

                    2 | RUBY CONF 2011 | Sept-29 | Public
3 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise




                         4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



DISTRIBUTE




                               4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER            AUTOMATED TESTING




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER            AUTOMATED TESTING




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER            AUTOMATED TESTING




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER            AUTOMATED TESTING




                                     4 | RUBY CONF 2011 | Sept-29 | Public
Ruby in The Enterprise



   DISTRIBUTE




INTERNAL GEM SERVER            AUTOMATED TESTING




                                     4 | RUBY CONF 2011 | Sept-29 | Public
5 | RUBY CONF 2011 | Sept-29 | Public
ANALYTICS tool for Healthcare System
                              5 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy I




                      6 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy I




                      6 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy II




                       7 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy III




                        8 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy IV




                   9 | RUBY CONF 2011 | Sept-29 | Public
Design Philosophy V




                      10 | RUBY CONF 2011 | Sept-29 | Public
Multi-Dimensional Hierarchical Data

                               | RUBY CONF 2011 | Sept-29 | Public
Open Source




              12 | RUBY CONF 2011 | Sept-29 | Public
ENTERPRISE




             13 | RUBY CONF 2011 | Sept-29 | Public
ENTERPRISE




             14 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture




                    15 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture - Step I

                            Data Processing




  SUS and other Data Sets




                                        16 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture - Step II
              “Kimberly Style”
         Dimensional Data Warehouse




                                      17 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture - Step II
              “Kimberly Style”
         Dimensional Data Warehouse




                                      17 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture - Step III




Application Specific
    Data Marts




                           18 | RUBY CONF 2011 | Sept-29 | Public
Data Architecture - Step III




Application Specific
    Data Marts




                           18 | RUBY CONF 2011 | Sept-29 | Public
DATA FLOW MAPPING




                19 | RUBY CONF 2011 | Sept-29 | Public
DATA FLOW MAPPING




                20 | RUBY CONF 2011 | Sept-29 | Public
DATA FLOW MAPPING




                21 | RUBY CONF 2011 | Sept-29 | Public
DATA FLOW MAPPING




                22 | RUBY CONF 2011 | Sept-29 | Public
DATA FLOW MAPPING




                23 | RUBY CONF 2011 | Sept-29 | Public
Chart Types




              24 | RUBY CONF 2011 | Sept-29 | Public
Chart Types




              24 | RUBY CONF 2011 | Sept-29 | Public
Charting Library




                   25 | RUBY CONF 2011 | Sept-29 | Public
Charting Library


•   Flash, Silverlight etc are not the only option




                                                     25 | RUBY CONF 2011 | Sept-29 | Public
Charting Library


•   Flash, Silverlight etc are not the only option


•   Web based standards for building high quality charts




                                                      25 | RUBY CONF 2011 | Sept-29 | Public
Charting Library


•   Flash, Silverlight etc are not the only option


•   Web based standards for building high quality charts


•   Should work on multiple platforms including mobile/ipad




                                                      25 | RUBY CONF 2011 | Sept-29 | Public
Charting Library


•   Flash, Silverlight etc are not the only option


•   Web based standards for building high quality charts


•   Should work on multiple platforms including mobile/ipad




                                                      25 | RUBY CONF 2011 | Sept-29 | Public
Charting Library


•   Flash, Silverlight etc are not the only option


•   Web based standards for building high quality charts


•   Should work on multiple platforms including mobile/ipad




                                                      25 | RUBY CONF 2011 | Sept-29 | Public
Extending Charting Libraries




                         26 | RUBY CONF 2011 | Sept-29 | Public
Extending Charting Libraries




Extension of Infovis



                       https://github.com/toamitkumar/org_chart

                                                       26 | RUBY CONF 2011 | Sept-29 | Public
Extending Charting Libraries




Extension of HighCharts


                     https://github.com/toamitkumar/waterfall-charts



                                                          27 | RUBY CONF 2011 | Sept-29 | Public
Extending Charting Libraries




               Extension of HighCharts


https://github.com/toamitkumar/Stacked-Waterfall/tree/master/stacked-waterfall

                                                                    28 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts




                     29 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts




                     30 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes




                      31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis
          Dimension for y-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis
          Dimension for y-axis
          Filters for x-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis
          Dimension for y-axis
          Filters for x-axis
          Filters for y-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis
          Dimension for y-axis
          Filters for x-axis
          Filters for y-axis
          Data on x-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts


   Chart Attributes
          Dimension for x-axis
          Dimension for y-axis
          Filters for x-axis
          Filters for y-axis
          Data on x-axis
          Data on y-axis




                                 31 | RUBY CONF 2011 | Sept-29 | Public
Configurable Charts




SQL or MDX


                     32 | RUBY CONF 2011 | Sept-29 | Public
MSAS XMLA INTERFACE




                  33 | RUBY CONF 2011 | Sept-29 | Public
MSAS XMLA INTERFACE




                  33 | RUBY CONF 2011 | Sept-29 | Public
Ruby + OLAP CUBES




                    34 | RUBY CONF 2011 | Sept-29 | Public
Ruby + OLAP CUBES




                    35 | RUBY CONF 2011 | Sept-29 | Public
RUBY + SSAS XMLA Interface




                       36 | RUBY CONF 2011 | Sept-29 | Public
RUBY + SSAS XMLA Interface

•   JSON output




                       36 | RUBY CONF 2011 | Sept-29 | Public
RUBY + SSAS XMLA Interface

•   JSON output


•   Easy integration with Chart Definition Language




                                                     36 | RUBY CONF 2011 | Sept-29 | Public
RUBY + SSAS XMLA Interface

•   JSON output


•   Easy integration with Chart Definition Language


•   No MDX validation




                                                     36 | RUBY CONF 2011 | Sept-29 | Public
Listing Cubes




                37 | RUBY CONF 2011 | Sept-29 | Public
Listing Cubes




                37 | RUBY CONF 2011 | Sept-29 | Public
SOAP request : listing cubes




              Listing CUBES


                          38 | RUBY CONF 2011 | Sept-29 | Public
SOAP request : listing cubes




              Listing CUBES


                          38 | RUBY CONF 2011 | Sept-29 | Public
SOAP request : listing cubes




              Listing CUBES


                          38 | RUBY CONF 2011 | Sept-29 | Public
SOAP request : listing cubes




              Listing CUBES


                          38 | RUBY CONF 2011 | Sept-29 | Public
Execute MDX




              39 | RUBY CONF 2011 | Sept-29 | Public
Execute MDX




              39 | RUBY CONF 2011 | Sept-29 | Public
SOAP request: Execute MDX




             Execute MDX




                      40 | RUBY CONF 2011 | Sept-29 | Public
SOAP request: Execute MDX




             Execute MDX




                      40 | RUBY CONF 2011 | Sept-29 | Public
SOAP request: Execute MDX




             Execute MDX




                      40 | RUBY CONF 2011 | Sept-29 | Public
asxmla4r




           41 | RUBY CONF 2011 | Sept-29 | Public
asxmla4r




           41 | RUBY CONF 2011 | Sept-29 | Public
Analytics and UX




                   42 | RUBY CONF 2011 | Sept-29 | Public
Analytics and UX

•   Power v/s Normal users




                               42 | RUBY CONF 2011 | Sept-29 | Public
Analytics and UX

•   Power v/s Normal users


•   Data focussed




                               42 | RUBY CONF 2011 | Sept-29 | Public
Analytics and UX

•   Power v/s Normal users


•   Data focussed


•   Pareto Principle in context of UI: 20% of the functionality

    is used 80% of the time




                                                        42 | RUBY CONF 2011 | Sept-29 | Public
Analytics and UX

•   Power v/s Normal users


•   Data focussed


•   Pareto Principle in context of UI: 20% of the functionality

    is used 80% of the time


•   Interface design


                                                        42 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL




                43 | RUBY CONF 2011 | Sept-29 | Public
Build for ALL



IE6, IE7, IE8, IE9, IE10




                           43 | RUBY CONF 2011 | Sept-29 | Public
Amit Kumar
TATA Consultancy Services Limited




                                    | RUBY CONF 2011 | Sept-29 | Public
Amit Kumar
                TATA Consultancy Services Limited




•   @toamit


•   github.com/toamitkumar


•   rubyizednrailified.blogspot.com


                                                    | RUBY CONF 2011 | Sept-29 | Public
THANKS!

More Related Content

Recently uploaded

UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8DianaGray10
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXTarek Kalaji
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-pyJamie (Taka) Wang
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IES VE
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.YounusS2
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?IES VE
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Will Schroeder
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostMatt Ray
 

Recently uploaded (20)

UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8UiPath Studio Web workshop series - Day 8
UiPath Studio Web workshop series - Day 8
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
VoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBXVoIP Service and Marketing using Odoo and Asterisk PBX
VoIP Service and Marketing using Odoo and Asterisk PBX
 
20230202 - Introduction to tis-py
20230202 - Introduction to tis-py20230202 - Introduction to tis-py
20230202 - Introduction to tis-py
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
IESVE Software for Florida Code Compliance Using ASHRAE 90.1-2019
 
Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.Basic Building Blocks of Internet of Things.
Basic Building Blocks of Internet of Things.
 
How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?How Accurate are Carbon Emissions Projections?
How Accurate are Carbon Emissions Projections?
 
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
Apres-Cyber - The Data Dilemma: Bridging Offensive Operations and Machine Lea...
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCostKubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
KubeConEU24-Monitoring Kubernetes and Cloud Spend with OpenCost
 

Ruby conf'11

  • 1. Big Data ENTERPRISEY Analytics and RUBY 1 | RUBY CONF 2011 | Sept-29 | Public
  • 2. Big Data ENTERPRISEY Analytics and RUBY 2 | RUBY CONF 2011 | Sept-29 | Public
  • 3. 3 | RUBY CONF 2011 | Sept-29 | Public
  • 4. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 5. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 6. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 7. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 8. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 9. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 10. Ruby in The Enterprise 4 | RUBY CONF 2011 | Sept-29 | Public
  • 11. Ruby in The Enterprise DISTRIBUTE 4 | RUBY CONF 2011 | Sept-29 | Public
  • 12. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER 4 | RUBY CONF 2011 | Sept-29 | Public
  • 13. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER 4 | RUBY CONF 2011 | Sept-29 | Public
  • 14. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER AUTOMATED TESTING 4 | RUBY CONF 2011 | Sept-29 | Public
  • 15. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER AUTOMATED TESTING 4 | RUBY CONF 2011 | Sept-29 | Public
  • 16. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER AUTOMATED TESTING 4 | RUBY CONF 2011 | Sept-29 | Public
  • 17. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER AUTOMATED TESTING 4 | RUBY CONF 2011 | Sept-29 | Public
  • 18. Ruby in The Enterprise DISTRIBUTE INTERNAL GEM SERVER AUTOMATED TESTING 4 | RUBY CONF 2011 | Sept-29 | Public
  • 19. 5 | RUBY CONF 2011 | Sept-29 | Public
  • 20. ANALYTICS tool for Healthcare System 5 | RUBY CONF 2011 | Sept-29 | Public
  • 21. Design Philosophy I 6 | RUBY CONF 2011 | Sept-29 | Public
  • 22. Design Philosophy I 6 | RUBY CONF 2011 | Sept-29 | Public
  • 23. Design Philosophy II 7 | RUBY CONF 2011 | Sept-29 | Public
  • 24. Design Philosophy III 8 | RUBY CONF 2011 | Sept-29 | Public
  • 25. Design Philosophy IV 9 | RUBY CONF 2011 | Sept-29 | Public
  • 26. Design Philosophy V 10 | RUBY CONF 2011 | Sept-29 | Public
  • 27. Multi-Dimensional Hierarchical Data | RUBY CONF 2011 | Sept-29 | Public
  • 28. Open Source 12 | RUBY CONF 2011 | Sept-29 | Public
  • 29. ENTERPRISE 13 | RUBY CONF 2011 | Sept-29 | Public
  • 30. ENTERPRISE 14 | RUBY CONF 2011 | Sept-29 | Public
  • 31. Data Architecture 15 | RUBY CONF 2011 | Sept-29 | Public
  • 32. Data Architecture - Step I Data Processing SUS and other Data Sets 16 | RUBY CONF 2011 | Sept-29 | Public
  • 33. Data Architecture - Step II “Kimberly Style” Dimensional Data Warehouse 17 | RUBY CONF 2011 | Sept-29 | Public
  • 34. Data Architecture - Step II “Kimberly Style” Dimensional Data Warehouse 17 | RUBY CONF 2011 | Sept-29 | Public
  • 35. Data Architecture - Step III Application Specific Data Marts 18 | RUBY CONF 2011 | Sept-29 | Public
  • 36. Data Architecture - Step III Application Specific Data Marts 18 | RUBY CONF 2011 | Sept-29 | Public
  • 37. DATA FLOW MAPPING 19 | RUBY CONF 2011 | Sept-29 | Public
  • 38. DATA FLOW MAPPING 20 | RUBY CONF 2011 | Sept-29 | Public
  • 39. DATA FLOW MAPPING 21 | RUBY CONF 2011 | Sept-29 | Public
  • 40. DATA FLOW MAPPING 22 | RUBY CONF 2011 | Sept-29 | Public
  • 41. DATA FLOW MAPPING 23 | RUBY CONF 2011 | Sept-29 | Public
  • 42. Chart Types 24 | RUBY CONF 2011 | Sept-29 | Public
  • 43. Chart Types 24 | RUBY CONF 2011 | Sept-29 | Public
  • 44. Charting Library 25 | RUBY CONF 2011 | Sept-29 | Public
  • 45. Charting Library • Flash, Silverlight etc are not the only option 25 | RUBY CONF 2011 | Sept-29 | Public
  • 46. Charting Library • Flash, Silverlight etc are not the only option • Web based standards for building high quality charts 25 | RUBY CONF 2011 | Sept-29 | Public
  • 47. Charting Library • Flash, Silverlight etc are not the only option • Web based standards for building high quality charts • Should work on multiple platforms including mobile/ipad 25 | RUBY CONF 2011 | Sept-29 | Public
  • 48. Charting Library • Flash, Silverlight etc are not the only option • Web based standards for building high quality charts • Should work on multiple platforms including mobile/ipad 25 | RUBY CONF 2011 | Sept-29 | Public
  • 49. Charting Library • Flash, Silverlight etc are not the only option • Web based standards for building high quality charts • Should work on multiple platforms including mobile/ipad 25 | RUBY CONF 2011 | Sept-29 | Public
  • 50. Extending Charting Libraries 26 | RUBY CONF 2011 | Sept-29 | Public
  • 51. Extending Charting Libraries Extension of Infovis https://github.com/toamitkumar/org_chart 26 | RUBY CONF 2011 | Sept-29 | Public
  • 52. Extending Charting Libraries Extension of HighCharts https://github.com/toamitkumar/waterfall-charts 27 | RUBY CONF 2011 | Sept-29 | Public
  • 53. Extending Charting Libraries Extension of HighCharts https://github.com/toamitkumar/Stacked-Waterfall/tree/master/stacked-waterfall 28 | RUBY CONF 2011 | Sept-29 | Public
  • 54. Configurable Charts 29 | RUBY CONF 2011 | Sept-29 | Public
  • 55. Configurable Charts 30 | RUBY CONF 2011 | Sept-29 | Public
  • 56. Configurable Charts Chart Attributes 31 | RUBY CONF 2011 | Sept-29 | Public
  • 57. Configurable Charts Chart Attributes Dimension for x-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 58. Configurable Charts Chart Attributes Dimension for x-axis Dimension for y-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 59. Configurable Charts Chart Attributes Dimension for x-axis Dimension for y-axis Filters for x-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 60. Configurable Charts Chart Attributes Dimension for x-axis Dimension for y-axis Filters for x-axis Filters for y-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 61. Configurable Charts Chart Attributes Dimension for x-axis Dimension for y-axis Filters for x-axis Filters for y-axis Data on x-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 62. Configurable Charts Chart Attributes Dimension for x-axis Dimension for y-axis Filters for x-axis Filters for y-axis Data on x-axis Data on y-axis 31 | RUBY CONF 2011 | Sept-29 | Public
  • 63. Configurable Charts SQL or MDX 32 | RUBY CONF 2011 | Sept-29 | Public
  • 64. MSAS XMLA INTERFACE 33 | RUBY CONF 2011 | Sept-29 | Public
  • 65. MSAS XMLA INTERFACE 33 | RUBY CONF 2011 | Sept-29 | Public
  • 66. Ruby + OLAP CUBES 34 | RUBY CONF 2011 | Sept-29 | Public
  • 67. Ruby + OLAP CUBES 35 | RUBY CONF 2011 | Sept-29 | Public
  • 68. RUBY + SSAS XMLA Interface 36 | RUBY CONF 2011 | Sept-29 | Public
  • 69. RUBY + SSAS XMLA Interface • JSON output 36 | RUBY CONF 2011 | Sept-29 | Public
  • 70. RUBY + SSAS XMLA Interface • JSON output • Easy integration with Chart Definition Language 36 | RUBY CONF 2011 | Sept-29 | Public
  • 71. RUBY + SSAS XMLA Interface • JSON output • Easy integration with Chart Definition Language • No MDX validation 36 | RUBY CONF 2011 | Sept-29 | Public
  • 72. Listing Cubes 37 | RUBY CONF 2011 | Sept-29 | Public
  • 73. Listing Cubes 37 | RUBY CONF 2011 | Sept-29 | Public
  • 74. SOAP request : listing cubes Listing CUBES 38 | RUBY CONF 2011 | Sept-29 | Public
  • 75. SOAP request : listing cubes Listing CUBES 38 | RUBY CONF 2011 | Sept-29 | Public
  • 76. SOAP request : listing cubes Listing CUBES 38 | RUBY CONF 2011 | Sept-29 | Public
  • 77. SOAP request : listing cubes Listing CUBES 38 | RUBY CONF 2011 | Sept-29 | Public
  • 78. Execute MDX 39 | RUBY CONF 2011 | Sept-29 | Public
  • 79. Execute MDX 39 | RUBY CONF 2011 | Sept-29 | Public
  • 80. SOAP request: Execute MDX Execute MDX 40 | RUBY CONF 2011 | Sept-29 | Public
  • 81. SOAP request: Execute MDX Execute MDX 40 | RUBY CONF 2011 | Sept-29 | Public
  • 82. SOAP request: Execute MDX Execute MDX 40 | RUBY CONF 2011 | Sept-29 | Public
  • 83. asxmla4r 41 | RUBY CONF 2011 | Sept-29 | Public
  • 84. asxmla4r 41 | RUBY CONF 2011 | Sept-29 | Public
  • 85. Analytics and UX 42 | RUBY CONF 2011 | Sept-29 | Public
  • 86. Analytics and UX • Power v/s Normal users 42 | RUBY CONF 2011 | Sept-29 | Public
  • 87. Analytics and UX • Power v/s Normal users • Data focussed 42 | RUBY CONF 2011 | Sept-29 | Public
  • 88. Analytics and UX • Power v/s Normal users • Data focussed • Pareto Principle in context of UI: 20% of the functionality is used 80% of the time 42 | RUBY CONF 2011 | Sept-29 | Public
  • 89. Analytics and UX • Power v/s Normal users • Data focussed • Pareto Principle in context of UI: 20% of the functionality is used 80% of the time • Interface design 42 | RUBY CONF 2011 | Sept-29 | Public
  • 90. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 91. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 92. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 93. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 94. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 95. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 96. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 97. Build for ALL 43 | RUBY CONF 2011 | Sept-29 | Public
  • 98. Build for ALL IE6, IE7, IE8, IE9, IE10 43 | RUBY CONF 2011 | Sept-29 | Public
  • 99. Amit Kumar TATA Consultancy Services Limited | RUBY CONF 2011 | Sept-29 | Public
  • 100. Amit Kumar TATA Consultancy Services Limited • @toamit • github.com/toamitkumar • rubyizednrailified.blogspot.com | RUBY CONF 2011 | Sept-29 | Public

Editor's Notes

  1. \n
  2. Next slide --> must be wondering why I have put emphasis on the word Enterprise\n
  3. Next slide --> ruby in enterprise\nBefore we dive deep into the session, let me introduce the penetration of Ruby in the Enterprise.\nWe have been doing Ruby work for more than 4 years now.\n\n
  4. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  5. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  6. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  7. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  8. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  9. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  10. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  11. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  12. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  13. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  14. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  15. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  16. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  17. Next Slide --> So, coming back. The rest of the session would be focussed on our journey building an Analytics application for healthcare system and how we used Ruby to solve this problem.\n
  18. Next Slide --> We had few design philosophies. The first one is simplicity\n
  19. Next Slide --> We had few design philosophies. The first one is simplicity\n
  20. Next Slide --> We had few design philosophies. The first one is simplicity\n
  21. Next --> portability\n
  22. Next --> security\n
  23. Next --> consistency\n\n
  24. The consistency in interface design is very important. For analytics appln, there are other irregularities which has to be taken care:\n     - Consistent unit of data\n     - Data format\n     - Abbreviations should have clear meaning\n\nNext --> scalability\n
  25. Next --> multi-dimensional data\n
  26. \n
  27. \n
  28. \n
  29. Next slide --> Lets me share how we built the data platform.\n
  30. 3 step process to build the platform\nNext --> scalability\n
  31. - Massaging, cleaning and aggregating raw data from various sources which are parked on raw staging tables.\n\n
  32. - Build Kimberley Style Dimensional Data Warehouse\n\n
  33. - Build application specific tables and olap cubes which were consumes for analytics\n- tables were flattened materialized views\n- cubes for analytics in the appln\n- due to security we had to make sure data is scedure which meant we have to segregate the aggregated and patient level data\n- in the upcoming slide I will show how data flows from source to application tier\nNext --> data mapping\n
  34. \n
  35. - safe haven for data\nLinking -- Sets of data from which the identifiable data has been separated and a ‘key’ added so that the data can be re-connected with its identifiers\nPseudonymisation -- replacing the patient identifiable components with pseudonyms so data processing can happen\n\n
  36. \n
  37. \n
  38. Let us move on to something more interesting. Solving the problem building interactive charts using this dimensional data.\nNext --> Chart Types\n
  39. \n
  40. The most popular data visualization JS libraries in this space are: highcharts, jqplot, graphael, infovis, protoviz, google charts, timeplot etc.\n\nThe most important criteria for selecting any library was its portability across multiple platforms and browsers. We narrowed down on highcharts which satisfies all the kind of charts that our appln demands. We also used Inforviz's Spacetree to build organization hierarchical chart.\n\nThe kind of data visualization requirement we had required us to extend the libraries.\nThe first in the list is Org chart which is an extension of Spacetree api of Infovis\n\n
  41. The most popular data visualization JS libraries in this space are: highcharts, jqplot, graphael, infovis, protoviz, google charts, timeplot etc.\n\nThe most important criteria for selecting any library was its portability across multiple platforms and browsers. We narrowed down on highcharts which satisfies all the kind of charts that our appln demands. We also used Inforviz's Spacetree to build organization hierarchical chart.\n\nThe kind of data visualization requirement we had required us to extend the libraries.\nThe first in the list is Org chart which is an extension of Spacetree api of Infovis\n\n
  42. The most popular data visualization JS libraries in this space are: highcharts, jqplot, graphael, infovis, protoviz, google charts, timeplot etc.\n\nThe most important criteria for selecting any library was its portability across multiple platforms and browsers. We narrowed down on highcharts which satisfies all the kind of charts that our appln demands. We also used Inforviz's Spacetree to build organization hierarchical chart.\n\nThe kind of data visualization requirement we had required us to extend the libraries.\nThe first in the list is Org chart which is an extension of Spacetree api of Infovis\n\n
  43. The most popular data visualization JS libraries in this space are: highcharts, jqplot, graphael, infovis, protoviz, google charts, timeplot etc.\n\nThe most important criteria for selecting any library was its portability across multiple platforms and browsers. We narrowed down on highcharts which satisfies all the kind of charts that our appln demands. We also used Inforviz's Spacetree to build organization hierarchical chart.\n\nThe kind of data visualization requirement we had required us to extend the libraries.\nThe first in the list is Org chart which is an extension of Spacetree api of Infovis\n\n
  44. The most popular data visualization JS libraries in this space are: highcharts, jqplot, graphael, infovis, protoviz, google charts, timeplot etc.\n\nThe most important criteria for selecting any library was its portability across multiple platforms and browsers. We narrowed down on highcharts which satisfies all the kind of charts that our appln demands. We also used Inforviz's Spacetree to build organization hierarchical chart.\n\nThe kind of data visualization requirement we had required us to extend the libraries.\nThe first in the list is Org chart which is an extension of Spacetree api of Infovis\n\n
  45. \n
  46. \n
  47. Next --> Configurable charts\nThe business problem was to simplify the chart creation process. It should be possible to do a new custom chart with arbitrary dimensions (given an existing cube / table of date in the DW) and add it to the app with a few hours work.\n
  48. \n
  49. \n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. \n
  56. So, few hours of chart configuration by power users would enable data visualization in different kind of chart.\n\nThe only problem left here to solve was communication between ruby and OLAP cubes in MS SQL Server AS.\n\n
  57. SQL Server Analysis Servies exposes XMLA interface to communicate to OLAP Cubes.\nFor consuming cube data from SQL Server Analysis Services into our ruby application we had 2 choices. \n
  58. Use existing libraries like olap4j which sits as a service between our app and Analysis Services. This would have meant, we would have bite the bullet of porting the app to JRuby \n
  59. Build the ruby xmla interface ourselves, kind of olap4r\n\nNext slide --> Some principles we kept in mind while designing the XMLA interface in ruby\n
  60. - the library should output data in JSON format for the charting library to consume\n- It should be agnostic to XMLA interface\n- Data security because cubes had dimensional data\n- MDX is pretty complex language. Stay away from becoming mdx validation.  \n\nNext Slide --> In the following slides we would see some code samples explaining the communication between AS and Ruby.\n
  61. - the library should output data in JSON format for the charting library to consume\n- It should be agnostic to XMLA interface\n- Data security because cubes had dimensional data\n- MDX is pretty complex language. Stay away from becoming mdx validation.  \n\nNext Slide --> In the following slides we would see some code samples explaining the communication between AS and Ruby.\n
  62. - the library should output data in JSON format for the charting library to consume\n- It should be agnostic to XMLA interface\n- Data security because cubes had dimensional data\n- MDX is pretty complex language. Stay away from becoming mdx validation.  \n\nNext Slide --> In the following slides we would see some code samples explaining the communication between AS and Ruby.\n
  63. \n
  64. - discover method\n- request type (mdsschema_cubes)\n
  65. - discover method\n- request type (mdsschema_cubes)\n
  66. - discover method\n- request type (mdsschema_cubes)\n
  67. \n
  68. \n
  69. \n
  70. \n
  71. Keep in mind Pareto Principle - 80/20. Pareto Principle in the context of UI basically says 20% of functionality is used 80% of the time.\n
  72. Keep in mind Pareto Principle - 80/20. Pareto Principle in the context of UI basically says 20% of functionality is used 80% of the time.\n
  73. Keep in mind Pareto Principle - 80/20. Pareto Principle in the context of UI basically says 20% of functionality is used 80% of the time.\n
  74. Keep in mind Pareto Principle - 80/20. Pareto Principle in the context of UI basically says 20% of functionality is used 80% of the time.\n
  75. \n
  76. \n
  77. \n
  78. \n
  79. \n
  80. \n
  81. \n
  82. \n
  83. \n
  84. \n