Compositional UIs - the Microservices Last Mile - Jimmy Bogard

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 ก.พ. 2018
  • A key tenet of microservice architecture is autonomy. This is all well and good when the business users dutifully follow Conway's law and rarely if ever use multiple applications from multiple services. But it can get worse, much worse, where we have a single application needing to expose information and capabilities through a single, consistent window. But those that do not learn history are doomed to repeat it, and we certainly do not want to repeat the same mistakes that felled SOA.
    In this session, we'll look at the common reasons why we need to build composite applications, and some of the ways we can avoid doing so. As we continue, we'll look at integration patterns from a number of tiers, from the database up to the UI, examining patterns, techniques, and frameworks that close the last mile of microservices to build a maintainable, autotonomy-embracing compositional UI.
    NDC Conferences
    ndc-london.com
    ndcconferences.com
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 24

  • @SuperKako17
    @SuperKako17 2 ปีที่แล้ว

    Jimmy has an amazing ability to find real-world analogies to the problems found in system design. That makes the explanations "click" with so much power once you understand them! Great talk once again.

  • @maartenderie8252
    @maartenderie8252 3 ปีที่แล้ว +6

    Am I the only one designing something that is NOT a webstore?!

  • @BlackShampoo75
    @BlackShampoo75 5 ปีที่แล้ว +6

    "I don't even bother to keep up" The sign of enlightenment 😉

  • @SixTimesNine
    @SixTimesNine 3 ปีที่แล้ว +3

    I'd love to see an updated version with the latest toys - like Blazor for example

  • @kapilshekhar
    @kapilshekhar 5 ปีที่แล้ว +5

    What is wrong with keeping composition to the browser (or presentation components) and use the back-end microservices as data/transaction components. It is simple, intuitive and keeps concerns well isolated. The vertical splitting to make microfrontends is the last mile, understood, but isnt front-end composition fast and clean(granted there are much more network calls, but that can be overcome) ? This server side MVC composition as a argument on compositional UI is just stretching the options a bit much. The product search example in the presentation is actually suited for the DB Composition via search data that is aggregated in the search DB. How does that become a MVC View layer composition case . Hufff...

    • @LusidDreaming
      @LusidDreaming 2 ปีที่แล้ว

      Another thing about multiple requests is it actually fits reactive UI design better. Most of the time in a reactive UI you would actually track the loading/availability of components independently, which we see a lot in modern applications. For example, you may hit a product page and immediately see the price and description, and then just see a loading graphic for something like shipping details or reviews. This seems to actually couple the rendering of the page to all the services involved (unless I missed something). And honestly, the fact that everything gets coupled and tied together in the frontend makes sense: it's basically the UIs job to combine all the pieces into one. If you have zero coupling in a system, it's not a single system. The point of microservices is that your coupling is restricted to a minimum number of well defined interfaces that require (hopefully) coordination to change. So the idea that service A is allowed to change it's API and that may break the client isn't a problem: that's the entire point of it being an API and it should have the strictest contract of any service. I've worked on microservices before and I never really saw making multiple requests to individual services (or endpoints on an API gateway) as an issue.

  • @hassanhashemi6478
    @hassanhashemi6478 4 ปีที่แล้ว

    Point taken, Thanks @JimmyBogard..

  • @timh.6872
    @timh.6872 5 ปีที่แล้ว +3

    Perhaps it's the result of taking a more pragmatic viewpoint, but these solutions get hacky in a hurry.
    What I'm wondering is why that last note on the front end having its own service boundary wasn't unpacked more. Because we already have an implementation paradigm/philosophy for composition in the form of microservices. What if the frontend were just more microservices, composed horizontally (in parallel, handling different application needs) and vertically (in series, handling different stages of the same application need). Allowing horizontal *and* vertical composition of microservices means that the problem of styling can be deferred to later down the pipeline, making it global by definition and intention (since every component passes through it) rather than global by cooperation.
    To be fair, I have a different mental model of microservices than most, so perhaps I should use a different term. A push-based event-driven microservice composes much more nicely than a request-driven one, because a request driven architecture is inherently coupled to the thing it is requesting from. If application data is completely banned from message responses, then these kinds of things actually work.

  • @myaccount09011975
    @myaccount09011975 3 ปีที่แล้ว

    Thanks for the talk Jimmy. Could you please share the font you are using in snippets. I really want to understand the font name and specially size.

  • @chr1so
    @chr1so 5 ปีที่แล้ว +7

    Web components are useful when they can be isolated to its own functionality, not when we want them to communicate with other components because then they become tightly couple.

    • @ChrisAthanas
      @ChrisAthanas ปีที่แล้ว +1

      If the web components agree on a common api, broadcasting events Is scalable and extensible

  • @kokizzu
    @kokizzu 3 ปีที่แล้ว +1

    i googled for that noun.js thingy '__')

  • @vivienh.missamou208
    @vivienh.missamou208 3 ปีที่แล้ว

    please just do microservices. Pulling data into ELK for search is a must Now. consider modelizing :
    - autonomous ui,
    - event-driven ui
    - and clean up your coffee cup:)

  • @robertmrobo8954
    @robertmrobo8954 3 ปีที่แล้ว

    Blazor says Hello.. :)

    • @RiwenX
      @RiwenX 3 ปีที่แล้ว +1

      Gotta give Blazor a try. I'll be sad to abandon React, tho, even if I have a love-hate relationship with JS.

    • @robertmrobo8954
      @robertmrobo8954 3 ปีที่แล้ว

      @@RiwenX
      I moved to Blazor from Angular... understandably, with my heavy experience of backend programming with asp.net, Blazor was simply one of the best things ever to come into my life.
      And it will only get better. :)

  • @fakeapplestore4710
    @fakeapplestore4710 4 ปีที่แล้ว +11

    This talk could be shorter. Talks starts at 37:00

  • @ciqfufajefiqke8688
    @ciqfufajefiqke8688 3 ปีที่แล้ว

    The pricey riverbed accordingly support because camel feasibly glue over a curly loss. impossible, unable meteorology

  • @cla2008
    @cla2008 5 ปีที่แล้ว

    why every speaker thinks its a good idea to insert these shitty jokes every couple of minutes which ALWAYS fail. do they all contemplate about their failed stand up comedian career or something along those lines?

    • @jimmybogard4178
      @jimmybogard4178 5 ปีที่แล้ว +8

      You seem nice.

    • @cla2008
      @cla2008 5 ปีที่แล้ว

      @@jimmybogard4178 i dont have a goal to be nice. in fact I dont care. what I care for is the content. and these shitty jokes just waste my time

    • @jiggajim
      @jiggajim 5 ปีที่แล้ว +4

      Meizu M2 Mini You sound like an absolute delight to work with.
      Who hurt you?

    • @cla2008
      @cla2008 5 ปีที่แล้ว

      @@jiggajim your mom. nobody complained about working with me yet, quite the contrary