Architected, Model-Driven Development (AMD)
Architected, Model-Driven Development or AMD is the most sophisticated end of the SOA modeling spectrum. It focuses on quality, performance, and reuse. It comes in two “flavors”: AMD composition and AMD development. AMD composition presumes that the needed services exist and can be “assembled” into an application (business service), possibly with a new user interface (generally portal-based, using Web services). Organizations can generally use AMD composition models to generate the specifications for use by workflow orchestration technologies in the runtime environment. AMD development assumes that new organizations need to develop software services prior to composition. AMD development tools can reuse the same business models developed by those doing AMD composition. But, generally, IT personnel refine these into more detailed models to generate as much of the code as possible ― 70% to 100% ― depending on the service type. AMD also includes the set of methods that promote “executable” models (that is, where there is no explicit transformation to implementation).