BS&A Software Application Design Approach Questions? From your BS&A program, go to Help>Contact Customer Support and select Request Support Phone Call or Email Support. Or, you may call us at (855) 272-7638 and ask for the appropriate support department. Questions for our I.T. department may be submitted by phone (same number), or by emailing tech@bsasoftware.com. At BS&A, our software is designed with the primary objective of creating an easy and productive customer experience. We place the utmost importance on providing cutting-edge solutions that do not compromise our users ability to perform in a highly efficient manner. Client-Server applications and browser-based applications each have their strengths and weaknesses. Rather than selecting one technology over the other, we have adopted a multi-faceted approach that takes advantage of the strengths each provide. We use the appropriate technology for a given challenge while providing a completely scalable architecture. BS&A Employs Client-Server Applications for High-Transaction Environments We strongly believe that Client-Server applications provide a much better user experience than their browser-based counterparts. Client-Server applications offer a much richer interface, a dramatically superior data-entry experience, and much tighter integration between software and hardware. This is especially true with heavily-used applications that must allow users to be both productive and efficient in their tasks. Clearly, BS&A applications are extremely transaction-intensive. When your municipal clerks are processing hundreds of transactions at a time, an extremely rich and responsive application is required. This can most effectively be accomplished with well-written, highlyresponsive Client-Server applications. Consider the following advantages of Client-Server applications: Extensive Control Set. The extensive control set available for Client-Server application development allows us to design the best possible user interface, placing a high priority on customer experience. Furthermore, tools such as the Microsoft.NET Framework GDI+ libraries enable us to offer the richest user interface possible, without the limitations found in browser-based solutions. Just a few examples of this include a feature-rich report designer, highly interactive 3D charting, and tightly integrated GIS. Hardware Integration. Client-Server applications enable tight integration with external hardware devices such as POS systems, barcode scanners, digital scanners, digital cameras, receipt printers, cash drawers, and credit card machines. At this time, browser-based solutions struggle to offer this capability, which is vital in a large number of our applications. Software Integration. Client-Server development allows for tight integration with software extending beyond our suite of applications: MS Outlook, MS Word, MS Excel, various imaging software, GIS software, and Pictometry, to name a few. Although a similar integration with browser-based solutions is possible, by and large these types of integrations have numerous drawbacks and challenges. Keyboard Interaction. Client-Server applications are able to hook into and override default keyboard behavior. All of our applications take advantage of this to offer a unique customer experience. All custom keystroke behavior was carefully thought out with our users in mind to make them much more productive while using our software. Achieving this level of keyboard customization - hotkeys, keyboard behavior overrides, and support of rapid data entry - is not possible with browserbased applications. Local PC Processing Power. Client-Server applications leverage the local PC's resources for processing large amounts of data, in turn greatly reducing the load on their respective database server(s). What this means is that although the data is stored and gathered from a single (often shared) SQL server, much of the heavy processing occurs on the local PC. This greatly reduces the potential for major performance lags. Although having a centralized set of servers to handle processing has its advantages, it is a major drawback for the large and data-intensive applications we provide. b s a s o f t w a r e. c o m
Deploying BS&A Client-Server Updates We have made it a priority to work closely with IT departments. To help reduce the burden of software updates, we have added features to our "Administration Application" that allows IT administrators to regularly schedule and manage BS&A application updates. This process allows for a completely autonomous download routine without intervention from an IT administrator or client. Once the application updates have been downloaded from the BS&A website, clients will be prompted to update as the change is detected. Additionally, all BS&A applications allow the update process to be managed with elevated security privileges. Many of our customers run under tight security policies set up by their IT department. Due to these security policies, the client cannot run updates with normal security privileges. By utilizing elevated security privileges, the need for an IT administrator to run updates can be entirely circumvented. b s a s o f t w a r e. c o m P a g e 2
BS&A Employs Web Applications when Anywhere/Anytime Accessibility is Important Although browser and web applications tend to be slower and less responsive than Client-Server counterparts, there are situations when anywhere/anytime accessibility is important. For these purposes, we have developed BS&A Software s Real Time Data Services to provide an effective communication tool for our web-based applications. BS&A web applications provide the following benefits: View and pay property taxes View and pay utility bills View assessment and comparable sale information View and pay open invoices Allow potential suppliers to register as bidders online View and pay Community Development (permits, registrations, etc.) invoices Provide your employees password protected self-service tools such as: viewing check stubs, viewing year-to-date info, viewing W2s, viewing/modifying leave, entering hours worked, etc. Approve and/or deny purchase requisitions and purchase orders remotely, including via smartphone. Allow prospective employees to apply via the web, reducing the need for collection and storage of paper applications. Additionally, we are well into the process of developing a completely new set of enterprise web applications built on the Microsoft.NET 4.0 framework and MVC technology. It will offer a large number of features designed to complement our Client-Server applications: A customizable home "dashboard" page that can contain gadgets from different applications to act as launching pads to various tasks and data-processing The ability to run a number of reports from different applications The ability to view a variety of data from BS&A's Financial Management applications The ability to view, edit, and complete work orders The technology for this new web launching pad is based on the modern web 2.0 architecture. There is no need for local web servers, as the web hosting software is configured and maintained at our office. All data transfers from the customer site are handled seamlessly through our Real Time Data Services. b s a s o f t w a r e. c o m P a g e 3
BS&A Software Multitier Architecture In designing our.net applications, we use a multitier architecture (often referred to as n-tier architecture) to ensure short and long term software flexibility. It is this software architecture that allows our developers to use the Client-Server model for high-transaction environments and the browser model for anywhere/anytime access. Our multitier architecture primarily consists of three tiers: a data tier, a business logic tier, and a presentation tier: Presentation Tier: This tier describes the user interface which receives a number of requests including user input, process requests, and task requests. At the presentation tier we have our Client-Server and browser-based applications (utilizing Real Time Data Services) accessing the same underlying logical tier. Additionally, there are other kinds of clients such as Windows Services, Web Services and WCF Services that access the business logic tier in our architecture. Business Logic Tier: This tier is vital as it contains the core business logic of our applications. This tier coordinates communication between the presentation tier and the data tier while making evaluations, logic decisions, performing complex calculations, and validating data input and output. Data Tier: This tier handles database requests from the business logic tier. Here, information is stored and retrieved. This tier keeps data neutral and independent from application servers and business logic. Giving data its own tier also improves scalability and performance. We use Microsoft SQL Server and ADO.NET as tools for the data tier. b s a s o f t w a r e. c o m P a g e 4
BS&A Real Time Data Service The BS&A Real Time Data Service is an SSL-enabled socket server that executes on a server hosted at customer sites. This service enables our web 2.0 browser-based applications (hosted at our office) to query data located at our customers' locations in real-time. This model allows our customers to display important public information over the internet without having to invest in expensive and difficult-to-maintain web servers. Because security was an important design consideration, our Real Time Data Service has multiple configuration options. One of those options is the ability to select the port number for data transfer. By allowing this setting to be determined by our users, there is no need for a standard port to be opened, increasing the security of the many users taking advantage of this service. Moreover, the 128 bit encryption provided by the SSL standard allows for extremely secure communication. Ultimately, in taking this well thought out approach, we have developed an environment where new components can be created and enhanced by using the design paradigm already in place. In conclusion, BS&A Software's applications are made up of highly scalable and reusable components designed for Client-Server and browser-based solutions. This allows for rapid and agile development, which we strongly believe benefits you, the customer, by allowing us to be hyper-responsive to the continually evolving needs of the market. b s a s o f t w a r e. c o m P a g e 5