• British Petroleum 
  • DELL 
  • Tokyo Electron 
  • Varsity Media 
  • Renaissance Systems 
  • Industries 
  • All Clients... 

Reusable Architectural Framework used by multiple Energy Trading Applicationsding Applications

A large initiative to provide common application infrastructure across the board for the multitude of applications running inside British Petroleum.

Handling displays of huge amounts of data, persisting objects, capturing complex user interactions.

The challenge

  • With a company the size of British Petroleum, new applications were springing up on a monthly basis - with each application providing its own mechanism for security, logging, data access etc. A need for a cohesive standard framework was apparent.
  • The largest application to run on the common framework would be - to put it mildly - LARGE. With several gigabytes of data - several data feeds, several screens displaying grid-upon-grid of data and an end-to-end energy trading mechanism (from deal capture to settlement).
  • Several thousands of records (several MBs) of data would need to be displayed using advanced data grids providing real-time updates, insertions and deletions.

The Solution

Using the .NET framework and several open source components built around the framework (including spring.net, nHibernate, log4net...), I helped design and implement a solution which included:

  • A reusable UI framework consisting of CAB, SCSF and advanced Syncfusion UI controls.
  • A pluggable architecture using spring.net, object persistence using nHibernate, common logging using log4net, automated builds using CruiseControl.
  • Comprehensive unit tests written for both the business layer as well as the UI layer. Fully automated build process - encompassing entire framework with all its components.

The Result

  • An efficient framework used by British Petroleum's primary energy trading application.
  • Reduced time to market for new applications built using the framework.
  • A standardization of application architecture across a large company.

More details...

  • See resume for more details.

Highly Scalable, Internationalized Web Application - Dell Battery Replacement

Requiring a quick turnaround (3 months) and a HIGHLY scalable website (in 8 different languages), I helped DELL build a scalable, multi-lingual (internationalized) website to speed up the returns process.

The Challenge

  • Already Shipped Products: With affected batteries were already in use all over the globe - in over 40 countries - in every major continent  (Australia, Asia, Europe, South America, North America). The web application would have to support various languages as well as the different locales within a language (e.g. Canadian French, 'French' French, Taiwanese Chinese,Traditional Chinese).
  • Millions of items to recall: There were over a million affected laptop batteries  - the serial numbers of which would need to be verified across disparate databases.  An elegant solution requiring minimal database hits would be needed for handling the anticipated website traffic.
  • Laptops were in non-english speaking countries: The number of languages and locales to be supported could grow at any time. The solution needed to be flexible to support new languages - which may be discovered after deployment as well.

The Solution

Using the .NET runtime's globalization support, the first step was to isolate all resource strings, images and other UI elements that would be presented in the user's browser. These isolated 'language-specific' resources were compiled into individual satellite assemblies which were automatically loaded based on the language and locale detected in the user's browser. High performance, scalability and resilience were all key requirements - since the website was to receive hits from around the globe - (several hundred thousand hits per day). I helped design and implement a solution which included:

  • Application caching of large datasets - Serial numbers that were part of static lookups were loaded once into memory and kept there - to avoid unnecessary database roundtrips.
  • Server Farms - along with database based session management - to accommodate persistent sessions between different servers on the server farm.
  • Highly optimized web controls from Infragistics - offering sophisticated dynamic web controls for a better end-user experience.
  • Dynamic loading of individual language resources based on the user's chosen language and locale - with the flexibility to add more languages down the road.
  • Comprehensive unit tests written for each critical use case - fromverifying battery serial numbers to order placement.  Fully automated build process - encompassing entire web application including multiple language support - providing a perpetual ready-to-release option for the web application.

The Result 

  • An extremely successful production launch - which handled upto 100,000 hits hourly and upto 2000 simultaneous user sessions. 
  • An end-to-end user experience which was unmatched in both - user-friendliness as well as speed.
  • A solution which allowed additional languages to be added after the production launch - without any code changes! This helped DELL service other countries where they later discovered they had shipments of affected laptops (e.g. Brazil, Portugal).
  • An extremely successful returns program that served over a million affected laptop customers around the globe.

More details...
  • See resume for more details.

Corporate wide database migration

Moving from SQLServer to Oracle as part of a corporate wide strategy

Handling high transaction database, specific database objects, stored procedures

The challenge

  • Schema Object incompatibilities - Major incompatibilities between built-in schema objects in SQLServer and Oracle – including USERS, PRIMARY and FOREIGN keys, CONSTRAINTS, TABLES, STORED PROCEDURES, ROLES and PRIVILEGES.
  • Unicode characters migration - a key requirements - since existing data contained Kanji (Japanese) characters
  • Several million records (several GBs) of data would need to be migrated along with the schema objects
  • Database Drivers for code accessing database would need to be selected and optimized – OleDB providers, DataDirect, ODBC drivers for optimal, unicode data migration. 
  • Minimize production downtime during actual schema and data migration.

The Solution

  • Performing several trial migrations (using several tools including Oracle's Migration Workbench), ANUJ Technologies identified potential migration issues - including data type mismatches, schema object incompatibilities and database driver issues.
  • Based on results of the trial migrations, a two step phased migration was conducted - phase one involving just the schema objects in the various databases. This phase could work off the staging database and did not need to touch the production database (since the production schema was synchronized with the staging schema).  The second phase involved migrating the actual data from the production databases into the newly created Oracle instances. This step utilized an offline database transfer mode which had minimal impact on the existing production database load.

The Result

  • A comprehensive migration plan accommodating gigabytes worth of data as well as over a thousand schema objects. 
  •  A migration plan that minimized production database downtime.
  •  A standardization of database platforms across a large company.

More details...
  • See resume for more details.
 

Migration from Classic ASP to ASP.NET - Large Social Networking Website

A start-up faced with the 'good' type problem - an ever growing user base - called on Anuj to address their performance issues.

The Challenge

  • Bottlenecks in current ASP code and SQLServer database had brought the production site to a crawl.
  • The existing production code was extremely hard to maintain due to a mix of display elements and business logic in single ASP pages.
  • The existing production database was hard to maintain as it had never been correctly monitored since its default setup.

The Solution

  • 1) It was evident that significant cleanup was required at both the database level as well as the application code level.
  • 2) Starting with the SQLServer database, various bottlenecks were identified. These included - poorly designed queries, missing or incorrect indices, excessive memory usage and excessive disk usage causing high CPU Utilization.
  • 3) Transaction logs sizes were shrunk to manageable sizes, Each query was re-written, several new indices encompassing multiple columns were created. A maintenance plan encompassing re-building of fragmented indices, backing up and shrinking of large transaction logs was implemented.
  • 4) Code Cleanup - A lot of database access code was duplicated in various ASP files. These were all separated into a common data access layer - using efficient ADO.NET datasets and datatables.
  • 5) Common UI elements were identified and custom user controls were created. These common controls were then used across various web pages - allowing a significant performance improvement in page-load times.

The Results

  • Moved Varsity Media Group from a relatively slow performing community website to among the top 10 percentile (of all websites) – by identifying and cleaning up software related bottlenecks.
  • Provided a faster and cleaner web navigation experience for end users.
  • Increased monthly user subscriptions due to improved website performance.
  • Accomplished migration from ASP to ASP.NET without bringing down the production site.

More details...

  • See resume for more details.
 
 Application Summary: Large desktop client with advanced reporting features to be used by insurance brokers throughout the state of New York.
 Industry: Insurance
 Technologies and Platforms: .NET 2.0, 3.0, ASP.NET, .NET SOAP, Crystal Reports X1, iSeries database
 Role: .NET Web Services developer, Crystal Reports developer, WinForm (VB.NET and C#) developer
 
 Business Goals Accomplished
  • Automated several paper-based processes used throughout the un-admitted insurance market.
  • Reporting: Provided detailed reports of sales (by year, month etc.), profit/loss, new accounts etc.
  • Built and delivered a quality software product to be used by insurance brokers throughout the state of New York.
 Technical Milestones Reached
  • Built a sophisticated Windows Client Application – an MDI Form based app with security, administration, customization and reporting features.
  • Utilized latest reporting technologies and .NET platform to dynamically create and execute ad-hoc reports.
  • Designed and developed an SOA architecture allowing multiple services to be executed sequentially – with minimal performance impact. SOAP service dispatcher, SOAP level logging through custom attributes and other Web Service lifecycle management features.
  • Implemented logging using Windows Event log, log4net API and other multi-threading, non-locking based logging mechanisms.
  • Built reusable user controls for common data-entry tasks – such as Address Entry, Phone Entry etc.
  • Provided a custom validation library that handles various data-validation issues – and presents them in a consistent summary form.
  • Wrote a suite of Nunit tests for the entire reporting web service code – to run through various reports – in various environments (QA, PRODUCTION, ALPHA).
  • Wrote two separate multi-threaded windows services – one for merging output pdfs of several report executions – the second for printing the merged report to a pre-specified output printer.
  • Built ASP.NET deployment projects – for deploying the ASP.NET web service into multiple web environments (QA, Production, DEV, etc.).
  • Deployment of Crystal Merge Modules , third-party DLLs (log4net) and OCXs – to be registered on installation target.
  • Automatic IIS detection and configuration of web-application. Bootstrap installer to detect correct .NET runtime version – and install it if absent.
 More details
industries
Industries and Business Units that Anuj specializes in: 
  • Energy, Oil and Gas Trading:  Nominations and Scheduling of energy resources, Pipeline capacity management etc. See details...
  • Financial Markets  Equity Trading, Trading grids, trading systems, algorithms
  • Financial Services   Lease, Loans, Credit Bureaus, Credit Processing, Loan Applications etc. See details...
  • Retail, eCommerce, Returns Management: Please visit the clients section of this website or see my resume for details.
  • Semiconductor
  • Please visit the clients section of this website or see my resume for details.
  • British Petroleum Application Framework for Large Energy Trading Application: See Details...
  • DELL Worldwide Laptop Returns Management Application: See Details...
  • DELL Symphony Project (2003-2004): Customized Sales Application for DELL's business customers. See Details
  • DELL Financial Services - Lease and Loans Division (Jan 2002-Jan 2003):  See Details...
  • Harcourt Assessment (Pearson) Corporate-Wide Portal (2004-2005): See Details...
  • Tokyo Electron Database Migration Project (2004): See Details...
  • Renaissance Systems Inc./ELANY Insurance Application for the Un-Admitted Insurance Market (2006-2007): See Details...
  • Varsity Media Group - Social Networking Website Performance Tuning: (Feb 2006-April 2006) See Details...
  • Hoovers Online Customized Reporting Application (July 2005-Oct 2005):
  • Blue Titan/Momentum Software Web Services SOA Courseware Development (June 2005-July 2005):
  • Texas Association of School Boards eBoards (BoardBook) Project: (March 2003- April 2003):
  • Schlumberger - Drilling and Measurement - Automation of Parts Replacement for off-shore rigs (May 2001-Dec 2001):
  • Alistia Inc. Direct Marketing Application for matching list buyers and sellers (November 2000-May 2001):
  • INetProfit.com Information harvesting Web Application (Sep 2000-Nov 2000):