Michael A. Fons
Address: Cell: 720-837-7830
1424 South Helena Circle Email: Michael_fons@yahoo.com
Aurora, CO 80017 YIM: michael_fons AIM: fonsusafa2
Linked in: http://www.linkedin.com/in/michaelafons
I strive to attain excellence in JSF, ADF, J2EE/Java EE, and many other open-source
technologies. My ideal job would be one where I can teach and be taught all about these
technologies. I would like to be working with intelligent, energetic, creative, inquisitive people
whom I get along with. Such a job would help my life and career to grow in a positive direction
• Oracle ACE (awarded 2010) for Java Technology; JSF/Oracle ADF expert. Possess web,
Java/J2EE, and database development and design experience; utilize J2EE Design Patterns:
MVC and DAO.
• Enthusiastic blogger and presenter; see blog address above.
• Brainbench certified for Java 2 Fundamentals (score 3.9/86%), 7/2008; View Transcript
(www.brainbench.com, Transcript id: 7709976)
• Bring 18 years of Oracle and computer industry experience to the table.
• Combine sweat equity and working smart to progress projects
• Regularly publish and present on modern topics – such as Java EE, Oracle ADF, or web
• Keep current mainly through relevant engagements, querying/answering/reading Oracle JDev
Forum, maintaining my blog, user-group affiliation, conference presentership, technical
• Formerly (DOE) Q-cleared, with Masters in Computer Science from University of Denver.
• Able to travel (have current U.S. Passport, so outside U.S. is OK, too)
• Ever-expanding knowledge open-source technology, J2EE design patterns, OOA/D/P, UML
SQL-PL/SQL, JDeveloper 10g, Web PL/SQL Toolkit,JDBC
• Intermediate: JSF(2.0 new features including Facelets functionality), JDeveloper 11g, Oracle
(BEA) WebLogic Server, J2EE/Java EE, iBATIS, Xpress (from Dash Optimization) linear
programming tool, DAO, Oracle Designer/Reports/Forms 10g, Oracle DBA experience,
Oracle Applications, OC4J/iAS/OAS/OHS Dojo/Dijit, Jasper Reports, Pentaho BI and
Reporting, AD4J, Oracle Portal, JavaMail, SAX, Web Services
• Beginner: Spring, Jython, XSL, FLEX, Eclipse, Tomcat, Tiles
Information Management through Aderas, Fairfax, VA, 2/09 to present
• Produced major implementation (“Case Entry/Demographics”) using ADF/BC and ADF
Faces on the JDev/iAS 10.1.3.4 container. This was a full lifecycle development.
• Features implemented:
• Customized several JSF framework elements – like NavigationHandler and
• Integrated pure CSS menuing system, with JSF components with a cached menu
array. Menu structure was specified in a database table. Options included
dialog/page, hooks into custom page-access system.
• Integrated application into database-based page-element access system which
used database-based business rules to generate a matrix of data which I cached
per-view and per-dirty-commit (not per-request) for greater efficiency.
• Integrated disparate UI component: standard JSF core/html, ADF core/html,
Dojo/dijit (expandable textarea, dialog, editor, etc.), self-customized Apache
tomahawk popup component (made component respond to on-click instead of
mouse-over), self-customized JSF blueprint type-lookahead (improved query
• Implemented auto-save functionality (including with Dojo component).
• Set up and configured Oracle iAS 10g web server used including implementing
SSO. Documented the SSO setup and used doc to train two other system
admins with the same process.
• Used AM-Pooling-off mode to ensure robustness of application related to
passivation/re-activation of business component layer. (ADF/BC)
• Did quite a bit of backing-bean customization to achieve desired af:tree-table
functionality. Would perhaps do differently if had it to do over due to potential
inefficiencies in ADF tree binding.
• Shared pageDef file amongst several views.
• Implemented age/age-units field pair stored in years at the entity implementation
• Integrated RowSetIterator creation with ViewRowImpl creation to eliminate row
• Read/studied/reference JDeveloper technet forum and JSF manual to further
education and improve techniques and application quality.
• Reduced auto-expanded ViewObject key when you add additional reference
entities. This auto-expansion is almost a bug in this scenario, due to its addition
of instability to generated applications.
• Implemented multiple pages, each of which had a table/grid with multiple rows of
new data-records available immediately for optional data-entry, mixed with
existing rows available at the same time for update. These grids also had a
pagination feature enabled with a sensible new-row creation algorithm.
• Purposefully avoided PPR due to response issues, but continued study of this
technology in preparation for future ADF Faces/Binding layer versions.
• Implemented Dijit-enabled, loop-driven, parametric, rich-text editor field grouped
sets, which used the same page to edit different field group sets.
• Used built-in ADF/BC caching together with getter and setter to implement tree
hierarchy in extremely robust and efficient manner to produce updatable data
fields in a custom layout.
• Created custom JDBC business-component framework methods to retrieve
collections of structured data (database types/objects) from packaged
procedure/function calls. Used ViewObjects with SQL table function to achieve
• Kept request speed < 3 seconds/request 90% of the time. Used AD4J, logging,
debugging, and analysis to achieve this.
• Spearheaded first ADF development on legacy system. Integrated the two and also
integrated with a new open source BI tool, Pentaho.
• Nailed down migration paths possible for their current technology stack, which was
Oracle iAS 10.1.2.0.2 with Portal, and PL/SQL Web Toolkit. They wanted to go migrate
to use ADF Faces Rich Client JSF components ideally. We tried to use Portlet Bridge
technology, but that turned out to be only appropriate for people with a WebCenter
license, and the end users were unwilling to spend extra money on licensing. So we
ended up with an iframe solution.
• Studied security options for these technology stacks. Worked out some intricacies of
SSO. Also looked a bit at SAML in case we needed to interface from iAS 10.1.2.x/Portal
over to WebLogic stack.
• Created a number of ADF Faces and ADF Faces Rich Client 11g and 10.1.3.4
applications as proofs of concepts.
• Created several template/proof-of-concept applications using ADF Faces Rich Client
(using JDev 11g).
• Presented to Oracle Open World during this period on JSF Custom Components; also
became an Oracle ACE.
• Technology Used: ADF and JSF/JSP/J2EE, Java, JDeveloper 10.1.3.4 and 22.214.171.124.1,
Oracle iAS (10.1.2.0.2, 10.1.2.3, 10.1.3.4), Oracle WebLogic Server 10.3, Oracle Portal
(repository 10.1.2.0.2, 10.1.4.2), Pentaho 2.0.0.stable.35509, SSO integration/mid-tier
iAS 10.1.3.4 install and configuration, Pentaho BI Suite
Studies and Research done during period of unemployment, Aurora, CO, 12/08 to 1/09
• Reasons for unemployment: last position ended on time with the conclusion of the
expected work. Unemployment continued due to December dearth, and also a national
lack of confidence on the part of employers of their futures. This period was fraught with
employers putting positions on hold, or dissolving position altogether; also corporate
layoffs were prevalent.
• Worked on research paper for Rocky Mountain Oracle Users Group Training Days event
for 2/09. Subject: comparison of JSF and ADF and details on custom JSF components.
• Continuing studies on the following topics to present time:
Detailed work with Schalk and Burns’s JSF: The Complete Reference –
especially regarding custom JSF components
o Advanced concepts in Sun Java tutorial (Generics, Threads, …)
o Advanced concepts in Sun J2EE tutorial and related J2EE subject matter (RMI,
Design Patterns, JMS, JMX, JNI, …)
o Cactus integration with JSF extensions
o Google Maps API
Oppenheimer Funds through System Engineering Services (SES), Greenwood Village, CO,
8/08 to 11/21/08
• Took over technical development to do two major revisions of n-tier, enterprise trading
• Example features implemented:
• Customized converters/formatters for all numeric fields in the system (esp.
BigDecimal). Centralized format strings for dates and numbers in message bundle.
• Used iBATIS caching to speed up primary screens in application by 400%.
• Optimized Cancel button on one page to go from 5 seconds to sub-second timing.
• Improved user experience by standardizing “Loading” animated GIF with custom
• Upgraded Jasper reports from version 1.3.3 to 3.0.0 (including associate report
• Refactored database tables and the cascading changes throughout the application.
• Tracked down and implemented fix for elusive bug that did not allow the updating
of comments for a restriction in a certain screen. Looked for and found root cause:
existing code was mixing up a FK and a PK of a table.
• Altered batch report (which uses timers and event/listeners) to take additional
parameters and to run differently from batch report setup page
• Worked with .NET group; they were using Agile software life-cycle development, so
we had to learn about their software lifecycle in order to interface with them.
• Came up to speed quickly on technical architecture being used
• Altered all layers of this system: interface, domain logic, database, etc.
• Overcame issues with CVS (source control) to enable me to work on trunk and branch
version of application.
• Technology used: Oracle DB 10g, Web Services, iBATIS, DAO, Spring, JSF 1.1, JSP,
Java, Tiles, Jasper Reports 3.0.0, iReport, JDeveloper 10.1.3.4.0, WebLogic Server,
CVS/SmartCVS, Sybase database (queries, procedures and JDBC data sources), JUnit,
Oracle 10g RDBMS
Sumitomo Tubulars through Four Cornerstone Consulting, Houston, TX, 03/08 to 07/08
• Worked alongside technical lead in order to rewrite existing Forms application in
ADF/JSF (n-tier app). End-users were looking for additional features and speed
increases. Met vast majority of their requirements, including a drag-and-drop
• Implemented features such as…
• Implemented integrated, drag-and-drop, AJAX solution in JDev 10.1.3.3.0 (JDev 11
has hooks for this; 10.1.3.3.0 does not).
• Used SSO/VPD; got external user name in session bean, and passed it to business
component level, also.
• Tested application by shutting off application module pooling.
• Was able to do drop-down lists in a table and refresh using PPR on return from a
• Implemented a dialog edit page, where the FK link to the parent could be changed,
with a screen refresh.
• Implemented logger and log handlers.
• Cascading, in-af:table, drop-down lists using session bean.
• Afc:cache implemented, along with jsp:includes
• Implemented custom profile to display only the columns users wanted in tables.
• Based drop-down list on a business-component level List.
• Created global context-sensitive help.
• Reused same view object with binding parameters as both master, detail, and
• Implemented horizontal master list using nested af:forEach’s, with highlighted links
to show current record.
• Used own extended LifeCycle to run backing bean level code.
• Custom error handling and menu hierarchy.
• Reference letter and screen shots available on request.
• Created all layers of this system: interface, domain logic, database, etc.
JDeveloper 10.1.3.3.0 and Web Service calls, MVC Design Pattern, AJAX calls, SQL-
PL/SQL, Oracle Forms/Oracle Reports/Designer, VNC on Solaris motif and command
line, PL-SQL Developer, SQL*Navigator. Used SSO/OID and VPD, Oracle 10g RDBMS.
Graebel Companies, Inc., Aurora, CO, 01/07 to 03/08
• Sr. Applications Developer creating infrastructure to do ADF development, such as
custom login module, CSS3 skins, exception handling, gui standards, developing training,
lots of home-grown Java code and code adaptation from SRDemo Oracle code, as well
as code from Technet JDev forum, internet and other sources.
• Developed n-tier, enterprise-wide ADF Day Page, Red Alert, and other critical pages in
the same application, which were central to the ePages project; implemented functionality
• Custom database login module based on schema login and table
containing child table drop-down lists.
• Af:tables based on child tables within rows in parent tables without using a
tree model. Also child drop-down lists.
• Many features taken from SRDemo like custom error handling (have
studied all 1160 pages of Oracle ADF Developer’s Guide manual for 4GL
• Implemented secure calls between ADF, Forms, APEX without using SSO
without requiring re-login.
• Pages with 4 drop-down lists on them using multi-part key.
• In-memory query filtering.
• Created all layers of this system: interface, domain logic, database, etc.
• Utilized formalized software lifecycle (waterfall) with analysis and design documents, test-
plan documents, and many other kinds of formalized documentation.
Service calls, MVC Design Pattern, SQL-PL/SQL, LOADJAVA for encryption global
encryption classes in the database, Oracle Forms/Oracle Reports/Designer,
Merrant/PVCS (source control), VNC on Solaris motif and command line, PL-SQL
Developer, Oracle 10g RDBMS
RMOUG work, 2007 and 2008
• Redoing RMOUG website in ADF (MVC) to allow for members-only section and
enhanced functionality and maintainability.
• Presented at 2008 Conference on lessons learned with creating first production ADF
application at Graebel (attended by Duncan Mills, Paul Dorsey, and Peter Koletzke)
• Presented at 2007 2nd
quarterly meeting on testing options in ADF; utilized Ant, Cactus,
JUnit, HTMLUnit, HttpUnit, and many other testing technologies during the demo I did for
• Demo’d ADF at 2007 1st
quarterly meeting on ADF on several basic features
• Presented at 2007 Conference on Forms to ADF conversions
U.S. Air Force Academy, Colorado Springs, CO (through RJV consultancy practice), 11/03
• Team Lead (70% technical; 30% admin/training/strategic planning) for group of 3-5
programmers in charge of maintaining base/school wide computer system (CAMIS) for
the academic community; about 40 sub-systems on our team’s plate.
• Daily helped team members get un-stuck from their problem issues. Go to man for such
• Sole maintenance supporter of Xpress linear programming tool; used for exam
scheduling; slated for other uses as well.
Forms/Oracle Reports/Discoverer, Headstart, PL/SQL Developer/Toad, ColdFusion,
MySQL, XML/SAX, JavaMail (imap), UltraVNC, UNIX, Java application, pro*c, Xpress-
MP (by DashOptimization (http://www.dashoptimization.com/ )), Oracle 10g RDBMS
ETC Corporation, Richardson, TX (through Adea Group consultancy practice), 4/03 to
• Engaged in up-to-date e-commerce and security issues
• Was responsible for maintaining daily revenue stream from tolltag statuses at the
• Created New Accounts section for their Revamped online site
• Worked compatibly on 4-person team and 20-person team
• Got up to speed quickly; worked 50 to 60 hour weeks for 6 months voluntarily
• Did back-end and front-end Oracle work
RDBMS 9.2, IE 6.0, Netscape 7.1, Toad, Visual Source Safe, PL/SQL, Windows/2000,
Prepared and presented two papers at Rocky Mountain Oracle Users Group Training Days
national conference on Web Services and CSS issues to continue growth during period of
Servlets, Windows/98, MySql
Double Diamond Solutions (through the Prism Group), Broomfield, CO, 10/02 to 12/02
• Worked with latest version of Oracle Forms 6i on the web
• Met deadline for one-month project
• Was very attentive to project specifications; tape-recorded initial meeting for
conscientious study later.
• Technology: Oracle Forms 6i, Oracle 9.1, MS XP, sql*plus
Colorado State Department of Regulatory Agencies, Denver, CO (through Currier
Consultants practice), 7/02 to 9/02
• Produced HTML/CSS pages to specifications for State Wide government website
• Worked on project to merge disparate sets of data from two different agencies.
• Technology: Oracle 9.0, HTML, CSS, PL/SQL, Dos script files, MS NT, Toad, Crystal
Metropolitan State College of Denver, Denver, CO, 6/02 to 9/02
• Created framework in Oracle Forms 6i for campus administration names management
• Researched independently to refine project specifications, interfacing with group of
administrators and technical leads
• Technology: Oracle Forms 6i, Oracle 9.0, PL/SQL, sql*plus
Qwest Communications, Denver, CO (through Analysts International consultancy
practice), 5/01 to 4/02
• Teamed-up with SAS and Regulatory groups to provide web-based Issues management
• Mentored with long-time team members to gain business rule knowledge.
• Helped to perfect existing functionality for website and web reporting tools
AJAX-like behavior), CSS, Oracle 9.1, SAS, Toad
United Artists and Metasolv, Englewood, CO (through Dimension Data consultancy
practice), 6/00 to 5/01
• Trained in company business rules with senior consultants
• Traveled to work in San Francisco with telecommunications software conversion and
• Produced specified reports needed in FA, GL, and PO.
• Upgraded and refined intranet resource opportunity management system which helped
the sales department work more effectively with recruiters.
• Technology: Java (stored in Oracle DB), Designer WSG 6.0 and 6i, PL/SQL, Java
client/server (admin and developer roles), Microsoft Visual SourceSafe (source control)
T-NETIX, Englewood, CO, 10/99 to 6/00
• Helped meet final requirements for fully delivering software package
• Corrected some long-standing issues with software products improving user satisfaction
• Technology: Oracle 8.1.6, Oracle Forms, SQL*ReportWriter, PL/SQL, MQSeries
Oracle Corporation, Englewood, CO, 2/98 to 9/99
• Engaged the developer community with new technology, working with senior
management to improve technological growth for the branch.
• Sorted out convoluted EDI project
• Aided in effort to reduce bugs to zero count
• Became an expert in Regulatory Reporting for two states, and learned the business rules
of several sub-products in the Oracle Energy suite of products.
• Pushed for CMM process improvement; implemented for self
• Technology: Oracle 8.1.5, Headstart for Apps, Designer Forms Generator, PL/SQL,
Pro*C, Rational ClearCase (source control)
T-NETIX, Englewood, CO, 2/96 to 2/98
• Expanded the Information Systems department
• Wore many hats: direct customer support (sysadmin/dba/developer), installer (travelling),
new development for Trust Fund/Commissary product
• Completed Phase I of Trust Fund product GUI conversion project which I spear-headed.
• Technology: Oracle Forms, Oracle Designer/CASE, Oracle Reports, MQSeries for SCO
Unix, SCO Unix sysadmin, network admin, Oracle DBA
Rocky Flats Environmental Restoration Site, Golden, CO, 6/90 to 2/96
• Earned masters while working
• Supported multi-million dollar budget project control system on a team of 30 people
• Expanded my experience to many areas – such as waste management and chemical
• Technology: Oracle Forms, Oracle Reports, Sqlreportwriter, Sqlplus, Project/2, Internet
barcode printer and scanner programming, COBOL, Fortran, C, Pro*C, Symantec C++
Degree Awarded Institution Year
M.S. Computer Science University of Denver 1993 3.95
B.S. Computer Science Metropolitan State College of Denver 1990 3.35