SlideShare a Scribd company logo
1 of 29
Download to read offline
Sugar and Spice
      Linking SugarCRM
        with Funambol




 Phil Shotton
November 2008
Agenda

 Introduction
 Company Background
 Requirements for Sync
 Why SugarCRM and Funambol?
 Taking it on
 Connector architecture
 Challenges
 Future plans
 Value proposition


                              2
Introduction – Phil Shotton

25+ years in software industry
□



Specialise in high-performance
□


distributed systems development
Java, C++, C, Unix/Linux
□



'Bedrock' software
□



Founder and principal PSJ Solutions
□




                                      3
Other Talents!




                 4
Introduction - PSJ Solutions

Founded 2005
□



High performance custom solutions
□



Finance (pricing and trading)
□



Telecoms
□



Fortune 100 companies
□



Java and Open Source
□




                                    5
Software/Platforms

Java J2SE / JEE
□



Spring
□



Hibernate
□



Javaspaces / Gigaspaces
□



Eclipse RCP
□



Linux / Solaris / Microsoft
□




                              6
Typical Projects

Order Management and Pricing for
□


Asian Broker
Order Process Management for major
□


UK Mobile Telecoms Company
Mobile / Backoffice integration for large
□


multi-national corporate



                                        7
Business Requirements

□
    Client Management
□
    Shared and Personal Calendars
□
    Shared and Personal Contacts
□
    Contact and Calendar
     Synchronisation
□
    Centralised Repository (under our
     control)
□
    Low-cost
                                        8
Technical Requirements

□
    Linux Server
□
    Multiple client devices
       ◊   Windows, Linux
       ◊   Mobile phones/palmtops
□
    Multiple client software
       ◊   Outlook, Thunderbird
□
    Remote-accessible

                                    9
Why Funambol/SugarCRM?

□
    New company, new infrastructure
□
    Heterogenous environment
□
    Embracing Open Source Solutions
      ◊   Cost, flexibility
□
    Requirements fit
□
    Interesting technologies
□



                                      10
SugarCRM Home




                11
SugarCRM Dashboard




                     12
Taking It On – Jun 2005!

Problems with sync:
□


    ◊   Dates, missing fields
    ◊   Failed syncs
New versions of SugarCRM and Sync4J
□


not supported
But of course – we have the Source!
□



Oct '05 - become project maintainer
□




                                      13
Overall Architecture


                                                                                        file:///usr/share/icons/Human/48x48/devices/computer.p
                                                                                        ng




                                                                                       file:///usr/share/icons/Human/48x48/devices/gnome-dev
                                                                                       -keyboard.png




                    file:///usr/share/icons/gnome/48x48/apps/visor.png




   file:///usr/share/icons/gnome/48x48/apps/palm-pilot.png
                                                                                                                                                 ?
                                                                         file:///usr/share/icons/Human/48x48/apps/kscreensaver.
                                                                         png




                                                                         file:///usr/share/icons/Human/48x48/devices/gnome-dev
                                                                         -keyboard.png




                                                                                                                                                     14
SugarCRM SOAP API

49 methods
□



Connector uses 5
□


    ◊   get_entry_list
    ◊   get_entry
    ◊   set_entry
    ◊   login
    ◊   logout

                         15
Connector Architecture




                         16
Authentication

SugarcrmOfficer – implements Officer
□


□
 Uses Funambol credentials to attempt
login to SugarCRM
□
 Session used for all further SugarCRM
calls




                                         17
Administration




                 18
Admin Implementation

Primarily to manage differences
□


between different versions of
SugarCRM.




                                  19
Challenges

Multi-layer – which one is the problem?
□



Debugging php, SOAP, Funambol
□



Understanding multiple technologies
□



Database use
□



No test harnesses
□



Build, release process
□



Multiple versions of EVERYTHING
□


                                      20
Testing

                                Eclipse                                                                                                              Axis
                                                                                                                                                     TCPMonitor


                                                                                        file:///usr/share/icons/Human/48x48/devices/computer.p
                                                                                        ng




                                                                                       file:///usr/share/icons/Human/48x48/devices/gnome-dev
                                                                                       -keyboard.png




                    file:///usr/share/icons/gnome/48x48/apps/visor.png




   file:///usr/share/icons/gnome/48x48/apps/palm-pilot.png
                                                                                                                                                 ?
                                                                         file:///usr/share/icons/Human/48x48/apps/kscreensaver.
                                                                         png




                                                                         file:///usr/share/icons/Human/48x48/devices/gnome-dev
                                                                         -keyboard.png




                                                                                                                                                              21
SugarForge POM




                 22
Future Plans

□
    General
      ◊   Code cleanup, test harnesses, better
           logging
□
    Selective sync, personal and/or
     group calendar, contacts
□
    Email address handling
□
    Email sync

                                                 23
Making my life easier

Documentation
□


    ◊   Server call sequence and expected
         behaviour
    ◊   Utility API features
    ◊   Howtos and examples
    ◊   Database format, installation routines
Test harnesses
□



Version change information
□


                                             24
The Costs for PSJ

Time, time and more time!
□


□          file:///usr/share/icons/gnome/48x48/stock/generic/stock_alarm.png




                                                                               25
The Benefits for PSJ

Warm, fuzzy feeling :-)
□



Control of our own utility software
□



Exposure to potential client base
□


□
 Exposure to interesting (marketable)
technologies
□
 Potential business from commercial
support offerings

                                        26
The End


          27
Overview

Outline 1
□



Outline 2
□



Outline 3
□




            28
Overview

Outline 1
□



Outline 2
□



Outline 3
□




            29

More Related Content

Viewers also liked

Syncevolution: Open Source and Funambol
Syncevolution: Open Source and FunambolSyncevolution: Open Source and Funambol
Syncevolution: Open Source and FunambolFunambol
 
Funambol Automated Tests for SyncML Clients
Funambol Automated Tests for SyncML ClientsFunambol Automated Tests for SyncML Clients
Funambol Automated Tests for SyncML ClientsFunambol
 
Entrenamientos de natación
Entrenamientos de nataciónEntrenamientos de natación
Entrenamientos de nataciónDAVELIA
 
Funambol Java Clients Development: The Blackberry Case
Funambol Java Clients Development: The Blackberry CaseFunambol Java Clients Development: The Blackberry Case
Funambol Java Clients Development: The Blackberry CaseFunambol
 
Huyen Khong Tu(Nx Power Lite)
Huyen Khong Tu(Nx Power Lite)Huyen Khong Tu(Nx Power Lite)
Huyen Khong Tu(Nx Power Lite)harveyt
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡guest2d0fe3
 
Sample De-Stress Presentation/Workshop
Sample De-Stress Presentation/WorkshopSample De-Stress Presentation/Workshop
Sample De-Stress Presentation/WorkshopLizGarrett
 
Sustaining Innovation: Library 3.0
Sustaining Innovation: Library 3.0Sustaining Innovation: Library 3.0
Sustaining Innovation: Library 3.0Ridwan Sanjaya
 

Viewers also liked (9)

Syncevolution: Open Source and Funambol
Syncevolution: Open Source and FunambolSyncevolution: Open Source and Funambol
Syncevolution: Open Source and Funambol
 
Funambol Automated Tests for SyncML Clients
Funambol Automated Tests for SyncML ClientsFunambol Automated Tests for SyncML Clients
Funambol Automated Tests for SyncML Clients
 
Entrenamientos de natación
Entrenamientos de nataciónEntrenamientos de natación
Entrenamientos de natación
 
Funambol Java Clients Development: The Blackberry Case
Funambol Java Clients Development: The Blackberry CaseFunambol Java Clients Development: The Blackberry Case
Funambol Java Clients Development: The Blackberry Case
 
Huyen Khong Tu(Nx Power Lite)
Huyen Khong Tu(Nx Power Lite)Huyen Khong Tu(Nx Power Lite)
Huyen Khong Tu(Nx Power Lite)
 
使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡使用Nginx轻松实现开源负载均衡
使用Nginx轻松实现开源负载均衡
 
testwiena
testwienatestwiena
testwiena
 
Sample De-Stress Presentation/Workshop
Sample De-Stress Presentation/WorkshopSample De-Stress Presentation/Workshop
Sample De-Stress Presentation/Workshop
 
Sustaining Innovation: Library 3.0
Sustaining Innovation: Library 3.0Sustaining Innovation: Library 3.0
Sustaining Innovation: Library 3.0
 

Similar to Sugar and Spice - linking SugarCRM with Funambol

Herramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareHerramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareSaul Mamani
 
Building an EmPyre with Python
Building an EmPyre with PythonBuilding an EmPyre with Python
Building an EmPyre with PythonWill Schroeder
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...OpenShift Origin
 
Operating Docker
Operating DockerOperating Docker
Operating DockerJen Andre
 
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin
 
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce Diane Mueller
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformJean-Michel Bouffard
 
MNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsMNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsAPNIC
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgBruno Cornec
 
The Green Lab - [04 B] [PWA] Experiment setup
The Green Lab - [04 B] [PWA] Experiment setupThe Green Lab - [04 B] [PWA] Experiment setup
The Green Lab - [04 B] [PWA] Experiment setupIvano Malavolta
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainŁukasz Piątkowski
 
Concurrent Programming OpenMP @ Distributed System Discussion
Concurrent Programming OpenMP @ Distributed System DiscussionConcurrent Programming OpenMP @ Distributed System Discussion
Concurrent Programming OpenMP @ Distributed System DiscussionCherryBerry2
 
Continuous Integration Step-by-step
Continuous Integration Step-by-stepContinuous Integration Step-by-step
Continuous Integration Step-by-stepMichelangelo van Dam
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesPuppet
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakNETWAYS
 

Similar to Sugar and Spice - linking SugarCRM with Funambol (20)

Herramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de SoftwareHerramientas Libres en Ingenieria de Software
Herramientas Libres en Ingenieria de Software
 
Building an EmPyre with Python
Building an EmPyre with PythonBuilding an EmPyre with Python
Building an EmPyre with Python
 
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
Extending OpenShift Origin: Build Your Own Cartridge with Bill DeCoste of Red...
 
Operating Docker
Operating DockerOperating Docker
Operating Docker
 
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
OpenShift Origin Community Day (Boston) Extending OpenShift Origin: Build You...
 
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
OpenShift Origin Community Day (Boston) Writing Cartridges V2 by Jhon Honce
 
01intro
01intro01intro
01intro
 
Touch your NetBSD
Touch your NetBSDTouch your NetBSD
Touch your NetBSD
 
Getting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platformGetting started with open mobile development on the Openmoko platform
Getting started with open mobile development on the Openmoko platform
 
MNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining BotsMNSEC Conference 2023: Mining Bots
MNSEC Conference 2023: Mining Bots
 
Where is the bottleneck
Where is the bottleneckWhere is the bottleneck
Where is the bottleneck
 
Multi-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.orgMulti-OS Continuous Packaging with docker and Project-Builder.org
Multi-OS Continuous Packaging with docker and Project-Builder.org
 
Universal Userland
Universal UserlandUniversal Userland
Universal Userland
 
Aci dp
Aci dpAci dp
Aci dp
 
The Green Lab - [04 B] [PWA] Experiment setup
The Green Lab - [04 B] [PWA] Experiment setupThe Green Lab - [04 B] [PWA] Experiment setup
The Green Lab - [04 B] [PWA] Experiment setup
 
Rejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform GainRejekts 24 EU No GitOps Pain, No Platform Gain
Rejekts 24 EU No GitOps Pain, No Platform Gain
 
Concurrent Programming OpenMP @ Distributed System Discussion
Concurrent Programming OpenMP @ Distributed System DiscussionConcurrent Programming OpenMP @ Distributed System Discussion
Concurrent Programming OpenMP @ Distributed System Discussion
 
Continuous Integration Step-by-step
Continuous Integration Step-by-stepContinuous Integration Step-by-step
Continuous Integration Step-by-step
 
Workflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large EnterprisesWorkflow story: Theory versus practice in Large Enterprises
Workflow story: Theory versus practice in Large Enterprises
 
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin PiebiakWorkflow story: Theory versus Practice in large enterprises by Marcin Piebiak
Workflow story: Theory versus Practice in large enterprises by Marcin Piebiak
 

Recently uploaded

MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupJonathanParaisoCruz
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsanshu789521
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentInMediaRes1
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,Virag Sontakke
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfMahmoud M. Sallam
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...Marc Dusseiller Dusjagr
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaVirag Sontakke
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 

Recently uploaded (20)

MARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized GroupMARGINALIZATION (Different learners in Marginalized Group
MARGINALIZATION (Different learners in Marginalized Group
 
Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
9953330565 Low Rate Call Girls In Rohini Delhi NCR
9953330565 Low Rate Call Girls In Rohini  Delhi NCR9953330565 Low Rate Call Girls In Rohini  Delhi NCR
9953330565 Low Rate Call Girls In Rohini Delhi NCR
 
Presiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha electionsPresiding Officer Training module 2024 lok sabha elections
Presiding Officer Training module 2024 lok sabha elections
 
Alper Gobel In Media Res Media Component
Alper Gobel In Media Res Media ComponentAlper Gobel In Media Res Media Component
Alper Gobel In Media Res Media Component
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,भारत-रोम व्यापार.pptx, Indo-Roman Trade,
भारत-रोम व्यापार.pptx, Indo-Roman Trade,
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Pharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdfPharmacognosy Flower 3. Compositae 2023.pdf
Pharmacognosy Flower 3. Compositae 2023.pdf
 
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
“Oh GOSH! Reflecting on Hackteria's Collaborative Practices in a Global Do-It...
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Painted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of IndiaPainted Grey Ware.pptx, PGW Culture of India
Painted Grey Ware.pptx, PGW Culture of India
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 

Sugar and Spice - linking SugarCRM with Funambol

  • 1. Sugar and Spice Linking SugarCRM with Funambol Phil Shotton November 2008
  • 2. Agenda Introduction Company Background Requirements for Sync Why SugarCRM and Funambol? Taking it on Connector architecture Challenges Future plans Value proposition 2
  • 3. Introduction – Phil Shotton 25+ years in software industry □ Specialise in high-performance □ distributed systems development Java, C++, C, Unix/Linux □ 'Bedrock' software □ Founder and principal PSJ Solutions □ 3
  • 5. Introduction - PSJ Solutions Founded 2005 □ High performance custom solutions □ Finance (pricing and trading) □ Telecoms □ Fortune 100 companies □ Java and Open Source □ 5
  • 6. Software/Platforms Java J2SE / JEE □ Spring □ Hibernate □ Javaspaces / Gigaspaces □ Eclipse RCP □ Linux / Solaris / Microsoft □ 6
  • 7. Typical Projects Order Management and Pricing for □ Asian Broker Order Process Management for major □ UK Mobile Telecoms Company Mobile / Backoffice integration for large □ multi-national corporate 7
  • 8. Business Requirements □ Client Management □ Shared and Personal Calendars □ Shared and Personal Contacts □ Contact and Calendar Synchronisation □ Centralised Repository (under our control) □ Low-cost 8
  • 9. Technical Requirements □ Linux Server □ Multiple client devices ◊ Windows, Linux ◊ Mobile phones/palmtops □ Multiple client software ◊ Outlook, Thunderbird □ Remote-accessible 9
  • 10. Why Funambol/SugarCRM? □ New company, new infrastructure □ Heterogenous environment □ Embracing Open Source Solutions ◊ Cost, flexibility □ Requirements fit □ Interesting technologies □ 10
  • 13. Taking It On – Jun 2005! Problems with sync: □ ◊ Dates, missing fields ◊ Failed syncs New versions of SugarCRM and Sync4J □ not supported But of course – we have the Source! □ Oct '05 - become project maintainer □ 13
  • 14. Overall Architecture file:///usr/share/icons/Human/48x48/devices/computer.p ng file:///usr/share/icons/Human/48x48/devices/gnome-dev -keyboard.png file:///usr/share/icons/gnome/48x48/apps/visor.png file:///usr/share/icons/gnome/48x48/apps/palm-pilot.png ? file:///usr/share/icons/Human/48x48/apps/kscreensaver. png file:///usr/share/icons/Human/48x48/devices/gnome-dev -keyboard.png 14
  • 15. SugarCRM SOAP API 49 methods □ Connector uses 5 □ ◊ get_entry_list ◊ get_entry ◊ set_entry ◊ login ◊ logout 15
  • 17. Authentication SugarcrmOfficer – implements Officer □ □ Uses Funambol credentials to attempt login to SugarCRM □ Session used for all further SugarCRM calls 17
  • 19. Admin Implementation Primarily to manage differences □ between different versions of SugarCRM. 19
  • 20. Challenges Multi-layer – which one is the problem? □ Debugging php, SOAP, Funambol □ Understanding multiple technologies □ Database use □ No test harnesses □ Build, release process □ Multiple versions of EVERYTHING □ 20
  • 21. Testing Eclipse Axis TCPMonitor file:///usr/share/icons/Human/48x48/devices/computer.p ng file:///usr/share/icons/Human/48x48/devices/gnome-dev -keyboard.png file:///usr/share/icons/gnome/48x48/apps/visor.png file:///usr/share/icons/gnome/48x48/apps/palm-pilot.png ? file:///usr/share/icons/Human/48x48/apps/kscreensaver. png file:///usr/share/icons/Human/48x48/devices/gnome-dev -keyboard.png 21
  • 23. Future Plans □ General ◊ Code cleanup, test harnesses, better logging □ Selective sync, personal and/or group calendar, contacts □ Email address handling □ Email sync 23
  • 24. Making my life easier Documentation □ ◊ Server call sequence and expected behaviour ◊ Utility API features ◊ Howtos and examples ◊ Database format, installation routines Test harnesses □ Version change information □ 24
  • 25. The Costs for PSJ Time, time and more time! □ □ file:///usr/share/icons/gnome/48x48/stock/generic/stock_alarm.png 25
  • 26. The Benefits for PSJ Warm, fuzzy feeling :-) □ Control of our own utility software □ Exposure to potential client base □ □ Exposure to interesting (marketable) technologies □ Potential business from commercial support offerings 26
  • 27. The End 27