Sent: Wednesday, February 01, 2017 at 10:12 PM
From: "Martin Smith" <bfc.mclean@gmail.com>
To: soa-rm@lists.oasis-open.org, "Dr. Ken Laskey" <klaskey@mitre.org>, "<rexb@starbourne.com>" <rexb@starbourne.com>, "Mike Poulin" <mpoulin@usa.com>
Subject: [soa-rm] MSA: list of questions to experienced MS developers -- round 1
Ken/all--
OK, pursuant to my action ("develop questions") from today's meeting, I looked at discussion of MSA captured in recent minutes. I think the following captures most of what has been discussed (though probably not exactly how anyone else would have experssed it. <g>)
Consider this the first draft of my homework. If I get comments or additions before the next meeting I'll make an effort to incorporate them.
Regards,
Martin
Starter list:
- Are all/most MS deployed in containers? (Examples of exceptions?)
- How does MSA encourage re-use? (Is it even a goal?) ( if a reuse is available, can it be a concurrent reuse - for 2 or more applications?)
- How does MSA handle data-store consistency for data that can be modified by more than one MS? (Rex)
- How does MSA handle data-store shared within and/or across applications?
- Does MSA allow a direct linkage between the any MS and data stores
- Is it fair to say that MSA doesn't really address how run-time and versioning dependencies across multiple MS or resource owners/providers are to be managed (when multiple "owners" are involved in delivering a complete application)? (Michael)
- What is the basis for any run-time performance benefits attributed to MSA? Are there inherent efficiencies in inter-process calls, for example? If so, are these efficiencies due to MSA or to container architecture?
- In a typical MSA-based application made up of multiple MS (plus back-end resources), is there a standard/typical way to control application flow (functions like orchestration, choreography or workflow)? If there is such a standard/typical component in an MSA-based application, what's it called? (Possibly related: what functions does an "API Gateway" commonly perform?)
- What are the [three] main benefits of MSA? How does MSA deliver each (vs a specified alternative methodology)? (What architectures were MSA developers typically using before adopting MSA?)
- How MS' API relates to its implementation? Can the implementaion be a part of another application? Can the implementaion have a different owner/outsourced? What guarantees in the MSA that an implementation of a MS would not engage another MS that belongs to another application?
Regards,
- Michael
--
Martin F Smith, Principal
BFC Consulting, LLC
McLean, Va 22102
703 506-0159
703 389-3224 mobile