SlideShare a Scribd company logo
FME Server as an Enterprise Service
Bus (ESB)
Nicholas Ranicar – 1Spatial
FLIGHT PLAN
● What is an ESB?
● What was the problem to be solved?
● Solution using FME Server
● Demo
● Improvements?
An enterprise service
bus (ESB) implements a
communication system between
mutually interacting software
applications in a service-
oriented architecture (SOA)
* Wikipedia
CHALLENGE
● Publicly accessible data entry, validation and reporting tool
● Solution requires a multi-page web form application
● Dynamically updated page content based on user input
● Complex spatial and non-spatial business processing and
validation rules
● Several "traditional" consultancies had tried (and failed) to
build a solution
Different Approach
● Using FME Server as an ESB is a non-traditional use of the
software
● Many short-lived transactions vs traditional large workspaces
● Architectural solution to a real-world problem
FORM CONFIGURATION
DYNAMIC WEB UI
CONTENT STORAGE
BUSINESS RULES VALIDATION
SOLUTION
Dynamic web front end
● Requests page content from FME Server DataStreaming services
Configuration database
● Provides web page configuration and content
FME Server
● Builds JSON response to return to web front end
● Performs form validation
● Interacts with back end services
Web UI
FME Server (ESB)
Getprojectlist
Submitform
content
Fileupload
Userinput
. . .
Form
Config
Form
Content
CMS
FME
Workspace
FME
Workspace
FME
Workspace
FME
Workspace
FME
Workspace
FME
Workspace
Projectlist
. . .
Form
layout
Layout
update
Layout
update
Getformlayout
Userinput
GIS PDF Email
Status
response
Status
response
DEMO
Open
existing
Create
new
Future Improvements
● Current process uses synchronous requests
○ Can freeze web page if all engines busy
● Use a single “controller” workspace on a dedicated
FME Server queue
○ “worker” workspaces push notification to front-end
when complete
THANK YOU!
Nic Ranicar
1Spatial

More Related Content

What's hot

What are core web vitals
What are core web vitalsWhat are core web vitals
What are core web vitals
NITISH VERMA
 
Domain Driven Design Up And Running
Domain Driven Design Up And RunningDomain Driven Design Up And Running
Domain Driven Design Up And Running
IASA
 
Say hello to Kentico 8! Your integrated marketing solution has arrived
Say hello to Kentico 8! Your integrated marketing solution has arrivedSay hello to Kentico 8! Your integrated marketing solution has arrived
Say hello to Kentico 8! Your integrated marketing solution has arrived
Thomas Robbins
 
BusinessSystemTransformationSummary
BusinessSystemTransformationSummaryBusinessSystemTransformationSummary
BusinessSystemTransformationSummary
Bill Fulbright
 
Open Source in Practice at SNS Bank
Open Source in Practice at SNS BankOpen Source in Practice at SNS Bank
Open Source in Practice at SNS Bank
Eric D. Schabell
 
GreenVulcano ESB Technical Overview (ENG)
GreenVulcano ESB Technical Overview (ENG)GreenVulcano ESB Technical Overview (ENG)
GreenVulcano ESB Technical Overview (ENG)
greenvulcano
 
An overview of BizTalk
An overview of BizTalkAn overview of BizTalk
An overview of BizTalk
Prasanth Gnanasekaran
 
Real-world software design practices when developing ASP.NET web systems by B...
Real-world software design practices when developing ASP.NET web systems by B...Real-world software design practices when developing ASP.NET web systems by B...
Real-world software design practices when developing ASP.NET web systems by B...
Bojan Veljanovski
 

What's hot (8)

What are core web vitals
What are core web vitalsWhat are core web vitals
What are core web vitals
 
Domain Driven Design Up And Running
Domain Driven Design Up And RunningDomain Driven Design Up And Running
Domain Driven Design Up And Running
 
Say hello to Kentico 8! Your integrated marketing solution has arrived
Say hello to Kentico 8! Your integrated marketing solution has arrivedSay hello to Kentico 8! Your integrated marketing solution has arrived
Say hello to Kentico 8! Your integrated marketing solution has arrived
 
BusinessSystemTransformationSummary
BusinessSystemTransformationSummaryBusinessSystemTransformationSummary
BusinessSystemTransformationSummary
 
Open Source in Practice at SNS Bank
Open Source in Practice at SNS BankOpen Source in Practice at SNS Bank
Open Source in Practice at SNS Bank
 
GreenVulcano ESB Technical Overview (ENG)
GreenVulcano ESB Technical Overview (ENG)GreenVulcano ESB Technical Overview (ENG)
GreenVulcano ESB Technical Overview (ENG)
 
An overview of BizTalk
An overview of BizTalkAn overview of BizTalk
An overview of BizTalk
 
Real-world software design practices when developing ASP.NET web systems by B...
Real-world software design practices when developing ASP.NET web systems by B...Real-world software design practices when developing ASP.NET web systems by B...
Real-world software design practices when developing ASP.NET web systems by B...
 

Similar to FME Server as an Enterprise Service Bus

WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
Vijaya Raghava Vuligundam
 
External - IT Specialist
External - IT SpecialistExternal - IT Specialist
External - IT Specialist
Jacob Wardon
 
Pariksha ria presentation
Pariksha ria presentationPariksha ria presentation
Pariksha ria presentation
parikshalabs.com
 
Stephen Kleimeyer’s SharePoint Resume
Stephen Kleimeyer’s SharePoint ResumeStephen Kleimeyer’s SharePoint Resume
Stephen Kleimeyer’s SharePoint Resume
skmeyer2010
 
Harish Srivastava -Resume
Harish Srivastava -ResumeHarish Srivastava -Resume
Harish Srivastava -Resume
Harish Srivastava
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
rahmed_sct
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHP
John Paul Ada
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
Murali Manohar
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
ecosio GmbH
 
Elado development capablities
Elado development capablitiesElado development capablities
Elado development capablities
Shashikant Sethy
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices Whitepaper
Tony Kernan
 
Accion labs microservices white paper
Accion labs microservices white paper Accion labs microservices white paper
Accion labs microservices white paper
Tony Kernan
 
Accion Labs microservices white paper
Accion Labs microservices white paper Accion Labs microservices white paper
Accion Labs microservices white paper
Tony Kernan
 
David Behre Resume
David Behre ResumeDavid Behre Resume
David Behre Resume
Dave Behre
 
Ahmad_Resume_Ar
Ahmad_Resume_ArAhmad_Resume_Ar
Ahmad_Resume_Ar
Ahmad Shaik
 
Vamsi_Obiee_Admin
Vamsi_Obiee_AdminVamsi_Obiee_Admin
Vamsi_Obiee_Admin
vamsi krishna rayala
 
jhanz_RS102016_PC_1
jhanz_RS102016_PC_1jhanz_RS102016_PC_1
jhanz_RS102016_PC_1
Josh Hanz
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
ACA IT-Solutions
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
jam c
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
WSO2
 

Similar to FME Server as an Enterprise Service Bus (20)

WebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development TrainingWebSphere Message Broker Application Development Training
WebSphere Message Broker Application Development Training
 
External - IT Specialist
External - IT SpecialistExternal - IT Specialist
External - IT Specialist
 
Pariksha ria presentation
Pariksha ria presentationPariksha ria presentation
Pariksha ria presentation
 
Stephen Kleimeyer’s SharePoint Resume
Stephen Kleimeyer’s SharePoint ResumeStephen Kleimeyer’s SharePoint Resume
Stephen Kleimeyer’s SharePoint Resume
 
Harish Srivastava -Resume
Harish Srivastava -ResumeHarish Srivastava -Resume
Harish Srivastava -Resume
 
Enterprise Software Architecture
Enterprise Software ArchitectureEnterprise Software Architecture
Enterprise Software Architecture
 
Simple Web Services with PHP
Simple Web Services with PHPSimple Web Services with PHP
Simple Web Services with PHP
 
Tactics Esb Implementation
Tactics Esb ImplementationTactics Esb Implementation
Tactics Esb Implementation
 
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
Introduction to Service Oriented Architectures, SOAP/WSDL Web Services and RE...
 
Elado development capablities
Elado development capablitiesElado development capablities
Elado development capablities
 
Accion Labs Microservices Whitepaper
Accion Labs Microservices WhitepaperAccion Labs Microservices Whitepaper
Accion Labs Microservices Whitepaper
 
Accion labs microservices white paper
Accion labs microservices white paper Accion labs microservices white paper
Accion labs microservices white paper
 
Accion Labs microservices white paper
Accion Labs microservices white paper Accion Labs microservices white paper
Accion Labs microservices white paper
 
David Behre Resume
David Behre ResumeDavid Behre Resume
David Behre Resume
 
Ahmad_Resume_Ar
Ahmad_Resume_ArAhmad_Resume_Ar
Ahmad_Resume_Ar
 
Vamsi_Obiee_Admin
Vamsi_Obiee_AdminVamsi_Obiee_Admin
Vamsi_Obiee_Admin
 
jhanz_RS102016_PC_1
jhanz_RS102016_PC_1jhanz_RS102016_PC_1
jhanz_RS102016_PC_1
 
MicroServices, yet another architectural style?
MicroServices, yet another architectural style?MicroServices, yet another architectural style?
MicroServices, yet another architectural style?
 
Chapter 1 introduction
Chapter 1 introductionChapter 1 introduction
Chapter 1 introduction
 
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
[WSO2Con EU 2017] How a Large Organization Weighted on a WSO2 Integration Pla...
 

More from Daniela Perri

4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme
Daniela Perri
 
Metadata in Local Government
Metadata in Local GovernmentMetadata in Local Government
Metadata in Local Government
Daniela Perri
 
When to use python in FME
When to use python in FMEWhen to use python in FME
When to use python in FME
Daniela Perri
 
Hypsometric areas
Hypsometric areasHypsometric areas
Hypsometric areas
Daniela Perri
 
Index map
Index mapIndex map
Index map
Daniela Perri
 
Western power bushfire reponse process
Western power bushfire reponse processWestern power bushfire reponse process
Western power bushfire reponse process
Daniela Perri
 
Daniela CV Jan 2017
Daniela CV Jan 2017Daniela CV Jan 2017
Daniela CV Jan 2017
Daniela Perri
 

More from Daniela Perri (7)

4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme4.5 Powering infrastructure with fme
4.5 Powering infrastructure with fme
 
Metadata in Local Government
Metadata in Local GovernmentMetadata in Local Government
Metadata in Local Government
 
When to use python in FME
When to use python in FMEWhen to use python in FME
When to use python in FME
 
Hypsometric areas
Hypsometric areasHypsometric areas
Hypsometric areas
 
Index map
Index mapIndex map
Index map
 
Western power bushfire reponse process
Western power bushfire reponse processWestern power bushfire reponse process
Western power bushfire reponse process
 
Daniela CV Jan 2017
Daniela CV Jan 2017Daniela CV Jan 2017
Daniela CV Jan 2017
 

Recently uploaded

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 

Recently uploaded (20)

Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 

FME Server as an Enterprise Service Bus

  • 1. FME Server as an Enterprise Service Bus (ESB) Nicholas Ranicar – 1Spatial
  • 2. FLIGHT PLAN ● What is an ESB? ● What was the problem to be solved? ● Solution using FME Server ● Demo ● Improvements?
  • 3. An enterprise service bus (ESB) implements a communication system between mutually interacting software applications in a service- oriented architecture (SOA) * Wikipedia
  • 4. CHALLENGE ● Publicly accessible data entry, validation and reporting tool ● Solution requires a multi-page web form application ● Dynamically updated page content based on user input ● Complex spatial and non-spatial business processing and validation rules ● Several "traditional" consultancies had tried (and failed) to build a solution
  • 5. Different Approach ● Using FME Server as an ESB is a non-traditional use of the software ● Many short-lived transactions vs traditional large workspaces ● Architectural solution to a real-world problem
  • 6. FORM CONFIGURATION DYNAMIC WEB UI CONTENT STORAGE BUSINESS RULES VALIDATION
  • 7. SOLUTION Dynamic web front end ● Requests page content from FME Server DataStreaming services Configuration database ● Provides web page configuration and content FME Server ● Builds JSON response to return to web front end ● Performs form validation ● Interacts with back end services
  • 8. Web UI FME Server (ESB) Getprojectlist Submitform content Fileupload Userinput . . . Form Config Form Content CMS FME Workspace FME Workspace FME Workspace FME Workspace FME Workspace FME Workspace Projectlist . . . Form layout Layout update Layout update Getformlayout Userinput GIS PDF Email Status response Status response
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. Future Improvements ● Current process uses synchronous requests ○ Can freeze web page if all engines busy ● Use a single “controller” workspace on a dedicated FME Server queue ○ “worker” workspaces push notification to front-end when complete

Editor's Notes

  1. This talk is about an architectural solution to a real-world problem presented to us by a client
  2. FME Server usually thought of as workspace repository / scheduling tool. All but invisible in this solution. What is “architectural solution”? - This talk isn’t focusing on workflow complexity, rather looking at system architecture as solution
  3. How does the solution fit the ESB model? These are some of the interacting components of the ESB: Web forms Dynamic for validation Business rule validation Data storage solutions at back end: form config DB form submission DB CMS PDF conversion Email
  4. Other back end services: CMS PDF creation Form response storage GIS DB Google Maps Email
  5. REST API DataStreaming services
  6. Not able to show actual system because it requires a secure logon. Showing some screen captures instead.
  7. List of projects – all details provided as a DataStreaming response from FME Server Even the Section titles are provided by FME Server from details stored in the configuration DB
  8. Creating a new project, select the proposed project location on the map. This location is used when processing business rules to determine form content later in the application.
  9. Note how the text changes as the Assessment Level changes. All text supplied by FME Server from config DB
  10. Project location area entered when project created determines Assessment Levels available. Project impacts shown on map.
  11. Project cannot be submitted for assessment until all forms have been validated Each form page is validated on the fly at the time it is completed; validation status is shown on list at right