application-development

  • Customer Applications and Systems Integration
  • Configuration Management
  • Database Administration
  • Enterprise Application Integration
  • Business Process Integration and Management
  • MS Business Intelligence Tools: Development, Testing and Deployment
  • Web Services
  • Fluent in Multiple Internet Database Environments
  • Document Management
  • Case Management
  • SharePoint Development
  • Compliance Assistance
  • Various Search Applications

Blue Mountain Data Systems has designed, developed, implemented and supported many enforcement case tracking systems, customer service tracking systems, and other data and document management systems dealing with new and ever-changing regulations. These systems enable the creation, storage, retrieval and reporting of information contained in many different collections of data records and associated documents. The unique processes that Blue Mountain employs in our development efforts strives to enhance existing database applications rather than use separate off-the-shelf applications for document delivery.

We approach application development with the knowledge that there is no single language, tool, framework, or paradigm that can solve all problems

Once we understand the requirements, and before we commence with other stages of the development process, we ask, “What are the problems are we trying to solve?” We use a “right tools for the job” mentality, and are not wedded to any specific commercial development languages or libraries, open source solutions, or COTS tools. We avoid investing our time and government resources with niche languages and frameworks.

Enhancement of your existing applications to add document attachment functionality is not only feasible but also most cost-effective, as this functionality:

  1. Manages documents associated with case tracking records without having to implement a separate document management system
  2. Eliminates unnecessary licensing and COTS software expenditures
  3. Eliminates unnecessary annual COTS software maintenance fees
  4. Offers economies of scale–application maintenance is bundled together with the associated maintenance of document management functionality, resulting in little, if any, annual COTS vendor costs

Electronic Document Management is Critical for Federal Civilian Agencies

For federal agencies who desire to move toward a paperless office, the ability to attach documents to records within existing database applications is critical. Blue Mountain staff possess decades of document management experience, ensuring that:

  1. Documents are properly named and associated with the right records to avoid losing documents within the system.
  2. File-naming conventions are scoped properly to avoid duplication and to guarantee expandability without reordering or reworking the document file structure at a later date. If not properly scoped, document loss may occur.
  3. Records and documents are appropriately backed up and methods employed to minimize data loss should a server or communications failure occur.
  4. Storage and system performance management is monitored properly in order that the database and document storage capacity is expanded at intervals commensurate with growth requirements of the tracking systems

Properly name and associate your documents with the right records to avoid lost information within your system.

Development Languages and Tools

Blue Mountain Data’s experienced staff can assist agencies in supporting their user communities and IT infrastructure. Our staff is experienced with these development languages and tools.

Enforcement Applications

Blue Mountain has designed, developed and maintained a number of enforcement applications, using a variety of software development tools and the Software Development Life Cycle (SDLC) process. Most use javascript and C#, utilizing Oracle as the database. Each enforcement application we’ve written provides functionality to permit users to open, conduct, record and report on progress during investigations. They also provide facilities for reporting on various record statistics and listings.

Attention to Security

Access to enforcement applications is restricted to authorized users who are members of enforcement staff. Access restrictions exist at multiple levels; accounts are authorized to access the General Support System, and then various levels of application security are controlled and maintained within the Oracle database schemas, to prevent one level of user from accessing more highly sensitive investigative information.

Architecturally, the enforcement applications that we’ve developed are two tier or three tier systems, either browser based, or installed on user devices throughout the country. Data is available in real-time, on demand upon entering and committing records to the databases, and is replicated off-site to minimize data loss in the event of a system failure or disaster.

Regulatory Applications

As regulation changes occur frequently within various Federal Agencies, applications must be designed and developed in a manner that they may be deployed as quickly as possible. They must also be adaptable to accommodate changes as a result of new legislation and evolving workflow processes that user offices experience while responding to new regulatory requirements.

We design our regulatory applications so workflow processes can be changed quickly to match new regulatory requirements.

Blue Mountain has designed, developed, implemented and maintained many regulatory applications. Through our experience, we have developed unique work processes in responding to user office requirements. These work processes serve to break down large problems into smaller, more workable elements. Further, we always evaluate high-level requirements against the desired schedule for implementation.

Our rapid response processes include the following:

  1. Working together with user offices to understand and define required outputs of the system
  2. Assisting with defining and refining anticipated workflow, determining the incoming data requirements and types to analyze whether we have data fields, or document attachments
  3. Assisting with defining data elements and reporting requirements, assessing whether these elements may be added to an existing application, or whether the process warrants a new application
  4. Development of Prototype–review the evolving requirements and determine the scope of the first prototype
  5. Analyzing the requirements against the required delivery schedule to determine whether to recommend a single or multi-phased approach to implementation—multiple phases enables the customer to receive major portions of the application quickly, with additional modules integrated at later scheduled timeframes
  6. Develop software in a modular and extensible fashion to accommodate future changes

Many of our applications are produced in very compressed development cycles with requirements that change. Some applications have changed dramatically from year to year due to changes in regulatory requirements; a testament to our original design process that the software a) is maintainable for many years and b) it continues to support various major and minor additions and modifications required, without a major re-write of the core processes.

Compliance Assistance Applications

Blue Mountain has developed a compliance assistance application that provides high volume data entry and reporting to over 160 concurrent users. Its primary functions include:

  1. recording all aspects of customer service telephone work and progress, including returned calls
  2. recording various other postal, web and fax correspondence
  3. enforcing customer service guidelines, and
  4. producing statistical data from customer contacts.

The application also receives electronic inquiries from a Web site that we developed, essentially enabling the customer service function to continue 24 hours per day.

Blue Mountain utilizes Java’s dynamic class loading facilities. This means that any additional program features can be deployed very quickly after testing.

Whenever changes to the application are made, a small utility is used to pull the client application and any other required support files from an HTTP server at application startup. Using this method, the addition of another required client file is as simple as adding the file to the HTTP server and adding an entry to a database.

Blue Mountain developers have continued to add other major modules, e.g., a timekeeping module. Blue Mountain continues to deliver timely enhancements to a heavily used production system, with minimal interruption.

Support for external hardware devices is sometimes required. For the customer service application, we utilized Java Native Interface (JNI) integrated with a custom DLL written in C for label printers. This enabled the users to print address labels directly from the application.

The Importance of Responsive Applications

Application development has rapidly evolved and is becoming much more sophisticated. Newly developed applications need to provide greater utility and support new requirements not met by traditional means. Effective application development includes selecting the right tools for the job, and effectively integrating them together in such a manner that encourages user participation and communication of ideas. This also means recognizing new trends in delivering information, such as the ever-increasing use of mobile devices and tablets for access, and incorporating this into our development strategy.

Developing “responsive applications” can be a revolutionary step for Federal Civilian Agencies when providing customer service to the taxpayer. Customers can use mobile phones or tablets devices to access Web site information or complete an online form from any device.

Selecting the correct library, framework, and infrastructure that will work for a given system permits rapid and effective development. As the web has matured, new tools for building a social media presence have appeared. While building a solution from scratch is still oftentimes the best and most flexible solution, many excellent alternatives are available. For instance, content management systems (CMS) such as WordPress and Drupal are excellent, open-source platforms for rapidly building social media systems. Countless Wiki engines exist today to create highly collaborative websites. Of course, every social media application requires a reliable database engine. MySQL, Oracle, and Microsoft SQL Server may be evaluated for this purpose. Blue Mountain continues to evaluate new tools and solutions to find better ways to solve problems. Development does not stagnate around an obsolete platform and Blue Mountain never ties itself to a single technology solution.

For web development, understanding the basic fundamentals of the capabilities that the browser can offer is where we excel. Rich JavaScript tools and libraries offer the most immersive browser experience. Blue Mountain developers have been using Asynchronous JavaScript and XML (AJAX) heavily for years. This is the main component of Web 2.0 sites. We use Yahoo User Interface (YUI) Library and JQuery (open source), and supply our own utility libraries as necessary. Our developers understand JavaScript and its advantages. We have also become versed on recommended practices of experts such as Douglas Crockford, inventor of JavaScript Object Notation (JSON) and renowned JavaScript contributor. Our developers understand prototypal inheritance, functions as first class objects, why global scope is not advisable, and how to simulate a namespace. This understanding has allowed our developers to use object oriented programming with inheritance for our client side JavaScript code. Blue Mountain developers use JSON and XML to pass objects back and forth rather than using miscellaneous pieces of data or simplistic strings.

We have developed several web applications to permit electronic document submissions. This e-submission application is Web 2.0 driven, but silently so. JSON was used in response to XML HTTP requests. This allows for the exchange of data, form validation, and complex user interactivity, without refreshing the page or traversing to a separate page for feedback. We propose that our expertise with JavaScript will help to shape the future of agency Web 2.0 applications, as information is typically shared via JSON and JavaScript.

Web 2.0 sites such a mashups, blogs, social networking, and wikis all rely heavily on JavaScript. Blue Mountain possesses the requisite knowledge and experience to understand the most secure and efficient application of JavaScript code. This experience enables us to readily meet agency needs as the agency moves forward with expansion of its applications to use features such as social media using Ubuntu, WordPress, MySQL, Wiki, Quicktime Pro, iPhone, RSS, XML, and atom for outreach and transparency of government.

Other Applications

Examples of other applications that we’ve previously developed and supported are:

  • A web-based search tool that takes data from 10 separate applications and multiple physical databases and combined them into one aggregate report. This allows individual users to quickly find related data from other applications they are not necessarily familiar with.
  • A three-tier application using a web browser, Java Tomcat web server and Oracle database that permits survey contact information and responses to be tracked. The application imports a third-party-provided pool of contacts and then takes a random sample to produce a list of those to survey. The system then tracks contact responses and subsequent follow-ups from staff to produce sufficient data to allow statisticians to accurately determine compliance. Despite a compressed timeframe, the project was delivered on time and successfully addressed the needs of our client.
  • An application recording nearly every action and change made to a record, for audit purposes. Any change to a field was permanently recorded including what the field was changed from, the date, and the user who made the change. These changes were then made available for quick viewing within the record.