Mann Creek

Information Technologies, LLC

R Hoffman

logo6.gif
Mann Creek, Idaho, USA

Selected Technical Application Development Projects

Signature Loan J2EE Intranet :
Signature loans are low interest, company-backed loans to employees, with loan limits set depending on an employee's length-of-service.   The intent of this application was to enable corporate employees to view their existing signature loan balances on-line, and to allow qualified employees to calculate and electronically submit new loan requests to loan administrators.  Administrators then reviewed and either approved or rejected the applications based on their merits, and so notified the employee electronically.  High-level application use cases and their interactions are shown at the left.  At the right is what's called a VOPO diagram for the application, a view of participating objects.  Represented there are three development layers: presentation, business logic and data storage.  The separation of the design into these components facilitates application re-use and isolates the impact of user interface changes -- the component most changed in technical applications.  I developed and unit / integration / stress / throughput tested this application in an IBM VisualAge Java environment, and ported it into an existing Microsoft IIS / IBM Websphere / Oracle database production environment.  This application served as a template for many other, subsequent Human Resources intranet applications.

Point-of-Sale J2EE Enterprise Application:
The problem was to develop point-of-sale (POS) applications that displayed standard terminal sales information along with "intelligent" advertisements based on corporate marketing sales campaigns and knowledge of specific customers.  I developed data transfer protocols, data ER diagrams and managed a part of the group technical development.  High level functional/operational requirements included:

The high-level use case model is shown at right.


Internet / Extranet:
The Company realized that the Internet represented a fundamental change in how information flows between the Company, its employees, its vendors and its customers.  The Company had no formal methodology for implementing or overseeing corporate Web project approval, development, maintenance or security.  I was installed as the Web Development and Maintenance Manager with the following responsibilities: (1) develop and communicate a common Internet/extranet/intranet infrastructure across business units, (2) monitor and manage the growth of Web applications across business units, (3) analyze project needs, determining budgets and resources needed to meet objectives, (4) collaborate with business units to prioritize, approve and fund Web-related development and maintenance, and (5) provide Web-related career development, employee performance management, hiring and termination.  In the capacity of responsibilities 1 through 4 and in consultation with business units, a high level corporate Internet/intranet/extranet prioritization and development procedure was implemented.  Some of the phases implemented are shown above left.   In conjunction with various in-house Information Technology groups, matching runtime development, test and production infrastructures were architected and implemented (part of a well planned staged, multi-platform development environment).  The test runtime topology is shown at left.   To assist in monitoring and maintaining the corporate Web enterprise architecture (to meet established business requirements), various off-the-shelf software components were purchased, some of which are shown in blue in the Capacity Planning figure above- right.  The generalized IT categories into which these products fall are indicated there in red.   The ultimate purpose of this displayed capacity planning methodology was to create an IT Enterprise Architecture that meets business and customer requirements (including an advanced Customer Care facility, a sample interaction diagram for which is shown at right).  See my glossary for definitions of terms used in these figures.  In this Internet/extranet environment, Company Web solution providers (technical, content and design) primarily (but not exclusively) used some combination of HTML, DHTML, JAVASCRIPT, ASP, JSP, CFM, Flash, XML, SOAP, JAVA, PERL, and SQL -based tools to build solutions.   I touch on some of the resource management aspects of this Internet/extranet development environment on my Agile Project Management page under "Agile Application Development", where you can also find a diagram of the general organizational and technical structure.


Simple Simulation :
To take my static, Monte Carlo business spreadsheet simulations into the dynamic, discrete event environment I architected and developed Simple Simulator (SIM²) in the mid-1990's.  (Some of the shortcomings of static spreadsheet simulations are touched on in A Business Cash Flow Model.)  The application object model is shown at the left.  At the right is a listing of the application pseudo-code.  SIM² was Microsoft Windows-based, had both batch and interactive "drag-and-drop" interfaces, was coded in Digitalk Smalltalk and Microsoft C++, and employed many of the technical capabilities present in today's commercially available simulation packages:

Document/Information Management :
"Finder" was an interactive application that I architected and coded (Microsoft C) to search for occurrences of specified words and phrases in the 50+ part, 1000+ page Federal Acquisition Regulations (FAR) (and in the similar Defense FAR).  It made extensive use of doubly linked lists of lists (ref. figure at left), providing techniques for both an "immediate" search on relatively unique strings, and an "extended" search, compilation and set manipulation (e.g. union and intersection) of (D)FAR parts that had common words or phrases.  Displayed information included (D)FAR part numbers, the number of string occurrences in each part and the textural content with the search string highlighted.  The Finder restart facility allowed users to continue searches started during an earlier session, and provided a system-crash safety net.

"AI²MS" was a highly interactive document management application that I architected, partially marketed and coded (Vax C, Digitalk Smalltalk), and technically managed.  A high level AI²MS VOPO diagram is shown at right (a view of participating objects).  Prominent in that diagram are seven important components: Scan Stations, a scripted Staging process, an OCR process or processes, one or more automated content Filtering processes, Edit Stations, a Local Database, and External processing with information storage.  Scan Stations were of three types -- paper, microfiche and microfilm.  Each Scan Station type had its requisite, necessarily different, scanning component, but the software supporting all types was the same.  All incoming scan "jobs" were pre-scripted according to either predetermined (if appropriate) or on-the-fly templates that were associated with specific customer needs and/or input quality/type.  Scripting permitted the use of a Staging process to direct/track jobs through the other components and the overall management process.  Required OCRing was scaled by adding more OCR processors (perhaps necessary to maintain a given throughput level for complex or "unclean" scanned input).  Content Filtering processes were similarly scalable, and provided things such as intelligent and automated scaling, rotation, white-space detection, context parsing, spell checking and bitmap color detection.  Edit Stations provided manual access to any necessary "after filtering" results, reacting to flags that might be raised by those processes.  A Local Database was closely integrated with job scripting and staging, OCRing, manual editing, and process filtering.  Hooks were provided for integration with customer databases and subsequent external processing.




Site managed with MyEclipse, a multi-language, multi-platform IDE

About Mann Creek Valley

A Family Genealogy Model

My Resume

A Technical Glossary

rh@manncreek.com