microservice-based architecture on the salesforce app cloud
TRANSCRIPT
Microservice-based Architecture on
the Salesforce1 Platform
Paul Battisson, MVP, Technical Architect, Mavens Consulting
Sean Harrison, Technical Architect, Mavens Consulting
Paul BattissonForce.com MVP
Technical Architect, Mavens Consulting
@pbattisson
@forcedotcomcast
Sean HarrisonTechnical Architect, Mavens Consulting
@GizmoForce
Agenda
• What are microservices anyway?
• Pattern 1 – The Gateway
• Pattern 2 – Synchronous Broker
• Pattern 3 – Asynchronous Broker
• Microservices on Salesforce1
• Summary
• Q&A
What are microservices anyway?
Break the MonolithBusiness Capabilities – Products not Projects
CommunicationRESTful or Message Queues?
• We will be showing our microservices communicating over a message queue
• REST is most common pattern for synchronous communication
• Message Queues for asynchronous
• We are showing a message queue because:
• Lots of people may not have seen one
• Salesforce REST API would be better for REST based microservices architecture
Pattern 1 - The Gateway
Pattern 1 – The Gateway
Pattern 1 – The Gateway
1. Microservice processes some information that requires interaction with Salesforce
2. Microservice places message for Salesforce Gateway Microservice on message queue
3. Gateway Microservice handles message from queue and calls appropriate function(s)
4. Gateway Microservice functions call out to Salesforce REST API
5. Salesforce REST API returns response
6. Gateway Microservice handles and processes response as well as acknowledging processing of
message
7. Acknowledgement (possibly including processed REST API response) routed handled by
originating microservice
8. During processing, Gateway Microservice may place another message on queue to be handled by
other microservices
Demo & Code!Please visit http://some.url.com
The Microservice Part
The Gateway and SFDC Part
Pattern 2 – Salesforce Broker
Synchrnous
Pattern 2 – Salesforce Broker (Synchronous)
Pattern 2 – Salesforce Broker Synchronous
1. Microservice processes some information that requires interaction with Salesforce
2. Microservice places message for Salesforce Broker Microservice on message queue
3. Broker Microservice handles message from queue
4. Broker Microservice calls custom Broker Apex REST Endpoint
5. Apex REST endpoint handles message and calls required apex code for message
6. Broker endpoint responds with output from routed message
7. Broker Microservice receives response and routes back to originating microservice via
acknowledgement
8. Acknowledgement (including Salesforce API response) handled by originating microservice
Demo & Code!Please visit http://some.url.com
Microservice Posts to a Queue
Broker Microservice Passes Information Through
Pattern 3 – Salesforce Broker
Asynchronous
Pattern 3 – Salesforce Broker (Asynchronous)
Microservices on Salesforce1Doing it on the platform
Microservices on Salesforce1
Demo & Code!Please visit http://some.url.com
Recap
Recap
• Salesforce can be a first class player in a microservice architecture
• Your situation will dictate the best pattern(s) to apply
• Adoption takes time
• Code samples and information available at: http://some.url.com
• We would love your feedback
• On the session
• On how you are (or could be!) using microservices
Questions?@pbattisson
@GizmoForce
Thank you