Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Real World – Rapid prototyping with Logic
Apps
Michael Stephenson https://www.linkedin.com/in/michaelstephensonuk1
First a story to set context……
Acme University - Transforming the Student Experience
• Awesome Mobile App
• Awesome Student Portal
• Modern Back Office P...
Core Systems
Student
Information
System
Case
Management
System
Virtual
Learning
Environment
Finance
Acme University
Systems of Record (Master)
Student Information
System
• Student
• Course
• Module
• Assessment
• Departments
• Faculties
C...
Current Position
Phase 1
- Academic Years
- Departments & Faculties
- Students
- Courses
- Modules
- Student Enrolments
- Student Assessmen...
API & Microservices
Resource
group
Resource
group
Service Bus
Messaging
BizTalk Server
API Management
Resource
group Logic...
API & Microservices
Resource
group
Resource
group
Service Bus
Messaging
BizTalk Server
SITS
API Management
Resource
group ...
Phase vNext & Prototyping
Project Aims
• Migrate Blackboard to a new version
• Synchronize key data required to make Blackboard Function
• Send asse...
Square Pegs n Round Holes
Problems
• A course is not a course
• SITs Course != Blackboard Course
• Acme Blackboard Courses = Academic Year + Module ...
Awesome Idea
Extract all data for 1
student
Build everything for
that student in BB
Upsert Functions
• API has Swagger = 
• Swagger doesn’t describe behavior of system = 
• Can we learn how to use API
Azu...
Student Sync Prototype
Blackboard API
Trigger with Student Id
Student Sync Logic App
Upsert Functions
Get all data for stu...
Demo
Key Learning 1 – How to model the data?
Option 1 – Lots of courses Option 2 – Use course groups
Key Learning 2 – How to map the data?
Other Learnings
• Passwords needed to be supplied when
creating users
• Brought up ADFS discussion
• Academic Year id cant...
Phase 2 Candidate Architecture
API & Microservices
Blackboard API
Resource
group
Resource
group
Service Bus
Messaging
BizTalk Server
SITS
API Management
...
API & Microservices
Blackboard API
Resource
group
Resource
group
Service Bus
Messaging
BizTalk Server
SITS Database
API Ma...
Summary
Summary
• Could create data within Blackboard in < 0.5
days
• Was able to create Logic App + Functions very
quickly
• Able...
Upcoming SlideShare
Loading in …5
×

Real World – Rapid prototyping with Logic Apps

338 views

Published on

This integration Monday session will be a show and tell style session where Mike will present a short topic covering rapid prototyping using Logic Apps. We all know that integration projects tend to be challenging, a lot of time is spent on analysis and trying to understand how things will work. In the real world we still find that no matter how much analysis we do we never really know the full story until we try to wedge the square peg into the round hole. In this session Mike will talk about how he used Logic apps to help him elaborate the requirements for a project using a prototype built with Logic Apps and how some of the learnings from this prototype will save plenty of time later in the project.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Real World – Rapid prototyping with Logic Apps

  1. 1. Real World – Rapid prototyping with Logic Apps Michael Stephenson https://www.linkedin.com/in/michaelstephensonuk1
  2. 2. First a story to set context……
  3. 3. Acme University - Transforming the Student Experience • Awesome Mobile App • Awesome Student Portal • Modern Back Office Processes • Analysis and Intelligence • Cloud & Integration Platform for Transforming the business • Ultra modern Virtual Learning Environment Azure Service Bus Azure API Management Logic Apps Functions
  4. 4. Core Systems Student Information System Case Management System Virtual Learning Environment Finance
  5. 5. Acme University
  6. 6. Systems of Record (Master) Student Information System • Student • Course • Module • Assessment • Departments • Faculties Case Management System • Cases Virtual Learning Environment • Assessment Grades • Learning Content Finance • Billing • Payments
  7. 7. Current Position
  8. 8. Phase 1 - Academic Years - Departments & Faculties - Students - Courses - Modules - Student Enrolments - Student Assessments - Staff Service Bus Messaging
  9. 9. API & Microservices Resource group Resource group Service Bus Messaging BizTalk Server API Management Resource group Logic App SAP to CRM
  10. 10. API & Microservices Resource group Resource group Service Bus Messaging BizTalk Server SITS API Management Resource group Logic App SITs to CRM
  11. 11. Phase vNext & Prototyping
  12. 12. Project Aims • Migrate Blackboard to a new version • Synchronize key data required to make Blackboard Function • Send assessment grades back to CRM and SITs
  13. 13. Square Pegs n Round Holes
  14. 14. Problems • A course is not a course • SITs Course != Blackboard Course • Acme Blackboard Courses = Academic Year + Module + Semester + Mode of Attendance?? • How do semesters map to terms • Data in Blackboard is setup in a way there is lots of user manipulation later in the process • There are different ways we can solve some data problems, which is best?
  15. 15. Awesome Idea Extract all data for 1 student Build everything for that student in BB
  16. 16. Upsert Functions • API has Swagger =  • Swagger doesn’t describe behavior of system =  • Can we learn how to use API Azure Simplify Blackboard API with Functions? Aims
  17. 17. Student Sync Prototype Blackboard API Trigger with Student Id Student Sync Logic App Upsert Functions Get all data for student: - Student - Courses - Departments - Faculties - Modules - Courses - Enrolments - Assessments Build that students data in Blackboard: - Upsert user - Upsert Modules - Upsert Tutor as user - Upsert Semester as course group - Upsert Mode of Attendance as course group - Add student and tutor as group members - Etc……
  18. 18. Demo
  19. 19. Key Learning 1 – How to model the data? Option 1 – Lots of courses Option 2 – Use course groups
  20. 20. Key Learning 2 – How to map the data?
  21. 21. Other Learnings • Passwords needed to be supplied when creating users • Brought up ADFS discussion • Academic Year id cant have “/” in it • Id needs to be upper case (it will convert it) • Not all objects have an external id • Courses need to have a term • Courses and terms don’t need to have dates • Dates didn’t seem to behave as expected, raised as a separate POC • Modules != courses • Courses in BB are a parent/child • Parent = Module Code + Year • Child = Module Code + Year + Semester + Mode of Attendance • Can we use course groups to simplify course model?
  22. 22. Phase 2 Candidate Architecture
  23. 23. API & Microservices Blackboard API Resource group Resource group Service Bus Messaging BizTalk Server SITS API Management Resource group Logic App SITs to Blackboard Blackboard needs - Reference Data - Users (Student/Staff) - Modules - Courses
  24. 24. API & Microservices Blackboard API Resource group Resource group Service Bus Messaging BizTalk Server SITS Database API Management Resource group Blackboard DB replica StuTalk On Premise Microservices Update Student Grades [Optional] Enrichment step
  25. 25. Summary
  26. 26. Summary • Could create data within Blackboard in < 0.5 days • Was able to create Logic App + Functions very quickly • Able to allow the business user to “see what it might look like” Thoughts • On Paper Analysis on its own can only get you so far and you will miss lots of things • Prototyping can test your assumptions and help you learn a lot • Manage expectations = Prototype is not the end solution Quick to prototype Cheap Throwaway Serverless Quick time to value Makes analysis fun Show what’s possible

×