1. A method comprising: determining a metamodel, wherein the metamodel includes syntactic, semantic, and presentation information applicable to a particular domain; generating a modeling tool from the metamodel, wherein the modeling tool includes a graphical user interface to enable a user to generate models; displaying, via the graphical user interface, a plurality of icons each representative of a corresponding one of a plurality of template components used in integration software development projects, each of the plurality of template components incorporating corresponding component-specific constraints for integration software development; receiving, via a user input device, selection information corresponding to an icon of the plurality of icons; displaying, via the graphical user interface and responsive to the selection information, configuration prompts for the icon; receiving, via the user input device in response to the configuration prompts, configuration information corresponding to the icon; responsive to the selection information creating, by the graphical user interface, an instance of a template component of the plurality of template components corresponding to the icon, thereby providing an instantiated component; and configuring the instantiated component based on the configuration information subject to the corresponding component-specific constraints, thereby providing a configured component, wherein the corresponding component-specific constraints include: a constraint that the template component corresponding to the icon includes a node of a simple processing type, wherein the node of the simple processing type comprises only one input and one output; a constraint that an adapter component sends an event trigger to the node of the simple processing type or to a node of a complex processing type, wherein the node of the complex processing type comprises multiple inputs and one output; and a constraint that only the node of the simple processing type or the node of the complex processing type invokes a map component of the template component.