The following section describes the architecture provided by the SCC framework.
The SCC provides developers with a robust object-oriented architecture for building powerful
Windows-based applications. In addition to providing the low-level classes and services needed by
developers (and provided at some level by numerous other frameworks) the SCC provides a highly
extensible “add-in” architecture into which development teams can “plug in” new features and
incorporate new functionality into the existing user interface container. Thus, unlike other
“framework” products, the SSE SCC not only provides a sound set of developer “services”, or tools,
which help provide capabilities and enforce best practices, but it also provides a user interface
container that “hosts” new functionality.
Add-In Architecture
The SCC container is a user interface “shell” that can host multiple “add-ins” (i.e. plug-ins).
Each hosted add-in can incorporate its own user interface elements into the parent container in
addition to providing its own views and functionality specific to its intended purpose.
Each add-in targeting the SCC container is written as a separate Visual Studio.NET project in any .NET
compatible language. To facilitate loading an add-in into the SCC container, an add-in must
provide an add-in XML file which defines how the add-in will be loaded into the host container.
Through this XML file, add-ins can specify any menu items, toolbars, docking windows, and or other
UI elements they wish to incorporate into the parent container and specify how and where they wish
them to display. This infrastructure also allows add-ins to extend the capabilities of other add-ins.
In addition to user interface elements, each add-in can provide its own help files and localized resource files.
This separation of functionality into separate add-ins also helps minimize the tightly coupled interactions
usually found in software development. Different teams of developers can work on, and be responsible for,
functionality isolated into individual add-ins with little fear of disrupting other teams.
User Interface
While the add-in infrastructure defines how various pieces of functionality are loaded and interact with each other,
the true advantage of the SCC container is the provided interface shell that hosts each add-ins capabilities.
The SCC container provides a tabbed-MDI interface built with a Windows-standard look-and-feel. Taking advantage of the
Infragistics NetAdvantage components, the entire UI and its components should “feel” much like many other standard Windows
applications to your end-users.
The UI framework provides a consistent paradigm for developers to integrate and interact with UI elements such as the
following:
- Menus
- Context Menus
- Toolbars
- Dock Windows
- Navigator Groups and Items
- Views
- Dialog Forms
- Administrative Panels
- Wizards
- MMC-Style Tree Views
Each of the above user interface elements can be declared and configured via the add-in XML definition files described
above. In addition to the items listed above, development teams can build and integrate their own UI elements into the
framework with very little effort.
Instead of just providing a “container” that allows development teams to incorporate their own UI, the SCC container
also provides many of the Windows “standard” elements that are prevalent throughout so many of today’s applications.
These consist of pre-defined menus and toolbars that provide teams a jumpstart on development by including some
of the defaults pieces so many users come to expect. Some examples of these types of elements are:
- File menu - Streamlined paradigm for supporting “Save”, “Save All” functionality from all views
- Edit menu - Cut, Copy, Paste support for most built in controls
- Window menu - Switch between views and dock/hide all available dock windows
In addition to providing a consistent “feel” for the application, by taking advantage of the AppStyling™ capabilities
of the Infragistics NetAdvantage™ suite of controls, the SCC container provides the ability to design new “skins” for
an entire application without changing a line of code. This allows the look-and-feel of every UI element to be
customized through an external file and consistently defined throughout every view.
The following screenshots provides an example of an application built as “add-ins” into the SCC container:
Figure 1 – Pretecht™ by SSE
Figure 2 - Lipper Insight™
Deployment
One of the most attractive advantages of a “smart client” application is the ability to provide a
“thick”, Windows-based user interface and to automatically deploy new features and updates from a
centralized location. This capability greatly minimizes the cost of required maintenance and, if
used correctly, can even streamline the overall development process. To provide this automatic
updating capability, the SCC can be easily configured to deploy via Microsoft’s ClickOnce technology.
SSE can work with you to identify the most streamlined deployment strategy to help get your SCC
application to your end-users. This same capability can also be used to streamline the deployment
of internal builds to a testing team.
Localization
The SCC container and the underlying framework both support a streamlined infrastructure for
providing full localization support within an application. Using these features and some provided
best-practice guidance; developers can easily build applications targeting multiple languages.
End-users can flip between languages at ease and managers have the oversight into how much of an
application’s text has actually been translated. SSE can work with your development teams to identify
the most streamlined workflow for taking advantage of the SCC features and getting your localized
software built and deployed. The SCC supports the localization of all text, icons, and images
related to every UI element.