Nik Boyd @ CarsDirect.com
Sr. Technology Developer, 1999 December - 2003 February
CarsDirect.com
10567 Jefferson Blvd.
Culver City, CA
90232
CarsDirect.com is the first destination on the Internet where nationwide
consumers can research, price, design, and order a new vehicle at home or the
office.
- Designed and developed the message delivery failure and recovery
mechanisms used when hosted applications can't deliver messages via
JMS with MQ Series. Undelivered messages are encrypted and stored
in the local file system of the application server. A periodic Java task scans
the local file system for undelivered messages, decrypts them and attempts to
resend them. Successfully delivered messages are then removed from the local
file system.
- Designed and developed the SSL secured portions of the CarsDirect.com
web site, including the collection and validation of customer contact
information and consumer finance information using Java, JSP,
JavaScript. Established a best practice for web application design using a
layered MVC approach, with thin JSPs, a Controller session bean, and several
View classes that wrapped the underlying persistent opportunity Model objects.
The View classes mediate the collection and formatting of the customer data for
the presentation layer. The JavaScript code validates the collected customer
data in the client browser prior to posting submissions to the server.
- Designed and developed the enterprise opportunity data schema
using Java, Castor, XML, XML Spy. The enterprise opportunity data schema
includes all customer data shared by the various enterprise applications,
including the web site, the customer relationship management system, and the
consumer credit finance systems.
- Designed and developed a credit application submission
framework using Java, Xalan, XSL, eXcelon Stylus. The framework creates
lender-specific credit applications (in XML) from generic enterprise
opportunity data (also XML) using XSLT.
- Designed and developed a web service availability monitor
framework using Java. Web service availability monitors automatically
detect both scheduled and unscheduled web service outages. During unscheduled
outages, the monitors automatically detect the restoration of service
availability.
- Designed and developed an automotive finance management web
application using HTML, JavaScript, JSPs, Java. Features included the
ability to edit consumer credit applications, view pending and decisioned
credit application queues, view credit decision history and details, and view
credit quotation history and details.
- Designed and developed Java
class frameworks for managing consumer automotive credit products (loans
and leases), including credit scoring and credit application submissions via
web service and fax. The application submission framework uses the web service
availability monitors (above) to determine whether to submit a credit
application to a lender via web service or via fax.
- Designed and developed the credit evaluation
subsystem using Java. Implemented the electronic data transfers
using an XML codec to encode the credit applications and decode the
credit evaluations. Implemented the XML codec using the
Castor library. Used
SSL to secure the credit data transfers. Implemented the SSL support using the
JSSE (Java Secure Sockets Extension). Used client-side certificates for
data exchange authentication. The XML data exchange protocol included
SOAP (Simple Object Access Protocol).
- Designed and developed the credit decision subsystem using
Java. Implemented the electronic data transfers using name - value pair
codecs to encode credit applications as HTTP POSTs and decode credit decisions
received as POSTed responses. Used SSL to secure the credit data transfers.
Implemented the SSL support using the JSSE (Java Secure Sockets
Extension). Used basic authentication (user name and password) for data
exchange authentication with some partners.
- Participated in the architecture, design and development of the 3rd
generation CarsDirect.com web site using JSPs (Java Server Pages) and
Java business objects. Integrated some of the Java business objects with
the JSPs. The web site was developed using Apache Tomcat and deployed on
BEA WebLogic and Oracle 8i.
- Designed and developed a search logging facility using
Java, JDBC, Oracle. The search logs collect data for statistical
analysis of visitor views of and clicks on listed used vehicles in the used
cars portion of the CarsDirect.com web site.
- Designed a symmetric key management infrastructure for
securing consumer identifying information and credit information, including
master key generation and persistence, with support for key rotation and
recovery. The key management infrastructure was implemented in Java.
- Designed and developed a distributed, coordinated task execution
facility in Java. The facility supports replication on multiple
hosts throughout the network to achieve fault-tolerance, with only a single one
of those available process instances actively performing work. Coordination of
the replicated instances is achieved through periodic inspection and mutation
of a shared "baton" maintained in a database.
- Participated in the design and
development of a Java and XML framework for integrating
enterprise applications. Designed and developed the enterprise application
interface adapter for transfering enterprise information into the
Lawson financial system through the Lawson AGS (Application
Gateway Service).
- Participated in the design and development of a vehicle
configuration service for the CarsDirect.com website using a Java
servlet and related classes. The servlet substantially improved vehicle
configuration and pricing accuracy over previous deployments. The servlet was
designed to be fault-tolerant using cookies for distributed data caching. It
was also designed to withstand modest but sustained request volume (on the
order of 30-40 requests per second operating 24 x 7).
- Designed and developed a Java instrumentation facility
for collecting and reporting resource and performance statistics. Instruments
included several kinds of counters and meters. Obtained some counter values
from native Windows counters. Designed and developed a JNI (Java Native
Interface) layer that provided access to the Windows performance counters using
Microsoft Visual C++.
- Designed and developed a regression test harness for testing
the performance and load bearing capabilities of the vehicle logic engine using
Java. The test harness simulates random interactions from multiple
simultaneous users. The number of users and the weighting of random choices are
configured using a properties file, along with a variety of other test
parameters.
- Maintained automated build and deployment scripts with Ant,
Perl and StarTeam.