* TITLE:* * .Net Architect*
* STATUS:* * Open* * LOCATION:* * Cleveland* *Any Visa Duration : 6+ Months * Requisition Details: Application and where we would like some help. Please give this a read, let me know if you have questions, and let me know if/who you might be able to align to help and what the process would be to get the help and execute the initiative. Background The purpose of the Shows Scheduling Application (SSA) is to enable our internal shows sales managers to, using analytics, make decisions on how to structure their shows business. Specifically, the managers will use the application to determine what venues they will schedule shows in, what sales reps they will assign to the shows, etc… Additionally, show profitability, show performance against the average, and sales rep performance against the average are examples of metrics that the sales manager may use to help drive these decisions. Out in the field SSA is used by sales reps. They are responsible for manning the shows and demonstrating our products to the public. Our hope is that these demonstrations drive sales at the specific show. The sales reps use SSA to understand where they are supposed to be and to report on the events that are occurring within the show. For example, they may report the number of units sold in a given day for the specific show and venue where they are located. Sales reps can also see their performance against their peers using this application. We have around 18 sales managers using the system to schedule the shows and 400-500 sales reps in the field using the system to track and enter data related to the show. Technical Architecture Brief The application was delivered in spring 2015. The application is a typical MVC architecture, running on 5 servers (2 presentation, 2 services, 1 non-clustered database). The application is running on the Windows stack, using .NET 4.5, SQL server 20012 standard SP2. Our presentation tier is MVC leveraging Kendo controls for user experience, and calls back to a WCF services tier to interact with the database. We use Unity Framework for dependency injection on both the presentation and services tier. We use a mix of Entity Framework generated SQL and handcrafted stored procedures to execute actions against the database. We also integrate to the Vitamix ERP system and also to a data warehouse. To retrieve data from our data warehouse we use SSiS. To put data in to our ERP system we run a scheduled console application. The data retrieval ETL runs every four hours and the data put ETL runs every hour. The Problem The application is very analytics heavy within our presentation tier. The business thought is that having the analytics mixed with the transactional screens gives them the data they need to make decisions within the scope of the screen they would make the decision in. The design that was put in place was a standard relational OLTP database. Our ETL brings in data and calculates all of the analytics/metrics that are retrieved and used throughout the application. Additionally, some analytics are calculated on the fly using standard data and existing calculated metrics. Over time the volume of data and complexity of the analytics calculations have rendered our ETL inefficient, ballooned the size of our database, and crippled the performance of the application. The Solution We’ve been working on trying to decouple the analytics from the actual transaction processing to attempt to reduce or eliminate the amount of calculated data we are storing. We’ve designed a multi-dimensional data cube that the application can use to retrieve the data it needs. The cube is “fed” via T-SQL views and accessed for application usage using standard MDX. The idea is to run the cube side by side in production with the current OLTP database and methodically transition the web screens’ analytics from the OLTP database to the cube over time. We believe that the cube structure we have in place is solid and can answer all of the questions that the application would ask. We believe that once the cube has been completely operationalized and all screen analytics have been transitioned that we can eliminate the metrics calculation component of the ETL job, eliminate the analytic related structures and data from the OLTP database, and thereby significantly improve the performance and supportability of the application. Where Help is Needed We would like to have someone with OLAP, MDX, and general cube expertise to come in and work with our internal technical folks to complete the operationalization and migration of the data cube and adjust the application to leverage it. Some of the issues that we are currently facing that we need help with are below. 1. There are minor T-SQL defects associated with the cube processing. We would like to make sure that the reprocessing of the cube is performant enough that we can decide how often it needs to reprocess. Our thought is that we do it daily but ideally it is multiple times per day with the goal of hourly. 2. Ensuring the cube has the appropriate “supplemental” data needed to effectively answer the questions that are asked and also ensure that “organic” data is not included in calculations. A good example of this is a sales record that falls outside of the scope of a show (i.e. It occurs at a venue but not during a show day). Traditionally a LEFT OUTER JOIN would produce results for this data. However, cubes do not like this idea (null data sets) and as a result we have to “fill in the blanks”. We want to make sure that our MDX understands this and does not include these “organic” sales in our metrics calculations. 3. In some instances date range lookups are causing long running queries. We need help optimizing these. 4. Operationalize and deploy the cube. 5. Create the MDX needed to ensure the application analytics are accurate 6. Adjust services tier to ensure the correct MDX is called 7. Adjust the presentation tier to ensure the correct MDX is called and that the data returned sufficiently meets the requirements of the screen without unnecessary callbacks (chunky vs. chatty). *Regards, Parul Gupta* *IT-Technical Recruiter Source Infotech Inc. **3840 Park Avenue, Suite C-205, Edison, NJ-08820* *Phone* *609 632 1299|| Email: **[email protected]* <[email protected]>* || Gtalk: **[email protected]* <[email protected]> *------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------* Email Disclaimer: If you do not wish to receive future e-mails from Source InfoTech, Inc., please reply to this email with “UNSUBSCRIBE” in the subject line. Your email address will be removed from our database within 7-10 business days. -- -- *************************************************************************************** For all SAP related tutorials,Articles,Faqs,Tips www.sapbrainsonline.com **************************************************************************************** You received this message because you are subscribed to the Google Groups "sapbrains" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/sapbrains?hl=en --- You received this message because you are subscribed to the Google Groups "sapbrains" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
