Bunker Hill Logo
Hosted Web Application Development and MS-Access to Web / Browser Conversions

Bunker Hill specializes in custom web application development, and in the conversion of Window’s applications to browser/web technologies, with particular expertise and distinction in MS-Access database migrations and application conversions.

Given the many advantages browser applications afford both users and management; it is not surprising that browsers are at the core of emerging and future devices and technologies. In addition to platform-independent, world-wide accessibility, browser/web applications are centrally managed, scalable, secure and require no installation or ongoing updates. This means that users have access to applications whether at home on their Mac, on their office PC, at a remote client site running Linux, or even from their cell-phones. IT managers can also rest easier knowing that their applications are centrally maintained and distributed, conform to DBMS and security standards, and are inherently scalable.

In order to extend the benefits of browser/web technologies to business applications, Bunker Hill has developed a Browser Application Framework (called BAB/E) that facilitates the creation of Browser GUI’s that are many times more productive than traditional web interfaces. To understand the reasons for this, please refer to Key Elements of Effective GUI's.

Services

Hosted Web Application Development / Window's Application Conversions

Hosted Web-Application Development

We offer the development of Hosted/Intranet Web-Applications built to your specifications. Our database experts create database models based on the needs of your application. Forms and reports are rapidly prototyped and (after approval) converted to secure, scalable Ajax/.NET websites. Applications can be deployed on your Servers / Cloud, or we can recommend hosting alternatives.

Conversion Services

Bunker Hill's conversion strategy helps organizations implement an orderly, cost-effective transition to compliant, high-performance DBMS/Web architectures, while preserving investments in application development, training and expert knowledge.

Browser-Enabled Microsoft Access Conversions

The Problem

Many IT departments are faced with managing some number of MS-Access applications that have been developed within business units, and have attracted a grass-roots following who rely on them to perform important job functions. These applications typically arise due to business needs that change more rapidly than appropriate solutions can be designed and developed by IT. Users readily adopt these applications because they embody specific business knowledge pertinent to their jobs, are immediately available, and are very easy and agreeable to learn and operate; credit must duly be attributed to the advanced GUI and RAD capabilities of MS-Access.

Unfortunately, islands of desktop-data are created that do not conform to IT standards and are difficult to support and manage. In addition to lack of scalability and limited concurrent-user issues, MS-Access data cannot be properly secured and therefore does not conform to any (HIPPA/SOX, etc.) compliance standards (See Microsoft Access Applications and Sarbanes-Oxley Compliance White-Paper)..

Our Approach

Our browser-enabled MS-Access conversion approach not only preserves the look-and-feel and operation of the original application, but provides a simplified framework for performing ongoing application maintenance and enhancements.

Our solutions include the following services and specific technologies (click entry to expand):

Expand item...Migrate Access Jet databases to MS-SQL / Oracle / DB2
  • Precise DBMS data-model mapping of all Access table objects (fields, data-types, defaults, constraints, keys, indexes, relationships).
  • Deliverables include application for loading and reloading the latest MS-Access data into the migrated DBMS for onsite testing and final production data loading.
  • Our migrations include non-standard Access features and design improvements; For example, cascade update relationships are implemented for all DBMS, but ignored when defined on Auto-Number fields. Redundant indexes (covered by other indexes) are ignored.
  • Implementation of redesigned data-models when deemed appropriate and necessary.
Expand item...Convert Access SQL (queries and macros) to MS-SQL / Oracle / DB2
  • Proven techniques for converting MS-Access queries containing non-standard SQL into DBMS SQL (procedures and views) including sub-queries, VBA built-in and user-defined functions, parameters, DISTINCTROW, etc.
  • Conversion of MS-Access Macros into DBMS procedures.
Expand item...Convert Access Forms to Web (Ajax / ASP / .NET)
  • Conversion MS-Access Forms that preserves their look-and-feel and operation.
  • XML based form descriptions facilitate easier modifications and enhancements than code-generation alternatives.
  • Using BAB/E Browser and Server components promotes balanced resource utilization and optimal web performance.
  • Eliminates the security, concurrent users, scalability, ODBC, etc. deficencies of MS-Access applications, while supporting its advanced GUI features for optimal productivity.
Expand item...Convert Access Reports to SQL Server (SSRS) or Crystal Reports
  • Conversion of MS-Access Reports to .NET SSRS and Crystal Reports, including sub-reports, parameters and charts.
  • Conversion of MS-Access Report SQL into DBMS procedures.
Expand item...Convert Access Extensions/Automation to Ajax / ASP / .NET
  • Conversion of Active-X Objects into equivalent .NET functionality.
  • Run-time generation of Excel Worksheets and Reports.
  • Creation of custom .NET functions for perfroming application specific tasks.

In addition to browser-enabling MS-Access front-end applications, we also offer conversions to ODBC-based client-server architecture.

Tools and Methodologies

Over the years, we have developed an extensive library of MS-Access database migration and application conversion utilities, including those for the creation of XML Form Description files and DBMS Stored-Procedures used by our BAB/Engine.

Given the many and varied types of applications implemented using the extensive capabilities of the MS-Access RAD environment, coupled with the dissimilarities of the web technolgies we employ, which require advanced technical skill-levels on multiple platforms (VS.NET, ASP, DBMS, Ajax, BAB/E …) to master, it is not practical or prudent for us to offer a general-audience conversion toolset that could be expected to address real-world MS-Access to Web conversions effectively. Note that the BAB/E Browser and Server components are distributed with our solutions.

We do encourage close collaboration and task sharing to reduce conversion costs and project completion times. For example, after performing a thorough needs analysis of the MS-Access application, we recommend that the client perform essential design changes we suggest to ensure smooth, accurate and effective web conversion results. After receiving the modified application, we will apply our tools and methodologies to convert the Access Forms, Reports and related queries into a Visual Studio (ASPX.NET) Solution and DBMS-specific Procedures. Since any application business logic written using Access VBA must be manually converted into Javascript that utilizes the BAB/E API, the client may choose to implement these functions as a cost savings alternative to additional BH services.

Browser-Enabled Window's Application Conversions

Our approach to the conversion of Window's applications follows the same techniques and methodologies we employ with MS-Access conversions. The presentation layer (ex. VB forms) is replaced by a browser-enabled GUI, while business logic is transferred to the web-server(s) and integrated into the GUI.

Deliverables

In addition to application specific XML, Javascript, and images files, our .NET solutions include the BAB/E Server and Browser components. Ongoing application enhancements and maintenance are performed by modifying and/or adding XML Form descriptions and/or by using the BAB/E API.

water
View site as BAB/E Application

MS-Access, SQL-Server, .NET and SSRS are trademarks of Microsoft. DB2 and Oracle are trademarks of IBM and Oracle respectively.

Technology

The Bunker Hill "Browser Application Builder / Engine" (BAB/E) is comprised of Browser (Ajax) and Server (Web Service) components. The architecture is similar to client-server in that the user interface (or client) runs in a browser on a local workstation or device, and calls upon the DBMS server to perform data operations as needed.

The BAB/E framework offers the following advantages:

Expand item...Specifically designed for browser-based business applications
  • Programmed using the browser’s native Javascript language.
  • Utilizes Ajax for optimal performance.
Expand item...Facilitates development of diverse, powerful GUI’s tightly integrated with DBMS
Expand item...Balanced browser-server architecture
  • Yields high-performance and very efficient database and web-server resource utilization.
  • Enables more powerful GUI’s with rapid response times.
Expand item...Supports Enterprise level security / compliance and DBMS standards
  • Built-in support for SQL Server, Oracle and DB2
  • Provides for SOX, HIPPA compliance and robust security standards.
Expand item...Extensible, customizable programmatic interfaces
  • BAB/E API provides high-level, object oriented customization for implementing business rules.
  • Interfaces with any available internet resource; 3rd party APIs (ex. Google, Yahoo, USPS), Web Services, DBMS, etc.
  • BAB/E Server component is easily extended to accommodate any .NET server-side processing that needs to be initiated by the browser application.
Expand item...Easily enhanced and maintained
  • XML Form definitions simplify ongoing application maintenance and enhancements.
  • All application files are centrally located and maintained.
Expand item...Multi-Culture Aware
  • Date and numeric fields are displayed, and must be entered in a format consistent with the local culture.
  • All GUI messages, captions, labels, etc. are optionally translated from their original language into the language of the browser user; when supported by the Google Language API.
BAB/E API and GUI Components

The BAB/E application framework provides all the necessary building blocks for creating effective Web GUIs. Intelligent input controls, like Multiple-Column Combo Boxes and Input Masks, facilitate data entry efficiency and accuracy.

BAB/E is extensible, offering complete application customization for implementing business rules that can draw on any external APIs, data sources, etc. that are accessible through Javascript. The Web Services component is easily extended to accommodate any .NET server-side processing that needs to be initiated by the client/browser.

GUI Components Form Controls:
  1. Supports MS-Access Combo-Box standard
  2. Rows filled from SQL commands or specified values
  3. Multiple columns and headers
  4. Optional auto-extend
  5. Requery at run-time using API
  6. All rows and columns are accessible using API
  1. Provides a fixed data input format and controls the values users can enter.
  2. Helps clarify data entry rules (ex. SSN, Credit Card Numbers, Postal Codes, etc.)
  3. Supports MS-Access Input Mask standard
  1. Supports MS-Access Tab Control standard
  2. Tab pages may contain sub-forms and url links
  1. Create and control calendar using API
  2. Navigate months and years
  3. Language/Culture aware
  4. Customizable presentation and formats
  1. Replaces MS-Access OLE Unbound Control
  2. Display content from any url on forms
  3. BAB/E Forms can include multiple linked URLs
  4. The Categories Form (open from the Demo's Main Switchboard) combines DBMS data with linked MSSQL Reports.
Application Objects: Windows, Forms, Drop-Down Menus, DHTML Content Manager
  1. Windows may contain data-driven forms, external urls, or DOM elements
  2. Movable, resizable; minimize, maximize, close buttons options
  3. Modal, Dialog and Popup windows supported
  4. Created and controlled through API
  1. Supports MS-Access Form standards
  2. Single, continuous and datasheet forms and sub-forms (nested to any level)
  3. Datasheet view transformations
  4. MS-Access navigation and user-input conventions implemented
  5. Sort/Filter popup menu
  6. Extensive API support for controlling forms.
  1. Manages all DHTML content on this site
  2. Great for multi-language sites, help systems, presentations, etc.
  3. API controlled DHTML DBMS storage and retrieval
  4. Flexible display panels (movable, sizable, etc.)
Document Object Model Creation

The DOM is dynamically built from XML Form Description files, currently generated by our MS-Access conversion utility that also generates vendor-specific SQL procedures used by various form components. Form attributes and behaviors can be changed by modifying the XML file or setting Javascript properties at run-time.

Programmatic Interface

BAB/E includes an event-driven programmatic interface similar to Access Form Modules. Custom Javascript code can be executed, for example, when a control's current element gets or loses focus or the current record is changed.

The BAB/E API provides a DOM and database abstraction layer to simplify custom development. Form and Control collections expose properties and methods for referencing, assigning and manipulating BAB/E Forms without needing to understand the complexities of the underlying DOM and data structures. For example, the statement "app.forms['Orders'].controls['Order Date'].value(new Date(2009,4,17))" sets the value representing the "Order Date" field on the "Orders" form for the current record, and displays it in the associated DOM element as '17-May-09' after the "format" property is applied. Note that date and number localization is implemented. For example, in a German region, the date would display as '17-Mai-2009'.

The API also includes methods for database interactions, and for Form navigation, sorting, filtering, calculating aggregates, formatting and many other useful functions.

Web Service Component

Database interactions are performed through the BAB/E API to the ADO/OLEDB Web Services Component. Although all Web Service calls are performed asynchronously, BAB/E is designed to enable sequenced operations during event processing.

Connections and Security

The BAB/E API provides a flexible connection mechanism that supports Trusted- and Password-based security and includes built-in support for Microsoft SQL Server Application Roles. For additional database security, a server-side mechanism for looking-up MS Application Roles/Passwords by User-Id is also provided.

The default application-wide connection object may be overridden so that Forms (and sub-forms) may specify different data sources.

Note that any custom security strategy can be employed before any URLs or BAB/E API calls are exposed.

Database Operations

The Web Services Component exposes methods called by the BAB/E API to execute SQL or stored procedures that return result sets and scalars and/or pass and return parameters.

Database update and delete operations that enforce optimistic concurrency and insert operations that return last-generated Identity/Sequence values are also included with built-in support for Microsoft SQL Server, Oracle, IBM DB2. BAB/E is easily extended for any OLEDB supported data source.

Operating Requirements

Web-Server: Microsoft .NET 3.x

DBMS: MS-SQL, Oracle, DB2

Browser: Chrome, Safari 4, Internet Explorer 7+, and Firefox on Windows; Safari 4, IE, Firefox on Mac; IE, Firefox on Linux/other platforms.

MS-Access, MS-SQL, .NET, and Internet Explorer are trademarks of Microsoft. Chrome, Safari, DB2 and Oracle are trademarks of Google, Apple, IBM and Oracle respectively. Other product names mentioned may be trademarks of their respective companies.

Contact Information
Headquarters 501 Delancey Street, Suite 609 San Francisco, CA 94107 (877) 356-9191
Company

Like Commander Prescott who implored his ammo-challenged troops “Don’t one of you fire until you see the whites of their eyes,” Bunker Hill understands the wisdom in paying close attention to detail.

Bunker Hill has provided software and technical consulting services to an international clientele since 1981. We have been successful in translating advancements in computer technology into competitive advantage for our clients.

Our CTO has been developing software since the PC-revolution of the eighties when he spear-headed the development of one of the first CP/M relational databases and led Esprit’s leading-edge PC-POS project that was featured on the cover of Info World. He more recently authored Scriptoria for DB2 that IBM licensed and distributed to over 5000 companies in 90 countries.