Software Architecture for Paychex Out of Office Application



Similar documents
BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

2311A: Advanced Web Application Development using Microsoft ASP.NET Course 2311A Three days Instructor-led

Advanced Web Application Development using Microsoft ASP.NET

CLOUD COMPUTING & WINDOWS AZURE

This course provides students with the knowledge and skills to develop ASP.NET MVC 4 web applications.

Easy configuration of NETCONF devices

Eclectic Computing. Time Tracking Tool Software Architecture Document. Version <1.3>

Article. One for All Apps in HTML5

Platform support for UNIT4 Milestone 4

Programming Fundamentals of Web Applications Course 10958A; 5 Days

Developing ASP.NET MVC 4 Web Applications

HTML5. Turn this page to see Quick Guide of CTTC

Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS

Trainer Preparation Guide for Course 20488B: Developing Microsoft SharePoint Server 2013 Core Solutions Design of the Course

Developing ASP.NET MVC 4 Web Applications MOC 20486

Seattle Course Schedule July 2013 December 2013

Course 20489B: Developing Microsoft SharePoint Server 2013 Advanced Solutions OVERVIEW

Advanced Web Application Development using Microsoft ASP.NET

edoc Document Generation Suite

INFORMATION TECHNOLOGY STANDARD

In the case of the online marketing of Jaro Development Corporation, it

DE-20489B Developing Microsoft SharePoint Server 2013 Advanced Solutions

GSA2013: The Great SharePoint Adventure 2013

Programmabilty. Programmability in Microsoft Dynamics AX Microsoft Dynamics AX White Paper

Dynamics AX. Microsoft Dynamics AX 4.0. Microsoft Dynamics ISV Software Solution Test Guidelines

Gordon Gear Gift Card POS System

Developing Microsoft SharePoint Server 2013 Advanced Solutions

Software Architecture Document

Open Source Content Management System for content development: a comparative study

Dynamic Web Programming BUILDING WEB APPLICATIONS USING ASP.NET, AJAX AND JAVASCRIPT

Developing ASP.NET MVC 4 Web Applications Course 20486A; 5 Days, Instructor-led

maximizing IT productivity

Sisense. Product Highlights.

Cloud Computing and Government Services August 2013 Serdar Yümlü SAMPAŞ Information & Communication Systems

How To Write An Ria Application

CrownPeak Java Web Hosting. Version 0.20

Framework as a master tool in modern web development

ASP.NET: THE NEW PARADIGM FOR WEB APPLICATION DEVELOPMENT

Troubleshooting BlackBerry Enterprise Service 10 version Instructor Manual

CHOOSING THE RIGHT HTML5 FRAMEWORK To Build Your Mobile Web Application

COMPASS Database Work in 2014/15

A review and analysis of technologies for developing web applications

ADS2013: App Development with SharePoint 2013

Title: Front-end Web Design, Back-end Development, & Graphic Design Levi Gable Web Design Seattle WA

An introduction to creating Web 2.0 applications in Rational Application Developer Version 8.0

Application Development Environment. Table of Contents

A Comparative Study of Web Development Technologies Using Open Source and Proprietary Software

SAV2013: The Great SharePoint 2013 App Venture

Final Report - HydrometDB Belize s Climatic Database Management System. Executive Summary

Outline. CIW Web Design Specialist. Course Content

Describe how to utilize the Publishing API to access publishing settings and content.

Social Media in the Process Automation Industry

International Journal of Engineering Technology, Management and Applied Sciences. November 2014, Volume 2 Issue 6, ISSN

Defining Development Standards for Reusable User Interface Components

Developing Microsoft SharePoint Server 2013 Core Solutions

Cisco TelePresence Manager

SPT2013: Developing Solutions with. SharePoint DAYS AUDIENCE FORMAT COURSE DESCRIPTION STUDENT PREREQUISITES

Skynax. Mobility Management System. System Manual

VALLIAMMAI ENGNIEERING COLLEGE SRM Nagar, Kattankulathur DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING

Client Overview. Engagement Situation. Key Requirements for Platform Development :

1 Documentation Accessibility

ORACLE APPLICATION EXPRESS 5.0

Web Design Specialist

How To Understand The Architecture Of An Ulteo Virtual Desktop Server Farm

Taxi Service Design Description

Trollhättan, Sweden

tibbr Now, the Information Finds You.

The Great Office 365 Adventure

Page 1. Overview of System Architecture

How To Write A Web Server In Javascript

GOA365: The Great Office 365 Adventure

Data Visualization Frameworks: D3.js vs. Flot vs. Highcharts by Igor Zalutsky, JavaScript Developer at Altoros

Web Cloud Architecture

Course Syllabus: RIA Programming for Magic xpa 2.x Developers

Novacura Flow 5. Technical Overview Version 5.6

INTERNET PROGRAMMING AND DEVELOPMENT AEC LEA.BN Course Descriptions & Outcome Competency

System Requirements for Microsoft Dynamics NAV 2016

ACDS AIMS Certified Database Specialist Course.

esoc SSA DC-I Part 1 - Single Sign-On and Access Management ICD

Short notes on webpage programming languages

Skills for Employment Investment Project (SEIP)

A Comparison of Web Development Technologies: WebObjects vs. ASP.NET

SharePoint Impact Analysis. AgilePoint BPMS v5.0 SP2

Course Syllabus: RIA Programming for unipaas V1.x Developers

MOBILIZING ORACLE APPLICATIONS ERP. An Approach for Building Scalable Mobility Solutions. A RapidValue Solutions Whitepaper

MEALS2SHARE Neighborhood Home Cooked Food Sharing Web Application

Developing Microsoft SharePoint Server 2013 Advanced Solutions MOC 20489

Category: Business Process and Integration Solution for Small Business and the Enterprise

Intended status: Standards Track October 8, 2014 Expires: April 11, 2015

Chapter 1: Introduction to ArcGIS Server

System Requirements for Microsoft Dynamics NAV 2016

Case Study. Data Governance Portal Brainvire Infotech Pvt Ltd Page 1 of 1

A Monitored Student Testing Application Using Cloud Computing

Creating Value through Innovation MAGENTO 1.X TO MAGENTO 2.0 MIGRATION

NUCLEONICA SOFTWARE DESIGN PATTERNS

ORACLE MOBILE APPLICATION FRAMEWORK DATA SHEET

MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, Copyright 2015 MarkLogic Corporation. All rights reserved.

Outbound Upgrade Manual. SDL Tridion Development Lab BV

How To Develop A Mobile Application On An Android Device

Project Plan Dealer Improvement Recommender System

Transcription:

Software Architecture for Paychex Out of Office Application Version 2.3 Prepared by: Ian Dann Tom Eiffert Elysia Haight Rochester Institute of Technology Paychex March 10, 2013 Revision History Version Revision Date Changes Made Justification Authors Page 1 of 9

1.0 1/15/13 Initial Revision Creation of template Elysia Haight 1.1 1/15/13 Added and completed Technologies and Justifications Section 2.0 1/22/13 Inserted diagrams, completed missing sections Final decision on technologies made Completed second draft Ian Dann Tom Eiffert Elysia Haight Ian Dann Tom Eiffert Elysia Haight 2.1 1/27/13 Updated data 2.2 1/31/13 Updated data 2.3 3/10/13 Updated data Updated data Updated data Updated data Page 2 of 9

1. Introduction 1.1 Purpose This document provides a comprehensive architectural over of the system, using a number of different architectural s to depict different aspects of the system. It is intended to capture and convey the significant architectural decisions which have been made on the system. 1.2 Over This document is organized to first detail technologies utilized in the development of the software, along with reasons and justifications. The goals of the system are then listed, followed by the architectural s. Finally, definitions and references are available. 2. Technologies and Justifications 2.1 Programming Language 2.1.1 C# C# is a very powerful language. Able to be utilized for standalone desktop applications as well as server-side functionality for web applications, C# is quickly becoming the go-to language for most large companies. It is strongly supported and flexible, allowing for simple library inclusion through the usage of DLLs. C# will be used in the Paychex Out of Office Application to implement server-side functionality of the system. This will allow for use of plugins to access our database (see Section 2.2), LDAP (see Section 2.4), and PDF report generators (see Section 2.3). 2.1.2 ASP.net ASP.net is a server-side web application framework that produces dynamic web pages. It combines static HTML markup and dynamic definitions of server-side Web/User Controls. When paired with C#, complex web application development is greatly simplified. The MVC Framework will be utilized to enforce the Model View Controller architectural pattern used in this project. 2.1.3 JavaScript (jquery) Page 3 of 9

jquery, an open-source library built on JavaScript, will be used to implement client-side functionality in the project. jquery offers all the same functionality as JavaScript, with simplified implementation. 2.2 Database 2.2.1 MySQL MySQL is a relational database provided by Oracle. MySQL will be used as the database for all backend storage. MySQL is free/open source, has a large community, and is well documented. 2.2.2 MySQL Connector/.Net MySQL Connector are drivers provided by Oracle to connect.net applications to a MySQL database. 2.3 PDF Reporting Tools 2.3.1 PDFsharp PDF sharp provides an easy solution for processing PDF documents at runtime. It is a.net library that is available to use with any of the.net languages and is open source with MIT licensing. It s object model easy enough to understand yet powerful enough to create PDF s from any text source. 2.4 Email Integration 2.5 LDAP 2.5.1 LDAP C# Tie-In A C# Library created to allow of easier interfacing with LDAP systems. This will be utilized to connect to existing Paychex systems with minimal difficulty. 2.6 Scheduler 2.6.1 Quartz.NET Quartz.NET is a job scheduler for.net framework. It allows jobs to be repeatedly executed based off time of day and day of the week. Page 4 of 9

3. Architectural Goals and Constraints The main goal of the Paychex Out of Office is to achieve usability. This includes the system s ease of use, ease of learnability, and pleasant aesthetics. The system is to be optimized for mobile use, with computer use as a secondary concern. The system is also intended to be reliable; system downtime is to be minimal, and scheduled tasks should operate at the designated times. 4. Architectural Representation The architectural representation enumerates the s that will describe and visualize the major components of the system and how they interact. Each is described, displayed, then components are explained for ease of understanding. These s are high-level and generalized, and are not a solid representation of the specific system design. Section 5 Deployment View, Section 6 Layer View, and Section 7 Layer View comprise the system s architectural representation. 5. Deployment View 5.1 Over The Deployment View shows what is necessary for system execution. The system-external software and hardware components are listed to ensure a valid setup has been created for testing and deployment purposes. Page 5 of 9

5.2 Deployment Architecture 5.2.1 Client The following operating systems are to be supported by the system: ios 4+ and Android 4.0+. The client browser running the application requires Javascript. 5.2.2 Server The server operating system is to be Windows Server 2008 R2. The server must have the following applications/services (and minimum versions) installed to perform: IIS: 7.5 ASP.NET: 4.0 Scheduler: Quartz.NET 2.1.2 Email Service: Papercut Database: MySQL 5.2.3 LDAP Server TBD 6. Layer View Page 6 of 9

6.1 Over The layer displays the separation of concerns in terms of the system s modules, and the flow of communication between the layers. Our system is designed to be linear, such that requests from the highest layers are handled by the layer immediately below it. 6.2 Layers 6.2.1 View Layer The View Layer contains the implementation of the web pages. It interacts with the controller layer to display relevant data on the page. 6.2.2 Processing Layer The Processing Layer contains the controllers (utilized for the MVC architecture) and the Scheduler. The controller classes handle communications between the Data and View Layers, providing a separation of concerns. The scheduler communicates with the Data Layer to perform its designated task(s). 6.2.3 Data Layer Page 7 of 9

The Data Layer stores web page information during run time, and retrieves/organizes data retrieved from the Persistence Layer. 6.2.4 Persistence Layer The Persistence Layer contains any persistent storage media. It currently contains the database, which is accessed by the Model Layer. 7. Data View Below is the database schema representing how data is to be organized in a relational database: Page 8 of 9

8. Quality The system s usability is supported in the architecture by keeping a valid separation of concerns between layers. This is intended to aide system learnability. The user interface is also designed to be as consistent between pages as possible. 9. Definitions, Acronyms, and Abbreviations DLL - Dynamic Link Library; Microsoft s implementation of linking libraries that may contain any combination of code, data, or resources. MVC - Model, View Controller; An architectural design separating the background work from the user interface 10. References Page 9 of 9