SlideShare uma empresa Scribd logo
1 de 27
www.gaaconsulting.com




Building a Smarter Enterprise
In a Services and Knowledge-based Economy

Migrating Legacy Data: goMongo

         Dr. Naveen Kapoor
         GAA Consulting
         Naveen.kapoor@gaaconsulting.com




                                                          GAA CONFIDENTIAL
                                       March 2013   © Copyright GAA Corporation
www.gaaconsulting.com


                     Objectives
                          Demonstrate how GAA is converting legacy databases from SQL to
                           mongoDB.
                          Discuss lessons learnt using multiple conversion projects
                          Share knowledge of embedding and linking
                          Maintaining referential integrity in mongoDB
    Objectives and
            Topics   Topics
                          Background on GAA
                          Experience of transformation from relational to mongoDB
                          GAA’s solution to ease the transformation process
                          goMongo: Conversion tool from relational databases
                          Joins, embedding and linking in mongoDB
                          Appendix
                                 Background on migration projects
                                 GAA Solutions
                                        AAS Audit Graphs
                                        On Demand Reporting (ODR)
                                        Dashboard




2                                                             March 2013        GAA CONFIDENTIAL   © Copyright GAA Corporation
GAA Integration, Architecture and On Demand Reporting
                                                                                                        www.gaaconsulting.com



Company Overview
                                      Who is GAA Consulting
    We are a small business with over four years of experience serving Federal and Commercial clients
                                         www.gaaconsulting.com

                                             Our People
        • Services ranging from architecture, system support, on demand reporting and analytics
         • Resources skilled in Oracle, Java, Web services, SOA, Javascript, Web development
                      • Dedicated team that supports its clients on a 24X7 basis

                                             Our Clients




                                       Department of Commerce
                                        US Economic Census
                                        GSA, USGS, VA, DOT

                                         Our Differentiators
                 • Proven, well established production level systems, system support
            • Seven (7) outstanding ready-to-integrate solutions at various Federal Agencies
                • Highly skilled resources to support legacy and new application builds
                      • Dedicated team to support 24X7 data center operations



                                                               JAN 2013
3                                                                                       GAA CONFIDENTIAL        © Copyright GAA Corporation
                                                                                                                                  JAN 2013
www.gaaconsulting.com



    Authentication and Authorization Solutions



                                 Authentication
          Converted to
         mongoDB from
                                         - AAS
        Oracle and MySQL
         Using goMongo

                                  Authorization
                                        - CAMS

                                     Enterprise
                                           - SSO

                 GAA
4                                 March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



Demonstrations



    CAMS
    Relational Database
    mongoDB

    goMongo
    Conversion
    Embedding and Linking


5                            March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



    Converting CAMS: Our experiences with goMongo
          CAMS is written using JavaScript, PHP, AJAX, Web Services

          Data Storage: Oracle RAC
          High Availability: Yes
          Current Loads: 50K transactions/day
          JavaScript: Over 4000 lines
          PHP Script: Over 2000 lines



          CAMS on mongoDB

          Data Storage: mongoDB

          High Availability: Replicated

          Current Loads: New release

          JavaScript: Over 4000 lines – made 10 changes

          PHP Script: Less than 500 lines

          Time to Convert: 1 week


6                                                  March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



    Transformation: GAA provides goMongo to ease the
    transformation process

         Step1: Transfer all
         relational content to
         mongoDB


            Step2: Identify PK/FK for
            tables in mongoDB


                Step3: Convert and Test
                using “Embed or Link”
                PK/FK relationships


7                                   March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com




    goMongo – Web based tool


                                     Apply
    • Connect to the             Node/Leaf Rule                   • Generate foreign
      database                                                      associations as
      • Oracle, mySQL      • Convert the tables to                  embedded array
      • Provide u/p          mongoDB                                elements
      • Select DB          • _id’s are generated                  • Generate foreign
                             automatically                          associations as links


           Select tables                                                 Test the result




8                                                    March 2013          GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



Connect to Relational Database (Oracle)



          1. Select
         Connection
          stored in
           CAMS                                        4. Click
                                                       Convert.
                                                       Done!!!


           2. Tables
         loaded from
              the
           database




      Conversion maintains
      data types for strings,
    integers, floats and date
               time.




                                                                  3. Tables to
                                                                  collections




9                                         March 2013   GAA CONFIDENTIAL     © Copyright GAA Corporation
www.gaaconsulting.com



View the mongoDB




     1. View all
     mongoDB
     databases
         and
     collections




      2. Select a
     collection to
         view
     documents




                     3. Click to
                      edit it in
                     Document
                        Editor




10                           March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



goMongo Document Editor




        JSON is
     loaded. Click
      on any field
      to view and
           edit




11                        March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



Embedding and Linking with goMongo



     Preserving the capability for:
     Self referencing
        Application has sub-applications

     1-many relationships
        A Classroom has many students

     Many-many: would like to embed or link all
      users in the group collection.
        USER (ID)
        GROUP (ID)
        USERGROUP(USERID, GID)



12                                          March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



goMongo addresses all types
Over 4K embeds or linkages in under a second

      1. Identify         2. Identify                                               4. Select
                                                3. Identify
       Primary,            Fields in                                                option for
                                                Brokerage
     Foreign and         Primary and                                                embed or
                                                Collection
      Brokerage            Foreign                                               link and label
                                                   fields
     Collections         Collections                                                  in FC




13                                        March 2013          GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



Node/Leaf Rule: 2 Simple rules for converting Associated entities
      Rule 1: If entities are leaf then Embed the associations
      Rule 2: If entities are Nodes Link the associations



Application                                            Permissions

AID = 1                                                ID = 1
PID = 1                                                Permission = Create Role
Application Name = ODR                                 ID = 1
                                                       Permission = Create User
Embed the Permissions Entity
 Since it has no sub entities.
 Permissions entity is a leaf

mongoApplication
_id : 1
PID : [{“0”:{“id”:0,”perm”:”create role”}, “1”:{“id: 1,”perm”:”create user”}}]

Application Name : ODR

14                                                               March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



  Node/Leaf Rule: 2 Simple rules for converting Associated entities
          Rule 1: If entities are leaf then Embed the associations
                                                                                               Groups
          Rule 2: If entities are Nodes Link the associations
                                                                                               GID = 1

                                                                                               RID = 1

Application                                                    Roles                           Group Name = Admin Group


AID = 1                                                                                        Groups
                                                               RID
                                                                                               GID = 2
RID have multiple roles                                        GID have multiple
                                                               Groups                          RID = 1

                                                                                               Group Name = Admin Group
Application Name = ODR


                   Link the Roles Entity
                   Since it has sub entities ie Groups.




 mongoApplication                              mongoRoles                                 mongoGroups
                                               _id _role_1                                _id _group1
 _id : 1
                                               groups:                                    Group name: Admin Group
 roles : [_id_role1,_id_role2]                 [_id_group1,_id_group2]




 15                                                                          March 2013     GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com




     Joins in MongoDB
     Function: JoinTables

     No. of Arguments: 6
     Arg   Name     Type     Description
      1    $PT      String   Primary Table which has the unique set of values
      2    $FT      String   Secondary Table which has the repeating set of values
      3    $IF      String   Link Field. This is the string value that is used in the $FT to link to the
                             $PT. The $FT will have an array of values which is stored under the $lf
                             label
      4    $match   Array    Matching value for example array('USERNAME'=>'kapoo304'). The
           Array             USERNAME field is in the $PT collection
      5    $PTC     Array    Array of columns that you want from the $PT. for example:
                             array('USERNAME'=>'User') (Actual table column and display column)
      6    $FTC     Array    Array of columns that you want from the $FT. for example:
                             array('GROUPSNAME'=>'Group') (Actual table column and display
                             column)


     Response: An array of results which shows the values that match the matchArray. Use
     the response from this to pass to the first argument of the joinArray function.


16                                                              March 2013     GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com




     Joins in MongoDB – Cont…
     Function: JoinArray

     No. of Arguments: 6
     Arg   Name     Type     Description
      1    $PA      Array    Primary Array which has the unique set of values
      2    $FT      String   Secondary Table which has the repeating set of values
      3    $IF      String   Link Field. This is the string value that is used in the $FT to link to the
                             $PT. The $FT will have an array of values which is stored under the $lf
                             label
      4    $colum   String   Name of column from the $PA that matches in value in the lined values
           nMatch            in $FT under the $lf label
      5    $PTC     Array    Array of columns that you want from the $PA. for example:
                             array('USERNAME'=>'User') (Actual table column and display column)
      6    $FTC     Array    Array of columns that you want from the $FT. for example:
                             array('GROUPSNAME'=>'Group') (Actual table column and display
                             column)


     Response:



17                                                              March 2013     GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



Data Abstraction Layer and GAA driver for mongoDB: A logical
representation of mediation to support noSQL



                                  Application Server




                                 Data Abstraction Layer




      Database Specific Driver
                                                                       GAA driver for goMongo
      Example: mySQL driver




              MySql                                                          mongoDB




18                                                        March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com




     Appendix
     Node/Leaf Rules
     GAA Products using goMongo




19                           March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



     AAS – Authentication and Authorization Service

     Forms/
     PL/SQL

                                        SOAP
      Web                               Service
     Browser                           requests
                         APP/DB                                                             Session
               Request    Server                                                          Information
                Pages
     AdHoc
     Queries


                                                   AAS            Manage Authorization
                                                                                          Authorization
                          Manage Authorization    Server                                   Information
      RCP



     CAMS                SOAP Service requests
      Web
     based
                                                                                               LDAP
                                                                                               Server




20                                                         March 2013       GAA CONFIDENTIAL    © Copyright GAA Corporation
www.gaaconsulting.com


  Single Sign-On using SAML and Kerberos Certificates


Value Creation:
1) Application Users can
    authenticate against single
    enterprise source of identity.
2) Provides high levels of security
3) No passwords are transferred
    over the wire
4) Integrate SSO easily with new
    and legacy applications using
    .jar, and web services that can
    be leveraged across multiple
    software languages.
5) One call to authenticate and
    authorize user.
6) Sessions are maintained in the
    database as opposed to files;
    easing scaling and high volume
    traffic
7) User transactions can be
    logged and integrated with
    analytics engine
8) CAMS provides the historical
    charts on transactions by user,
    by application and time periods




  21                                    March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com


    Authorization - Increasing reusability with CAMS
Governance, Security, Control, Monitoring, Management
•    As an enterprise how do we manage the growing interconnections amongst applications?
•    What if I move the end point of the service providers?
•    Rapid provisioning of new business applications, services and service providers.
•    Monitoring, Security, Flexibility and Resiliency needs to be ensured

                                                    Deliver architecture using services
                                       • Provide Security, Governance, Monitoring, Auditing and Control
                                       • Load balancing to support a Federated service delivery platform
                                     • Identify and deliver new services by leveraging SOA suite tools: BPEL



           Business Entities          SOA Governance                                                                      LDAP
                                      1. Security Policies (HTTPS, SLA)                                           Authentication Service
                                      2. Business Rules (Content Based Routing)
                                      3. Monitoring
                                      Monitoring and rapid growth:
                                      1. Monitoring SLAs
                                      2. Integrate business services through ESB’s exposed end points to
         Business Applications
                                         create new business services

                                                      ESB                                 AAS
                                                Route dynamically                   Authentication and              Load balanced, highly
                                                Transport formats                     Authorization                available authorization
                                              Mediate and DR, LB, HA                    Services                         information
          Legacy applications

                                                 Logs

                                                             Service Registry & Logs
                                                  Stores WSDLs , End Points for HA, LB, DRM & Logs



    22                                                                                    March 2013       GAA CONFIDENTIAL    © Copyright GAA Corporation
                                                                                                                                              MARCH 2013
www.gaaconsulting.com


  CAMS: Business Owners can manage and govern consolidations,
  applications and entitlement
Value Creation:
1) Multiple applications and their
    owners can assign permissions
    to users via groups and roles.
2) Application space can be
    further broken down into sub-
    applications
3) Supports single sign-on.
4) Supports web services with
    adapters using REST or SOAP
    protocols
5) Configurations for applications
    can be centralized
6) CAMS as an application
    introspects to provide access to      Click a group
    manage privileges for other        to manage Roles,
    applications                          RLP, Users
7) Business Owners manage who
    can do what
8) Rapid deployment
9) Business owners, developers,
    testers and deployment staff
    are consumers of this                                                                                            Click on user to
    application                                                                                                    remove from group
10) Proven solution
                                                          Click user to add to
                                                                the group




 23                                                                              March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com


  AAS Web services that provide flexible integration across the
  enterprise. Supports both REST and SOAP based protocols.


Value Creation:
1) Supports single sign-on for
    various applications written in
    Java, PHP, Python, JavaScript,
    Oracle PL/SQL
2) Core web services based
    technology that supports both
    SOAP and REST based web
    services call
3) Supports authentication by
    integrating with LDAP servers
4) Load balanced and highly
    available to address disaster
    and performance issues
5) Sessions are managed in
    MongoDB for high performance
    as opposed to a file based
    management system
6) Scales up to 100,000+
    transactions per day




 24                                       March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com




     GAA Solutions




25                   March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com


AAS audit graphs: Monitor and track usage of applications

  •    View delivered
       services
  •    Governance
  •    Management
  •    SLA
       Compliance
  •    PDF Reports
  •    Authorization
       Network




  26                             March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
www.gaaconsulting.com



 CAMS delivers On-demand reporting: Mashup content from diverse
 platforms while delivering single-view to the Client



Problem:
No centralized reporting system
that will integrate with systems and
applications

Solution:
On demand reporting that
integrates with applications, LDAP,
Directory and servers

Value Creation:
1. Users can formulate their own
    request for information via an
    email
2. Information can be retrieved on
    an on-demand basis.
3. Integrates with any
    applications, system support,
    Remedy, COTS products.
4. Services both mobile and
    standard platforms




 27                                    March 2013   GAA CONFIDENTIAL   © Copyright GAA Corporation
                                                                                      MARCH 2013

Mais conteúdo relacionado

Destaque

2do año ed civica - esquema de contenidos nodales
2do año   ed civica - esquema de contenidos nodales2do año   ed civica - esquema de contenidos nodales
2do año ed civica - esquema de contenidos nodalescolegiolascumbres
 
Experimental boards electronic circuits
Experimental boards electronic circuitsExperimental boards electronic circuits
Experimental boards electronic circuitsAkash Bais
 
Estados de la quimica daniel cañas
Estados de la quimica daniel cañasEstados de la quimica daniel cañas
Estados de la quimica daniel cañasDaniel Cañas
 
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...Allia_Salle_De_Bains
 
Derecho internacional rosmely
Derecho internacional rosmelyDerecho internacional rosmely
Derecho internacional rosmelyyrvc
 
Los epitafios más graciosos.
Los epitafios más graciosos.Los epitafios más graciosos.
Los epitafios más graciosos.LimpiezasExpress
 
Le cdi et ses drôles de docs mai 2016
Le cdi et ses drôles de docs mai 2016Le cdi et ses drôles de docs mai 2016
Le cdi et ses drôles de docs mai 2016esidocvigan
 
Propuesta de herramientas gerenciales para el mejoramiento y fortalecimien...
Propuesta  de herramientas gerenciales  para el mejoramiento  y fortalecimien...Propuesta  de herramientas gerenciales  para el mejoramiento  y fortalecimien...
Propuesta de herramientas gerenciales para el mejoramiento y fortalecimien...gerenciaproy
 

Destaque (13)

2do año ed civica - esquema de contenidos nodales
2do año   ed civica - esquema de contenidos nodales2do año   ed civica - esquema de contenidos nodales
2do año ed civica - esquema de contenidos nodales
 
img003
img003img003
img003
 
Robot de cocina smeg SMF01CREU
Robot de cocina smeg SMF01CREURobot de cocina smeg SMF01CREU
Robot de cocina smeg SMF01CREU
 
Experimental boards electronic circuits
Experimental boards electronic circuitsExperimental boards electronic circuits
Experimental boards electronic circuits
 
Fractions and decimals in class
Fractions and decimals in classFractions and decimals in class
Fractions and decimals in class
 
Tostadora Smeg TSF02BLEU
Tostadora Smeg TSF02BLEUTostadora Smeg TSF02BLEU
Tostadora Smeg TSF02BLEU
 
Estados de la quimica daniel cañas
Estados de la quimica daniel cañasEstados de la quimica daniel cañas
Estados de la quimica daniel cañas
 
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...
Fiche technique lavabos de 65 cm asymétrique Prima Style par Allia salle de b...
 
Derecho internacional rosmely
Derecho internacional rosmelyDerecho internacional rosmely
Derecho internacional rosmely
 
Los epitafios más graciosos.
Los epitafios más graciosos.Los epitafios más graciosos.
Los epitafios más graciosos.
 
Le cdi et ses drôles de docs mai 2016
Le cdi et ses drôles de docs mai 2016Le cdi et ses drôles de docs mai 2016
Le cdi et ses drôles de docs mai 2016
 
Tratamiento de aguas residuales.
Tratamiento de aguas residuales.Tratamiento de aguas residuales.
Tratamiento de aguas residuales.
 
Propuesta de herramientas gerenciales para el mejoramiento y fortalecimien...
Propuesta  de herramientas gerenciales  para el mejoramiento  y fortalecimien...Propuesta  de herramientas gerenciales  para el mejoramiento  y fortalecimien...
Propuesta de herramientas gerenciales para el mejoramiento y fortalecimien...
 

Semelhante a GAA Presents "goMongo" and HayStack

An Overview of Dow Jones' Use of Semantic Technologies
An Overview of Dow Jones' Use of Semantic TechnologiesAn Overview of Dow Jones' Use of Semantic Technologies
An Overview of Dow Jones' Use of Semantic TechnologiesChristine Connors
 
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptx
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptxNeo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptx
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptxNeo4j
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon Web Services Korea
 
Oracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewOracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewJinyu Wang
 
Find What You Need Fast with the Google Search Appliance
Find What You Need Fast with the Google Search ApplianceFind What You Need Fast with the Google Search Appliance
Find What You Need Fast with the Google Search ApplianceFishbowl Solutions
 
AWS UK User Group Migrating 600 Databases - February 2023.pdf
AWS UK User Group Migrating 600 Databases - February 2023.pdfAWS UK User Group Migrating 600 Databases - February 2023.pdf
AWS UK User Group Migrating 600 Databases - February 2023.pdfMatt Houghton
 
Giga spaces cloudify road map-3 (citi)
Giga spaces cloudify road map-3 (citi)Giga spaces cloudify road map-3 (citi)
Giga spaces cloudify road map-3 (citi)Nati Shalom
 
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...Amazon Web Services Korea
 
Linthicum next generation-iaa s-paas-and-database-as-a-service
Linthicum next generation-iaa s-paas-and-database-as-a-serviceLinthicum next generation-iaa s-paas-and-database-as-a-service
Linthicum next generation-iaa s-paas-and-database-as-a-serviceDavid Linthicum
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresEDB
 
BI, Hive or Big Data Analytics?
BI, Hive or Big Data Analytics? BI, Hive or Big Data Analytics?
BI, Hive or Big Data Analytics? Datameer
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Datavail
 
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...hannonhill
 
Making Money in the Cloud
Making Money in the CloudMaking Money in the Cloud
Making Money in the CloudGravitant, Inc.
 
Elevate MongoDB with ODBC/JDBC
Elevate MongoDB with ODBC/JDBCElevate MongoDB with ODBC/JDBC
Elevate MongoDB with ODBC/JDBCMongoDB
 
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Denodo
 
CA Security - Deloitte IAM Summit - Vasu
CA Security - Deloitte IAM Summit  - VasuCA Security - Deloitte IAM Summit  - Vasu
CA Security - Deloitte IAM Summit - VasuVasu Surabhi
 

Semelhante a GAA Presents "goMongo" and HayStack (20)

An Overview of Dow Jones' Use of Semantic Technologies
An Overview of Dow Jones' Use of Semantic TechnologiesAn Overview of Dow Jones' Use of Semantic Technologies
An Overview of Dow Jones' Use of Semantic Technologies
 
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptx
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptxNeo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptx
Neo4j & AWS Bedrock workshop at GraphSummit London 14 Nov 2023.pptx
 
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
Amazon DocumentDB vs MongoDB 의 내부 아키텍쳐 와 장단점 비교
 
Oracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service OverviewOracle GoldenGate Cloud Service Overview
Oracle GoldenGate Cloud Service Overview
 
Find What You Need Fast with the Google Search Appliance
Find What You Need Fast with the Google Search ApplianceFind What You Need Fast with the Google Search Appliance
Find What You Need Fast with the Google Search Appliance
 
AWS UK User Group Migrating 600 Databases - February 2023.pdf
AWS UK User Group Migrating 600 Databases - February 2023.pdfAWS UK User Group Migrating 600 Databases - February 2023.pdf
AWS UK User Group Migrating 600 Databases - February 2023.pdf
 
Giga spaces cloudify road map-3 (citi)
Giga spaces cloudify road map-3 (citi)Giga spaces cloudify road map-3 (citi)
Giga spaces cloudify road map-3 (citi)
 
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
[Keynote] Data Driven Organizations with AWS Data - 발표자: Agnes Panosian, Head...
 
Linthicum next generation-iaa s-paas-and-database-as-a-service
Linthicum next generation-iaa s-paas-and-database-as-a-serviceLinthicum next generation-iaa s-paas-and-database-as-a-service
Linthicum next generation-iaa s-paas-and-database-as-a-service
 
Reducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with PostgresReducing Database Pain & Costs with Postgres
Reducing Database Pain & Costs with Postgres
 
BI, Hive or Big Data Analytics?
BI, Hive or Big Data Analytics? BI, Hive or Big Data Analytics?
BI, Hive or Big Data Analytics?
 
Serverless_with_MongoDB
Serverless_with_MongoDBServerless_with_MongoDB
Serverless_with_MongoDB
 
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
Lessons from Migrating Oracle Databases to Amazon RDS or Amazon Aurora
 
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...
Progressive Enhancements to Improve Content Editing and Reuse in Cascade Serv...
 
Making Money in the Cloud
Making Money in the CloudMaking Money in the Cloud
Making Money in the Cloud
 
Elevate MongoDB with ODBC/JDBC
Elevate MongoDB with ODBC/JDBCElevate MongoDB with ODBC/JDBC
Elevate MongoDB with ODBC/JDBC
 
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
 
Apouc 2014-oracle-cloud-strategy
Apouc 2014-oracle-cloud-strategyApouc 2014-oracle-cloud-strategy
Apouc 2014-oracle-cloud-strategy
 
CA Security - Deloitte IAM Summit - Vasu
CA Security - Deloitte IAM Summit  - VasuCA Security - Deloitte IAM Summit  - Vasu
CA Security - Deloitte IAM Summit - Vasu
 
Postgres survey podcast
Postgres survey podcastPostgres survey podcast
Postgres survey podcast
 

Mais de MongoDB

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump StartMongoDB
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB
 

Mais de MongoDB (20)

MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB AtlasMongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
MongoDB SoCal 2020: Migrate Anything* to MongoDB Atlas
 
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
MongoDB SoCal 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
MongoDB SoCal 2020: Using MongoDB Services in Kubernetes: Any Platform, Devel...
 
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDBMongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
MongoDB SoCal 2020: A Complete Methodology of Data Modeling for MongoDB
 
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
MongoDB SoCal 2020: From Pharmacist to Analyst: Leveraging MongoDB for Real-T...
 
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series DataMongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
MongoDB SoCal 2020: Best Practices for Working with IoT and Time-series Data
 
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 MongoDB SoCal 2020: MongoDB Atlas Jump Start MongoDB SoCal 2020: MongoDB Atlas Jump Start
MongoDB SoCal 2020: MongoDB Atlas Jump Start
 
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
MongoDB .local San Francisco 2020: Powering the new age data demands [Infosys]
 
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
MongoDB .local San Francisco 2020: Using Client Side Encryption in MongoDB 4.2
 
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
MongoDB .local San Francisco 2020: Using MongoDB Services in Kubernetes: any ...
 
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
MongoDB .local San Francisco 2020: Go on a Data Safari with MongoDB Charts!
 
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your MindsetMongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
MongoDB .local San Francisco 2020: From SQL to NoSQL -- Changing Your Mindset
 
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas JumpstartMongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
MongoDB .local San Francisco 2020: MongoDB Atlas Jumpstart
 
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
MongoDB .local San Francisco 2020: Tips and Tricks++ for Querying and Indexin...
 
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
MongoDB .local San Francisco 2020: Aggregation Pipeline Power++
 
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
MongoDB .local San Francisco 2020: A Complete Methodology of Data Modeling fo...
 
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep DiveMongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
MongoDB .local San Francisco 2020: MongoDB Atlas Data Lake Technical Deep Dive
 
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & GolangMongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
MongoDB .local San Francisco 2020: Developing Alexa Skills with MongoDB & Golang
 
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
MongoDB .local Paris 2020: Realm : l'ingrédient secret pour de meilleures app...
 
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
MongoDB .local Paris 2020: Upply @MongoDB : Upply : Quand le Machine Learning...
 

GAA Presents "goMongo" and HayStack

  • 1. www.gaaconsulting.com Building a Smarter Enterprise In a Services and Knowledge-based Economy Migrating Legacy Data: goMongo Dr. Naveen Kapoor GAA Consulting Naveen.kapoor@gaaconsulting.com GAA CONFIDENTIAL March 2013 © Copyright GAA Corporation
  • 2. www.gaaconsulting.com Objectives  Demonstrate how GAA is converting legacy databases from SQL to mongoDB.  Discuss lessons learnt using multiple conversion projects  Share knowledge of embedding and linking  Maintaining referential integrity in mongoDB Objectives and Topics Topics  Background on GAA  Experience of transformation from relational to mongoDB  GAA’s solution to ease the transformation process  goMongo: Conversion tool from relational databases  Joins, embedding and linking in mongoDB  Appendix  Background on migration projects  GAA Solutions  AAS Audit Graphs  On Demand Reporting (ODR)  Dashboard 2 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 3. GAA Integration, Architecture and On Demand Reporting www.gaaconsulting.com Company Overview Who is GAA Consulting We are a small business with over four years of experience serving Federal and Commercial clients www.gaaconsulting.com Our People • Services ranging from architecture, system support, on demand reporting and analytics • Resources skilled in Oracle, Java, Web services, SOA, Javascript, Web development • Dedicated team that supports its clients on a 24X7 basis Our Clients Department of Commerce US Economic Census GSA, USGS, VA, DOT Our Differentiators • Proven, well established production level systems, system support • Seven (7) outstanding ready-to-integrate solutions at various Federal Agencies • Highly skilled resources to support legacy and new application builds • Dedicated team to support 24X7 data center operations JAN 2013 3 GAA CONFIDENTIAL © Copyright GAA Corporation JAN 2013
  • 4. www.gaaconsulting.com Authentication and Authorization Solutions Authentication Converted to mongoDB from - AAS Oracle and MySQL Using goMongo Authorization - CAMS Enterprise - SSO GAA 4 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 5. www.gaaconsulting.com Demonstrations CAMS Relational Database mongoDB goMongo Conversion Embedding and Linking 5 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 6. www.gaaconsulting.com Converting CAMS: Our experiences with goMongo CAMS is written using JavaScript, PHP, AJAX, Web Services Data Storage: Oracle RAC High Availability: Yes Current Loads: 50K transactions/day JavaScript: Over 4000 lines PHP Script: Over 2000 lines CAMS on mongoDB Data Storage: mongoDB High Availability: Replicated Current Loads: New release JavaScript: Over 4000 lines – made 10 changes PHP Script: Less than 500 lines Time to Convert: 1 week 6 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 7. www.gaaconsulting.com Transformation: GAA provides goMongo to ease the transformation process Step1: Transfer all relational content to mongoDB Step2: Identify PK/FK for tables in mongoDB Step3: Convert and Test using “Embed or Link” PK/FK relationships 7 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 8. www.gaaconsulting.com goMongo – Web based tool Apply • Connect to the Node/Leaf Rule • Generate foreign database associations as • Oracle, mySQL • Convert the tables to embedded array • Provide u/p mongoDB elements • Select DB • _id’s are generated • Generate foreign automatically associations as links Select tables Test the result 8 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 9. www.gaaconsulting.com Connect to Relational Database (Oracle) 1. Select Connection stored in CAMS 4. Click Convert. Done!!! 2. Tables loaded from the database Conversion maintains data types for strings, integers, floats and date time. 3. Tables to collections 9 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 10. www.gaaconsulting.com View the mongoDB 1. View all mongoDB databases and collections 2. Select a collection to view documents 3. Click to edit it in Document Editor 10 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 11. www.gaaconsulting.com goMongo Document Editor JSON is loaded. Click on any field to view and edit 11 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 12. www.gaaconsulting.com Embedding and Linking with goMongo Preserving the capability for: Self referencing  Application has sub-applications 1-many relationships  A Classroom has many students Many-many: would like to embed or link all users in the group collection.  USER (ID)  GROUP (ID)  USERGROUP(USERID, GID) 12 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 13. www.gaaconsulting.com goMongo addresses all types Over 4K embeds or linkages in under a second 1. Identify 2. Identify 4. Select 3. Identify Primary, Fields in option for Brokerage Foreign and Primary and embed or Collection Brokerage Foreign link and label fields Collections Collections in FC 13 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 14. www.gaaconsulting.com Node/Leaf Rule: 2 Simple rules for converting Associated entities Rule 1: If entities are leaf then Embed the associations Rule 2: If entities are Nodes Link the associations Application Permissions AID = 1 ID = 1 PID = 1 Permission = Create Role Application Name = ODR ID = 1 Permission = Create User Embed the Permissions Entity Since it has no sub entities. Permissions entity is a leaf mongoApplication _id : 1 PID : [{“0”:{“id”:0,”perm”:”create role”}, “1”:{“id: 1,”perm”:”create user”}}] Application Name : ODR 14 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 15. www.gaaconsulting.com Node/Leaf Rule: 2 Simple rules for converting Associated entities Rule 1: If entities are leaf then Embed the associations Groups Rule 2: If entities are Nodes Link the associations GID = 1 RID = 1 Application Roles Group Name = Admin Group AID = 1 Groups RID GID = 2 RID have multiple roles GID have multiple Groups RID = 1 Group Name = Admin Group Application Name = ODR Link the Roles Entity Since it has sub entities ie Groups. mongoApplication mongoRoles mongoGroups _id _role_1 _id _group1 _id : 1 groups: Group name: Admin Group roles : [_id_role1,_id_role2] [_id_group1,_id_group2] 15 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 16. www.gaaconsulting.com Joins in MongoDB Function: JoinTables No. of Arguments: 6 Arg Name Type Description 1 $PT String Primary Table which has the unique set of values 2 $FT String Secondary Table which has the repeating set of values 3 $IF String Link Field. This is the string value that is used in the $FT to link to the $PT. The $FT will have an array of values which is stored under the $lf label 4 $match Array Matching value for example array('USERNAME'=>'kapoo304'). The Array USERNAME field is in the $PT collection 5 $PTC Array Array of columns that you want from the $PT. for example: array('USERNAME'=>'User') (Actual table column and display column) 6 $FTC Array Array of columns that you want from the $FT. for example: array('GROUPSNAME'=>'Group') (Actual table column and display column) Response: An array of results which shows the values that match the matchArray. Use the response from this to pass to the first argument of the joinArray function. 16 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 17. www.gaaconsulting.com Joins in MongoDB – Cont… Function: JoinArray No. of Arguments: 6 Arg Name Type Description 1 $PA Array Primary Array which has the unique set of values 2 $FT String Secondary Table which has the repeating set of values 3 $IF String Link Field. This is the string value that is used in the $FT to link to the $PT. The $FT will have an array of values which is stored under the $lf label 4 $colum String Name of column from the $PA that matches in value in the lined values nMatch in $FT under the $lf label 5 $PTC Array Array of columns that you want from the $PA. for example: array('USERNAME'=>'User') (Actual table column and display column) 6 $FTC Array Array of columns that you want from the $FT. for example: array('GROUPSNAME'=>'Group') (Actual table column and display column) Response: 17 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 18. www.gaaconsulting.com Data Abstraction Layer and GAA driver for mongoDB: A logical representation of mediation to support noSQL Application Server Data Abstraction Layer Database Specific Driver GAA driver for goMongo Example: mySQL driver MySql mongoDB 18 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 19. www.gaaconsulting.com Appendix Node/Leaf Rules GAA Products using goMongo 19 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 20. www.gaaconsulting.com AAS – Authentication and Authorization Service Forms/ PL/SQL SOAP Web Service Browser requests APP/DB Session Request Server Information Pages AdHoc Queries AAS Manage Authorization Authorization Manage Authorization Server Information RCP CAMS SOAP Service requests Web based LDAP Server 20 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 21. www.gaaconsulting.com Single Sign-On using SAML and Kerberos Certificates Value Creation: 1) Application Users can authenticate against single enterprise source of identity. 2) Provides high levels of security 3) No passwords are transferred over the wire 4) Integrate SSO easily with new and legacy applications using .jar, and web services that can be leveraged across multiple software languages. 5) One call to authenticate and authorize user. 6) Sessions are maintained in the database as opposed to files; easing scaling and high volume traffic 7) User transactions can be logged and integrated with analytics engine 8) CAMS provides the historical charts on transactions by user, by application and time periods 21 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 22. www.gaaconsulting.com Authorization - Increasing reusability with CAMS Governance, Security, Control, Monitoring, Management • As an enterprise how do we manage the growing interconnections amongst applications? • What if I move the end point of the service providers? • Rapid provisioning of new business applications, services and service providers. • Monitoring, Security, Flexibility and Resiliency needs to be ensured Deliver architecture using services • Provide Security, Governance, Monitoring, Auditing and Control • Load balancing to support a Federated service delivery platform • Identify and deliver new services by leveraging SOA suite tools: BPEL Business Entities SOA Governance LDAP 1. Security Policies (HTTPS, SLA) Authentication Service 2. Business Rules (Content Based Routing) 3. Monitoring Monitoring and rapid growth: 1. Monitoring SLAs 2. Integrate business services through ESB’s exposed end points to Business Applications create new business services ESB AAS Route dynamically Authentication and Load balanced, highly Transport formats Authorization available authorization Mediate and DR, LB, HA Services information Legacy applications Logs Service Registry & Logs Stores WSDLs , End Points for HA, LB, DRM & Logs 22 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation MARCH 2013
  • 23. www.gaaconsulting.com CAMS: Business Owners can manage and govern consolidations, applications and entitlement Value Creation: 1) Multiple applications and their owners can assign permissions to users via groups and roles. 2) Application space can be further broken down into sub- applications 3) Supports single sign-on. 4) Supports web services with adapters using REST or SOAP protocols 5) Configurations for applications can be centralized 6) CAMS as an application introspects to provide access to Click a group manage privileges for other to manage Roles, applications RLP, Users 7) Business Owners manage who can do what 8) Rapid deployment 9) Business owners, developers, testers and deployment staff are consumers of this Click on user to application remove from group 10) Proven solution Click user to add to the group 23 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 24. www.gaaconsulting.com AAS Web services that provide flexible integration across the enterprise. Supports both REST and SOAP based protocols. Value Creation: 1) Supports single sign-on for various applications written in Java, PHP, Python, JavaScript, Oracle PL/SQL 2) Core web services based technology that supports both SOAP and REST based web services call 3) Supports authentication by integrating with LDAP servers 4) Load balanced and highly available to address disaster and performance issues 5) Sessions are managed in MongoDB for high performance as opposed to a file based management system 6) Scales up to 100,000+ transactions per day 24 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 25. www.gaaconsulting.com GAA Solutions 25 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 26. www.gaaconsulting.com AAS audit graphs: Monitor and track usage of applications • View delivered services • Governance • Management • SLA Compliance • PDF Reports • Authorization Network 26 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation
  • 27. www.gaaconsulting.com CAMS delivers On-demand reporting: Mashup content from diverse platforms while delivering single-view to the Client Problem: No centralized reporting system that will integrate with systems and applications Solution: On demand reporting that integrates with applications, LDAP, Directory and servers Value Creation: 1. Users can formulate their own request for information via an email 2. Information can be retrieved on an on-demand basis. 3. Integrates with any applications, system support, Remedy, COTS products. 4. Services both mobile and standard platforms 27 March 2013 GAA CONFIDENTIAL © Copyright GAA Corporation MARCH 2013