- WebMethods Flow
Infobox programming language
name = webMethods Flow
paradigm = Object-oriented, structured, graphical
year = 1990s
designer =webMethods
typing =
implementations =webMethods Integration Server
dialects =
influenced_by = Java,flow chart s
influenced =
operating_system =Cross-platform
license = commercial
website = http://www.webmethods.com/webMethods Flow (known as "flow code" or simply "flow") is a
graphical programming language [http://www1.webmethods.com/images/products/screenshots/wm_ESP_BI_2.jpgwebMethods Flow code mapping screenshot] ] that runs within thewebMethods Integration Server . It was designed to simplify tedious, difficult to maintain or error prone aspects of integration/B2B activities. [http://www.webmethods.com/Products/ESP/BI/Features WebMethods Business Integration – Detailed Features] ]The
webMethods Developer is the IDE in which to write flow code.History
webMethods developed flow as a technology to increase the ease and speed of development on their B2B/enterprise integration platform. A language that would be a suitable fit with the desire for a service based application server was another driving force.Philosophy
The main driver behind flow syntax was to allow the graphical configuration of the mapping logic that forms the major part of Integration projects. Transformation and conversion of data in a text based programming language quickly becomes unwieldy and cluttered. It is also quite difficult to maintain due to the cumbersome nature. Flow code seeks to alleviate this problem by creating a programming language similar to the way you would indicate mapping of data if your source and destination data formats were placed side by side on a white board and lines connecting source to destination.
The other goal of flow was to allow a service based view of the application. Any existing code is a service. Invoking functionality is akin to treating it as a "
black box " requiring certain inputs (which are mapped from your available variables). The results of that operation are then treated as outputs of the "black box". The concept of the "pipeline" is the means by which to pass data to and get results back from invocation of services. [http://www.jroller.com/page/nathan?entry=webmethods_pipeline_variable_passing_and explanation of the webMethods pipeline] ]yntax
Wikimedia Foundation. 2010.