The left hand side of the v11 diagram contains the category of Advanced
Components. The reason that we call them advanced is because they require
a more advanced skill. Most of the Advanced Components still have a
similar “Edit CorasWorks Settings” but instead of the GUI based Wizard, you are
taken to an XML editor (image below) that allows for much more flexibility in
what can be done with them but is not as easy as the Basic Components to
configure.
. 
The language of the Advanced Components is open XML that
looks like this:

The knowledge required to use them varies based on the
component but a typical person building with these is a Web Developer with HTML,
XML, XSLT, JavaScript, and potentially database query skills. Everything
can be done in a Browser but it helps if they have access to SharePoint
Designer. Visual Studio is never required for any of the CorasWorks
components!
Data
Connections/Providers
The Data Providers are a set of components
that allow a web developer to connect to SharePoint and/or external systems like
SQL, Oracle, etc. through a simple XML configuration. For example if you
wanted to connect to a SQL DB, you would use either a Select statement or a
Stored Procedure call. If you were connecting to a Web Service, you would
need to include an envelope and the action from the WSDL.
Data
providers are used extensively in many of the larger systems that either our
professional services team or very advanced customers build. It
allows the specific business solution being built to connect to these external
systems, bring the data into a common interface in a seamless way where the
business user has no idea that they are using data from an external
system. Data providers also have a rich feature set that not only allows
for read/writing of the data but also allows the web developer to use pass
through parameters to select the best connection string to use for a given
purpose and also to pass information that will result in much smaller filtered
data returns.
Mash-ups &
Analysis
Once the data is available in the open XML format, you
then have a great deal of flexibility for how the application will use this
data. The typically business solutions that use the advanced components
have a need to connect to more than one data source, an example would be a
SharePoint list and a SQL database. Instead of having to have two
displays, forms, etc. for those distinctly different data sources, you can use
the Mash-up Adapter to combine them into a single XML output that can be used by
other components just like the original Data Provider XML outputs.
In addition to mashing the data up there are many times a need to analyze
the data. For instance if you were going to chart the information and
wanted a count of all sales opportunities that the team was working for the
current quarter, you would use the Business Analysis Adapter to do this
calculation and the resulting XML would be in the proper format. Of course
sometimes that is quite a bit of data so we also have a Caching component that
will save off a snapshot of the data so there isn’t a need to go back to the
originating system every time the screen is refreshed. This is an area of
great flexibility but definitely requires the correct skill set to leverage
it.
Advanced
Displays
While the Basic Components have the ability to connect to
the open XML outputs of the Advanced Components, in a business solution that is
using Data Providers, Mash-ups, etc., many times there is a need for much more
precise control of the resulting User Experience (UX). In these cases you
might choose to use the more flexible Advanced Displays. They have similar
capabilities to the Basic ones but they are exclusively working with XML
data. This means that they give the ability for more sophisticated
solutions to have things like a parent, child, grandchild relationship, drill
down maps, cones, funnels, custom forms ,etc. This is one area where if you can
dream it, you can most likely do it. In fact there a Custom Display
Adapter that allows you to combine the data with HTML to create whatever UX you
want.