|
|
Simon ChadwickMicrosoft BizTalk and .NET Specialist
13641 Vaquero Court, Saratoga, CA 95070 650.906.3428
|
BizTalk Server |
A seasoned software architect with many years experience designing and developing a variety of applications and systems software. Current expertise involves .NET enterprise architecture and development, and using BizTalk Server for XML document translation and routing, both in Enterprise Application Integration (EAI) solutions, and in supply-chain solutions between trading partners using the RosettaNet, HL7, and HIPAA standards. Core competencies include analyzing, designing, and implementing distributed enterprise applications using Microsoft .NET servers and technologies, .NET smart client development, and GPS interfacing and position tracking on dynamically updating street maps.
HIGHLIGHTS:
· 22 years of full-time commercial software engineering experience;
· Design and implementation of many BizTalk-based architectures for integrating a variety of business applications;
· Using Biztalk in supply-chain and trading partner implementations supporting the RosettaNet, HIPAA, and HL7 standards;
· Extensive experience architecting .NET-based solutions, especially auto-deploying smart clients and Web Services;
· Strong database design and implementation expertise specializing in SQL Server 2005 and object-relational mapping (ORM);
· Solid software design, implementation and debugging skills using C# and VB.NET;
· Extensive design and development experience, specializing in Windows Server 2003 and 2008, XP, and Vista;
· GPS-PC interfacing, NMEA protocol decoding, and mobile GIS application development;
· Creative problem solving and analytical abilities, with outstanding verbal and written skills;
· Analysis of business requirements, deployment phase planning, and project team planning, assembly, and coordination.
SPECIFIC
SKILLS:
· Microsoft: Windows 2003 and 2008 Server, Windows XP and Vista, BizTalk Server 2004 and 2006, .NET Framework, WCF, IIS, ASP.NET, XML, MapPoint 2006, SharePoint 3.0, Office Web Components.
· Languages: C#, VB.NET, PowerShell, VB, VBScript, XSLT, TSQL; JavaScript, Perl, Tcl/Tk, DHTML, UNIX shells.
· Tools: Visual Studio.NET 2005, BizTalk Accelerators for RosettaNet, HL7, and HIPAA, Microsoft Office 2007 suite, Visio, Expression Web, Subversion (svn), PGP and GnuPG encryption, Visual SourceSafe, XMLSpy, regular expression editors.
· Databases: SQL Server 2005, MS Access (especially ADP front-ends to SQL Server).
· GIS/GPS: NMEA decoding to plot current position on detailed street maps; Microsoft MapPoint 2004 automation.
MISCELLANEOUS: U.S. Citizen since 1998; BS (Honors) in Computer Science, University of Cape Town (1984).
CAREER AND CONTRACT HISTORY:
September 2006 to June 2007: .NET Architect and BizTalk Specialist at a Startup Company, San Francisco, CA
At this
early-stage startup company I was engaged as the chief architect and lead
developer. My responsibility was the whole server-side system of a new SaaS-based
medical claims management product, supporting web-based clients running in
physicians’ practices. I designed and engineered the database, data access layer,
business logic layer, web services, application server, and the BizTalk
subsystem for transmitting HIPAA 837 and EZ-CAP claims and receiving responses.
This work involved close coordination with the project manager and business
analyst in discussing and planning product features, including user management,
permissions, and privileges. The design and implementation of the claims
processing and state management features were also my tasks. I developed a .NET
ClickOnce smart client prototype to replace the initial UI developed using
Adobe Flex, which for many reasons proved to be the wrong technology for such a
mission-critical line-of-business application. My other contribution was a
sophisticated PDF claim generation module, for dynamically creating standard
CMS-1500 claim documents from the database.
During this time I also configured and maintained the company’s hosted servers,
including the SharePoint, VPN, VersionOne, and Subversion systems.
Technologies: BizTalk Server 2006, .NET 2.0, C#, Web Services, SQL
Server 2005, ORM, Subversion, VersionOne.
April 2006 to June 2006: .NET/BizTalk Specialist at Employee Health Systems, El Monte, CA
At EHS (www.ehsmd.com) I designed and implemented the
first phase of a BizTalk-based system for processing medical claim documents
received in a variety of formats, among them scanned paper claims converted to
XML using OCR. This system includes a custom claim validation and
pre-processing engine using an XML-based declarative rule specification file. I
also designed the initial database for maintaining claims and related data. The
BizTalk server uses web services to communicate with the application server,
which performs claim archiving, validation, and loading into the database. All
received claims formats are mapped into a common EHS XML claim format.
Technologies: BizTalk Server 2006, .NET 2.0, C#, Web Services, SQL
Server 2005.
September 2005 to Present: .NET/BizTalk Specialist at Pre-IPO Company, San Francisco, CA
Designed and
implemented a BizTalk system for a pre-IPO company in the personal health
records (PHR) business. The company provides online access, consolidation, and
management of all types of medical documents. The BizTalk system automatically
fetches electronic laboratory reports in HL7 format from medical testing
laboratories, and makes these immediately available online to the requesting physicians.
I designed and developed the database and reporting system that allows these
laboratory results to be viewed as both tables and charts, including plot
charts enabling physicians to do trend analyses for selected tests.
I also designed the architecture for the second generation of the company’s
online PHR system, which provides very high security and protection of all client
documents and data, and much improved performance and scalability. This new
Service-Oriented Architecture (SOA) incorporates secure internal web services
between system tiers, split-key encryption of medical documents, session and
sequence tokens, and a secure network configuration.
Technologies: BizTalk Server 2006, HL7 Accelerator, .NET 2.0, C#, Web
Services, SQL Server 2005 and Reporting Services, VersionOne.
July 2004 to August 2005: .NET/BizTalk Specialist at the Pasha Group, Corte Madera, CA
Engaged by Unitek
Information Systems to design and implement a BizTalk-based communications
subsystem for the Pasha Group, an international transportation, vehicle
processing, and logistics company. I
analyzed the requirements and specified the architecture for a system to
process more than 90 different document exchanges with vehicle
manufacturers, trucking and rail companies, and other logistics firms. These documents included vehicle
shipping manifests, dealer allocations, accessory installation orders, damage
reports, vehicle arrival, dispatching, and departure notifications, vehicle
status and location reports, billing notices, and vehicle window labels. The
BizTalk system exchanged flat EDI files with these trading partners, and
converted these to and from common XML documents which were exchanged with
Pasha’s vehicle management application. I was responsible for designing and
implementing the entire BizTalk solution, including the EDI and XML schemas,
conversion maps, custom pipeline components, custom adapters, web services,
orchestrations, and the event log monitoring system. I also engineered the
operators’ custom Transmission Control Console application, a .NET smart client
application for monitoring and controlling all the inbound and outbound document
communications. This whole project was a huge and complex undertaking, and has
been very stable, reliable, and usable since going live in May 2005. It has
also been a great validation of BizTalk Server 2004. For more information about
this project please visit http://www.chadwickinfo.com/SCC_Pasha.htm.
Technologies: BizTalk Server 2004, .NET 1.1 framework, C#, Web Services,
.NET smart clients.
April 2004 to June 2004: .NET Architect at ADP, San Ramon, CA
In ADP’s Claims
Services Group (www.adpclaims.com), I
was tasked with analyzing and recommending a strategy for migrating existing systems
to C# and the .NET framework. These applications involved automotive claims
estimating and management. In a significant part of this assignment I developed
three .NET smart client reference applications, for demonstrating the
advantages of
converting the current web-based claims management applications into .NET smart
clients that use web services, as part of an overall Service Oriented
Architecture. These .NET reference applications used many resources from
Microsoft’s Patterns and Practices group, including the Smart Client Updater
application block and many design pattern templates. I also worked on a
committee of other ADP architects and developers to define a common .NET
architectural framework for all the claims management applications. My
engagement was completed with a comprehensive white paper discussing the adoption
of .NET smart clients and related technologies by ADP.
Technologies: VS.NET 2003, .NET 1.1 framework, C#, Web Services,
Microsoft .NET Application Blocks.
July 2003 to March 2004: .NET/BizTalk Specialist at Cap Gemini Ernst & Young, Roseville, CA
Engaged by
CGE&Y to design and implement the HIPAA transmissions gateway for their
client PacAdvantage, a large health insurance Third Party Administrator. I
designed the architecture for processing documents between the back-end
Websphere/J2EE system and the BizTalk servers. These documents included the
HIPAA 834 benefits enrollment and maintenance and the HIPAA 820 premium
payment, and I designed the XML schemas for these. The communication between
Websphere and BizTalk uses internal web services. I led the development and
testing of all the BizTalk components, including the web service, a complex C#
preprocessor for splitting very large (> 100 MB) XML documents into chunks
before BizTalk channel translation, and a C# AIC for recombining the resulting
X12 EDI chunks, encrypting them using PGP, and transmitting them using a .NET
FTP client. The BizTalk system has mapping channels for 14 trading partners,
including HealthNet, Blue Shield, and Kaiser. I also developed a monitor for
the BizTalk suspended queue and event log that generates email notifications,
and a separate C# application for testing the web service interface and
manually submitting XML documents to BizTalk.
Technologies: BizTalk Server 2002, BizTalk Accelerator for HIPAA, .NET
1.1 framework, C#, Web Services.
May 2003 to June 2003: .NET Specialist at Microsoft Corporation, Mountain View, CA
Developed applications
to demonstrate new features of the Microsoft Office System 2003. A C# .NET
assembly was written using the new Visual Studio Tools for Office (VSTO) beta,
allowing an Excel 2003 workbook to function as a front-end to the eBay auction
system. This solution allows an eBay power seller to manage inventory, list
items, view auction status and sales, and generate invoices, all from within Excel.
I also developed a custom web service using VS.NET that wraps the eBay SDK, and
used FrontPage 2003 with SharePoint Services to design a web site that used
this web service to display syndicated eBay listings and to perform customized item
searches.
Technologies: .NET 1.1 framework, C#, Web Services, Office 2003 beta, Windows
Server 2003, VSTO beta, Windows SharePoint Services, eBay SDK and API.
October 2002 to April 2003: .NET Specialist at Allstate Financial Group, Lincoln, NE
Architected and
developed the prototype of the next generation of Allstate’s agent application
for generating life insurance quotes and illustrations. This was the company’s
first exposure to rich client applications written using the .NET framework and
C#. I designed and developed a rule-based business logic engine for this agent
application, enabling the rapid addition of new insurance products with minimal
coding, using a custom C# application to configure the business and validation
rules for each new product. In a subsequent phase of this assignment, I
designed and developed the mechanism by which this application is securely distributed
and automatically updated from the Allstate web servers to the 40,000 agent
users. This mechanism uses the smart client, or no-touch, deployment technology
of the .NET framework, and drastically reduces the costs of distributing,
maintaining, and supporting the rich client application used by the Allstate
agents.
Technologies: Microsoft .NET framework, C#, Web Services, ASP.NET, XML,
Visio.
July 2002 to September 2002: Supply-Chain Consultant at Volgen America, San Jose, CA
Architected a
system to transfer order shipment requests from the firm’s Axapta ERP system to
the BizTalk Server running at the fulfillment company. The ongoing implementation
incorporates both on-demand and automated mechanisms to generate and forward
requests to the remote server, using HTTP/S. The design includes the logging
and reporting of transmitted requests, allowing the correlation of fulfillment
requests with outstanding and backlogged orders.
Technologies: Microsoft .NET framework, C#, ASP.NET, SQL Server 2000,
XML, Visio.
June 2002 to July 2002: BizTalk Consultant at Actel Corporation, Sunnyvale, CA
Analyzed the
requirements for a solution to transfer order information from a JD Edwards ERP
system to a Siebel CRM system, and designed the resulting architecture based on
BizTalk 2002. Designed and implemented a custom application for extracting the
order information from the JD Edwards DB2 database. This application invoked a
local stored procedure that retrieved the data from the AS400 using the linked
server mechanism of SQL Server. Implemented a custom BizTalk component (AIC)
for inserting any type of data set (orders, account information, etc.) into the
Siebel EIM tables. Designed and configured the BizTalk document schemas, the
map file, and both test and production channels and ports. Ran extensive tests
and performance benchmarks. Implemented automated failure monitoring
mechanisms, including a system for generating and sending email alerts for the BizTalk
suspended queue. Trained and mentored the company’s staff in BizTalk
development and operations procedures, and produced detailed documentation on
the whole BizTalk solution.
Technologies: BizTalk Server 2002, SQL Server 2000, Visual Basic, XML, SourceSafe,
Visio.
March 2002 to June 2002: BizTalk Consultant at DisCopyLabs, Fremont, CA
Architected and
implemented a system for channeling order batches from many different sources
into the company's ERP system. This was a perfect fit for BizTalk Server, and
the following batch order formats can now be processed: custom CSV flat-file,
Yahoo stores XML schema, Microsoft Commerce Server schema, and X12 EDI. Order
batches in these formats are mapped to a common "universal" format,
which is then processed by a custom BizTalk component (AIC) that validates the
details of each order, inserts the orders in the ERP system DB, sends email
acknowledgements, prints batch reports and pick slips, and generates reply documents.
I implemented the entire BizTalk system, including the document specifications,
and the map files for producing the universal batch orders. I designed and
developed the custom batch processing AIC component, and also a monitoring
application for batching orders produced by Commerce Server.
Technologies: BizTalk Server, SQL Server 2000, Visual Basic, XML, Visio.
December 2001 to March 2002: RosettaNet Consultant at DNS Electronics, Sunnyvale, CA
Hired to manage
the design and implementation of a system for integrating the client's back-end
ERP system with its trading partners, using the RosettaNet framework. This
began with resolving network and security issues, including digital
certificates and the foundation BizTalk configuration. The first targeted trading
partner was Intel, and implementing the initial RosettaNet PIPs involved
extensive liaison with Intel’s RosettaNet team. The architectural design of the
client’s RosettaNet solution was based on Microsoft’s BizTalk Server and the
new Accelerator for RosettaNet, and incorporated custom PIP process
implementations using BizTalk orchestration (XLANG) schedules. Managing and
implementing this solution involved significant customizations to support
simultaneous test and production systems at Intel, and to support different PIP
document versions used by subsequent trading partners. In addition to these
extensions, I designed and developed the interface mechanisms between the
client’s ERP system and the RosettaNet servers, the email event notification
subsystem, and the document logging and auditing facilities. I was responsible
for the coordination of extensive testing with the Intel RosettaNet team. This
was done for each PIP prior to promoting it from test to production status.
Technologies: BizTalk Server and Accelerator for RosettaNet, SQL Server
2000, Visual Basic, XML and XSL, IIS, ASP.
July 2001 to December 2001: Intranet Consultant at WorkRite Ergonomics, Petaluma, CA
Designed and
developed a custom intranet portal for the company. This web site includes such
features as news and announcements, a searchable corporate directory with staff
images and office locations, a multi-format document categorization and
delivery system, a login and permissioning system for access to restricted
pages, in-browser dynamic pivot tables for studying corporate sales data,
dynamic charting of business and sales data, a corporate contracts and
agreements viewer, and discussion forums (newsgroups). To administer the portal
site, I developed applications based on MS Access to manage the contents of the
underlying SQL Server database – there are management interfaces for news and
announcements, corporate contracts, staff and departments, documents (including
categories and binders, and an uploading facility), and for maintaining the web
portal navigation menu.
Technologies: SQL Server 2000, Windows 2000 Server, MS Office Web
Components, Access 2000, Visual Basic, IIS, ASP.
November 2000 to July 2001: BizTalk Consultant at Wood Associates, Santa Clara, CA
Designed and
developed a BizTalk-based solution for integrating a remote e-commerce system
with the JD Edwards ERP system at the local client site. The web-based B-to-B
e-commerce system was developed and hosted by Rare Medium in Irvine, CA. The BizTalk server exchanges XML documents containing sales order, order status, and
available inventory information, and interacts with the JD Edwards system using
custom designed and developed BizTalk adapters. My work also involved
negotiating XML document formats with the Rare team, the orchestration of
end-to-end testing across the e-commerce and ERP systems, and the installation
and configuration of the production BizTalk Server machine. I also produced a
BizTalk Server operations manual for use by the Wood Associates IT department.
Technologies: BizTalk Server 2000, SQL Server 2000, Windows 2000 Server,
XML, Visual Basic, IIS/ASP.
June 2000 to December 2000: Principal Engineer at marchFIRST, Silicon Valley eCommerce Practice, Cupertino, CA
·
Designed and developed
an XML-based web application providing in-store sales assistance and product
catalog browsing and searching. The target browsers are wireless PocketPCs and
laptop kiosks, which use wireless LAN technology from 3Com.
Technologies: SQL Server 2000, Windows 2000 Server, XML and XSL,
IIS/ASP, Visual Basic, Visual InterDev, Platform SDK for PocketPC.
· Worked on internal pilot projects using Microsoft’s BizTalk 2000 and SQL 2000 servers. Conducted research using these new products with XML schemas.
December 1995 to June 2000: Senior Software Engineer at Concero, Austin, TX and San Francisco, CA
·
For Traq Wireless, a
B-to-B startup company providing cellular phone management services to
corporate clients, worked on the requirements analysis, architecture, data
model, and design of the initial web application. Acted as team lead during the
development of the initial phase, and designed and built the rate plan analysis
and optimization engine.
Technologies: SQL Server 7.0, VB, MTS, IIS, ASP, Visual InterDev,
Windows 2000.
·
For AT&T Wireless, assisted the development of the Java-based
GUI client for the National Business Ordering system for wireless services and
phones. Performed related ordering scenario unit testing and debugging.
Technologies: Java/JFC/Swing, Inprise JBuilder, Windows NT, CVS.
· At Nortel Networks, worked on the analysis and architectural design of a web front-end to Nortel's NT-based small business PBX products. The design employed browser-based Java applets using RMI to communicate with the NT server, and IIS/ASP for the web page provisioning. PBX management data was sent between the NT server and Java applet clients using XML.
·
For Network Decisions,
designed and developed a smart card-based web application on Windows NT for
demonstrating typical smart card loyalty functionality. This included a
downloaded ActiveX control that provided the interface between the web browser
and the local smart card, allowing the transfer of data between the smart card
and the remote server database.
Technologies: Windows-NT, IIS/ASP, Visual Basic 6.0, Visual J++ 6.0,
J/Direct, ADO, Access DB.
·
At Visa International,
specified, designed and developed a Java-based package for benchmarking the
performance of terminals, readers, and various JavaCard-based smart cards.
Designed and developed the client and probe GUI applications.
Technologies: Java, JavaCard, ISO-7816, Symantec Visual Cafe, Visa Open
Platform, Java Ring/iButton.
·
For Motorola Imaging
and Storage, worked on the prototype of a disk drive simulation package.
Designed and developed the application GUI and framework, and the model
configuration parser.
Technologies: Java, Symantec Visual Cafe, KL JChart.
· At Schlumberger/Globalsoft, designed and developed a Windows NT DLL in VC++ for integrating Microsoft Developer Studio with the Schlumberger Omniworks change management system.
August 1994 to December 1995: Product Developer at BMC Software, Austin, TX
· Worked on client/server-based administration products for Sybase and Oracle. Designed and implemented C++ class library of Sybase database objects, and the mechanism for populating a tree of these objects from a Sybase database.
· Ported the UNIX server component of this application from HP-UX to AIX and to Solaris. This involved POSIX conformance, and implementing dynamically loaded shared library functionality on each architecture.
· Developed a Tcl/Tk-based configuration and control GUI for the Unix server.
· Implemented an architecture-independent build system for the server component using GNU make, supporting RCS and PVCS.
· Installed and configured internal WWW server (NCSA httpd), and maintained BMC internal WWW home page and information services (HTML), including on-line development utilities manuals.
December 1991 to August 1994: Senior Software Engineer at SHL Systemhouse, Orlando, FL
· In the Telecom Delivery Unit, developed a remote Intelligent Maintenance System for NT Meridian PBXs, in partnership with Vista-United, Disney's telecommunications company. Running on IBM RS/6000s under AIX, this system provided Vista's network operations center with a dynamic graphical view of remote PBX sites, with drill-down maps, a scrolling alarm window, alarm acknowledgment and trouble ticket screens, and remote diagnostic session windows. Wrote the functional requirements for the user interface, and used the Object Interface C++ GUI class library (v4.5) for the graphical front-ends.
· AIX system and network administration, and development tools and utilities configuration and maintenance (i.e. RCS, xlC/C-Set++, X, xdm, FVWM virtual window manager, Perl and shell scripts).
· Developed a custom network performance monitoring system for a satellite data communications company. This work was on a Sun workstation platform, involving X Windows and OSF/Motif GUI development with the UIM/X development tool and XRT/graph screen plotting system. Built the network statistics archive module using a Sybase database, and was also responsible for the Sun-based X.25 communications module used for retrieving statistics from the monitored network.
June 1991 to November 1991: Contracting Software Engineer at Scientific Atlanta, Melbourne, FL
At the Network Systems Group I worked in a team developing a new SUN-based network management system (NMS) for the company's satellite network products. My responsibility was the design, development and integration of the module providing the interface functionality for the Telematics ACP series of X.25- based network nodal processors. This mainly involved UNIX/C system programming with the Brixton X.25 API.
November 1989 to May 1991: Contracting Software Engineer at Timeplex Inc., Dallas, TX
· Worked on the TimeView-2500 NMS, which provides an X Windows-based front-end to an X.25 network of Timeplex's Timepac nodal processors.
· Designed and developed the remote node firmware download and booting modules, including X.25 handlers for remote call connection, file transfer protocol handlers and node configuration database translator (Informix to node binary format).
May 1988 to November 1989: Software Engineer at Reuters Information Services Inc., Hauppauge, NY
· Worked in a team developing the workstation component of the Reuters Dealer Trading System (RDTS), an international 24-hour foreign exchange and commodity trading system. Another project, the Dealing Advanced Reuter Terminal (DART) was integrated with the RDTS workstation software to give traders a multi-windowed environment for direct instrument trading. Programming was done in Microsoft C with Windows 2.1 and DECnet-DOS LAN interface.
· Designed and developed the RDTS message and last trade ticker display modules, and the RDTS-DART data interchange protocol and interface handlers.
May 1987 to March 1988: Software Engineer at Reuters Limited, London
· In the Digital Systems Development Group, worked on a LAN server gateway between Reuters Monitor datafeeds and a LAN of Reuters Intelligent Workstations. This was in C under Microsoft Windows on Compaq 386s.
· Designed and developed the interface module between multiple Monitor lines and the LAN transport service.
April 1986 to February 1987: Software Engineer at NCR Central Africa, Harare, Zimbabwe
· In the Software Services Division, responsible for customers with NCR Towers, and for UNIX support.
· Designed and developed a data capture system under UNIX in C and Bourne shell, using INGRES DBMS, allowing high volume data entry on a small UNIX front-end, from which formatted data was sent to the NCR processing host.
March 1985 to February 1986: Programmer at Telecommunication Technologies, Boksburg, South Africa
Helped design and develop an Intel 8051-based time-division multiplexer for telex line concentration.