| |
|
|
| |
|
|
| |
- British
Petroleum
- DELL
- Tokyo
Electron
- Varsity Media
- Renaissance Systems
- Industries
- All Clients...
Reusable Architectural Framework used by multiple Energy Trading Applicationsding ApplicationsA 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...
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...
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...
| |
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...
| |
|
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 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):
|
| |
|
|
| |
|
|
|