You are on page 1of 19

MODULE 1

INTRODUCTION TO CLOUD COMPUTING


Cloud computing is a general term for anything that involves delivering hosted services over the Internet. These services are broadly divided into 3 categories or layers: 1. Infrastructure-as-a-Service (IaaS) 2. Platform-as-a-Service (PaaS) 3. Software-as-a-Service (SaaS) The name cloud computing was inspired by the cloud symbol that's often used to represent the Internet in flow charts and diagrams A cloud service has 3 distinct characteristics that differentiate it from traditional hosting: 1. It is sold On Demand, typically by the minute, hour, day or month 2. It is Elastic. A user can have as much or as little of a service as they want at any given time; and the service is fully managed by the provider (the consumer needs nothing but a personal computer and Internet access). Significant innovations in virtualization and distributed computing, as well as improved access to high-speed Internet and a weak economy, have accelerated interest in cloud computing. 3. It is Scalable in terms of hardware (servers, routers, computer systems) as well as users. The scaling is done as per the requirement.

Layers of Cloud Computing:

1. IaaS: Infrastructure-as-a-Service provides virtual server to start, stop, access and configure their virtual servers and storage. In the enterprise, cloud computing allows a company to pay for only as much capacity as is needed, and bring more online as soon as required. Because this payfor-what-you-use model resembles the way electricity, fuel and water are consumed, it's sometimes referred to as Utility Computing.
2.

PaaS: Platform-as-a-service in the cloud is defined as a set of software and product development tools hosted on the provider's infrastructure. Developers create applications on the provider's platform over the Internet. Force.com (an outgrowth of Salesforce.com) and GoogleApps are examples of PaaS. Developers need to know that currently, there are not standards for interoperability or data portability in the cloud. Some providers will not allow software created by their customers to be moved off the provider's platform.

3. SaaS: SaaS is a very broad market. Services can be anything from Web-based email to inventory control and database processing. Because the service provider hosts both the application and the data, the end user is free to use the service from anywhere.

Advantages of Cloud: 1. It offers Location-Independent access 2. Independent of Operating system and configuration of users machine (only internet and supported web browser is required) 3. Offers Flexibility

Note: Cloud is comprised of hardware, software and users.

CRM (CUSTOMER-RELATIONSHIP MANAGEMENT) CRM is a widely-implemented strategy for managing a companys interactions with customers, clients and sales prospects. It involves using technology to organize, automate, and synchronize business processes for sales, activities, marketing, customer services and technical support. The overall goal is to find, attract and win new clients, nurture and retain those existing customers. Ex. Most of the banks use Finnacle (a CRM software designed for the necessities of a bank)

INTRODUCTION TO SALESFORCE
Based on Force.com Platform Different and innovative from previous architectures Salesforce.com hosts apps at its data centers and customers subscribe to those apps Multi-tenant architecture i.e. there is no particular storage or server allocated to a user when he/she creates an account Information is stored at large database and is filtered based on the uniqueness of an account Innovation There are scheduled maintenances. Developer does not have to worry for compatibility between versions There are 2 schemes which are provided by Salesforce.com:

1. On-demand Apps There are many applications that are predefined by Salesforce.com developers and are ready to use Business oriented apps

2. Force.com Platform There are many scenarios in which the predefined apps are not sufficient to meet the requirements In such cases, we use Force.com platform where we can do programming and build custom data model, custom business logic and custom user interfaces.

***Model-View-Controller Architecture / Application Building Blocks

IMPORTANT POINTS Only left hand side i.e. SETUP Menu related things are important for exam Model = Data Model View = User interface Controller = Business logic In exam, whenever a question is asked which uses terms like data model, business logic or user interface, please understand that they are referring to respective content. For eg. If question contains term Business Logic, you must understand that question is related to workflow rules, validation rules or approval processes

DATA MODEL

OBJECTS There are 2 types of objects: 1. Standard Objects: These are predefined in our developer account. We cannot delete any standard object and its standard fields. However we can customize it based on our requirement. (eg. Accounts, Contacts, Leads, etc.) Go to Setup -> App Setup -> Customize There you can find all Standard objects 2. Custom Objects: These are user defined objects that are build by the users as per their requirements. Users may create as well as delete these objects. Go to Setup -> App Setup-> Create -> Objects

Note: 1. Remember the explanation given in session Object = Table in database Fields = Columns on table 2. Whenever a custom object is created there are few Standard fields that are generated for that object (eg. Created By, Last Modified By, Created Date, Last Modified Date, Owner)

TABS It acts as an interface between user and object. It allows user to interact with data (add, modify and store records). It also decides the look and feel of the object. There are 3 types of tabs: 1. Custom object tabs: Used for custom objects

2. Web tabs: Used for calling external web services 3. Visualforce tabs: Used for rendering or loading a Visualforce page Whenever a tab is created for a custom object, following features are enabled: Create New Option: This is the shortcut which can be used to create a record for that object Recent Items: All the recent records are displayed for that object when its tab is created Search: Searching is enabled for records of that object

FIELDS AND DATA TYPES 1. Auto number Unique for an object, sequential and system generated Maximum of 30 characters (20 for suffix/prefix) Incremented for each new record inserted We have to specify starting number Read only Can be used as an external ID 2. Checkbox Equivalent to True/False True Checked, False Unchecked Default value False/Unchecked For import wizards and export tools use 1/0 3. Currency Automatically formatted as currency amount Sum of length of decimal and non decimal part should be less than or equal to 18 K, M, B can be used to represent thousand, million and billion respectively Default value can be assigned Can be made required

4. Date Gives user the option to enter a date or select it from a pop up calendar Earliest date possible is 1700-01-01 (YYYY-MM-DD) and latest date possible is 4000-12-31 Can be entered as MM-DD-YYYY or MM.DD.YYYY or MM/DD/YYYY Yesterday, Today and Tomorrow will be converted to respective dates if locale I set to English Default value can be assigned Can be made required 5. Date/Time Current date and time can be added by selecting the from the popup Stored as UTC (Co-ordinate Universal Time) 12 hour format with AM/PM notation Default value can be assigned Can be made required 6. Email Validates the entered value to see if it is in proper format If the field is clicked it will automatically launch the default email program of the system (eg. Microsoft Outlook) and email can be sent to the selected addresses Maximum length is 80 characters Can be made Required/Unique Default value can be assigned Can be used as External ID 7. Number Leading zeroes are removed Sum of length of decimal and non decimal part should be less than or equal to 18 Can be made Required/Unique Default value can be assigned Can be used as External ID

8. Percentage % is added to the end of the entered number automatically Sum of length of decimal and non decimal part should be less than or equal to 18 Can be required Default value when entered, should be entered as a decimal (eg. 0.25 for 25%) 9. Phone Automatically formats the number, text is also allowed Maximum characters 40 Default value can be assigned Can be made required 10. Text

We can enter combination of letters, numbers and symbols Maximum 255 characters, length has to be specified Can be made Required/Unique Default value can be assigned Can be used as External ID

11. Text Area We can enter combination of letters, numbers and symbols Supports carriage return so text can be formatted on separate lines Maximum 255 characters, length has to specified Can be made Required Default value can be assigned 12. Text Area(Long) 256 32,000 characters, length has to be specified Line break and return characters are included in the count Number of visible lines can be selected Not allowed some Standard objects like Activities, Products on Opportunities 25 text area fields per object allowed for developer edition Default value can be assigned

13. Text Area(Rich) By using the toolbar, one can format and add text, images and hyperlinks Provides options for Undo, Redo, Bold, Italics, Underline, Strikeout, Modify, Change alignment, Add a numbered or non numbered list, add or remove indent or out dent Maximum of 32,000 characters are allowed, image size up to 1 MB (GIF, JPG, PNG) No inline editing is allowed and it cannot be converted to other types Number of visible lines can be selected 14. URL

Maximum of 255 characters On click the link opens in a separate browser Formats the string (adds http://) Only 50 characters are displayed on the record detail page Can be made required Default value has to be entered in quotes

15. Formula Is Read only field They are smart fields used to carry a business specific calculations using simple wizards and an excel like formula language Allows calculating values based on other values Can include Currency, Number, Date, Percentage, Date/Time, Text expressions on standard and custom objects Gets updated if the source is updated Can have maximum 1300 character size and 5000 compilation lines 16. Picklist Drop down list that provides a selection of valid values Can sort alphabetically Can set first element as default Use validation rules to make it required Changes in picklist values will be automatically updated for records

Duplicate values are not allowed and has no length or precision

17. Multi-Select Picklist More than one option can be selected They are displayed separated by ; Can select number of visible lines They are displayed in a scrolling box on edit page Can sort alphabetically and first entry can be made default 18. Rollup-Summary Field(RSF) Read only Available on the Master side of a Master-Detail relationship Used to display count, sum, min, max value of the field in the related list 10 RSFs per object are allowed in developer edition They cannot calculate the values of other RSFs except Account to Opportunity RSF Can calculate the value of formula fields if they o not contain cross object reference or functions that derive their values on the fly (eg. TODAY/NOW) RSFs can trigger workflow rules and field validations After you create an RSF on an object, you cannot create the masterdetail relationship to a look-up relationship

Apart from these data types there are some other features that are offered by Salesforce.com. They are: 1. Dependent Picklist Causes the values in a picklist or multi-select picklist to be dynamically filtered based on the value selected by the user in another picklist The field that drives the filtering is called as the Controlling Field The field that get its value filtered is called as Dependent Field Standard and custom picklists having more than one and less than 300 values can be made controlling field Checkboxes can also be used to control picklist values

Multi-select picklists and custom picklists can be made dependent picklists

Note: Standard Picklist Fields (which are predefined on Standard Objects) are always the Controlling Field. We cannot make them as Dependent field.

2. Encrypted Custom fields It is a provisioned feature of Salesforce.com. To enable it, we need to contact Salesforce Support Letters, numbers or symbols can be encrypted Users should have the View Encrypted Data permission to view it Uses 128 bit key and Advanced Encryption Standard for encryption Cannot be made Unique, Required or External ID or have a default value Maximum of 175 characters because extra space will be required for encryption algorithm Cannot be searched but can be included in search results Encrypted fields are not available in Lead Conversion, Workflow rule criteria or formula, formula fields, outbound messages and defaults values It is editable Existing custom fields cannot be converted into encrypted fields nor can encrypted fields be converted to other types

3. Cross Object Formula Fields: It enables to incorporate merge fields from multiple objects for calculations and display purposes It can reference a field on the parent or a grandparent up to 5 levels (overall for an object) They are limited to 5 unique relationships per object across all formulas and rules for that object Example; if 1 formula field on child object is referencing to a grandparent (2 levels) then other formula field can only reference up to 3 levels

It can be used to display fields from related objects on detail page, list views, reports, etc.

CHANGING DATA TYPES: Following are the considerations for changing data type of a field: When you convert a text field to picklist type, it takes the values (if any) in existing records and makes them as picklist options by default. These can be changed. Text field can be changed to phone, email, formula, auto number, URL, text area, text area (long) without losing existing data. If Text is converted is converted to number, percentage, date, date/time, currency all existing data will be lost.

Note: 1. Only Text, Number, Autonumber and Email can be used as an External ID 2. Whenever the external ID checkbox is checked, the system indexes that particular field in the database. It is generally used in Upsert Option. 3. It plays a key role in importing data from external system in which the various artifacts are related to each other.

RELATIONSHIPS Relationships may be defined as an association between the objects. Force.com platform supports two variations of parent-child relationships between objects (Please note that both of them are One-To-Many relationships): 1. Look-up 2. Master-Detail Using these, we can incorporate 2 other types of possible relationships: 1. Self Relationship (Look-Up to itself) 2. Many-To-Many (Using a Junction Object with 2 Master-detail) The object on which we create Look-up/Master-Detail becomes the CHILD OBJECT and the object which is referenced in the relationship becomes the PARENT OBJECT.

Look-Up Relationship: Loosely coupled i.e. parent is optional on child record No cascading delete i.e. even if the parent record is deleted, child records retain Separate record level access can be defined for parent and child (independent access controls) Maximum 25 look-up relationships per object It can be multiple layers deep Creates a field on the child object with an icon that allows users to select a value from the parent object When a user views the child record in a detail page, the Record Name of the parent is shown for the field as a link that takes the user directly to the detail page for the parent record Creates a list of related child objects which can be included as part of the detail page for the parent object as a Related List Creates a Report Type that provides a way for users to make reports with data from both objects

Master-Detail Relationship: Tightly coupled i.e. parent is always required on the child record There is cascade delete i.e. if a parent record is deleted; the child record is also deleted The child record inherits the record level access from the parent in fact, the Owner field of the child record is not available Maximum 2 Master-detail relationships per object The look and feel of the child object is also determined by the parent unless a tab is created for the child It can be only 1 layer deep (a child of one Master-detail cannot be a parent in other Master-detail and vice versa) Standard objects cannot be on the detail side of a custom object in a master-detail relationship We can use Roll Up Summary Fields only on Master objects in Masterdetail relationship

Many-To-Many Relationship: For Many-To-Many relationship, we need to create an intermediate object called as Junction Object A junction object is a custom object with two master-detail relationships The second master-detail relationship becomes the secondary relationship. If we delete the primary master-detail or convert it to a lookup, the secondary master object becomes primary The two master-detail relationships on the junction object cannot have the same master object The first Master-Detail relationship becomes the Primary relationship which decides Look and feel and Record ownership Look and feel: The junction object's detail and edit pages use the color and any associated icon of the primary master object Record ownership: The junction object records inherit the value of the Owner field from their associated primary master record. Because objects on the detail side of a relationship do not have a visible Owner field, this is only relevant if you later delete both master-detail relationships on your junction object

Self Relationship: A look-up relationship on an object where same object is referenced i.e. parent and child objects are same (however records differ) Eg. Accounts Object has a field named Parent Account which is a look-up to itself

Note: In Rollup Summary Fields we traverse from Parent to Child only(Parent referred here is the master of Master-Detail Relationship) In Formula Fields we can traverse from Child to Parent up to 5 levels (Parent referenced here may be a Master of Master-Detail relationship or a Look-Up parent)

IMPORTANT POINTS TO REMEMBER


Maximum number of custom objects in developer edition Maximum number of Fields per object Maximum number of External IDs per object Number of days an Object/Field remains in Recycle Bin Number of days a Record remains in Recycle Bin Number of Look-Up Relationships per Object Number of Master Detail Relationships per Object Total number of levels Cross Object Formula can traverse 400 500 3 45 30 25 2 5

USER INTERFACE

APPS An app may be defined as logical container of all objects, tabs, processes & services associated with a particular business function Name, description, ordered list of tabs and optionally a custom logo (PNG, JPG, GIF image of maximum 20KB size) We can also select a default landing tab Eg. Sales, Call Center, Force.com, etc. Go to Setup -> App Setup -> Create -> Apps

PAGE LAYOUTS It is automatically generated UI for our objects Defines organization of fields, custom links and related lists Customizations include field locations, page section customizations, field properties (Read Only, Required) We can also handle Related Lists and the columns that can be displayed in related lists Establish a unique layout for different business scenarios Whenever we make a field as Required in page layout; it is only applicable when the user is entering data via this page Not recommended for security purposes We can add/remove standard/custom links and buttons We can also override the standard pages by custom Visualforce pages Blank spaces can also be inserted We can make Sections for grouping fields Page layout exists in 2 modes Read Only (Detail Page) and Edit (Edit Page) mode

MINI-PAGELAYOUT Whenever we hover the mouse pointer on a particular record or link to the record, we may get a pop up which shows some detail about that record. We can customize the fields that has to be displayed on hover using mini page layouts It is available on top right of Enhanced Page layout editor

RECORD TYPES Used for categorizing records It can control picklists Useful for enhancing business aspects

Few more important aspects discussed in session: Search Layouts LookUp Dialogs Search Filter Fields

DESIGN CONSIDERATIONS FOR MULTIPLE USERS


1. 2. 3. 4. 5. 6. Consider the actors using the app What users expect to see and do? What data is most important? What should these users be able to see? Are their any data restrictions? How can we make user experience more streamlines and efficient? Which users should be able to customize the app?

Note: FOR USER OBJECT 1. There is Hierarchical Relationship data type which is like a Look-Up to another User. There is no Look-Up or Master-Detail available for User Object 2. For User page layout, we cannot add custom buttons. We can only add Custom links, inline Visualforce page and custom fields.

You might also like