Part IDE Extensibility is a key capability of any mashup development tool, allowing end users to adapt the tool to new problems at hand. Unlike competing enterprise mashup tools that require learning a new Eclipse plug-in or a new language, MashableLogic’s catalog of software parts can be modified and extended by programmers using familiar JavaScript and XML from within the Mashup Editor’s web-based Part Integrated Development Environment. Multi-Runtime Developed parts that get included in browser-side mashups can automatically be compiled into either the Adobe Flash or browser-native JavaScript (DHTML) runtimes, without any special coding required by part developers.  Parts that run on the server-side have the ability to invoke Java libraries, further augmenting the capabilities of developed mashups. Part API The MashableLogic Part API provides common behaviors and services to all parts in the system.  Foundational behaviors provided by the Part API include accessing input data into the part and generating the part’s output data.  The Part API also provides the following high-level services: Simple DB The Simple DB is server-side database storage space that mashups can utilize.  The Part API exposes methods for parts to access the database using key groups, key names, value names, and data values.  Simple DB storage can be either private to a single widget instance, or public across many widget instances, keyed on the part developer’s unique Developer ID. Webtop Alerts Mashups can trigger webtop alerts to provide dashboard capabilities to the webtop.  Webtop alerts can be red, yellow, or green.  When triggered, a visual alert indicator appears on the widget window in the webtop.  If the widget window is on another tab, the tab blinks to draw attention to the alert condition.  Clicking on the alert indicator displays detailed information about what condition triggered the alert. Widget-to-Widget Communication Widgets can communicate to other widgets within the webtop for integrated behaviors.  Clicking on a piece of data in one mashup can cause actions to occur in other mashups in the webtop.  Mashups can also launch other mashups automatically.  For example, clicking on a map marker in a map mashup can launch a link to another web page or mashup to display detailed information about the item of interest. Full-Featured IDE The Part IDE provides everything needed for web-based part development, including: Code Editor A syntax-highlighted code editor with undo/redo, search/replace, adjustable font size, line numbers, and print capability.  Compilation errors are highlighted in the editor. Debugger A built-in debugger allows objects to be inspected at runtime and method invocations and variables to be traced. Class Libraries Class libraries can be built for sharing across multiple parts.  A large set of default class libraries is provided, representing foundational visual elements and functionality used by baseline parts in the system. Server Scripts Server-side scripts can be edited and tested.  Native support for JSP’s is provided by the Tomcat server.  Additional server-side languages can be installed, like PHP or other popular languages.  Server-side scripts are useful to augment mashups with capabilities more easily provided by existing server-side libraries. Resources Image and audio resources for use by part implementations can be uploaded and previewed. Part Browser A part browser makes it easy to copy and paste code from existing part implementations in the system. Test Drive the Demo! Be sure to take the demo for a test drive.  The demo highlights the features of MashableLogic’s mashup development system. Click here to learn more.   Icing on SOA Cake Mashups provide the ultimate flexibility and agility that SOA promises. Click here to learn more.