Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Talking to organisations with x-road

686 Aufrufe

Veröffentlicht am

X-road offers a way for organisations to talk to each other in a safe and secure manner. However, the challenges presented by two different organisations having to get along are the more pronounced the easier common technical issues are set aside. In this speech some of such problems are highlighted and a collection of integration patterns is introduced seeking to help solve them.

  • Login to see the comments

Talking to organisations with x-road

  1. 1. Talking to organisations with x-road Andres Kütt Information System Authority, architect May 22, 2015
  2. 2. Introduction
  3. 3. Agenda today • What is architecture? • X-Road in a nutshell • Issues in integrating organisations • Fitting the pieces together
  4. 4. What is architecture? Architecture has many definitions, this speech uses this one: • Function mapped to form by concept • Form is what something is • Function is what that something does • Concept is how the architect thinks Function Form Concept
  5. 5. X-Road in a nutshell Let’s re-visit the main idea of X-Road • X-Road is a combination of the following • Standardized protocol designed for secure and non-repudiable inter-agency server-to-server communication • Locally deployable software implementing that procotol • Centrally deployable software supporting local installations • Organisational measures allowing the three to function sustainably • X-Road establishes trust between organisations, each party is responsible for their own access management • It is but a communication channel, nothing more and nothing less
  6. 6. Issues in integrating organisations
  7. 7. Mapping architectures Organisations have different architectures, how can we make these talk to each other? • Function is taken care of by the actual services provided • Form is the domain of x-road: standards and software • How do we map concepts? • Agility vs. stability mindset • Documents or services? • What about maturity levels? Function Form Concept
  8. 8. Dynamic complexity leakage Undesirable behavior tends to leak across organisational borders • Feedback loops appear easily • Organisation A sees a load spike • Kills off organisation B • Unprocessed requests kill off organisation A • As soon as B recovers, it is swamped again by A • Awkward behavior on one side can cause irrecoverable awkward behavior on the other • Organisation A sees a load spike • Response time of B drops as parallel sessions grow • A load spike ends • Response time of B does not increase as it cannot reduce the number of parallel sessions
  9. 9. An example of dynamic complexity
  10. 10. Imperfections of the internet Modern technology stacks make it easy to forget that internet is inherently unreliable • TCP can and will fail, it is inherently asynchronous • It is not trivial to understand, what and why went wrong • Did we fail to send a request? • Did we fail to receive a response? • It is difficult to maintain transactional integrity across boundaries • Organisational, application and network boundaries • HTTP does not compensate for this
  11. 11. Handling these issues in x-road context
  12. 12. Looking for a solution The problems listed are inherently architectural • They seldom appear as requirements • Mapping a concept needs to be done so functionality can be delivered, it is not a requirement per se • Dynamic leakage might be a non-functional requirement by operations, if you are lucky • Very few business folks understand internet enough to think in terms of “what shall we do if our books do not match at the end of the month“ • X-road is an element of form and thus cannot provide a solution Structural problems of one abstraction level can only be solved on the previous one
  13. 13. Structural problems of one abstraction level can only be solved one abstraction level up
  14. 14. Providing tools not solutions The problem has already been solved. Repeatedly • Architecture patterns have been in use for decades • Gang of Four books • Martin Fowler • Many others • The idea: provide a catalogue of standardized approaches to a standard set of problems • We need to define all lego pieces needed to build useful things • Sometimes one still wants to play with clay • Can we make the pieces small enough to be standardized but big enough so building stuff would not be tedious? • The same approach x-road takes: provide a standard solution to a complex people often get wrong
  15. 15. State of affairs as of today • A set of the lego pieces • 16 identified at the moment • Validated to some extent • Needs to be a living document • A few of them documented • Standardised, moderately validated, structure • Publicly available, in English • Hard to make a living document: needs to apply to all patterns • Maintained as a set of LaTeX/palntuml files • https://github.com/e-gov/xroad-patterns • Wiki would be more convenient but would add too much overhead • I happen to like LaTeX and how it fits opensource toolchains
  16. 16. Current pattern list
  17. 17. The future Where are we going with this? • The issues are emergent in Estonia but immediate in Finland • Because of scale and operational/architecture maturity • Thus me being here and the text being written in english • Generate interest • I’d rather not undertake anything monumental alone • Or without tangible confirmation of interest • Work on the documents • Validate the structure • Assemble an editorial team • Start filling in the gaps • Systematic validation of the content against real life architectures and existing literature
  18. 18. Thank you! Andres Kütt andres.kutt@ria.ee