M.S. Dissertation in Salesforce on Force.com

Arun Somu Panneerselvam
Arun Somu PanneerselvamSenior Staff Software Engineer at Altimetrik em Altimetrik
c
Arun. S.P
2011HZ13301
BITS Pilani
MS Software Systems
4-Nov-2013
Agenda
Introduction
Research on the problem statement
Cloud Computing
SaaS
Salesforce
Functional Flow of Packaging Repository
Technical Flow of Packaging Repository
Demonstration
Introduction
The Packaging Repository application is a centralized management of packaging for packing automotive
components in RENAULT and it can be reused for other partners as well.
Organization Background
The project is build for managing packaging repository for RENAULT and for other partners, currently
developed in JAVA-J2EE platform.
The Applications allows us to
• To produce the packaging codes for five types of origin(Renault, Supplier, Odette, Galia, Partners)
• A way to have the characteristics of packaging
• One way to manage packages used
• Single way to produce packaging code
• To list the characteristics of the packaging
Research on the problem statement
• Existing System
Existing System Vs. Proposed System
• Proposed System
Current system deals with migrating of Java-J2EE application into cloud computing with help of
salesforce. The goal of this project will provide following Benefits to the Business and reduce TCO - Total cost of
Ownership by Lower licensing costs and reduced maintenance cost.
The RENAULT Packaging Repository application is currently developed in Java-J2ee platform. Currently
the application is running in data center with clustering etc. with a huge cost of operation/maintenance.
Report on Benefit in terms of Estimated Development Time and Project TCO?
Force.com Business Case Calculator will help us to give ball park estimate, has 3 step processes to find out estimated
development time and project TCO - http://www.salesforce.com/platform/tco/calculator.jsp
The unit value is given based on currency Euro
Application
Complexity
Application
Type
Application
Development &
Maintenance
Step 1: About the application
Application
Complexity
Application
Type
Application
Development &
Maintenance
Application
Development &
Maintenance
Application
Complexity
Application
Type
Step 2: Input on Existing Technology
Estimated Development Time
Step 3: Estimated development time & Estimated project TCO
Estimated Project TCO
Step 3: Estimated development time & Estimated project TCO
Cloud Computing
To the above questions the principle is very simple.
 Offering Computing
 Storage
 Software as a Service & Cost Benefit
• Anywhere/Anytime Access to Data
• Improved Reliability and Security of Data
• Wider Access to Free Software
The 5 Essential Characteristics are
• On-Demand Self Service
• Broad Network Access
• Resource Pooling
• Rapid Elasticity
• Measured Service
What is it and Why should we care?
What are the benefits?
Traditional IT Vs Cloud Computing
CosttoBusiness
number of users number of users
CosttoBusiness variable costs variable costs
Set Up Costs
Initial Costs, such as purchasing
hardware, software, Licensing,
etc.
No Set Up Costs
Where is the data ?
Data typically goes to large data centers in the network, depending on the type of cloud.
What are the difference types of cloud?
What are the difference cloud services?
PRIVATE PUBLIC HYBRID COMMUNITY
Resource dedicated to one
customer
Resource shared by
multiple customers
Customized combination
of shared and dedicated
resources
Dedicated resource for a
group of customers
SOFTWARE-AS-A
-SERVICE
PLATFORM-AS-A
-SERVICE
INFRASTRUCTURE-AS-A
-SERVICE
It enables a user to be able to
use an application without
installing it on a computer or
other type of device.
It allows third parties to build
applications without buying
hardware or maintaining
software.
CONSUME BUILD HOST
It provides hardware capacities
as demanded by users, to run
their own software services.
Cloud Vendor Landscape
SaaS
What is SaaS ? stands for “Software as a Service”
SaaS
Business
Individual
SaaS is a model where an application is hosted on a remote data center and provided as a service to
customers across the internet. In this model the provider takes care of all software development, maintenance and
upgrades. Rather than relying on desktop software or traditional servers, software is hosted by a third party,
available via cloud.
Salesforce is a common and popular example of a CRM SaaS application. The provider also provides
support and maintains the data center. Customers use the software application using a browser.
Traditional Software Vs. SaaS
PROS
• Stay focused on business processes
• Change software to an Operating Expense
instead of a Capital Purchase, making better
accounting and budgeting sense.
• Create a consistent application environment
for all users
• No concerns for cross platform support
• Easy Access
• Reduced piracy of our software
• Lower Cost
 For an affordable monthly subscription
 Implementation fees are significantly
lower
• Continuous Technology Enhancements
• Initial time needed for licensing and
agreements
• Trust or the lack thereof, is the number
one factor blocking the adoption of
software as a service (SaaS).
• Centralized control & Possible erosion of
customer privacy
• Absence of disconnected use
CONS
Pros and Cons of SaaS
Salesforce
Salesforce.com has grown into a platform for developing and running mission critical, enterprise
applications. Salesforce CRM is a set of business processes and integrated applications that help companies
manage customer information, activities, and conversations in one centralized location. By combining business
processes, people, and technology, companies can drive sales and keep customers satisfied after the sale.
The company is best known for its Salesforce customer relationship management (CRM)
Why do would we want to build our application on the Force.com platform ?
• Delivers faster time to value1
• Requires no up-front capital expenses2
• Minimizes operational costs3
• Requires fewer technical resources4
• Simplifies integration5
What makes application development on the Force.com fast and cost-effective?
1
• Programmable user interface
2
• Programmable cloud logic
3
• Real-time database customizations
4
• Granular security and sharing
5
• Integrated content library
6
• Visual process manager
7
• Customer-facing websites
8
• Custom Application Development
The below schematic view explains overall salesforce architecture. The below diagram
illustrates, how pages are constructed on the server and depending on the logic behind the page may
interact with the database through apex controller, invoke external web service calls, or both, before
returning the view to the client.
Salesforce Architecture
One of unique feature of force.com is multitenant kernel, designed specifically to service a cloud,
is difficult to build because it must be reliable, scalable, customizable by tenants, upgradeable without
downtime, secure, and fast.
How can we keep tenant-
specific data secure in a
shared database so that one
tenant can’t see another
tenant’s data?
How can one tenant customize various
schema objects and an application’s user
interface in real time without affecting the
functionality or availability of the system
for all other tenants? How will the system’s response time scale
as tens of thousands of tenants use the
service?
Force.com – Multitenant kernel
Force.com’s core technology uses a runtime engine that materializes all application data
from metadata—data about the data itself.
Force.com’s has a well-defined metadata-driven architecture, there is a clear separation of
the compiled runtime database engine (kernel), tenant data, and the metadata that
describes each application.
These distinct boundaries make it possible to independently update the system kernel and
tenant-specific applications and schemas, with virtually no risk of one affecting the others
Answer to the 4 questions from the previous slide
The Model, View, Controller Paradigm
ControllerModel
View
The model, or data structure, can be defined as either sObjects (the entity definitions for persisted data) or classes in
Apex.
The view, or presentation layer, is comprised of Pages and components as described above.
The controller, or logic layer, includes any custom controller logic written in Apex, or standard behavior generated by
the Force.com platform for each business entity.
Below diagram explains the flow of data between Standard & Custom Objects (Model), Standard Controllers &
Apex (Controllers) and Visualforce pages (View) .
Functional Flow of Packaging Repository
There are 5 types of user who involved in Packaging Repository and 5 modules involved in
this application.
Administrator – is responsible for creation, modification, suppression of packaging and also addition of images and
documents.
Validator – is responsible for Validating the packaging and Management of Parameter for the packaging
Coordinator – is responsible for Viewing a packaging and Management of Parameter for the packaging
Document Manager – is responsible for addition of images and documents and also viewing a packaging
User – is responsible only for viewing a packaging
Second if packaging is entered with all the required characteristics, which can be sent for validation
with Status = ‘E’, until then the packaging with characteristic’s can be saved in draft with Status = ‘B’.
Third either the packaging can be validated or refused by the validator with comments. If validator
validates the packaging the status needs to be changed from “E” to “V”. If the validator refuses the
packaging the status need to be changed from “B” to “E”.
Lifecycle of a Packaging
There are 3 status involved in lifecycle of a packaging.
First the package code is created with Status = ‘B’ and with all the characteristics.
Create Package
Modify Package
Status = ‘B’
Request Validation
Save
Verify
Expected Validation
Status = ‘E’
Validated Package
Status = ‘V’
Refused Validation
B – Draft (Code: 1)
E – Study (Code: 2)
V – Validated (Code: 3)
Technical Flow of Packaging Repository
The application has been designed with help of Apex Enterprise Design Pattern (EAA) through the
various parts of a design model called Separation of Concerns (SOC), of which two design patterns were
originally defined by the accomplished software consultant and speaker Martin Fowler.
• Apex Enterprise Patterns – Separation of Concerns
• Apex Enterprise Patterns – Service Layer
• Apex Enterprise Patterns – Domain Layer
Why & What are the benefits of SOC ?
Complex code gets out of hand when we don't partition it properly - heavily intermixed, making it
error prone, difficult to maintain, and hard to learn. In order to avoid to this inconsistency SOC is best practice
which can be followed and also helps in “Code-Reuse”.
Benefits of SOC – Logic , Storage and UI interaction once we separate, we can define layers within
our application with its own concerns and responsibilities and make the application as a whole.
On the Force.com platform, there are two distinct approaches for development
• Declarative (point-and-click) – Need not to use SOC
• Traditional coding – Better to use SOC
These two approaches fit into the standard SOC layers as depicted in the following image:
Service layer interaction
Domain layer interaction
Clear and strict encapsulation of code
implementing business logic,
calculations and processes.
Bridge between presentation and
domain layers
CRUD operations on Custom Objects
Contains SOQL queries and DML
commands
Domain Layer indirectly accessed
through Service Layer
Overall controller diagram
At top of the all the controllers hierarchy, BaseController is the base abstract controller which need to be
extended by all other controller in order to have some basic functionality needs which can used by all
other controllers
Demonstration
Thank you!
Any Questions?
1 de 30

Recomendados

Process Documentation Ppt Images por
Process Documentation Ppt ImagesProcess Documentation Ppt Images
Process Documentation Ppt ImagesSlideTeam
401 visualizações5 slides
SharePoint User Experience Best Practices por
SharePoint User Experience Best PracticesSharePoint User Experience Best Practices
SharePoint User Experience Best PracticesPerficient, Inc.
16.4K visualizações39 slides
Process Automation Powerpoint Presentation Slides por
Process Automation Powerpoint Presentation SlidesProcess Automation Powerpoint Presentation Slides
Process Automation Powerpoint Presentation SlidesSlideTeam
2K visualizações41 slides
Office365 training - for the Beginner por
Office365 training - for the BeginnerOffice365 training - for the Beginner
Office365 training - for the BeginnerLynn Dye
6.8K visualizações22 slides
What is Product Information Management (PIM)? por
What is Product Information Management (PIM)?What is Product Information Management (PIM)?
What is Product Information Management (PIM)?Emma Kobylenski
436 visualizações10 slides
Vajat erp 053 por
Vajat erp 053Vajat erp 053
Vajat erp 053zoran radovic
69 visualizações100 slides

Mais conteúdo relacionado

Similar a M.S. Dissertation in Salesforce on Force.com

unit 5 cloud.pptx por
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptxMrPrathapG
2 visualizações17 slides
whitepaper_workday_technology_platform_devt_process por
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_processEric Saraceno
2.3K visualizações20 slides
Cscc cloud-customer-architecture-for-e commerce por
Cscc cloud-customer-architecture-for-e commerceCscc cloud-customer-architecture-for-e commerce
Cscc cloud-customer-architecture-for-e commercer_arorabms
28 visualizações27 slides
Cloud investment buyers guide por
Cloud investment buyers guideCloud investment buyers guide
Cloud investment buyers guideKaizenlogcom
107 visualizações10 slides
Cloud investment buyers guide por
Cloud investment buyers guideCloud investment buyers guide
Cloud investment buyers guideKaizenlogcom
26 visualizações10 slides
Datasheet datapowerpluginforrd por
Datasheet datapowerpluginforrdDatasheet datapowerpluginforrd
Datasheet datapowerpluginforrdMidVision
192 visualizações2 slides

Similar a M.S. Dissertation in Salesforce on Force.com(20)

unit 5 cloud.pptx por MrPrathapG
unit 5 cloud.pptxunit 5 cloud.pptx
unit 5 cloud.pptx
MrPrathapG2 visualizações
whitepaper_workday_technology_platform_devt_process por Eric Saraceno
whitepaper_workday_technology_platform_devt_processwhitepaper_workday_technology_platform_devt_process
whitepaper_workday_technology_platform_devt_process
Eric Saraceno2.3K visualizações
Cscc cloud-customer-architecture-for-e commerce por r_arorabms
Cscc cloud-customer-architecture-for-e commerceCscc cloud-customer-architecture-for-e commerce
Cscc cloud-customer-architecture-for-e commerce
r_arorabms28 visualizações
Cloud investment buyers guide por Kaizenlogcom
Cloud investment buyers guideCloud investment buyers guide
Cloud investment buyers guide
Kaizenlogcom107 visualizações
Cloud investment buyers guide por Kaizenlogcom
Cloud investment buyers guideCloud investment buyers guide
Cloud investment buyers guide
Kaizenlogcom26 visualizações
Datasheet datapowerpluginforrd por MidVision
Datasheet datapowerpluginforrdDatasheet datapowerpluginforrd
Datasheet datapowerpluginforrd
MidVision192 visualizações
Unit 5- Cloud Applications.pdf por MaryJacob24
Unit 5- Cloud Applications.pdfUnit 5- Cloud Applications.pdf
Unit 5- Cloud Applications.pdf
MaryJacob24126 visualizações
M 94 4 por Jack Bloomberg
M 94 4M 94 4
M 94 4
Jack Bloomberg185 visualizações
Cloud application services (saa s) – multi tenant data architecture por Johnny Le
Cloud application services (saa s) – multi tenant data architectureCloud application services (saa s) – multi tenant data architecture
Cloud application services (saa s) – multi tenant data architecture
Johnny Le325 visualizações
Best Practices for Integrating Applications Development por Kovair
Best Practices for Integrating Applications DevelopmentBest Practices for Integrating Applications Development
Best Practices for Integrating Applications Development
Kovair334 visualizações
Nt1310 Unit 5 Core Technologies por Ashley Gomez
Nt1310 Unit 5 Core TechnologiesNt1310 Unit 5 Core Technologies
Nt1310 Unit 5 Core Technologies
Ashley Gomez4 visualizações
The F5 Networks Application Services Reference Architecture (White Paper) por F5 Networks
The F5 Networks Application Services Reference Architecture (White Paper)The F5 Networks Application Services Reference Architecture (White Paper)
The F5 Networks Application Services Reference Architecture (White Paper)
F5 Networks1.2K visualizações
Datasheet.net pluginforrd por MidVision
Datasheet.net pluginforrdDatasheet.net pluginforrd
Datasheet.net pluginforrd
MidVision150 visualizações
Web Based Application for Rent or Sale por Mike Taylor
Web Based Application for Rent or SaleWeb Based Application for Rent or Sale
Web Based Application for Rent or Sale
Mike Taylor801 visualizações
Cloud computing a services business application challenges por Editor Jacotech
Cloud computing a services business application challengesCloud computing a services business application challenges
Cloud computing a services business application challenges
Editor Jacotech417 visualizações
Automation, Audits, and Apps Tour por Chef
Automation, Audits, and Apps TourAutomation, Audits, and Apps Tour
Automation, Audits, and Apps Tour
Chef225 visualizações
Adopting the Cloud por Tapio Rautonen
Adopting the CloudAdopting the Cloud
Adopting the Cloud
Tapio Rautonen419 visualizações
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf por منیزہ ہاشمی
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfImprove_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
منیزہ ہاشمی7 visualizações
Which Application Modernization Pattern Is Right For You? por Apigee | Google Cloud
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
Apigee | Google Cloud8K visualizações

Último

MVP and prioritization.pdf por
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdfrahuldharwal141
39 visualizações8 slides
The Power of Heat Decarbonisation Plans in the Built Environment por
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built EnvironmentIES VE
84 visualizações20 slides
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue por
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueShapeBlue
139 visualizações15 slides
Ransomware is Knocking your Door_Final.pdf por
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdfSecurity Bootcamp
98 visualizações46 slides
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...ShapeBlue
162 visualizações25 slides
LLMs in Production: Tooling, Process, and Team Structure por
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team StructureAggregage
57 visualizações77 slides

Último(20)

MVP and prioritization.pdf por rahuldharwal141
MVP and prioritization.pdfMVP and prioritization.pdf
MVP and prioritization.pdf
rahuldharwal14139 visualizações
The Power of Heat Decarbonisation Plans in the Built Environment por IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 visualizações
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue por ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlueCloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
CloudStack Object Storage - An Introduction - Vladimir Petrov - ShapeBlue
ShapeBlue139 visualizações
Ransomware is Knocking your Door_Final.pdf por Security Bootcamp
Ransomware is Knocking your Door_Final.pdfRansomware is Knocking your Door_Final.pdf
Ransomware is Knocking your Door_Final.pdf
Security Bootcamp98 visualizações
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... por ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 visualizações
LLMs in Production: Tooling, Process, and Team Structure por Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 visualizações
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue por ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlueVNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
VNF Integration and Support in CloudStack - Wei Zhou - ShapeBlue
ShapeBlue207 visualizações
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... por ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 visualizações
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue por ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
2FA and OAuth2 in CloudStack - Andrija Panić - ShapeBlue
ShapeBlue152 visualizações
Qualifying SaaS, IaaS.pptx por Sachin Bhandari
Qualifying SaaS, IaaS.pptxQualifying SaaS, IaaS.pptx
Qualifying SaaS, IaaS.pptx
Sachin Bhandari1.1K visualizações
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... por ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 visualizações
Optimizing Communication to Optimize Human Behavior - LCBM por Yaman Kumar
Optimizing Communication to Optimize Human Behavior - LCBMOptimizing Communication to Optimize Human Behavior - LCBM
Optimizing Communication to Optimize Human Behavior - LCBM
Yaman Kumar38 visualizações
NTGapps NTG LowCode Platform por Mustafa Kuğu
NTGapps NTG LowCode Platform NTGapps NTG LowCode Platform
NTGapps NTG LowCode Platform
Mustafa Kuğu437 visualizações
"Running students' code in isolation. The hard way", Yurii Holiuk por Fwdays
"Running students' code in isolation. The hard way", Yurii Holiuk "Running students' code in isolation. The hard way", Yurii Holiuk
"Running students' code in isolation. The hard way", Yurii Holiuk
Fwdays36 visualizações
Digital Personal Data Protection (DPDP) Practical Approach For CISOs por Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash162 visualizações
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda... por ShapeBlue
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
Hypervisor Agnostic DRS in CloudStack - Brief overview & demo - Vishesh Jinda...
ShapeBlue164 visualizações
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... por ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 visualizações
"Surviving highload with Node.js", Andrii Shumada por Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 visualizações
Transcript: Redefining the book supply chain: A glimpse into the future - Tec... por BookNet Canada
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
Transcript: Redefining the book supply chain: A glimpse into the future - Tec...
BookNet Canada41 visualizações
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online por ShapeBlue
KVM Security Groups Under the Hood - Wido den Hollander - Your.OnlineKVM Security Groups Under the Hood - Wido den Hollander - Your.Online
KVM Security Groups Under the Hood - Wido den Hollander - Your.Online
ShapeBlue225 visualizações

M.S. Dissertation in Salesforce on Force.com

  • 1. c Arun. S.P 2011HZ13301 BITS Pilani MS Software Systems 4-Nov-2013
  • 2. Agenda Introduction Research on the problem statement Cloud Computing SaaS Salesforce Functional Flow of Packaging Repository Technical Flow of Packaging Repository Demonstration
  • 3. Introduction The Packaging Repository application is a centralized management of packaging for packing automotive components in RENAULT and it can be reused for other partners as well. Organization Background The project is build for managing packaging repository for RENAULT and for other partners, currently developed in JAVA-J2EE platform. The Applications allows us to • To produce the packaging codes for five types of origin(Renault, Supplier, Odette, Galia, Partners) • A way to have the characteristics of packaging • One way to manage packages used • Single way to produce packaging code • To list the characteristics of the packaging
  • 4. Research on the problem statement • Existing System Existing System Vs. Proposed System • Proposed System Current system deals with migrating of Java-J2EE application into cloud computing with help of salesforce. The goal of this project will provide following Benefits to the Business and reduce TCO - Total cost of Ownership by Lower licensing costs and reduced maintenance cost. The RENAULT Packaging Repository application is currently developed in Java-J2ee platform. Currently the application is running in data center with clustering etc. with a huge cost of operation/maintenance.
  • 5. Report on Benefit in terms of Estimated Development Time and Project TCO? Force.com Business Case Calculator will help us to give ball park estimate, has 3 step processes to find out estimated development time and project TCO - http://www.salesforce.com/platform/tco/calculator.jsp The unit value is given based on currency Euro Application Complexity Application Type Application Development & Maintenance Step 1: About the application
  • 7. Step 2: Input on Existing Technology
  • 8. Estimated Development Time Step 3: Estimated development time & Estimated project TCO
  • 9. Estimated Project TCO Step 3: Estimated development time & Estimated project TCO
  • 10. Cloud Computing To the above questions the principle is very simple.  Offering Computing  Storage  Software as a Service & Cost Benefit • Anywhere/Anytime Access to Data • Improved Reliability and Security of Data • Wider Access to Free Software The 5 Essential Characteristics are • On-Demand Self Service • Broad Network Access • Resource Pooling • Rapid Elasticity • Measured Service What is it and Why should we care? What are the benefits?
  • 11. Traditional IT Vs Cloud Computing CosttoBusiness number of users number of users CosttoBusiness variable costs variable costs Set Up Costs Initial Costs, such as purchasing hardware, software, Licensing, etc. No Set Up Costs Where is the data ? Data typically goes to large data centers in the network, depending on the type of cloud.
  • 12. What are the difference types of cloud? What are the difference cloud services? PRIVATE PUBLIC HYBRID COMMUNITY Resource dedicated to one customer Resource shared by multiple customers Customized combination of shared and dedicated resources Dedicated resource for a group of customers SOFTWARE-AS-A -SERVICE PLATFORM-AS-A -SERVICE INFRASTRUCTURE-AS-A -SERVICE It enables a user to be able to use an application without installing it on a computer or other type of device. It allows third parties to build applications without buying hardware or maintaining software. CONSUME BUILD HOST It provides hardware capacities as demanded by users, to run their own software services.
  • 14. SaaS What is SaaS ? stands for “Software as a Service” SaaS Business Individual SaaS is a model where an application is hosted on a remote data center and provided as a service to customers across the internet. In this model the provider takes care of all software development, maintenance and upgrades. Rather than relying on desktop software or traditional servers, software is hosted by a third party, available via cloud. Salesforce is a common and popular example of a CRM SaaS application. The provider also provides support and maintains the data center. Customers use the software application using a browser.
  • 16. PROS • Stay focused on business processes • Change software to an Operating Expense instead of a Capital Purchase, making better accounting and budgeting sense. • Create a consistent application environment for all users • No concerns for cross platform support • Easy Access • Reduced piracy of our software • Lower Cost  For an affordable monthly subscription  Implementation fees are significantly lower • Continuous Technology Enhancements • Initial time needed for licensing and agreements • Trust or the lack thereof, is the number one factor blocking the adoption of software as a service (SaaS). • Centralized control & Possible erosion of customer privacy • Absence of disconnected use CONS Pros and Cons of SaaS
  • 17. Salesforce Salesforce.com has grown into a platform for developing and running mission critical, enterprise applications. Salesforce CRM is a set of business processes and integrated applications that help companies manage customer information, activities, and conversations in one centralized location. By combining business processes, people, and technology, companies can drive sales and keep customers satisfied after the sale. The company is best known for its Salesforce customer relationship management (CRM) Why do would we want to build our application on the Force.com platform ? • Delivers faster time to value1 • Requires no up-front capital expenses2 • Minimizes operational costs3 • Requires fewer technical resources4 • Simplifies integration5
  • 18. What makes application development on the Force.com fast and cost-effective? 1 • Programmable user interface 2 • Programmable cloud logic 3 • Real-time database customizations 4 • Granular security and sharing 5 • Integrated content library 6 • Visual process manager 7 • Customer-facing websites 8 • Custom Application Development
  • 19. The below schematic view explains overall salesforce architecture. The below diagram illustrates, how pages are constructed on the server and depending on the logic behind the page may interact with the database through apex controller, invoke external web service calls, or both, before returning the view to the client. Salesforce Architecture
  • 20. One of unique feature of force.com is multitenant kernel, designed specifically to service a cloud, is difficult to build because it must be reliable, scalable, customizable by tenants, upgradeable without downtime, secure, and fast. How can we keep tenant- specific data secure in a shared database so that one tenant can’t see another tenant’s data? How can one tenant customize various schema objects and an application’s user interface in real time without affecting the functionality or availability of the system for all other tenants? How will the system’s response time scale as tens of thousands of tenants use the service? Force.com – Multitenant kernel
  • 21. Force.com’s core technology uses a runtime engine that materializes all application data from metadata—data about the data itself. Force.com’s has a well-defined metadata-driven architecture, there is a clear separation of the compiled runtime database engine (kernel), tenant data, and the metadata that describes each application. These distinct boundaries make it possible to independently update the system kernel and tenant-specific applications and schemas, with virtually no risk of one affecting the others Answer to the 4 questions from the previous slide
  • 22. The Model, View, Controller Paradigm ControllerModel View The model, or data structure, can be defined as either sObjects (the entity definitions for persisted data) or classes in Apex. The view, or presentation layer, is comprised of Pages and components as described above. The controller, or logic layer, includes any custom controller logic written in Apex, or standard behavior generated by the Force.com platform for each business entity. Below diagram explains the flow of data between Standard & Custom Objects (Model), Standard Controllers & Apex (Controllers) and Visualforce pages (View) .
  • 23. Functional Flow of Packaging Repository There are 5 types of user who involved in Packaging Repository and 5 modules involved in this application. Administrator – is responsible for creation, modification, suppression of packaging and also addition of images and documents. Validator – is responsible for Validating the packaging and Management of Parameter for the packaging Coordinator – is responsible for Viewing a packaging and Management of Parameter for the packaging Document Manager – is responsible for addition of images and documents and also viewing a packaging User – is responsible only for viewing a packaging
  • 24. Second if packaging is entered with all the required characteristics, which can be sent for validation with Status = ‘E’, until then the packaging with characteristic’s can be saved in draft with Status = ‘B’. Third either the packaging can be validated or refused by the validator with comments. If validator validates the packaging the status needs to be changed from “E” to “V”. If the validator refuses the packaging the status need to be changed from “B” to “E”. Lifecycle of a Packaging There are 3 status involved in lifecycle of a packaging. First the package code is created with Status = ‘B’ and with all the characteristics. Create Package Modify Package Status = ‘B’ Request Validation Save Verify Expected Validation Status = ‘E’ Validated Package Status = ‘V’ Refused Validation B – Draft (Code: 1) E – Study (Code: 2) V – Validated (Code: 3)
  • 25. Technical Flow of Packaging Repository The application has been designed with help of Apex Enterprise Design Pattern (EAA) through the various parts of a design model called Separation of Concerns (SOC), of which two design patterns were originally defined by the accomplished software consultant and speaker Martin Fowler. • Apex Enterprise Patterns – Separation of Concerns • Apex Enterprise Patterns – Service Layer • Apex Enterprise Patterns – Domain Layer Why & What are the benefits of SOC ? Complex code gets out of hand when we don't partition it properly - heavily intermixed, making it error prone, difficult to maintain, and hard to learn. In order to avoid to this inconsistency SOC is best practice which can be followed and also helps in “Code-Reuse”. Benefits of SOC – Logic , Storage and UI interaction once we separate, we can define layers within our application with its own concerns and responsibilities and make the application as a whole.
  • 26. On the Force.com platform, there are two distinct approaches for development • Declarative (point-and-click) – Need not to use SOC • Traditional coding – Better to use SOC These two approaches fit into the standard SOC layers as depicted in the following image:
  • 27. Service layer interaction Domain layer interaction Clear and strict encapsulation of code implementing business logic, calculations and processes. Bridge between presentation and domain layers CRUD operations on Custom Objects Contains SOQL queries and DML commands Domain Layer indirectly accessed through Service Layer
  • 28. Overall controller diagram At top of the all the controllers hierarchy, BaseController is the base abstract controller which need to be extended by all other controller in order to have some basic functionality needs which can used by all other controllers