Multi-tenancy with CakePHP. Robert Scherer M-Invent GmbH
|
|
|
- Madlyn Spencer
- 10 years ago
- Views:
Transcription
1 Multi-tenancy with CakePHP Robert Scherer M-Invent GmbH
2 About me developer and consultant head of the CakePHP business unit of M-Invent GmbH author of the first german book about CakePHP, published on O Reilly 2
3 About M-Invent GmbH Munich based IT and management consultancy Mainly active in the insurance and banking industry Using CakePHP in addition to Java Technology since mid
4 What we ll cover What is multi-tenancy? What are the challenges to solve? How we solved it in a project with CakePHP 4
5 What is multi-tenancy? "Multitenancy refers to a principle in software architecture where a single instance of the software runs on a software-as-a-service (SaaS) vendor's servers, serving multiple client organizations (tenants)." (Wikipedia) In practice: hardcore whitelabeling multiple clients on one installation of the application each client needs customization in the software goal is a single code base and a clean implementation of the tenants customizations 5
6 Main challenges in customization Differences in the functionality Workflow / modification of functionality Separation of data Branding 6
7 The requirement multi-tenant application for a major insurance company purpose is distributing insurance policies currently about 30 different mandators some mandators with major customization needs, some pretty standard configuring mandators without using IT resources 7
8 The legacy Legacy application: Spaghetti PHP at its finest about 40% obsolete tables in 3 databases 8 different code bases multi-tenancy was solved with the copy & paste pattern 8
9 The system Three entities in the system: Insurance vendor (project owner) Mandators (e.g. auto companies) Dealers (e.g. car dealer) each entity has its user groups (administrators, employees, technical user) solved with Cake Auth and ACL 9
10 The approach make the system as modular as possible make the system as configurable as possible implement the customizations as generic as possible 10
11 Modules and Addons Module Consists of at least: - A module class - A module controller contains Addon Consists of: - an addon class - elements modules are groups of functionality addons are extensions to the functionality of modules modules can be assigned to mandators addons can be assigned, too 11
12 Keep it generic What you don t want: if($_session[ company ] == Foo Inc. ) { // do stuff } What you want: if(mandator::hasaddon( generate_insurance_number )) { $module->addon( generate_insurance_number )->dostuff(); } 12
13 Form customization same form, different functionality addons can act in all MVC layers 13
14 Configure mandators 14
15 Configure mandators 15
16 Structure AppController Modules normal controllers ModuleAppController Module Controllers Module Addon 1 Addon 2 Addon 3 Addon 4 base classes for addons and modules, too: AppModule AppAddon 16
17 Configuration Very powerful configuration system System-wide configuration or featurespecific configuration (modules/addons) every configuration has its default value, degraded from the upper level Priority of configurations 1.System default 2.Mandator s configuration 3.Dealer s configuration 17
18 Additional configuration 18
19 Data separation we didn t use ACL for row-level permissions parts of it happening at controller level, other parts in the models reason are very different requirements and circumstances across the system 19
20 Branding loading mandator-specific CSS CakePHP themes 20
21 Shameless plug Are you a motivated CakePHP developer, based in Germany and looking for a project? Get to us! Need professional help developing CakePHP applications? We can help! [email protected] 21
22 End if(!empty($questions)) { $this->goahead(); } else { die( Thanks! ); } 22
Development. CakePHP Application. development using the open-source MVC. Step-by-step introduction to rapid web. CakePHP framework.
CakePHP Application Development Step-by-step introduction to rapid web development using the open-source MVC CakePHP framework Ahsanul Bari Anupom Syam PUBLISHING BIRMINGHAM - MUMBAI Preface 1 What This
Clinical Trials in the Cloud: A New Paradigm?
Marc Desgrousilliers CTO at Clinovo Clinical Trials in the Cloud: A New Paradigm? Marc Desgrousilliers CTO at Clinovo What is a Cloud? (1 of 3) "Cloud computing is a model for enabling convenient, on-demand
Avira and Windows 8/Windows Server 2012
Avira and Windows 8/Windows Server 2012 Table of Contents 1. What does Windows 8 compatibility mean?... 3 2. Why is Avira software not Windows 8/Windows Server 2012 certified?... 3 3. Am I now protected
Choosing a Content Management System (CMS)
Choosing a Content Management System (CMS) Document Version Revision History Date Document Version Description Created By: 10/Oct/2013 First draft Laraib Saad Table of Contents 1. Introduction
WORKDAY CONCEPT: EMPLOYEE SELF SERVICE
WORKDAY CONCEPT: EMPLOYEE SELF SERVICE What is Employee Self Service? Employee Self Service (ESS) is the functionality allowing employees to initiate actions such as: Managing personal information Setting-up
POSITION DESCRIPTION. Role Purpose
POSITION DESCRIPTION Position Title Senior SharePoint Administrator/Developer Position Number Reports to Head of Solutions Development Functional Auth HRM Auth Region N/A Enterprise role Date Date Function
Content Management Systems: Drupal Vs Jahia
Content Management Systems: Drupal Vs Jahia Mrudula Talloju Department of Computing and Information Sciences Kansas State University Manhattan, KS 66502. [email protected] Abstract Content Management Systems
SAAS. Best practices for SAAS implementation using an Open Source Portal (JBoss)
SAAS Best practices for SAAS implementation using an Open Source Portal (JBoss) Introduction JBoss Portal is a very popular open source portal offering from Red Hat. It is JSR-168 compliant and provides
Successful Platform-as-a-Service Requires a Supporting Ecosystem for HR Applications
Successful Platform-as-a-Service Requires a Supporting Ecosystem for HR Applications Platform-as-a-Service is the computing term used to describe a hosted web-based computing environment and the associated
Compiere Technical Architecture Modern, configurable, extendible
Compiere Technical Architecture Modern, configurable, extendible Problems with Traditional ERP Complex Bloated with features you ll never use Complicated and time consuming to implement Inflexible Force
HOW TO CREATE THEME IN MAGENTO 2
The Essential Tutorial: HOW TO CREATE THEME IN MAGENTO 2 A publication of Part 1 Whoever you are an extension or theme developer, you should spend time reading this blog post because you ll understand
All included databases will be scanned automatically just by a single search and information is available to users immediately.
Data Sheet AND Directory 5.4 AND Directory offers you the possibility to include corporate information resources into your communications network and delivers access by phone, web browser or desktop. Besides
Competitive Edge Technology White Paper. Platform-as-a-Service the New Horizon for HR
Competitive Edge Technology White Paper Platform-as-a-Service the New Horizon for HR Contents INTRODUCTION... 3 THE PLATFORM-AS-A-SERVICE MODEL AND NEW OPPORTUNITIES... 3 THE CURRENT SYSTEM REPLACEMENT
Team Collaboration, Version Management, Audit Trails
Team Collaboration, Version Management, Audit Trails Best Practices for Successful Project Delivery with VoiceObjects May 2008 www.voiceobjects.com 2 Team Collaboration, Version Management, Audit Trails
Your Technology Partner Offshore and Onsite. Services Portfolio
Services Portfolio OFFSHORE SOFTWARE DEVELOPMENT SERVICES Product Development for ISVs Custom Application Development for End-clients Application Development Application Maintenance & Support Application
SaaS A Product Perspective
SaaS A Product Perspective Software-as-a-Service (SaaS) is quickly gaining credibility and market share against traditional packaged software. This presents new opportunities for product groups and also
Administrator s Guide ALMComplete Support Ticket Manager
Administrator s Guide ALMComplete Support Ticket Manager This guide provides an overview of ALMComplete s Support Manager with setup instructions. SoftwarePlanner Release 9.6.0 and higher April 2011 1
Avira Server Security Product Updates. Best Practice
Avira Server Security Product Updates Best Practice Table of Contents 1. What is Avira Server Security?... 3 2. Where else can Avira Server Security be found?.. 4 3. What is the difference between updates
SaaS-Based Employee Benefits Enrollment System
Situation A US based industry leader in Employee benefits catering to large and diverse client base, wanted to build a high performance enterprise application that supports sizeable concurrent user load
Shop by Manufacturer Custom Module for Magento
Shop by Manufacturer Custom Module for Magento TABLE OF CONTENTS Table of Contents Table Of Contents... 2 1. INTRODUCTION... 3 2. Overview...3 3. Requirements... 3 4. Features... 4 4.1 Features accessible
VMware vcloud Director for Service Providers
Architecture Overview TECHNICAL WHITE PAPER Table of Contents Scope of Document....3 About VMware vcloud Director....3 Platform for Infrastructure Cloud...3 Architecture Overview....3 Constructs of vcloud
Software Development & Education Center PHP 5
Software Development & Education Center PHP 5 (ADVANCE) Detailed Curriculum Advance PHP JQuery Basics Of JQuery Including the JQuery Library Code in an HTML Page JQuery Utilities Faster, Simpler, More
SaaS, PaaS & TaaS. By: Raza Usmani
SaaS, PaaS & TaaS By: Raza Usmani SaaS - Introduction Software as a service (SaaS), sometimes referred to as "on-demand software. software and its associated data are hosted centrally (typically in the
Client Requirement. Why SharePoint
Client Requirement Client wanted a sharepoint system that could meet their document and record management needs. It should also improve client s information management systems. To support existing and
Symfony2 and Drupal. Why to talk about Symfony2 framework?
Symfony2 and Drupal Why to talk about Symfony2 framework? Me and why Symfony2? Timo-Tuomas Tipi / TipiT Koivisto, M.Sc. Drupal experience ~6 months Symfony2 ~40h Coming from the (framework) Java world
Copyright 2005-2010 Soleran, Inc. esalestrack On-Demand CRM. Trademarks and all rights reserved. esalestrack is a Soleran product Privacy Statement
Building a SaaS Application. ReddyRaja Annareddy CTO and Founder
Building a SaaS Application ReddyRaja Annareddy CTO and Founder Introduction As cloud becomes more and more prevalent, many ISV s and enterprise are looking forward to move their services and offerings
Speed up your business
Speed up your business incadea is the leading provider of enterprise software solutions and services to the global automotive retail and wholesale market. With a proven industry focus and expertise, incadea
Drupal 6 to Drupal 7 Migration Worksheet
Drupal 6 to Drupal 7 Migration Worksheet Rationale for This Document An upgrade of a Drupal 6 website is a complex proposition. As a general rule of thumb, many professional Drupal development teams approach
The Need for Service Catalog Design in Cloud Services Development
The Need for Service Catalog Design in Cloud Services Development The purpose of this document: Provide an overview of the cloud service catalog and show how the service catalog design is an fundamental
Multi-Tenancy on Private Cloud. F e b r u a r y 2 0 1 2
Multi-Tenancy on Private Cloud F e b r u a r y 2 0 1 2 TABLE OF CONTENTS Abstract... 3 Abbreviations... 4 Market Trends/Challenges... 5 Traditional Service Delivery Model... 6 Limitations of the Traditional
A Cloud Based SOA Platform for Local Governments in Sri Lanka. Mifan Careem CTO Respere Chief Architect elg Project
A Cloud Based SOA Platform for Local Governments in Sri Lanka Mifan Careem CTO Respere Chief Architect elg Project Agenda Project Overview Business Requirement Key Challenges Solution Overview Technology
Table of Contents. CRM-Project Rollup 16 and higher 2 / 13
Table of Contents 1 Personnel data of users 3 2 Connection of services and products 3 3 Behavior for relationships 6 4 Flagging own accounts 6 5 Customizing Employee Cockpit Mask 6 5.1 Modifying grids
Outline. Why Neutron? What is Neutron? API Abstractions Plugin Architecture
OpenStack Neutron Outline Why Neutron? What is Neutron? API Abstractions Plugin Architecture Why Neutron? Networks for Enterprise Applications are Complex. Image from windowssecurity.com Why Neutron? Reason
Migrating SaaS Applications to Windows Azure
Migrating SaaS Applications to Windows Azure Lessons Learned 04.04.2012 Speaker Introduction Deepthi Raju Marketing Technology Services Deepthi joined Smartbridge in 2005 and has over twenty years of technology
Essential Characteristics of Cloud Computing: On-Demand Self-Service Rapid Elasticity Location Independence Resource Pooling Measured Service
Cloud Computing Although cloud computing is quite a recent term, elements of the concept have been around for years. It is the maturation of Internet. Cloud Computing is the fine end result of a long chain;
Product Information. Sugar vs Zoho. Features Comparison
Product Information vs Zoho Features Comparison CRM Community Price / user / month $0 $35 $45 $60 $100 $0 $12 $25 Price / user / year $0 $420 $540 $720 $1,200 $0 $144 $300 User limits no limit no limit
Nokia Siemens Networks Device Management Solution Executive summary
NOKIA SIEMENS NETWORKS DEVICE MANAGEMENT SOLUTION Nokia Siemens Networks Device Management Solution Executive summary 2/6 NOKIA SIEMENS NETWORKS DEVICE MANAGEMENT SOLUTION 1. Introduction In today s markets,
Jaspersoft APIs. Integrating BI with your Applications. Community and Professional Editions
Jaspersoft s Integrating BI with your Applications Community and Professional Editions Jaspersoft Headquarters: 539 Bryant Street, Suite 100 San Francisco, CA 94107, USA www.jaspersoft.com Email: [email protected]
vtiger Customer Portal 4.2 User Manual
- 1 - vtiger Customer Portal 4.2 User Manual (Version 2.0) - 2 - Table of Contents 1. Introduction... 3 2. Installing vtiger Customer Portal... 4 2.1. System Requirements... 4 2.2. Installation Prerequisites...
Looking for a fast, easy and effective way to create your company website? Look no further. Kentico CMS
Looking for a fast, easy and effective way to create your company website? Look no further. Kentico CMS for ASP.NET Complete Website Creation and Management Solution Helping create successful websites
ITSM Software: Is SaaS the Model for You?
ITSM Software: Is SaaS the Model for You? By Kai Holthaus, ITIL v3 Expert and Director for Third Sky, Inc. Software as a Service (SaaS) has gotten a lot of attention recently. Many companies and IT organizations
Day 1 - Technology Introduction & Digital Asset Management
SharePoint Developers Academy 2010 Course Syllabus Introduction Day 1 - Technology Introduction & Digital Asset Management 1. Kick Start a. Participant Introductions b. Course Overview c. Training Goals
Testing Network Virtualization For Data Center and Cloud VERYX TECHNOLOGIES
Testing Network Virtualization For Data Center and Cloud VERYX TECHNOLOGIES Table of Contents Introduction... 1 Network Virtualization Overview... 1 Network Virtualization Key Requirements to be validated...
Atomia Cloud Hosting Platform Overview
Atomia Cloud Hosting Platform Overview Atomia has been designed from the ground up to be a highly scalable, modular platform for all kinds of cloud and web hosting services. It comes with built-in support
Juniper Networks Secure Access. Initial Configuration User Records Synchronization
Juniper Networks Secure Access Initial Configuration User Records Synchronization 1 This document explain how to setup User records Synchronization between different clusters or stand alone units. Active/
FREE Small Business Advisory Guide: The 7 Most Costly Mistakes Companies Make When Choosing A New Phone System And How To Avoid Them
FREE Small Business Advisory Guide: The 7 Most Costly Mistakes Companies Make When Choosing A New Phone System And How To Avoid Them This exclusive insider s report will reveal: Ten critical questions
Magento ecommerce System Health Check Package
Magento ecommerce System Health Check Package Ecommerce. By Design. CODE QUALITY Health Check and Benefits We have been working with Magento Stores since the initial platform launch in 2008. We understand
To increase scalability, the following features can be integrated:
Client Requirements Magento Multi Store Ecommerce Management system is an online virtual mall using is Saas based model based Ecommerce Platform where merchants and retailers can sign up and easily create
Open Source Monitoring
Open Source Monitoring Icinga Team Munich Monitoring Workshop 06/13/2012 WWW.ICINGA.ORG Agenda! Introduction! Tools and Platform! Icinga vs. Nagios! Architecture! New in Icinga! Current Development! Live
Web Application Development
Web Application Development Approaches Choices Server Side PHP ASP Ruby Python CGI Java Servlets Perl Choices Client Side Javascript VBScript ASP Language basics - always the same Embedding in / outside
OpenERP: 100% pythonic way for business management
OpenERP: 100% pythonic way for business management Florence, June 23rd 2011 Davide Corio [email protected] Origin of ERP Origin of "ERP" In 1990 Gartner Group first employed the acronym ERP as an
UNLEASHING THE POWER
UNLEASHING THE POWER ZEND & VMWARE Cisco s next-gen platform for WebEx free trials Phillip Shipley Manager, Web Development Collaboration Software Group Cisco Systems 1 Hello and welcome. My name is Phillip
What is CMS Made Simple? Who uses CMS Made Simple to develop web solutions?
What is CMS Made Simple? CMS Made Simple is a content management system that is simple to learn and even simpler to use (hence the name CMS Made Simple). Whether you re just starting out or have become
Comparative Market Analysis of Project Management Systems
University of Osnabrück Chair of Business Administration/Organization and Information Systems Prof. Dr. Hoppe (Ed.) Comparative Market Analysis of Project Management Systems Frederik Ahlemann Katharinenstr.
AV@ANZA Formación en Tecnologías Avanzadas
DESIGNING CISCO DATA CENTER APPLICATION SERVICES (CI-DCASD) Temario This is an instructor-led, lecture/lab course. You will learn how to deploy and configure intelligent network services using the Cisco
Your Technology Partner Offshore and Onsite. Outsourced Software Development Services at
Outsourced Software Development Services at OFFSHORE SOFTWARE DEVELOPMENT SERVICES Product Development for ISVs Custom Application Development for End-clients Application Development Application Maintenance
Duplicate Check. Master Data Check for Duplicates in SAP. www.iso-gruppe.com. excellence in data quality
excellence in data quality Duplicate Check Master Data Check for Duplicates in SAP www.iso-gruppe.com Master data life without having to worry about duplicates The life cycle and usefulness of master data
OpenStack Manila Shared File Services for the Cloud
OpenStack Manila Shared File Services for the Cloud Bob Callaway, PhD Chief Architect & Senior Manager, Technical Marketing OpenStack Cloud Solutions Group, NetApp OpenStack Summit Paris November 3 rd,
Frontier VoIPCortex IP PBX open, scalable, accessible and feature-laden
Frontier IP PBX open, scalable, accessible and feature-laden why VoIP? Voice over IP business phone systems use existing data network infrastructure to distribute telephone calls, delivering a range of
WHITEPAPER OpenIDM. Identity lifecycle management for users, devices, & things
WHITEPAPER OpenIDM Identity lifecycle management for users, devices, & things Introduction Organizations of all sizes employ a variety of different approaches to manage identity administration and provisioning
PAY TV MONETIZATION IN THE AGE OF OTT. enabled by. www.infonova.com
PAY TV MONETIZATION IN THE AGE OF OTT enabled by www.infonova.com MONETIZING THE OTT AGE Pay TV has entered the multi-device over-the-top (OTT) era on a global basis. People still consume video in traditional
Sophos Mobile Control Technical guide
Sophos Mobile Control Technical guide Product version: 2 Document date: December 2011 Contents 1. About Sophos Mobile Control... 3 2. Integration... 4 3. Architecture... 6 4. Workflow... 12 5. Directory
Private PaaS 101: What It Is and Why You Need It. Insulate Your Cloud with the Stackato Secure Middleware Layer
Private PaaS 101: What It Is and Why You Need It Insulate Your Cloud with the Stackato Secure Middleware Layer Private PaaS 101: What It Is and Why You Need It Insulate Your Cloud with the Stackato Secure
WHITEPAPER ForgeRock Identity Management. Identity lifecycle management for users, devices, and things
WHITEPAPER ForgeRock Identity Management Identity lifecycle management for users, devices, and things Introduction Organizations of all sizes employ a variety of different approaches to manage identity
Executive Summary... 2. OpenEdge Streamlines Development and Support... 2. Factors Affecting Benefits And Costs... 3. Disclosures...
TABLE OF CONTENTS Executive Summary... 2 OpenEdge Streamlines Development and Support... 2 Factors Affecting Benefits And Costs... 3 Disclosures... 3 TEI Framework And Methodology... 5 Analysis... 7 Interview
Case Study. SaaS Based Multi-Store Market Place. www.brainvire.com 2013 Brainvire Infotech Pvt. Ltd Page 1 of 5
Case Study SaaS Based Multi-Store Market Place Page 1 of 5 Client Requirement Magento Multi-Store Ecommerce Management is a web based virtual mall. It s an e- commerce virtual mall cum SaaS based model
Cloud Computing (In Plain English)
Cloud Computing (In Plain English) Application Service Provider, Software as a Service, Grid Computing, Utility Computing, Platform as a Service......all these terms and more, at one time or another have
A Short Term E-commerce Course
ADMEC TM Multimedia Institute A Short Term E-commerce Course E-commerce Standard Duration: 03 Months w [Class Room Online Training] TM An ISO 9001:2008 Institute w Drupal Magento WordPress Basics of E-commerce
Web developer. Job description.
Web developer. Job description. CONTENTS 1. Reporting to 3 2. Scope of role 3 3. Main responsibilities 3 4. Key skills and experience 5 5. Key behaviours 5 2015 Fresh Egg Limited 2 This job description
Zero Downtime In Multi tenant Software as a Service Systems
Zero Downtime In Multi tenant Software as a Service Systems Toine Hurkmans Principal, Research Engineering Exact Software About Exact Software Founded 25 years ago Business Solutions for SMB space 100.000
POSITION DESCRIPTION. Role Purpose. Key Challenges
POSITION DESCRIPTION Position Title Position Number Reports to Manager, Web Solutions Development Functional Auth HRM Auth Region Sydney Date Date Function ITSC Signature Signature Role Purpose To implement
Aspire Systems - Experience in Digital Marketing and Social Media
Case Study Aspire Systems - Experience in Digital Table of Contents 1. Digital agency s email marketing platform goes on-demand 2. Social media launch for a major apparel company 3. Mobile CRM empowerment
Why is a good idea to use OpenNebula in your VMware Infrastructure?
Why is a good idea to use OpenNebula in your VMware Infrastructure? Constantino Vázquez C12G Labs Online Webinar OpenNebula in your VMware Infrastructure Contents Introduction Overview: What is OpenNebula?
Complementing Your Web Services Strategy with Verastream Host Integrator
Verastream Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with Verastream Host Integrator Complementing Your Web Services Strategy with
Building Blocks of the Private Cloud
www.cloudtp.com Building Blocks of the Private Cloud Private clouds are exactly what they sound like. Your own instance of SaaS, PaaS, or IaaS that exists in your own data center, all tucked away, protected
Self-Hosted Implementation
Self-Hosted Implementation May 2013 About WalkMe WalkMe is an easy-to-use platform for creating interactive onscreen Walk-Thrus that run on top of your actual website or web app. Unlike video tutorials,
Database Technologies MySQL, PostgreSQL, SQL Server, Oracle. Development Tools Eclipse, Aptana, NetBeans
SATHEESH KUMAR N P +91 994 766 9482 [email protected] Objective Seeking for a challenging post in a growing organization where I can use my technical background and expertise in developing software
Web Application Development and Frameworks
Web Application Development and Frameworks Student: Abdullah Mamun (Mamun) Spring 2008 April 18, 2008 Mamun: COMS E6125 1 Introduction Web application and frameworks Exponential growth of human s dependency
Safewhere*Identify. Introduction. You just need one system for all your user on-boarding, admin and authentication
Safewhere*Identify Introduction You just need one system for all your user on-boarding, admin and authentication Contents Introducing Safewhere Identify... 3 Facebook, Google, Active Directory, one-time
Cisco Edge 340 Digital Media Player Content Management System
Ordering Guide Cisco Edge 340 Digital Media Player Content Management System Ordering Guide Last Updated: vember 2013 2015 Cisco and/or its affiliates. All rights reserved. This document is Cisco Public
