About AppSymphony

What is AppSymphony?
AppSymphony is a rapid app composition platform where users can compose apps in the cloud and for the cloud in minutes.  AppSymphony users:

  • compose simple but powerful data integration and analysis apps in minutes using highly intuitive graphical workflow diagrams
  • execute composed apps at massive scale on ‘big data’

AppSymphony is implemented as a browser based web application that may be hosted in private or public data centers, on dedicated or virtualized hardware, on public or private cloud service providers, or any combination of the above. FAQ1

What is an AppSymphony app?
An AppSymphony app is a complete executable description of an information process. AppSymphony apps differ from traditional interactive application programs in three very significant ways:

  • they’re meant to run ‘in the background’ with little or no human intervention to automate your routine information work processes
  • they’re meant to run ‘in the cloud’ instead of on your local workstation
  • they’re meant to run ‘at scale’, which means you will be able to run tens, hundreds, even thousands of apps simultaneously to tackle very large problems

What can I do with AppSymphony apps?
The number of different ways AppSymphony apps can be used is limited only by your imagination and the available components.  You can compose apps to acquire, combine, process, summarize and format data from all network-accessible sources and services.  For the example app in the figure, the first component makes a REST service call to a stock quotation service to request and output a table of stock closing data for the selected ticker symbol. The second component inputs the price table and extracts and outputs the close price column. The third component inputs the price column and generates and outputs a labeled column chart of the close prices. The last component uploads the resulting chart to the Amazon Simple Storage Service (S3) where it can be displayed in a web browser.
AppSymphony is unique in its ability to let you run tens, hundreds, even thousands of apps simultaneously across a wide variety of corporate and/or public infrastructure.  
Who uses AppSymphony?
Anyone can compose apps using AppSymphony – no software skills required!  Typical users would include business and intelligence analysts, data scientists, information system integrators, and IT professionals.
How do I use AppSymphony?
Users rapidly compose apps using AppSymphony Composer to wire  component blocks into an executable graphical flow diagram.  AppSymphony provides rich and growing ensembles of components that enable users to build simple but powerful apps that integrate information, processing, analytics, and infrastructure from multiple sources. Once composed, AppSymphony apps execute directly to perform the specified information work.
Which components does AppSymphony include?
AppSymphony comes with a wide variety of ready-made component ensembles that perform the following types of information work functions:

AppSymphony Component Ensembles
Info Feeds & Sources Databases (SQL, noSQL)
Math & Statistics Tables and CSVs
Files & URLs Web Services
JSON & XML Text Strings
Messaging / ESB Visualization
App Control Hadoop Map-Reduce & HDFS
Geospatial & KML Cloud Services (AWS, Azure, et. al.)
Streaming Media R, Matlab, Python, shell scripts

A listing of AppSymphony Web component ensembles can be found here.

AppSymphony Desktop has substantially more components, which are currently being migrated to AppSymphony Web.

Which component ensembles would you find particularly valuable for us to add to AppSymphony?  Please let us know!

Can I build my own components?
Yes, AppSymphony allows any user to graphically compose new composite components.  AppSymphony also has a Component Development Kit (CDK) in final development that will allow software engineers to build new base components using traditional text programming languages.
Can I compose apps for Hadoop Map-Reduce?
With AppSymphony, you can compose flow diagrams that run in Hadoop Map-Reduce clusters just like any other apps.   But unlike ordinary apps that have just a single flow diagram, Map-Reduce apps have up to three separate flow diagrams in them: one for the Mapper, one for the Reducer, and an optional one for the Combiner.  There are also some special components to get key-value pairs to and from the mapper and reducer.
Is AppSymphony open source software?
How can I try AppSymphony?
AppSymphony will be available to try via Amazon Marketplace in mid August 2014.

Using AppSymphony

What is graphical composition?
Graphical composition is an interactive human-computer activity where a user selects icons representing information functions and wires them together to describe a desired series of actions, or information process.  Graphical composition of software components has been around for a number of years, having started at roughly the same time that graphical (human-computer) user interfaces became widely available.  Composition has been applied to a wide variety of scientific and engineering disciplines.  Composed apps regularly control and acquire data from physical devices, process that data, and present it for subsequent analysis and reporting.
Why graphical composition instead of textual programming?
It’s really not an either-or question.  Graphical composition is more effective for some tasks.  Textual programming is more effective for others.  We built AppSymphony to make graphical programming as intuitive and productive as it can be for data integration, info analysis and infrastructure control tasks.
What is an AppSymphony flow diagram?
An AppSymphony flow diagram is a complete executable description of information work to be performed.  The description is implemented using a graph consisting of components and connectors that wire two or more components together. AppSymphony components represent software modules, and the connectors represent data flow between them. 
Anatomy of an AppSymphony Flow Diagram
What are components?
AppSymphony components are information/data processing functions that are represented as icons on the graphical flow diagram.  Base components represent AppSymphony software modules that perform a wide range of data/information processing tasks, from low level arithmetic and text processing to high level analysis and infrastructure control. Complete composed apps may also be used as composite components that can themselves be reused and composed into other apps. AppSymphony allows users to mix and match components to acquire, transform and combine information from virtually any sources.
What are component ensembles?
Component ensembles are groups of components that were designed to work together to perform specific info work functions.  Ensembles often include a mix of low level components (for flexibility) and high level components (for simplicity) that are tailored to the way users think about their information work tasks. 
What are connectors?
Connectors are the ‘wires’ that connect components together on the AppSymphony flow diagram.  An easy way to think about it is that data ‘flows’ through the connectors from component to component – hence the term flow diagram. The underlying mechanism is very powerful and elegant, but a bit more involved.   From the user’s perspective, a connector specifies that when the component at one end executes, it is going to produce some information that the component at the other end will consume.
How do I figure out how components work?
All AppSymphony components have built in documentation that describes what they do, what their inputs and outputs are, and how to use them to do information work. 
How do I compose an app?
With AppSymphony Composer, it’s really easy to compose an app.  You simply find the components you want, drag and drop them onto the flow diagram, wire them up in the order your info process needs to accomplish the desired work.  
How do I run an app?
Once you’ve composed an app, you can save and run it immediately right from the AppSymphony Composer.  AppSymphony apps run ‘in the Cloud’, which means they run on one or more servers across your compute infrastructure – private/public data centers, dedicated/virtualized hardware, private or cloud service providers.  Depending on your information work task, AppSymphony allows you to run tens, hundreds, or even thousands of copies of your app simultaneously on traditional dedicated servers and/or on-demand cloud services, and/or Hadoop Map-Reduce and Distributed File System (HDFS) clusters.  The idea is that you can run as many copies of your apps as you need to get the job done concurrently ‘in the background’; where they run unattended constantly reviewing, screening, filtering and preparing unstructured (e.g. documents, messages), structured (e.g. databases, spreadsheets) and streaming media (e.g. audio, video) from all relevant sources.  By including notification components in your diagram, the apps will only notify you when something you decide needs your attention.  AppSymphony scalability is limited only by the amount of available compute, storage, and network resources.
How do I share my apps and components with others?
Information components and complete composed apps may be kept private, or shared across a workgroup, an enterprise, and/or the community, depending on the AppSymphony edition you use.  AppSymphony allows users to:

  • search for components and completed apps to compose into new apps
  • search for completed apps to tailor to you own needs and execute directly
  • publish your completed apps to the repository for others to use
Which Hadoop distributions does AppSymphony support?
AppSymphony currently supports Apache Hadoop 2.x. Support for additional Hadoop distributions are expected later in 2014.
Can I run AppSymphony on a commercial cloud?
Yes! AppSymphony was originally built on and for Amazon Elastic Compute Cloud (EC2). AppSymphony machine images (AMIs) will be available on the Amazon Marketplace in mid August 2014. AppSymphony will be available on Microsoft Azure, Google Engine and other clouds as demand indicates.
Can I run AppSymphony in my corporate data center?
Yes!  AppSymphony is available to run in corporate data centers.  It will run on dedicated hardware, virtualized hardware, and/or on private cloud services.
Can I run AppSymphony in a hybrid cloud?
Yes. AppSymphony will run across multiple public and private clouds.  And it supports secure cloud bursting from private to public clouds.
Can I run AppSymphony on a private network with no Internet connection?
Has AppSymphony been through the DoD/IC security accreditation process?
Yes at multiple agencies. And Optensity engineering staff have extensive experience with DoD and IC security accreditation processes.

Getting AppSymphony

How can I buy AppSymphony?
You can buy AppSymphony via the Amazon Marketplace beginning in mid August 2014.  Other public clouds will be made available as demand indicates.  You can also buy AppSymphony for your private data center.  Click here to get started.
How is AppSymphony licensed?
AppSymphony is available through a subscription or metered model for public, private and government clouds and infrastructure.  Partners and manufacturers should contact Optensity at sales@optensity.com for further details on pricing.
How is AppSymphony installation software provided?
AppSymphony is provided as native virtual machine images for use on public clouds.  It is also provided as a deb for ubuntu for use in private data centers.  Other install packages and VMs are also available – contact us at sales@optensity.com with your requirements.
What's in each of the AppSymphony Editions?
Coming soon!
How do I get AppSymphony technical support and maintenance?
How do I get engineering services for AppSymphony?
Optensity provides a range of engineering services options. US Federal Government may engage Optensity engineering services, including TS/SCI cleared personnel, through Carahsoft’s GSA schedule or via new or existing contract. All others, please contact sales@optensity.com
What system requirements does AppSymphony have?
What system requirements does AppSymphony have?
Here are our as-tested system requirements / options. Others are possible. Please contact us.

Amazon instance type: M3 Large, M3 Extra Large, M3 Double Extra Large are recommended. Other instance types may also work.  Please contact@optensity.com to inquire about specific needs.
Physical hardware: minimum: Intel Core 2 (or equiv), 2GB RAM, 80GB storage
recommend: Xeon E3 (or equiv), 16GB RAM, 512GB storage
Hypervisors: Amazon Web Services (Xen), VMWare, Red Hat Enterprise Virtualization (RHEV), MS Azure Hypervisor (Hyper-V)
Software: Server: Ubuntu, Oracle JDK 7
Client: Chrome v35+