Мне было интересно, может ли кто-нибудь сравнить или сравнить различия между интерфейсом, бэкэнд и промежуточным программным обеспечением ( "средний конец"?) лаконично.
Есть ли случаи, когда они перекрываются? Существуют ли случаи, когда они ДОЛЖНЫ перекрываться, а интерфейс/бэкэнд не могут быть разделены? Что касается узких мест, какой конец связан с каким узким местом?