-
Book Overview & Buying
-
Table Of Contents
Becoming a Salesforce Certified Technical Architect
By :
A Salesforce Architect is always aiming to create a secure and scalable solution that meets all required functionalities, and document them in a way that allows them to communicate them effectively with the stakeholders. This is applicable during the review board and while tackling a real-life implementation project. An architecture diagram is a graphical representation of a set of concepts that are part of an architecture. They are heavily used in software architecture and, when used effectively, can become a common language for documenting and communicating your solution.
Based on my experience, there are normally several discrepancies with projects in the way architectural diagrams are created. I have seen a lot of inconsistencies, a lack of detail, a lack of discipline, and fragmentation. In several cases, this can be traced back to the misuse of an architectural description language (for example, UML), or in some cases, the lack of using any standard at all. Sometimes, this is due to misunderstanding the value of the diagrams and relying on improper or inconsistent guidelines – and in some cases, a lack of architectural education.
In order to describe your Salesforce Technical Solution Architecture, you need the following artifacts:
Actors and licenses
Data model diagram
System landscape architecture diagram
Role hierarchy
Development life cycle diagram
Process flows (in real-life projects, this is considered a must-have)
Environment diagram (in real-life projects, this is considered a must-have)
Contextual SSO flow
Remember
You can deliver your artifacts/diagrams using one or more of the following tools:
PowerPoint presentations
Flipcharts
Whiteboard (this is not transportable)
A combination of these
There is no right tool. You need to build your own habits and plans and use whatever works best for you.
There are a few things to keep in mind regarding these diagrams:
Now, let's discover each of these artifacts in detail.
The importance of this diagram is derived from the need to clearly communicate the required Salesforce, feature, and third-party licenses with your stakeholders based on concrete use cases expected from each set of users. This diagram will help you do the following:
For this diagram, you need to consider the following:
What if I made the wrong decision and selected a license type that is not sufficient to cover the requirement?
Don't panic – accept the fact that you picked the wrong license, rectify that on the fly, and explain your rationale behind selecting the original license to the judges. We all make mistakes; it is how we handle the situation that matters most.
Now, let's take a look at an example. The following simplified actors and licenses diagram illustrates the activities/use cases related to three different personas, and the license(s) required by each:
Figure 1.1 – Actors and licenses diagram example
If there was an unclear reason for picking one license over the other, add the additional rationale behind your decision to the diagram/documentation. This will help the judges – or in real life, the stakeholders – further understand your vision and the drivers behind your decision.
The data model diagram is one of the most crucial diagrams that you need to create. Without it, you can't explain your solution properly, neither during the exam nor in real life. This diagram will help you with the following:
This diagram should include the following:
Now, let's take a look at an example. The following simplified data model shows the relationships between a set of standard and custom objects:
Figure 1.2 – Data model diagram example
Highlighting the owner of the records of each object type will help you illustrate part of your sharing and visibility strategy. A legend to explain your diagram would also be a nice professional touch.
This system landscape diagram will help you illustrate the systems included within your solution and the relationships between them. This is extremely important because it's likely that you are going to end up creating an integrated solution that spans multiple systems. The diagram will also help you identify and document high-level information about your integration interfaces. This will be the main diagram for describing how the data will be moving across the systems (unless you decide to create a data flow diagram).
Remember
You are creating all these artifacts to help you explain the end-to-end solution to your audience. It is important to understand why you need each diagram and how to use it. There is no point in creating the diagram if you don't know how to use it.
For this diagram, you will need to do the following:
Now, let's take a look at an example. The following diagram shows the systems involved in a landscape where Salesforce is replacing a legacy CRM. You will also notice that it is integrated with external systems through an integration middleware (MuleSoft):
Figure 1.3 – System landscape diagram example
The following table describes the proposed integration interfaces:
Figure 1.4 – Proposed integration interfaces
Typically, you don't include data migration interfaces in a landscape architecture diagram. However, this could be beneficial, particularly during the review board, to explain what tools you are planning to use and what your proposed migration strategy is. Ensure you clearly differentiate that from the integration interfaces. Mixing data migration and data integration concepts is a common mistake.
Data security and visibility is a key topic for a Salesforce architecture. The wrong data sharing and visibility architecture can significantly impact the performance of the solution and can create a major risk to compliance and security. There are several elements that form your overall data sharing and visibility architecture, including your data model, role hierarchy, territory structure, and the capabilities and limitations of some Salesforce licenses. The role hierarchy diagram is a common sharing mechanism, and that is why creating this diagram will help you explain your overall data sharing and visibility strategy. In real life, you might even want to include full documentation of your sharing rules.
This diagram should include the following:
Now, let's take a look at an example. The following diagram shows a company hierarchy based on the USA:
Figure 1.5 – Role hierarchy diagram example
Additionally, you can also include a list of sharing roles and other sharing mechanisms that you are planning to use, likely as an annexed table.
The business process flow diagram will help you illustrate and communicate the targeted user experience for a given process. This is a good to have diagram during the review board in terms of the value it adds, but also in terms of the time it takes to create. Practice creating these types of diagrams and decide if you will include them as part of your generated artifacts or not. Again, remember that we create these diagrams to help us explain the end-to-end solution, not just for the sake of creating diagrams. In real life, diagrams that explain each business process is a must-have. It is also strongly recommended that it's in standard BPMN 2.0 format as this creates a common language between team members and avoids you losing the required details and precision.
This diagram should include the following:
Now, let's take a look at an example. The following business process diagram describes a partner onboarding process. You can add as much detail as you wish for the given hypothetical scenario. In real life, this diagram is likely to be much more detailed:
Figure 1.6 – Business process flow diagram example
Subprocesses help create reusable elements. It is recommended that you use subprocesses whenever applicable. However, this is perhaps more suitable for real-life scenarios rather than the review board.
Governance is another key knowledge area that you have to cover as part of your end-to-end solution. Part of it is your environment strategy; that is, what kind of environments you are planning to use and for what. If you don't create this diagram as part of your presentation, then you are likely going to be asked to draw it during the Q&A session. This diagram is a must-have in real life and can also drive some budget-related discussions.
This diagram should include the following:
We'll cover examples and more details related to this diagram in the chapters to come.
I recommend that you combine this with your source code branching diagram, assuming you have enough time to do so.
Most scenarios you get will have SSO requirements. This diagram (you might need more than one, depending on the used SSO standards) will help you walk your audience through the details of the target user experience without missing any points. If you didn't create this diagram as part of your presentation, then you are likely going to be asked to draw it during the Q&A session. A standard sequence diagram is highly recommended. This is one of the diagrams I personally find more suitable to be drawn in an interactive way (for instance, using a whiteboard).
For this diagram, take the following into consideration:
SAML IDP initiated
SAML SP initiated with deep linking
OAuth 2.0/OpenID Connect web server/Auth code
OAuth 2.0/OpenID Connect User-Agent
OAuth 2.0/OpenID Connect refresh token
OAuth 2.0/OpenID Connect JWT flow
OAuth 2.0 Asset token flow
We'll cover examples and more details related to this diagram in the chapters to come.
It is recommended that you include information regarding the data that's exchanged at each step of the sequence diagram.
Change the font size
Change margin width
Change background colour