Posted in Dreamforce, How-To, Salesforce

Scalable Salesforce Integrations on a Shoestring Budget – Step-by-Step Guide

Welcome to this step-by-step guide on how to implement scalable, low-code and low-budget near real-time Salesforce integrations with third-party systems.
In this post, I will describe how to reproduce the live demo I did during my first Dreamforce session .

EDIT: watch the slides on SlideShare or download the PDF

The reason behind the presented architecture is that I didn’t have any on-premise infrastructure and I had a very limited IT budget so I couldn’t afford a complete ESB.

You will learn how to combine Salesforce Outbound Messages, AWS services, as well as Talend Open Studio for Data Integration.

I promise you it will be very cheap (totally free up to a few thousand records and few hundred thousand transactions), but it takes some time to configure especially if you’re not familiar with some of the tools involved, so please be patient.

Here’s a quick index of the topics:


Context

I needed to integrate, in near real-time, a single Salesforce org with a growing number of ERP systems used by acquired subsidiaries of the Acrotec group.
Given the limited amount of IT budget and no on-premise servers to run my integration jobs, after some research, I found a reasonable solution which I summarize below.

Architecture Schema

You can find below a schematic view of what we’re going to realize in this post:

Prerequisites

In order to follow the steps in this post, you’ll need:

  • A Salesforce org (a free developer org is enough to try this demo)
  • An account on AWS (you can register here)
  • An account on Heroku (you can register here)
    • This one is actually optional, if you didn’t have an account on AWS you are probably eligible for a free RDS database on AWS so you don’t need to create a free database on Heroku.
  • Set up your Eclipse IDE (or IntelliJ) with AWS Toolkit (instructions here)
  • Talend Open Studio for Data Integration (or its commercial version) installed
  • Have some basic knowledge of PostgreSQL, the SQL language and a PostgreSQL compatible client like pgAdmin or DBeaver

Setting up a PostgreSQL database on Heroku

If you already have a PostgreSQL database reachable from Internet, you can skip this section and go to table creation.


Once you’ve logged in on Heroku, all you need to do to obtain a free Heroku Postgres database is to create a new app: https://dashboard.heroku.com/new-app

Choose an appropriate name (Heroku will make sure it is not already taken by someone else) and select a region close to you. I’ll go with Europe.

By default, after creating the app you’ll see the “Deploy” page, but we’re not going to upload any code from a git repository, so please switch to the “Resources” tab:

Under “Add-ons“, search for “Postgres” and select “Heroku Postgres“:

Now you can provision a free “Hobby Dev” tier PostgreSQL DB to your application (which will be limited to 10’000 records and 20 concurrent connections).

If you need additional space for your proof of concept you can consider different plans from Heroku or look at the pricing from AWS or Azure.

After clicking “Provision“, a new resource will be attached as DATABASE on your app and, if you switch to the “Overview” tab, you will also see it there in the list of Installed add-ons:

Click on “Heroku Postgres” under the Installed add-ons to be redirected to https://data.heroku.com where you can monitor all databases you have on Heroku.

On the Overview tab you can monitor some key health information like the amount of open connections and the total amount of records currently stored in your database.

Click on “Settings” tab and on the “View Credentials…” button to take note of your credentials to connect to the database.

Follow the link to the next page to create the tables that will receive your data and continue the configuration.


Posted in Dreamforce, Events, Journey To CTA, Salesforce

My first Dreamforce session: Scalable Salesforce Integrations on a Shoestring Budget

This year I will attend my second Dreamforce, in San Francisco, and it will be my first time as a speaker.


Not sure how to describe my current feelings about that… it is a mix of excitement, honor and scare.
I usually lead the Lausanne, Switzerland user group so it’s not my first presentation but talking in a huge conference like Dreamforce is quite a big step.


The reasons behind my session

For the first time this year there will be an Architect Track with dedicated presentations. Since I am on my #JourneyToCTA, I thought it would be good to share a real-life scenario. It might not be the most elegant and orthodox solution but it works, it scales automatically, it’s cheap and low-code…
Not every company can afford a full-fledged ESB, so I propose an alternative solution that other architects can adapt to their needs.


Some detail about the session

The session name is “Scalable Salesforce Integrations on a Shoestring Budget” and, as the name suggests, it’s about low-cost integrations.
I will show how to combine Salesforce features, AWS server-less products and some free open source tool to implement them.
You can find the abstract, bookmark the session and send your comments here.

There will be a live demo but not enough time to go through all details, so I will publish on this blog the slides and a step-by-step guide to reproduce the demo scenario.


Dry Run in Geneva, Switzerland – November, 12th 2019

If you live near Geneva and cannot attend at Dreamforce, there will be a dry run of this session on November 12th.
RSVP on the Geneva Developers group page.

Step-by-step guide

At last, I finished my step-by-step tutorial on how to implement the integration that I showed during my live demo! Time to prepare my luggage for Dreamforce ’19!

Posted in Bootcamp, Certifications, Events, Journey To CTA, Salesforce

My experience at Bootcamp Barcelona ’19

September 9th to 12th, 2019

When I discovered that Salesforce hosted its first EMEA Bootcamp event in Barcelona, I just couldn’t resist ๐Ÿคฉ.
My favorite city and my favorite platform together: such an amazing opportunity! ๐Ÿ™‚

What is a Bootcamp?

A Bootcamp is a 3 to 4 days expert-led training, with study tracks based your role (Architect, Admin, Developer, etc.) where you have the possibility to pass certifications exams.

Do not assume that you will be able to pass a certification after just those 3-4 days of training

consider the Bootcamp as a booster for your preparation not a replacement

Make sure you follow all preparation material on Trailhead and ask enough questions to your trainer during the Bootcamp to have a higher chance to succeed ๐Ÿ˜‰


Day 1

I arrived early in the morning for breakfast… a bit too early apparently… apart from Salesforce employees, there was just Mirรฒwl (aka Hootie McOwlface the Owl), the Gratitude Tree and myself.

2 Architect Tracks ๐Ÿคฉ

This year Salesforce improved the Architect track by splitting it into 2 tracks corresponding to the 2 sides of the famous Architect #JourneyToCTA pyramid:

Application Architect & System Architect

I completed the Application Architect certification last year and last July I only missed Integration Architecture and Identity and Access Management Designer certifications to complete both sides of the pyramid, so I registered for the System Architect track.

I passed both exams before the training, one in August and the other on the first certification slot of the Bootcamp, so Salesforce allowed me to switch course: 1st day on System Architect track, then changed to the CTA-601 Workshop which was taking place in the same location on the 2nd and 3rd day of the event.

Lesson 1 on System Architect track was mainly focused on Integrations and the teacher was the great Amit Malik.
I really enjoyed his teaching approach without slides and more along the lines of “if you’re here in a System Architect track you probably already know how to search what you need on Google, I’ll just teach you the proper terminology and make your mind click“.

Everyone was encouraged in taking an active part in the class…
I ended up playing the role of “Generic Event” in a Salesforce Events comparison, together with Push Topics, CDC, and Platform Events…
a bit out of my comfort zone, but it was fun ๐Ÿ™‚


Day 2

On the second day I attended the CTA-601 Architect Workshop, led by Carl Brundage (CTA, #AnalyticsChampion like me, and the most certified person I had the chance to talk to in the whole Salesforce ecosystem).

This workshop is about the preparation for the Review Board exam to become a Salesforce’s Certified Technical Architect (CTA).
We were just 10 students and Carl guided us through all the exam guide to understand what is required to pass the Review Board and gave some good advices on how to structure a preparation plan and how to approach the day of the exam.

At the end of the day I felt happy and grateful but also drained, so I went back to my hotel to rest a bit before attending the party at Pacha Barcelona:

Before leaving, I left a small card on the Gratitude Olive Tree.
Feedback is important and I always thank Trailhead for their positive impact! ๐Ÿ™‚

Bootcamp Party

At Bootcamps you don’t spend the whole time studying!

There are also many networking opportunities and one of those is the party they generally organise on the second evening.

Salesforce community is very friendly and open minded so it is easy to meet with people even if you’re shy and introvert.


Day 3

Another CTA-601 day. After drafting a study plan, I had the opportunity to try 2 mock scenarios and to feel the time pressure and the stress while presenting my solution to the judges (Carl and other students).

Key Takeaways:

– Architects need to be concise and precise

– CTAs need to think fast AND correct ๐Ÿ™‚


I definitely need to improve my speed-reading; the first scenario was really long, and trying to implement it while reading it was not a good strategy.
The second was shorter but a bit more complex in terms of data model and design.

After the mock exam, I felt slightly more confident on my technical skills.

It was my first time and it allowed me to identify my strengths and weaknesses.
Now I know that I need to work harder on my communication, drawing and speed-reading (on top of the technical part).

Icing on the cake, I unexpectedly won a big Cloudy peluche for being “social”
(another “out of my comfort zone” thing which I’m trying to learn):

Happy though a bit shocked by the unexpected gift received by Amy ๐Ÿ™‚
CTA601 Workshop Group

Day 4

Early morning studying, packing up, and adding a few stickers to my luggage ๐Ÿ˜นbefore sitting for the Heroku Architecture Designer exam!

Luckily as an Architect you try to predict, identify and address/mitigate risks: I knew Salesforce events are always packed with swags, so I went to Barcelona with an half-empty luggage ๐Ÿ˜€
I really like how the Trailhead team encourages you on every step of your learning experience

The Heroku Architecture Designer exam was quite long and tough but I passed ๐Ÿฅณ
I will post some useful link to documentation and other study materials that helped me tackle its questions ๐Ÿค“


Conclusion

This Bootcamp has been an amazing experience under many aspects and I would definitely recommend anyone to attend future ones!
I met many smart, interesting and fun people from all over Europe (and even some folks from Australia & USA!)

If you’re like me and don’t have the chance to have your company sponsoring the training or the trip, see Bootcamps as an opportunity to invest on your career and a way to speed up your learning journey.

Loved the encouragement words in front of the gratitude tree, right before the exams ๐Ÿ™‚