1. What does your application (or extension) do? What business problem does it solve?
The organization provides Business Outsourcing for hundreds of companies around the globe. Currently, Back-Office Productivity metrics are tracked for most deals on a per-engagement basis using tools such as Excel, Access as well as some custom web based solutions. I designed this LightSwitch based framework to accommodate help accommodate the strong need to offer additional RAD customization per each engagement, by way of custom forms and underlying Service Line process data within LightSwitch, as well to centrally locate all data collected into a more global, Enterprise store. To help further augment the use of the data collected from this tool, it is further processed from the OLTP data collected by the tool through SSIS ETL jobs which run frequently throughout the day and after which any new data is incrementally compiled into OLAP form though pro-active caching, providing an organization-wide, analytic reporting capability.
The solution is built upon a custom LightSwitch shell extension which I have embedded Microsoft PRISM and which uses a separate WCF RIA services to push out to the Productivity Metrics store.
Within the tool I treat productivity tracking as an application level behavior which is surfaced through existing PRISM modules built in SilverLight and which serve to isolate this Productivity tracking behavior, which, if so desired, is merged into the into this LightSwitch at application startup.
The net effect is that I surface non-LightSwitch views derived from the PRISM modules side-by-side with LightSwitch rendered views, using a combination of MEF, MVVM based SilverLight modules, WCF RIA services and of course, at the core, LightSwitch!
The tracking metrics collected by the application record how long a Back Office agent takes to complete and particular activity along with; the type of task, the shift it was entered, by which back-office agent, for which team, within which department are all collected and pushed from the LightSwitch application and into an Productivity Tracking enterprise WCF RIA based web service.
Once this has been collected, the Business stakeholders are able to view Back Office productivity and Utilization across the entire Organization as visualized through SharePoint 2010 BI and Performance Point Services just moments after it was collected, no matter where it was entered in the world!
- The first problem that this tool solves, is that the Organization no longer requires Reporting Analysts to constantly scour through the reams of Excel Documents or Access Databases to transform local data into global productivity and utilization reports instead it is now collected in real time directly at the source via this tool and pushed instantly into an Enterprise data warehouse which in turn, surfaces the results as a set of cube calculations within Performance Point Services hosted on a SharePoint 2010 BI Reporting site as well reflected as a chart within the tool itself.
- The second problem that this tool solves, is that there is literally no service line activity that can’t be modeled, nor set of screens developed, all in a very short timeframe at a fraction of the cost of what it would have taken to complete. Thanks to the heavy integration of LightSwitch.
- The third problem solved is that because the data is now globally collected, business calculations can be consistently applied across the entire organization, as opposed to each area crafting up their own version of these important metrics.
- The forth problem this solves, is that this application can be hosted inside the customer’s data center, through the organizations own data centers or within Windows Azure data centers anywhere in the world.
2. How many screens and entities does this application have?
As many as are called for, typical usage would be > 75 < 100 but as there is an endless supply of custom Service Lines processes to be supported throughout the entire Organization thus its more conceivable to think in terms of 70-100 screens multiplied by 100’s of Service Lines, … translated … the potential for screens is quite vast.
Additional questions …
1. Did LightSwitch save your business money? How?
Yes, I believe that through the integration of LightSwitch within this tool, that the organization will end up saving a lot of money in building customized solution. The time to build out a new Service line with this new approach is down to days, versus the many weeks/months that historical development would have taken. I also feel that the enterprise nature of LightSwitch in areas such as data concurrency will further save the organization a lot of money through improved data accuracy at the point of record. I recognize that to build the same capabilities as provided by LightSwitch would take significant effort and at a tremendous amount of money, something I couldn’t even begin to calculate.
2. Would this application still be built if you didn’t have LightSwitch? If yes, with what?
Yes, SilverLight, PRISM and WCF RIA Services.
3. How many users does this application support?
Currently the solution is under a small pilot starting with around 30 users, then ramping upwards to as many as 450. Ultimately once adopted across the entire Organization, there will be as many as 20,000 Back Office users.
4. How long did this application take to actually build using LightSwitch?
This custom LightSwitch shell took me a few months to build out, but now it only takes a few days to add more support and functionality into the solution.
5. Does this application use any LightSwitch extensions? If so, which ones? Did you write any of these extensions yourself? If so, is it available to the public? Where?
- Metro Theme
- Yes, I conceived, designed and built the entire LightSwitch custom shell and related framework.
- Currently at the present time, this is not publically available.
6. How did LightSwitch make your developer life better? Was it faster to build compared to other options you considered?
One sentence … much, much faster!
Application views consist of both Light and non-LightSwitch screens surfaced inside common third-party Ribbon Bar / Docking framework.
- Views shown are mostly derived views from an existing SilverLight solution (non-LightSwitch).
- Chart on right is populating by WCF RIA service that executes MDX query on OLAP Cube.
- Screen at bottom is LightSwitch detail screen for Shrinkage Activity (non-productivity task).
… example of LightSwitch Shell command initiated a LightSwitch Search screen…
Navigation to a LightSwitch detail screen, from an non-LightSwitch data source (grid)…
Initiate a new Activity which opens open new/detail type LightSwitch Screens targeted to specific UI regions/views within main screen…
Navigation groups converted to Ribbon Bar Tab … and LightSwitch Grid Screen ..
Within the Organization the IT groups are constantly striving to provide better solutions for the Business Stakeholders at the most cost effective and in the most timely manner possible so as to reduce the overall cost to serve. I feel that LightSwitch provides us the ability to do both quite effectively and efficiently!
With LightSwitch it’s easy to build, it’s easy to deploy and it’s easy to maintain!
Finally, I would like to further acknowledge the hard work and dedication put forth the following folks …
- Anthony San Juan (Lead Developer for LightSwitch application and ETL)
- Jaja Macatulad (ETL Developer and SSRS Reports, Tester)
- Marc Brotone (ETL Developer and SSRS Reports, Tester)
- Lou Campopiano ( OLAP Designer and Developer)
- Kim Laraby (Business Analyst, Tester).