2007-Present: For a small software company, designed and wrote a Web application for sale to large regulated corporations (pharmaceutical, cosmetics, auto parts, medical devices, fertilizers, etc.) to taglessly track products for detection of counterfeits and distribution chain violations: Architected (see diagram), designed, implemented, tested, documented, and demoed the Web app, using MySQL, Tomcat, Java, JDBC, JavaScript, Ajax, DHTML, CSS, and XML.
Installed, configured and hosted the Tomcat app servers and MySQL DB servers on Linux and Windows.
Features: "Filthy rich" client interface: liquid interface with draggable self-calibrating dynamically constrained sliders, screen updates via JavaScript at each keystroke and mouse move, etc. but requiring no client install.
Multi-window master-detail drill-down user interface, running in any browser.
Data validation and access control performed at all levels (UI, App server, DB), but only specified once.
Portable across all operating systems, DB servers, App servers, and browsers.
Ajax transactions used for global validations, keep-alives, etc.
Full audit trail in a parallel set of DB tables.
Fine-grained, attribute-based, hierarchical, cached access control allows owner users to grant and deny other users the rights to view, update, delete, and own objects.
Comprehensive multi-level hierarchical logging of all user actions and internal operations with automatic begin/end matching, durations, indented layout for visual scan by a person as well as timestamps, memory size, thread id, IP address, username, browser name, etc. for use by log analysis tools.
Entirely data-driven: constraints, rules, units, access rights, etc.
Robust file upload and download w/access control, configurable limits on file type and size, dynamic image scaling, etc.
Custom connection pooling, monitoring, managing, and self-healing.
Admin tools for adding users, specifying initial access control rights, etc.
Self-reloading XML config file specifies all limits, delays, timeouts, levels, scale factors, connection info, locations, etc., so no server restart is ever needed.
Comment posted by client to my LinkedIn page: "Fred has done amazing work, far beyond merely turning our ideas into software. He thinks about the whole problem, its context, its implications, and its future, and builds for the long term. He meticulously documents the options overruled, and why, as well as the path taken, so nobody wastes time revisiting settled issues. It's a pleasure working with him. When I first hired Fred, his references were highly enthusiastic, and now I understand why: his work is so polished, it's as if we got 2.0 instead of 1.0."
2005-2006: For an on-line bank, supported and enhanced Web applications, Web services, and underlying architectural components, using Oracle 9i, WebLogic, Apache HTTP Server, JSP, Struts, EJB, JMS, log4j, JUnit. Enhanced login to use "Multi-Factor Authentication" images and phrases obtained via SOAP calls to the Passmark Web Service.
Converted Web site from HTTP to HTTPS.
Implemented various new features and bug fixes.
Created Wiki for use by developers containing: Comprehensive installation/setup/configuration guide for development environment.
How-to guide for implementing new features, debugging problems, searching logs, etc.
2004-2005: For a small dot-com company, helped develop a JavaServer Faces (JSF) engine and set of components. Specific contributions included: JSF Engine Development Developed several pieces of the JSF engine, including bean discovery, value bindings, method bindings, component bindings, and event generation.
Re-wrote several pieces to make them compliant with the emerging JSF standard.
Re-factored the Java class tree for improved code sharing and manageable modules.
JSF Component Development Developed Integer and Date JSF components to support user entry of integer and date (month/day/year) values with internationalization. Wrote the Java classes for the components, tags, and renderers. Also wrote the JavaScript code to do client-side validation in all major browsers (IE, Netscape, Mozilla Firefox, Opera, etc.)
Demos, Documentation, Training Developed demos and user/programmer guides for use at the product Web site.
Taught team members advanced Java topics, like thread synchronization.
Taught team members how to use JetBrains IntelliJ IDEA, Microsoft Script Debugger, CVS, and other development tools.
Configuration Management Introduced the team and the company owner to the concept of version control.
Installed and administered CVS.
Used Ant to automate builds, regression tests, and releases as JAR, WAR, and EAR files.
Unix System Admin Configured Unix firewall to safely support remote access by off-shore developers.
Automated backups via cron and tar. Debugged and resolved network hardware issues.
1999-2004: For a large multi-national pharmaceuticals company, developed a 3-tier Web application architecture (see diagram):
The client estimates savings of 15 million dollars per year, increasing each year as it uses the application to manage more clinical trials. Previously for the same client, prototyped the following, demonstrating successful integration across tiers using each combination: Alternative Technologies for Presentation Tier: Java applets running in a web browser, using Xerces to manipulate XML and generate HTML.
Visual Basic, using MSXML to manipulate XML.
Alternative Technology for Business Tier: Perl CGI scripts using DBI to access the database.
Previously for the same client, developed Web and database applications (which I later ported to the architecture above) including: Inventory Tracking Enhanced an existing application using VB, RDO, and Oracle 7.3 to track the inventory and distribution of drugs used in clinical trials. Defined tables and views, and wrote stored procedures and triggers. Wrote VB code using RDO to access the database and call stored procedures. Optimized performance to maintain good response time despite a heavily loaded database server across the ocean.
Web Reporting Designed and coded a Web-based reporting system. HTML pages are generated by Perl 5 using DBI to access an Oracle 7.3 database. The user interacts with the pages specifying selection and sort criteria for the reports, views reports as HTML tables, and downloads them as comma-separated (CSV) files. All interaction is funneled through a common Perl script to log interactions and dispatch specific requests to secondary Perl scripts.
Previously for the same client, developed a Generalized Database Front End. Designed and coded a VB application to access Oracle 8 and Oracle 7.3 databases. The application presents the user with a list of available plugins (stored procedures and SQL*Plus scripts), executes the selected plugin with the specified parameters, and displays the results to the user. The application is structured as 3 layers of cooperating components: Database Layer Oracle packages provide a stored procedure API for running plugins, scheduling runs to occur in the future, viewing the output of previous runs, etc.
Business Object Layer COM components encapsulate all knowledge of plugins, runs, etc, including all database access (via the database layer), validation, execution, etc.
User Interface Layer (see diagram) ActiveX Controls (OCXs) encapsulate all user interaction, including data access (via the business object layer), presentation, undo, dirty flag, etc. These OCXs can be embedded in a variety of host environments, including Visual Basic, Excel, Word, or Internet Explorer, displaying their output in VB controls, Excel spreadsheets and charts, Word documents, or HTML.
1996-Present: Webmaster and Linux System Admin for the Bristle Software Web site ( ).
sheridan data widgets 3.0 download
Download Zip: https://protabliho.blogspot.com/?file=2vGe7v
The Web Applications Working Group published three specifications today, including a first draft of File API: Directories and System, which defines an API to navigate file system hierarchies, and defines a means by which a user agent may expose sandboxed sections of a user's local filesystem to Web Applications. The API builds on the other two updated specifications, File API: Writer and File API. The Working Group also updated the Widget Requirements. A widget is an interactive single purpose application for displaying and/or updating local data or data on the Web, packaged in a way to allow a single download and installation on a user's machine or mobile device. Learn more about the Rich Web Client Activity.
The Web Applications Working Group has published a Last Call Working Draft of The Widget Interface. This specification defines an application programming interface (API) for widgets that provides, amongst other things, functionality for accessing a widget's metadata and persistently storing data. Comments are welcome through 28 September. Learn more about the Rich Web Client Activity. 2ff7e9595c
Comments