SugarCRM Architecture Overview Agenda
1. Architectural Overview – Components, Modules, High Availability
2. Security – Architecture, Application, API
3. Integrate With External Systems – Email, Web Services, Logic Hooks
4. Most Flexible Solution – On-Site, Configuration, Workflow
5. Mobile App – Process, Data, Security, Code SDK Architecture: Overview Capabilities Impact
Flexible No constraints around Delivery deployment. You decide Model On Site Sugar On Demand Cloud Platforms
Customizable Sugar adapts to the User Interface & user. Not the other way Workflows around
Sugar Reporting
Use what you need to Modular, Open Sugar Marketing Sugar Sales Sugar Support connect across your Applications Sugar Collaboration business Sugar Platform Tools and Administration
100% visible source Open Source code for inexpensive Architecture customization & support
Multiple Avoid ‘forklift’ upgrades Operating and proprietary vendor Systems lock-in Sugar Platform
• Flexible and Highly Extensible Platform • Open Web Standards Based • Built Using JavaScript & PHP • Leverages Open-Source Frameworks like backbone.js, jQuery etc. • Follows Classic MVC Architecture • Client Side MVC Framework – “Sidecar” • Metadata Driven • Supports several integration patterns SugarCRM Architecture
Presentation Layer (UI) User Advanced User / Sidecar Dashlets Themes Navigation System- Preferences Web Tech. Administrator
Business Layer Custom Modules Standard CRM Modules
CostumCostumCustom CostumCostumCustom Accounts …. Call Opportunity module module System- modulemodule modulemodule Administrator / Developer
Platform SugarBean Reports SugarLogic ModuleBuilder Charting Role Security
Authentication Search Workflows Hooks Feeds Team Security
System- Scheduler E-Mail Connectors Tracking Logging Documents Administrator Integration Layer Custom (business logic) entry points Generic (CRUD) web services Developer Architecture: SugarCRM Stack Sugar 7 Software Stack
Browser Client JavaScript Engine
Web Server Scheduler
APIs PHP Server
File System
Memcache Elastic Search Database Scalable and Redundant Tiered Architecture Load Balancer
Web Servers Backend Servers
Apache Cron Memcache
PHP Elastic MySQL APC Search
Dedicated File Servers
Sugar Files Architecture: System Example Enterprise Implementation
Internet Business Data Intelligence & Historical Sources Analytics Data
SSO & Security Services
SugarCRM CRM Marketing ERP / Supply Corporate DB Automation Chain Applications
API, Web Services, Messaging Bus (WebSphere, Tibco, etc.)
Employee Product Partner Accounts Contacts Territories Directory Catalog Directory Security
© 2017 SugarCRM Inc. All rights reserved. Architecture: Secure App, Secure Data • Secure Web Access – HTTPS & SSL – No other external ports needed
• Behind the Firewall – Employ standard Web & DB server security measures – Web server connects to Database server via SQL
• Secure Entry Points – Application routinely tested for vulnerabilities – Protected against XSS & SQL injection attacks Example Enterprise Implementation (cont)
SSO & Accounts VPN Load Services, Web Messaging ( Bus Security Balancer Services Contacts
Territorie s SugarCRM SugarCRM etc.) Employee
Directory WebSphere
Product Catalog
CRM Failover , ,
CRM DB Failover DB Tibco DB DB Partner
Directory , ,
Federated HA Database Cluster Corporate Data Stores Red Zone Yellow Zone Green Zone Architecture: Secure Sessions
• Password Management – Set password strength & aging, create system generated passwords and reCAPTCHA enforced login – Or use LDAP, Active Directory, Oauth or SAML tokens
• IP Address Tracking – Session termination if IP address changes – Store all IP addresses used by sessions
• One user, one session – Limit to one web session per user login – Prevent session hijacking with session timeouts Security: Authentication
• User authentication from external systems • Roles are stored only in Sugar DB LDAP
AD
SAML
SAML
Sugar DB
Custom Security: Module Access
• Module-Level Access Rights based on User Roles • Restrict Actions – Delete, Create/Edit, Export, Import, List, View Security: Row Level Visibility
• Users and Teams • Users can only view data if: – They are defined as the owner (Assigned to) – They are a member of a team that owns the record – Somebody that reports to the user directly or is below them on the org chart owns the record. – If row level security is turned off for a specific module, all records can be seen Security: Row Level Actions
• Set actions for Editing, Deleting, and Viewing records – All allows everybody who can view the record – Owner allows on the person listed on the owner field to perform action – None disallows anybody for taking this action Security: Audit Trail
• Determine what fields you want to audit. Audit trail can be viewed from any record. API Token
• OAuth Token Request (Login)
• API Returns OAuth Token
• Subsequent Calls Require Token Integration
© 2017 SugarCRM Inc. All rights reserved. Unlimited API calls (No additional cost)
Base Mobile REST API
Any App Portal Services Oriented Architecture (SOA)
Extensible REST API’s
• Truly RESTful – Design Philosophy • Extensible • POST • Create – Leverages HTTP • GET Protocol • Read • PUT • Update – JSON • DELETE Middleware Architecture
Intern Business et Intelligen Data Historic ce & Sourc Data Analytics es
SSO & Legacy Security Applications Services CRM DB Marketing ERP / Supply Corporate Automation Chain Applications
API, Web Services, Middleware
Product Account Contact Opportu Leads catalogu Custom s s nity e Integration Options
• REST APIs
• SOAP APIs Sugar • Middleware
• UI Integration (iFrame or callout)
• Direct DB Connection Sugar DB
• CMIS Compliant Interface Integration Scenarios and Options
Examples
SOAP/RE Sugar as Provider ST • Read Customer Data from Sugar External • Update Customer Data in Sugar ETL Applicati • Show Opportunity screen in CPQ system on iFrame • Read Sugar data into BW system for reporting Materiali sed DB View Sugar as Consumer • Read Delivery/Invoice/financials data from ERP • Read Quotation data from CPQ SOAP/RE • Read ST • Embed CPQ UI into Sugar UI ES • Show BI Report in Sugar UI B External • Fully Open Standards ETL Applicati Based on iFrame • REST Enabled Modules • New Modules automatically get API Enabled • All CRUD Operations • No API usage costs • Lower TCO API Notes
• Fields are automatically available
• Configured modules available automatically
• Define custom end points
• Sudo API available
• Metadata API helps drive common UIs Integration: Direct Data Access
• Batch upload data to SugarCRM Database – Leverage 3rd party ETL tools such as Talend
• Retrieve data real-time from existing relational DB – Oracle, SQL Server, and MySQL supported
• Use EAI Infrastructure for data integration – Web services entry point Most Flexible Solution
© 2017 SugarCRM Inc. All rights reserved. Run Anywhere: On-Demand, On-Site, Cloud Run Anywhere: Sugar On-Demand • Secure Datacenters – AWS, Santa Clara, California & London, UK – SAS 70 & ISO 27001 – Tier 1 Network with Multiple Providers
• High Availability – Redundant server configurations
• Offsite Data Storage – Backups taken daily with hourly increments – Archives stored off-site – Data stored in-country (USA or UK) Run Anywhere: On-Site
• Traditional On-Premise Installations – Operating Systems: Unix, Linux, Windows or Mac • Any that runs the supported Web Server and PHP versions – Web Server: Apache or IIS – Database Server: MySQL, IBM DB2, MS-SQL Server & Oracle (Q4 2014 for Sugar 7.5)
• Tightly Integrate with External Systems – Beyond Web Services: ESB Agents, ODBC Access UI: Web-based Application
• Employees love it – Intuitive & Flexible – Easy to customize
• Managers gain visibility – Quickly build reports & charts – Limit functionality based on role and need
• Executives benefit – Better visibility – Greater insight UI: Mobile Client
• Full power of SugarCRM in a mobile footprint • Native & HTML5 • Online & Offline • iOS and Android • Available now UI & Data: Studio
• Edit • Fields • Labels • Layouts • Relationships • Dropdowns UI & Data: Sugar Logic
• Calculated fields • Calculated date fields • Calculated dropdowns • Dependent dropdowns • Related fields • Related fields in other modules
• Upgrade safe, complex customizations using excel like expressions
• Another way to enforce process driven workflow UI & Data: Module Builder
• Create new • Modules • Fields • Labels • Layouts • Relationships Process: Workflow
• Conditions – Based on data in Sugar – Or time elapsed
• Alerts – Emails – Pop-ups
• Actions – Set data values – Create new tasks or other related objects
• Orchestrate your entire business process Advanced Workflow
• A Business Process Management (BPM) tool for modeling and executing business processes. • Drives all functionality utilizing server or APIs • Features: – BPMN 2.0 Visual designer – Time and action based Triggers – Approval process flows – Sequential and parallel – Visual status monitoring – Configurable loop detection – Stop/Cancel/Reassign running workflows
39 Real Time Workflow Monitor
• Status – Executing – Completed – Stopped
• Process Control – Assign – Cancel – Create Task Sugar Mobile App
© 2017 SugarCRM Inc. All rights reserved. Sugar Mobile
• Platform specific apps – iOS & Android
• Offline support
• Device Features – Geolocation, voice-to-text, etc.
• Fully Extensible – MACS • Change branding, logos, app icons • MDM capable
• MobileSDK – Javascript/HTML/CSS – Reuse code from browser (base platform) Fully Mobile Enabled
Web Native
iOS
Android
Dashboards Dashboard Activity Charts in Main Menu with Dashlets Stream MACS (Mobile Configuration Service)
Make SugarCRM Mobile Your App! • Re-brand /re-skin the mobile app
Secure deployment and management of the app • Supports every Mobile Device Management tool that supports App Wrapping. Mobile SDK
• Extend the SugarCRM Mobile app even further than MACS.
• Utilize native device features
• Javascript/HTML/CSS • Reuse code from browser (base platform) Custom Menus
Ability to add custom
menu items that have Custom Right different actions or Menu views. Here are some examples available in Sample Code: Custom Main Menu • Adding Barcode scanning to the main menu • Adding to the custom right
menu actions BET A2 46 Custom Field Types
There are many cases where you may want field validation or custom field types. Here are some examples with sample code • Signature field • Currency fields with validation • Address fields with geolocation address
47 Custom Actions Custom Actions such as Check-In Ability to extend the mobile or Copy to Clipboard or app with custom actions. Here launch are some examples where we Skype Custom Field will provide sample code: types that allow • Check-in validations • Launch Skype app • Overriding Email • Override file action • Launch Barcode scanning
BET A2 48 Custom Dashlets
For any customization on Sugar, you may want custom dashlets as well. Sample code is already available for the following:
• External Source Dashlet Custom Dashlets • Filtered List Dashlet • Record Summary dashlet • Statistics Dashlet
BET A1 49 Custom Views
Ability to extend the mobile app with custom views from internal and external data sources. Some examples include: • Extending views • Custom to-do lists • Formatting tables • Extend the detail view • Extend the opportunities list view BET A2 50 Native capabilities
There will inherently be native device capabilities you may want to add to your app. We already support APIs for the following: • Camera access • Barcode/QR scanning • Geolocation for checkin-checkout
It should be noted that you can add other native plug-ins.
BET A2 51 Custom Plugins
Native Plug-ins There will inherently be custom native code you may want to add to your app. We support APIs for cordova plugins. Example of Card-IO credit card reader It should be noted that plug-ins are not supported by SugarCRM so use them at your own risk.
52 Thank you!
© 2017 SugarCRM Inc. All rights reserved.