SlideShare uma empresa Scribd logo
1 de 18
Baixar para ler offline
Developing Social Network
       using ORM

                By N.S.Devaraj
Good Afternoon!!
Agenda
                     ORM Introduction

                        Why ORM ?

                    How to use ORM ?

         Why Generic DAO / Persistent Collections ?

               Social Networking Application

                           Demo

                        Questions ?
Flash Camp Chennai - Social network with ORM
OMG WTF ORM ?
Object-Relational Mapping
maps objects to relational databases   maps relational databases to objects



   a programming technique for converting data between incompatible
   type systems in object-oriented programming languages
                                                     - WikiPedia
Why ORM ?
                                                             Full on
                                                        Objects of objects

                       Less DB Work           The ORM World

                                          Beans
                                      Not much else


 Procedural                                           Object-Oriented




 Classic Procedural
    with DAO’s


                      More DB Work
How to use ORM
ORM have to allow the DB swap "on the fly"


                        to achieve, we need DI / IoC framework (Swiz)

                       a GenericDAO to be created to manage Business
                                           Logic

                         a Persistent Data collection to reduce server
                                             calls

                         supported with a Push Mechanism to be Sync
                         with Data Source & for Conflict Management
Data Access Object
                 DAO is used to
                                            Each DAO
                   do CRUD
                                           instance is
                operations and
                                         responsible for
                  access with
                                          one primary
                Database tables,
                                         domain object
                used to achieve
                                            or entity.
                 encapsulation



 an object that provides an abstract interface to some types of database
 or persistence mechanism.
                                                       - WikiPedia
Why we need
GenericDAO?
  Mostly we                                                     With
   deal with                                                GenericDAO,      Unit testing
multiple VO’s    Using MVC Framework, while dealing with    the business    is damn easy
to be queried            n x VO, we end up with             logic will be     as we can
 from service                                                in generic     inject values
     layer.                                                     code.




                   nx             nx
                                               n x Events
                Delegates      Commands
Advantages
                Increases
               productivity


             Apply DRY (Don’t
             Repeat Yourself)
                Principle



              Reduces errors



               Easy for Unit
                  Testing
Server DAO Model
         Abstract                                            Real World Example

     Data Source                                              SQL Table: Notes

  Create, Read, Update, Delete                                    Perform SQL Queries


Data Access Object                                                 Notes DAO
                                    creates                                              Maps SQL Records to

Delegates CRUD Operations to                                  Delegates CRUD Operations to

                                              Value Object                                                     NoteVO
  Business Object                                               Library Service

             calls               receives                         Communicates with
                                                                                             receives


          Client                                                     Flex RIA
Client DAO Model
             Abstract                                                Real World Example
                                                     Push                                                           Push
      Business Object                        Delegate Update             Notes Beans                    Delegate Update



       Create, Read, Update, Delete                                        Perform functions
                                         creates

PC             DAO                                             PC       Generic DAO                 Service Results to



     Delegates CRUD Operations to                                    Delegates CRUD Operations to

                                                       VO                                                       NoteVO
              Events                                                         Signals

                dispatches            receives                                dispatches
                                                                                                        receives

               View                                                 Skinnable Component
Why Persistent
Collections?
Social Network App
  Value Objects Required



                               Persons




                                         Notes(updates)
                 Connections
                                          – files, replies
DEMO
Questions ?
Thanks For




      Twitter @nsdevaraj
      GTalk   nsdevaraj
      Blog    http://nsdevaraj.wordpress.com
      Code    https://github.com/nsdevaraj/SwizDAO
      Web     http://www.adamstudio.in

Mais conteúdo relacionado

Mais procurados

Novell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and ManufacturingNovell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and ManufacturingNovell
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategydrmarcustillett
 
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...NetApp
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...Khazret Sapenov
 
Novell Success Stories: Collaboration in Government
Novell Success Stories: Collaboration in GovernmentNovell Success Stories: Collaboration in Government
Novell Success Stories: Collaboration in GovernmentNovell
 
Novell Success Stories: Collaboration in Travel and Hospitality
Novell Success Stories: Collaboration in Travel and HospitalityNovell Success Stories: Collaboration in Travel and Hospitality
Novell Success Stories: Collaboration in Travel and HospitalityNovell
 
Is Private Cloud Right for Your Organization
Is Private Cloud Right for Your OrganizationIs Private Cloud Right for Your Organization
Is Private Cloud Right for Your OrganizationDave Roberts
 
Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
9sept2009 concept electronics
9sept2009 concept electronics9sept2009 concept electronics
9sept2009 concept electronicsAgora Group
 
FutuRIS Architecture
FutuRIS ArchitectureFutuRIS Architecture
FutuRIS Architecturepashaz03
 
Repeater customer business presentation 5 nov-12
Repeater customer business presentation 5 nov-12Repeater customer business presentation 5 nov-12
Repeater customer business presentation 5 nov-12Nuno Alves
 
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback OpportunityNovell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback OpportunityNovell
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldRichard McDougall
 
Practical experiences and best practices for SSD and IBM i
Practical experiences and best practices for SSD and IBM iPractical experiences and best practices for SSD and IBM i
Practical experiences and best practices for SSD and IBM iCOMMON Europe
 
Mysql story in poi dedup
Mysql story in poi dedupMysql story in poi dedup
Mysql story in poi dedupfeng lee
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java DevelopersRichard McDougall
 
RES Online Seminar Een gratis werkplek voor iedereen
RES Online Seminar Een gratis werkplek voor iedereenRES Online Seminar Een gratis werkplek voor iedereen
RES Online Seminar Een gratis werkplek voor iedereenRES Software Nederland
 
Windows Azure and the cloud: What it’s all about
Windows Azure and the cloud: What it’s all aboutWindows Azure and the cloud: What it’s all about
Windows Azure and the cloud: What it’s all aboutMaarten Balliauw
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinarCloudBees
 
Client Virtualization
Client VirtualizationClient Virtualization
Client VirtualizationAmit Gatenyo
 

Mais procurados (20)

Novell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and ManufacturingNovell Success Stories: Endpoint Management in Retail and Manufacturing
Novell Success Stories: Endpoint Management in Retail and Manufacturing
 
Choosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform StrategyChoosing Your Windows Azure Platform Strategy
Choosing Your Windows Azure Platform Strategy
 
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
VMware PEX Boot Camp - Reaching the Clouds with NetApp Integrations with VMwa...
 
Cloud computing bringing the dark side of enterprise apps into the light by...
Cloud computing   bringing the dark side of enterprise apps into the light by...Cloud computing   bringing the dark side of enterprise apps into the light by...
Cloud computing bringing the dark side of enterprise apps into the light by...
 
Novell Success Stories: Collaboration in Government
Novell Success Stories: Collaboration in GovernmentNovell Success Stories: Collaboration in Government
Novell Success Stories: Collaboration in Government
 
Novell Success Stories: Collaboration in Travel and Hospitality
Novell Success Stories: Collaboration in Travel and HospitalityNovell Success Stories: Collaboration in Travel and Hospitality
Novell Success Stories: Collaboration in Travel and Hospitality
 
Is Private Cloud Right for Your Organization
Is Private Cloud Right for Your OrganizationIs Private Cloud Right for Your Organization
Is Private Cloud Right for Your Organization
 
Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleCloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
9sept2009 concept electronics
9sept2009 concept electronics9sept2009 concept electronics
9sept2009 concept electronics
 
FutuRIS Architecture
FutuRIS ArchitectureFutuRIS Architecture
FutuRIS Architecture
 
Repeater customer business presentation 5 nov-12
Repeater customer business presentation 5 nov-12Repeater customer business presentation 5 nov-12
Repeater customer business presentation 5 nov-12
 
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback OpportunityNovell Support Revealed! An Insider's Peek and Feedback Opportunity
Novell Support Revealed! An Insider's Peek and Feedback Opportunity
 
Inside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworldInside the Hadoop Machine @ VMworld
Inside the Hadoop Machine @ VMworld
 
Practical experiences and best practices for SSD and IBM i
Practical experiences and best practices for SSD and IBM iPractical experiences and best practices for SSD and IBM i
Practical experiences and best practices for SSD and IBM i
 
Mysql story in poi dedup
Mysql story in poi dedupMysql story in poi dedup
Mysql story in poi dedup
 
Virtualization Primer for Java Developers
Virtualization Primer for Java DevelopersVirtualization Primer for Java Developers
Virtualization Primer for Java Developers
 
RES Online Seminar Een gratis werkplek voor iedereen
RES Online Seminar Een gratis werkplek voor iedereenRES Online Seminar Een gratis werkplek voor iedereen
RES Online Seminar Een gratis werkplek voor iedereen
 
Windows Azure and the cloud: What it’s all about
Windows Azure and the cloud: What it’s all aboutWindows Azure and the cloud: What it’s all about
Windows Azure and the cloud: What it’s all about
 
Stairway to heaven webinar
Stairway to heaven webinarStairway to heaven webinar
Stairway to heaven webinar
 
Client Virtualization
Client VirtualizationClient Virtualization
Client Virtualization
 

Destaque

Python BCN Introduction to SQLAlchemy
Python BCN Introduction to SQLAlchemyPython BCN Introduction to SQLAlchemy
Python BCN Introduction to SQLAlchemytheManda
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM Mark Rees
 
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Innovecs
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIsSilota Inc.
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with PythonLarry Cai
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsSolution4Future
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with PythonJeff Knupp
 

Destaque (10)

Python BCN Introduction to SQLAlchemy
Python BCN Introduction to SQLAlchemyPython BCN Introduction to SQLAlchemy
Python BCN Introduction to SQLAlchemy
 
Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM  Relational Database Access with Python ‘sans’ ORM
Relational Database Access with Python ‘sans’ ORM
 
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
Reliable Python REST API (by Volodymyr Hotsyk) - Web Back-End Tech Hangout - ...
 
Api architecture
Api architectureApi architecture
Api architecture
 
Building RESTful APIs
Building RESTful APIsBuilding RESTful APIs
Building RESTful APIs
 
Python Comparing ORM
Python Comparing ORMPython Comparing ORM
Python Comparing ORM
 
Learn REST API with Python
Learn REST API with PythonLearn REST API with Python
Learn REST API with Python
 
Python RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutionsPython RESTful webservices with Python: Flask and Django solutions
Python RESTful webservices with Python: Flask and Django solutions
 
JSON and REST
JSON and RESTJSON and REST
JSON and REST
 
Building Automated REST APIs with Python
Building Automated REST APIs with PythonBuilding Automated REST APIs with Python
Building Automated REST APIs with Python
 

Semelhante a Flash Camp Chennai - Social network with ORM

OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesMatt Ray
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform K.Mohamed Faizal
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftLee Stott
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT SimpleBob Rhubart
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleBob Rhubart
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableAlexander Tarlinder
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For ArchitectsAnko Duizer
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repositorynobby
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012Arun Gupta
 
The Cloud: A game changer to test, at scale and in production, SOA based web...
The Cloud: A game changer to test, at scale and in production,  SOA based web...The Cloud: A game changer to test, at scale and in production,  SOA based web...
The Cloud: A game changer to test, at scale and in production, SOA based web...Fred Beringer
 
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...CloudOps Summit
 
MongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataMongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataChris Richardson
 
Troubleshooting Virtualization Cascade10
Troubleshooting Virtualization Cascade10Troubleshooting Virtualization Cascade10
Troubleshooting Virtualization Cascade10Riverbed Technology
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soad0nn9n
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Exposmw355
 

Semelhante a Flash Camp Chennai - Social network with ORM (20)

OSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best PracticesOSCON 2012 OpenStack Automation and DevOps Best Practices
OSCON 2012 OpenStack Automation and DevOps Best Practices
 
Lets focus on business value
Lets focus on business valueLets focus on business value
Lets focus on business value
 
Lets focus on business value
Lets focus on business valueLets focus on business value
Lets focus on business value
 
Brief about Windows Azure Platform
Brief about Windows Azure Platform Brief about Windows Azure Platform
Brief about Windows Azure Platform
 
MEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop MicrosoftMEW22 22nd Machine Evaluation Workshop Microsoft
MEW22 22nd Machine Evaluation Workshop Microsoft
 
Cloud Computing - Making IT Simple
 Cloud Computing - Making IT Simple Cloud Computing - Making IT Simple
Cloud Computing - Making IT Simple
 
Cloud Computing: Making IT Simple
Cloud Computing: Making IT SimpleCloud Computing: Making IT Simple
Cloud Computing: Making IT Simple
 
Testability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testableTestability for developers – Fighting a mess by making it testable
Testability for developers – Fighting a mess by making it testable
 
Windows Azure For Architects
Windows Azure For ArchitectsWindows Azure For Architects
Windows Azure For Architects
 
The Java Content Repository
The Java Content RepositoryThe Java Content Repository
The Java Content Repository
 
Lets focus on business value
Lets focus on business valueLets focus on business value
Lets focus on business value
 
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
WebLogic 12c Developer Deep Dive at Oracle Develop India 2012
 
The Cloud: A game changer to test, at scale and in production, SOA based web...
The Cloud: A game changer to test, at scale and in production,  SOA based web...The Cloud: A game changer to test, at scale and in production,  SOA based web...
The Cloud: A game changer to test, at scale and in production, SOA based web...
 
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011MongoDB for Java Devs with Spring Data - MongoPhilly 2011
MongoDB for Java Devs with Spring Data - MongoPhilly 2011
 
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
Cloud architecture and deployment: The Kognitio checklist, Nigel Sanctuary, K...
 
MongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring DataMongoDB for Java Developers with Spring Data
MongoDB for Java Developers with Spring Data
 
Azure and cloud design patterns
Azure and cloud design patternsAzure and cloud design patterns
Azure and cloud design patterns
 
Troubleshooting Virtualization Cascade10
Troubleshooting Virtualization Cascade10Troubleshooting Virtualization Cascade10
Troubleshooting Virtualization Cascade10
 
Jimwebber soa
Jimwebber soaJimwebber soa
Jimwebber soa
 
Architecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud ExpoArchitecting a Private Cloud - Cloud Expo
Architecting a Private Cloud - Cloud Expo
 

Mais de RIA RUI Society

User experience - Why the mobile space is important
User experience - Why the mobile space is importantUser experience - Why the mobile space is important
User experience - Why the mobile space is importantRIA RUI Society
 
Introduction to google cloud messaging in android
Introduction to google cloud messaging in androidIntroduction to google cloud messaging in android
Introduction to google cloud messaging in androidRIA RUI Society
 
Entering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemEntering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemRIA RUI Society
 
App monetization - 5 secrets of success
App monetization - 5 secrets of successApp monetization - 5 secrets of success
App monetization - 5 secrets of successRIA RUI Society
 
Socialize and Gaming on the move
Socialize and Gaming on the moveSocialize and Gaming on the move
Socialize and Gaming on the moveRIA RUI Society
 
Indian design and the art of story telling
Indian design and the art of story tellingIndian design and the art of story telling
Indian design and the art of story tellingRIA RUI Society
 
Design of the indian rupee symbol
Design of the indian rupee symbolDesign of the indian rupee symbol
Design of the indian rupee symbolRIA RUI Society
 
Creating delightful experiences
Creating delightful experiencesCreating delightful experiences
Creating delightful experiencesRIA RUI Society
 
Typographic history, systems and perception
Typographic history, systems and perceptionTypographic history, systems and perception
Typographic history, systems and perceptionRIA RUI Society
 
Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala HariprasadBug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala HariprasadRIA RUI Society
 
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...RIA RUI Society
 
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...RIA RUI Society
 
Usability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour ChennaiUsability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour ChennaiRIA RUI Society
 
Introduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour ChennaiIntroduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour ChennaiRIA RUI Society
 

Mais de RIA RUI Society (20)

User experience - Why the mobile space is important
User experience - Why the mobile space is importantUser experience - Why the mobile space is important
User experience - Why the mobile space is important
 
Introduction to google cloud messaging in android
Introduction to google cloud messaging in androidIntroduction to google cloud messaging in android
Introduction to google cloud messaging in android
 
Entering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystemEntering the world of Samsung developer ecosystem
Entering the world of Samsung developer ecosystem
 
App monetization - 5 secrets of success
App monetization - 5 secrets of successApp monetization - 5 secrets of success
App monetization - 5 secrets of success
 
Socialize and Gaming on the move
Socialize and Gaming on the moveSocialize and Gaming on the move
Socialize and Gaming on the move
 
Indian design and the art of story telling
Indian design and the art of story tellingIndian design and the art of story telling
Indian design and the art of story telling
 
Design of the indian rupee symbol
Design of the indian rupee symbolDesign of the indian rupee symbol
Design of the indian rupee symbol
 
Creating delightful experiences
Creating delightful experiencesCreating delightful experiences
Creating delightful experiences
 
Typographic history, systems and perception
Typographic history, systems and perceptionTypographic history, systems and perception
Typographic history, systems and perception
 
Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...Understanding Design and Brand Communication Workshop Content - Design Camp I...
Understanding Design and Brand Communication Workshop Content - Design Camp I...
 
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...
Bug deBug Chennai 2012 Talk - Driving innovation using pattern based thinking...
 
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
Bug deBug Chennai 2012 Talk - Trimming those flabs designing lightweight test...
 
Bug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala HariprasadBug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
Bug deBug Chennai 2012 Talk - Web application usability by Parimala Hariprasad
 
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
Bug deBug Chennai 2012 Talk - V3 analysis an approach for estimating software...
 
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
Bug deBug Chennai 2012 Talk - Future of testing impact of mobile devices by S...
 
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...Bug deBug Chennai 2012 Talk - Effective test management with triple t  tools,...
Bug deBug Chennai 2012 Talk - Effective test management with triple t tools,...
 
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...Bug deBug Chennai 2012 Talk - Business value articulation in software project...
Bug deBug Chennai 2012 Talk - Business value articulation in software project...
 
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
Bug deBug Chennai 2012 Talk - Test automation support systems layered archite...
 
Usability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour ChennaiUsability testing for mobile apps - Touch Tour Chennai
Usability testing for mobile apps - Touch Tour Chennai
 
Introduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour ChennaiIntroduction to Android OS - Touch Tour Chennai
Introduction to Android OS - Touch Tour Chennai
 

Flash Camp Chennai - Social network with ORM

  • 1. Developing Social Network using ORM By N.S.Devaraj
  • 3. Agenda ORM Introduction Why ORM ? How to use ORM ? Why Generic DAO / Persistent Collections ? Social Networking Application Demo Questions ?
  • 6. Object-Relational Mapping maps objects to relational databases maps relational databases to objects a programming technique for converting data between incompatible type systems in object-oriented programming languages - WikiPedia
  • 7. Why ORM ? Full on Objects of objects Less DB Work The ORM World Beans Not much else Procedural Object-Oriented Classic Procedural with DAO’s More DB Work
  • 8. How to use ORM ORM have to allow the DB swap "on the fly" to achieve, we need DI / IoC framework (Swiz) a GenericDAO to be created to manage Business Logic a Persistent Data collection to reduce server calls supported with a Push Mechanism to be Sync with Data Source & for Conflict Management
  • 9. Data Access Object DAO is used to Each DAO do CRUD instance is operations and responsible for access with one primary Database tables, domain object used to achieve or entity. encapsulation an object that provides an abstract interface to some types of database or persistence mechanism. - WikiPedia
  • 10. Why we need GenericDAO? Mostly we With deal with GenericDAO, Unit testing multiple VO’s Using MVC Framework, while dealing with the business is damn easy to be queried n x VO, we end up with logic will be as we can from service in generic inject values layer. code. nx nx n x Events Delegates Commands
  • 11. Advantages Increases productivity Apply DRY (Don’t Repeat Yourself) Principle Reduces errors Easy for Unit Testing
  • 12. Server DAO Model Abstract Real World Example Data Source SQL Table: Notes Create, Read, Update, Delete Perform SQL Queries Data Access Object Notes DAO creates Maps SQL Records to Delegates CRUD Operations to Delegates CRUD Operations to Value Object NoteVO Business Object Library Service calls receives Communicates with receives Client Flex RIA
  • 13. Client DAO Model Abstract Real World Example Push Push Business Object Delegate Update Notes Beans Delegate Update Create, Read, Update, Delete Perform functions creates PC DAO PC Generic DAO Service Results to Delegates CRUD Operations to Delegates CRUD Operations to VO NoteVO Events Signals dispatches receives dispatches receives View Skinnable Component
  • 15. Social Network App Value Objects Required Persons Notes(updates) Connections – files, replies
  • 16. DEMO
  • 18. Thanks For Twitter @nsdevaraj GTalk nsdevaraj Blog http://nsdevaraj.wordpress.com Code https://github.com/nsdevaraj/SwizDAO Web http://www.adamstudio.in