SlideShare une entreprise Scribd logo
1  sur  18
RDSS
integration
architecture
Alan MacKenzie
Head of Product Management
What is publish-
subscribe (pub-sub)
messaging?
Key characteristics
Messaging
Asynchronous
Fully Decoupled
Pub-sub messaging is not
Technology or solution dependant
Integration mechanism using: files, shared
databases or remote API
The life of a message
Why use pub-sub
messaging?
Why - Strategy
Why - Strategy
Why - Strategy
Why - Strategy
Why - Strategy
Why - Tactics
Operability
Architectural compliance
Reliability
How pub-sub
messaging was
implemented
Specification
https://github.com/JiscRDSS/rdss-message-api-specification
Message structure
Transportation
Application behaviour
Channel topology
References
https://dev.to/wrschneider/balancing-early-and-later-project-risks
http://www.enterpriseintegrationpatterns.com/downloads.html
https://en.wikipedia.org/wiki/Product/market_fit
https://github.com/JiscRDSS/rdss-message-api-specification
https://aws.amazon.com/kinesis/data-streams/
https://zenodo.org/record/344877#.WxVdeVMvyL5
Head of Product Management
Alan MacKenzie
@Alan__MacKenzie
https://www.linkedin.com/in/alanmac/

Contenu connexe

Similaire à Building a national Data Repository System Integration Architecture Overview

tarun 16 may sr.system eng Resume
tarun 16 may sr.system eng Resumetarun 16 may sr.system eng Resume
tarun 16 may sr.system eng Resume
tarun prakash singh
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
Ganesh Kamath
 
Opac labs overview-pr1.0
Opac labs overview-pr1.0Opac labs overview-pr1.0
Opac labs overview-pr1.0
opaclabs
 

Similaire à Building a national Data Repository System Integration Architecture Overview (20)

Resume_20160508
Resume_20160508Resume_20160508
Resume_20160508
 
tarun 16 may sr.system eng Resume
tarun 16 may sr.system eng Resumetarun 16 may sr.system eng Resume
tarun 16 may sr.system eng Resume
 
The Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIsThe Reconstitution of Middleware with APIs
The Reconstitution of Middleware with APIs
 
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer DemandPaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
PaaS Lessons: Cisco IT Deploys OpenShift to Meet Developer Demand
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Application Modernisation with PKS
Application Modernisation with PKSApplication Modernisation with PKS
Application Modernisation with PKS
 
Web Application Development using PHP and MySQL
Web Application Development using PHP and MySQLWeb Application Development using PHP and MySQL
Web Application Development using PHP and MySQL
 
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
 
Building enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolioBuilding enterprise depth APIs with the IBM hybrid integration portfolio
Building enterprise depth APIs with the IBM hybrid integration portfolio
 
7 flavours of devops implementation
7 flavours of devops implementation7 flavours of devops implementation
7 flavours of devops implementation
 
Cloud transformation and Evolution of Integration Patterns
Cloud transformation and Evolution of Integration PatternsCloud transformation and Evolution of Integration Patterns
Cloud transformation and Evolution of Integration Patterns
 
WSO2Con USA 2015: Pattern Driven Enterprise Architecture
WSO2Con USA 2015: Pattern Driven Enterprise ArchitectureWSO2Con USA 2015: Pattern Driven Enterprise Architecture
WSO2Con USA 2015: Pattern Driven Enterprise Architecture
 
Cloud Computing - PaaS
Cloud Computing - PaaSCloud Computing - PaaS
Cloud Computing - PaaS
 
xPaaS – day in the life of a modern application developer
xPaaS – day in the life of a modern application developerxPaaS – day in the life of a modern application developer
xPaaS – day in the life of a modern application developer
 
Build robust streaming data pipelines with MongoDB and Kafka
Build robust streaming data pipelines with MongoDB and KafkaBuild robust streaming data pipelines with MongoDB and Kafka
Build robust streaming data pipelines with MongoDB and Kafka
 
Opac labs overview-pr1.0
Opac labs overview-pr1.0Opac labs overview-pr1.0
Opac labs overview-pr1.0
 
Securing Your Enterprise Continuous Delivery Pipelines with CA Automation Sol...
Securing Your Enterprise Continuous Delivery Pipelines with CA Automation Sol...Securing Your Enterprise Continuous Delivery Pipelines with CA Automation Sol...
Securing Your Enterprise Continuous Delivery Pipelines with CA Automation Sol...
 
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkitThe DevOps paradigm - the evolution of IT professionals and opensource toolkit
The DevOps paradigm - the evolution of IT professionals and opensource toolkit
 
The DevOps Paradigm
The DevOps ParadigmThe DevOps Paradigm
The DevOps Paradigm
 
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
Microsoft Ignite 2022 - Scaling, Securing, Managing, and Publishing Power Pla...
 

Plus de Jisc RDM

2019-06_Eunis_Burland
2019-06_Eunis_Burland2019-06_Eunis_Burland
2019-06_Eunis_Burland
Jisc RDM
 
Building a National Data Service Open Repositories 2018
Building a National Data Service Open Repositories 2018Building a National Data Service Open Repositories 2018
Building a National Data Service Open Repositories 2018
Jisc RDM
 

Plus de Jisc RDM (20)

2019-06_Eunis_Burland
2019-06_Eunis_Burland2019-06_Eunis_Burland
2019-06_Eunis_Burland
 
Jisc Research Data Shared Service Open Repositories 2018 Paper
Jisc Research Data Shared Service Open Repositories 2018 PaperJisc Research Data Shared Service Open Repositories 2018 Paper
Jisc Research Data Shared Service Open Repositories 2018 Paper
 
Jisc Research Data Shared Service Open Repositories 2018 24x7
Jisc Research Data Shared Service Open Repositories 2018 24x7Jisc Research Data Shared Service Open Repositories 2018 24x7
Jisc Research Data Shared Service Open Repositories 2018 24x7
 
Jisc Research Data Shared Service - a Samvera case study
Jisc Research Data Shared Service - a Samvera case studyJisc Research Data Shared Service - a Samvera case study
Jisc Research Data Shared Service - a Samvera case study
 
Building a national Data Repository Data Modelling
Building a national Data Repository Data ModellingBuilding a national Data Repository Data Modelling
Building a national Data Repository Data Modelling
 
Building a National Data Service Open Repositories 2018
Building a National Data Service Open Repositories 2018Building a National Data Service Open Repositories 2018
Building a National Data Service Open Repositories 2018
 
Research Data Toolkit
Research Data ToolkitResearch Data Toolkit
Research Data Toolkit
 
Pre jisc datachampday_260318
Pre jisc datachampday_260318Pre jisc datachampday_260318
Pre jisc datachampday_260318
 
Stories from the Field: Data are Messy and that's (kind of) ok
Stories from the Field: Data are Messy and that's (kind of) okStories from the Field: Data are Messy and that's (kind of) ok
Stories from the Field: Data are Messy and that's (kind of) ok
 
Fair data - dinkum research - by Andy Turner
Fair data -  dinkum research - by Andy TurnerFair data -  dinkum research - by Andy Turner
Fair data - dinkum research - by Andy Turner
 
2018 03 codata - making the case
2018 03 codata - making the case2018 03 codata - making the case
2018 03 codata - making the case
 
Research Data Shared Service update at DPC
Research Data Shared Service update at DPCResearch Data Shared Service update at DPC
Research Data Shared Service update at DPC
 
Research Data Shared Service Webinar #1
Research Data Shared Service Webinar #1Research Data Shared Service Webinar #1
Research Data Shared Service Webinar #1
 
Managing data behind creative masterpieces -RCM
Managing data behind creative masterpieces -RCMManaging data behind creative masterpieces -RCM
Managing data behind creative masterpieces -RCM
 
Managing data behind creative masterpieces
Managing data behind creative masterpiecesManaging data behind creative masterpieces
Managing data behind creative masterpieces
 
Lightning Talks - Intro
Lightning Talks - IntroLightning Talks - Intro
Lightning Talks - Intro
 
Lightning Talk - Andrew MacLellan
Lightning Talk - Andrew MacLellanLightning Talk - Andrew MacLellan
Lightning Talk - Andrew MacLellan
 
Lightning Talk - Nick Sheppard
Lightning Talk - Nick SheppardLightning Talk - Nick Sheppard
Lightning Talk - Nick Sheppard
 
Lightning Talk - Angela Dappart
Lightning Talk - Angela DappartLightning Talk - Angela Dappart
Lightning Talk - Angela Dappart
 
Lightning talk - Adam Harwood
Lightning talk - Adam HarwoodLightning talk - Adam Harwood
Lightning talk - Adam Harwood
 

Dernier

An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
SanaAli374401
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
Chris Hunter
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
PECB
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
heathfieldcps1
 

Dernier (20)

Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Class 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdfClass 11th Physics NEET formula sheet pdf
Class 11th Physics NEET formula sheet pdf
 
An Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdfAn Overview of Mutual Funds Bcom Project.pdf
An Overview of Mutual Funds Bcom Project.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Measures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and ModeMeasures of Central Tendency: Mean, Median and Mode
Measures of Central Tendency: Mean, Median and Mode
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Grant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy ConsultingGrant Readiness 101 TechSoup and Remy Consulting
Grant Readiness 101 TechSoup and Remy Consulting
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Accessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impactAccessible design: Minimum effort, maximum impact
Accessible design: Minimum effort, maximum impact
 
Making and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdfMaking and Justifying Mathematical Decisions.pdf
Making and Justifying Mathematical Decisions.pdf
 
psychiatric nursing HISTORY COLLECTION .docx
psychiatric  nursing HISTORY  COLLECTION  .docxpsychiatric  nursing HISTORY  COLLECTION  .docx
psychiatric nursing HISTORY COLLECTION .docx
 
Z Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot GraphZ Score,T Score, Percential Rank and Box Plot Graph
Z Score,T Score, Percential Rank and Box Plot Graph
 
Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104Nutritional Needs Presentation - HLTH 104
Nutritional Needs Presentation - HLTH 104
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 

Notes de l'éditeur

  1. Hi my name is Alan MacKenzie, I’m the head of product management at a UK software engineering consultancy called Digirati I have been working essentially full time on RDSS for 2 years as the chief architect through the full lifecycle of the project. From the discovery phase of the project to Jisc closing with their first customer.
  2. A architectural pattern for the integration of applications.
  3. 1 - Well defined atomic packets of data to be transported 2 - Sender doesn't block waiting for a response. Fire and usually forget 3 – Not loosely coupled - Communication from one application to another is via a middleman called a channel. Depending on how relaxed an individual is when discussing the integration they may use the word topic or queue instead of channel.
  4. 1 – There’s a slew of technologies around publish-subscribe, including from IBM, Amazon and Orcale. My advice is just to ignore all the marketing. 2- Remote API: RESTful webservice, SOAP
  5. UML sequence diagram Read top to bottom Thick lines on top of the dotted lines are processing by the actor Simple – Not included things like transactional behavior. Publisher = Repository system Subscriber = Preservation system
  6. I’ll be talking about both big picture strategic concerns as well as tactical benefits. As we talking about the benefits it will also give you a more detailed grasp of what this integration pattern is.
  7. Integration is critical to RDSS. Thinking back years ago the vision was for researchers to only key in information once and systems to use auto-complete whenever possible. A core part of the value proposition to Jisc customers is they do not need to do the software engineering work themselves. Easily hit 10 different components integrated with the system, not too far away from that already. This project would not have been feasible if it was done point to point. With 10 different components there’s 90 integration touch points. It’s worth noting that the architecture also vastly improves the speed of delivery, vendor engineering teams only need to talk to Jisc with a focus on the API specification owned by a core team. There is no communication between different vendor teams.
  8. Real photograph of a whiteboard from the project. Along the x axis we have time On the y axis we have risk priority Worth remembering RDSS is was an external customer facing product development project, not an internal facing IT project. We could be outmanoeuvred by our competitors or our customers could be disinterested when it comes to parting with cold hard cash. With this in mind it is best to optimise for flexibility early so you can easily make changes to the system to match what will sell in the market. The industry jargon for a product that a product has good product to market fit when it satisfies a strong demand. With this in mind optimising for the “-abilities” such as operability, scalability and maintainability become more of a priority later in the project. Eventually the priority of flexibility versus the “-abilities” flips.
  9. So flexibility is very important, fortunately publish-subscribe messaging is a high level pattern and it comes with an entire toolbox of tried and tested patterns that can combined to give us the flexibility we need. This is a collection of icons representing most of the patterns from Enterprise Integration Patterns, the canonical reference for building message based integrations. It was written by Gregor Hohpe and Bobby Woolf and published in 2003. You can download the first two chapters for free from the website, I’ve put a link in the references of this presentation. Publish-subscribe with messaging is very popular with commercial enterprise organisations but from what I have seen from the pilot organisations not widely deployed in academia – at least the UK.
  10. Publish-subscribe with messaging is boring and very well understood, though perhaps not widely deployed in academia. We want drama free delivery, the product can be innovative but the technology need not be. Bringing new products to market is risky, we want to stack the deck in our favour.
  11. Final strategic benefit: Competition and portability Over the last couple of years I have spent a significant amount of time talking to higher education institutions about the frankly poor service they receive from many suppliers. An application that uses our standard message API can be easily swapped out for another compliant application in the same category in a couple of days work. This should hopefully prompt healthy competition rather than vendors retreating behind a moat.
  12. 1 - How easy the system is to operate We log every message sent and reject any invalid messages. This makes it easy to debug when something goes wrong as we have a high degree of visibility. 2 – There is almost zero scope for vendors to design and implement solutions that are not in line with the architecture. Maybe that sounds a bit mean spirited but with 50 to 65 developers working parallel split between 7 organisations and 3 or 4 timezones keeping everyone aligned becomes a full time job. 3 - When the message adaptors or gateways integrated into the applications are done well and in conjunction with the right channel the transportation of messages comes with strong guarantees on delivery and systems can publish or consume messages in a transactional manner. The asynchronous nature of messaging allows for systems to easy synchronise or “catch up” after a period of downtime and control the workload applied to them.
  13. Messages that support reasonably straightforward for now. New version due out in the next few weeks. We use semver as a versioning system so you can infer the impact of a release from the version id. 1 - Spec states that every message comes with a header and body. Header handles the software engineering part and the body the domain. Wont talk further about the domain as this is more Dom’s area. Header includes items like A unique id for the message A timestamp for when the message was generated The name of the application that generated the message History 2 - Spec specified the transportation mechanism or the channel which all applications must use to send and receive messages, which is amazon kinesis. Cloud hosted and operated by AWS. Marginally cheaper to operate ourselves at a considerably cost in time. Worth noting that many vendors opted to building an adaptor from their native APIs to kinesis rather than baking the integration into their core application. Whatever works best for your particular application. 3 - Spec also specifies some required behaviour of applications when they send or receive messages. For example how to appropriated behave when a
  14. This was the original architecture for topology but we have optimised this during delivery to be simpler and more secure. I know the diagram looks complicated but it’s actually quite simple. Middleware 2 micro services for routing, each could be rewritten in a day or two. First one is the message broker which simply duplicates any message from an input channel to all output channels Second one is a content based router which intelligently routes messages to the appropriate customer channel. Not represented here but 1 adaptor microservice to work around contractual issues, modifying incoming messages from a vendor application
  15. Would highlight the final link, which is a 50 page report authored by yours truly comparing the various options for the integration architecture and proposing how the project should operate.
  16. Questions?