Performance Problem Diagnostics by Systematic Experimentation

Total Page:16

File Type:pdf, Size:1020Kb

Performance Problem Diagnostics by Systematic Experimentation The Karlsruhe Series on Software Design and Quality 20 Performance Problem Diagnostics by Systematic Experimentation Alexander Wert Alexander Wert Performance Problem Diagnostics by Systematic Experimentation The Karlsruhe Series on Software Design and Quality Volume 20 Chair Software Design and Quality Faculty of Computer Science Karlsruhe Institute of Technology and Software Engineering Division Research Center for Information Technology (FZI), Karlsruhe Editor: Prof. Dr. Ralf Reussner Performance Problem Diagnostics by Systematic Experimentation by Alexander Wert Dissertation, Karlsruher Institut für Technologie KIT-Fakultät für Informatik Tag der mündlichen Prüfung: 15. Juli 2015 Erster Gutachter: Prof. Dr. Ralf H. Reussner Zweiter Gutachter: Prof. Dr. Wilhelm Hasselbring Impressum Karlsruher Institut für Technologie (KIT) KIT Scientific Publishing Straße am Forum 2 D-76131 Karlsruhe KIT Scientific Publishing is a registered trademark of Karlsruhe Institute of Technology. Reprint using the book cover is not allowed. www.ksp.kit.edu This document – excluding the cover, pictures and graphs – is licensed under a Creative Commons Attribution-Share Alike 4.0 International License (CC BY-SA 4.0): https://creativecommons.org/licenses/by-sa/4.0/deed.en The cover page is licensed under a Creative Commons Attribution-No Derivatives 4.0 International License (CC BY-ND 4.0): https://creativecommons.org/licenses/by-nd/4.0/deed.en Print on Demand 2018 – Gedruckt auf FSC-zertifiziertem Papier ISSN 1867-0067 ISBN 978-3-7315-0677-5 DOI: 10.5445/KSP/1000070006 Performance Problem Diagnostics by Systematic Experimentation zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften der Fakultät für Informatik des Karlsruher Instituts für Technologie genehmigte Dissertation von Alexander Wert aus Kopejsk, Russland Tag der mündlichen Prüfung: 15. Juli 2015 Erster Gutachter: Prof. Dr. Ralf H. Reussner Zweiter Gutachter: Prof. Dr. Wilhelm Hasselbring Abstract The performance of enterprise software systems has a direct impact on the success of business. Recent studies have shown that software performance affects customer satisfaction as well as operational costs of software. Hence, software performance constitutes an essential competitive and differentiating factor for software vendors and operators. In industrial practice, it is still a challenging task to detect software performance problems before they are faced by end users. Diagnostics of performance problems requires deep expertise in performance engineering and still entails a high manual effort. As a consequence, performance evaluations are postponed to the last minute of the development process, or even are completely omitted. Instead of proactively avoiding performance problems, problems are fixed in a reactive manner when they first emerge in operations. Since reactive, operation-time resolution of performance problems is very expensive and has a negative impact on the reputation of software vendors, performance problems need to be diagnosed and resolved in the process of software development. Existing approaches addressing performance problem diagnostics either assume the existence of a performance model, are limited to problem detection without analyzing root causes, or are applied as reactive approaches during the operations phase and, thus, cannot be effective applied during development for performance problem diagnostics. In this thesis, we introduce an automatic, experiment-based approach for performance problem diagnostics in enterprise software systems. We de- scribe a method to derive a taxonomy on recurrent types of performance problems and introduce a systematic experimentation concept. Using the taxonomy as a search tree, the proposed approach systematically searches for root causes of detected performance problems by executing series of systematic performance experiments. Based on the measurement data from experiments, detection heuristics decide on the presence of performance problems in the target system. Furthermore, we develop a domain-specific i Abstract description language to specify the information required for automatic perfor- mance problem diagnostics. Finally, we create and evaluate a representative set of detection heuristics. We validate our approach by means of five studies including end-to-end case studies, a controlled experiment and an empirical study. The results of the validation show that our approach is applicable to a wide range of contexts and is able to fully automatically and accurately detect performance problems in medium-size and large-scale applications. External users of the provided approach evaluated it as a useful support for diagnostics of performance problems and exposed their willingness to use the approach for their own software development projects. Explicitly designed for automatic, development-time testing, our approach can be in- corporated into continuous integration. In this way, our approach allows regular, automatic diagnostics of performance problems involving minimal manual effort. Furthermore, by encapsulating and automating expert knowl- edge on performance engineering, our approach enables developers who are non-performance experts to conduct performance problem diagnostics. ii Zusammenfassung In heutigen Unternehmen nehmen betriebliche Informationssysteme eine zentrale Rolle ein. Sie eröffnen neue Vertriebskanäle, ermöglichen effiziente- re Betriebsprozesse und tragen maßgeblich zur Nutzung von Skaleneffekten bei. Dienstgüteeigenschaften betrieblicher Informationssysteme haben einen direkten Einfluss auf den Geschäftserfolg der Unternehmen. Studien haben gezeigt, dass die Performance solcher Systeme sich maßgeblich auf deren Betriebskosten sowie die Kundenzufriedenheit auswirkt. Somit ist die Per- formance betrieblicher Software ein entscheidender Wettbewerbsfaktor und ein Differenzierungsmerkmal für Software-Anbieter und Software-Betreiber. Performance-Probleme, die bis zum Betrieb der Software unerkannt bleiben, stellen nicht nur ein finanzielles Risiko dar, sondern können auch einen Schaden in der Reputation verursachen. In der industriellen Praxis der Software-Entwicklung ist das frühzeitige Erkennen und die Diagnose von Performance-Problemen immer noch eine große Herausforderung. Die Diagnose von Performance-Problemen erfordert nicht nur ein tiefgründiges Expertenwissen in der Disziplin des Performance Engineering, sondern bringt einen großen manuellen Aufwand mit sich. Dies hat zur Folge, dass Performance-Analysen bis in die späten Phasen der Software-Entwicklung aufgeschoben oder gänzlich ausgelassen werden. Performance-Probleme werden meist reaktiv angegangen, wenn sie zum ersten Mal im Betrieb der Software auftauchen, anstatt sie proaktiv während der Software-Entwicklung zu erkennen und zu lösen. Da das reaktive Lösen von Performance-Problemen vergleichsweise sehr aufwändig ist, müssen Performance-Probleme noch während des Software-Entwicklungsprozesses diagnostiziert werden. Existierende Ansätze zur Erkennung von Performance-Problemen nehmen entweder die Verfügbarkeit eines Systemmodells an, sind auf das Erkennen von Problemen beschränkt, ohne eine Diagnose der Ursachen durchzuführen, iii Zusammenfassung oder sind für den reaktiven Einsatz während des Software-Betriebs ausgelegt. Somit bieten existierende Ansätze nicht die notwendigen Mittel, um eine proaktive Erkennung und Diagnose von Performance-Problemen effektiv während der Software-Entwicklung durchzuführen. In der vorliegenden Arbeit wird ein Ansatz zur automatischen, experiment- basierten Diagnose von Performance-Problemen in betrieblichen Software- Systemen vorgestellt. Basierend auf einer Taxonomie von wiederkehrenden Performance-Problemtypen führt der vorgestellte Ansatz eine Erkennung von Performance-Problemen durch sowie eine systematische Suche nach deren Ursachen. Dabei wird eine Reihe zielgerichteter Performance-Experimente durchgeführt. Die dabei gesammelten Messdaten werden mit Hilfe einer Men- ge an Regeln und Algorithmen analysiert, um Aussagen über die Existenz entsprechender Performance-Problemtypen in dem Zielsystem zu treffen. Die vorliegende Arbeit umfasst die folgenden wissenschaftlichen Beiträge: Taxonomie der Performance-Problemtypen Die vorliegende Arbeit führt eine Methode zur expliziten Erfassung von strukturiertem Wissen über Performance-Probleme ein. Dazu wird ein Klassifikationsschema für bestehende, wiederkehrende Typen von Performance-Problemen eingeführt. Die Klassifikation erfasst zum einen verschiedene Charakteristiken von Performance-Problemen sowie die Beziehungen zwischen unterschiedli- chen Performance-Problemtypen. Auf Basis der Klassifikation wird eine Taxonomie der wiederkehrenden Performance-Problemtypen abgeleitet. Die statische Taxonomie wird schließlich um die dynamische Information zur experimentbasierten Diagnose von Performance-Problemen erweitert. Im Rahmen der vorliegenden Arbeit wurde die eingeführte Methode auf 27 Performance-Problembeschreibungen angewendet. Das Ergebnis ist ein Eva- luationsplan für Performance-Probleme, der zur Koordination der automati- schen Performance-Problemdiagnose eingesetzt werden kann und darüber hinaus eine Unterstützung bei der manuellen Diagnose bietet. Systematisches Experimentier- und Diagnosekonzept Messbasierte Performance-Analyseverfahren haben das inhärente Problem, dass Mess- daten auf Grund des Mehraufwands der Messung nicht gleichzeitig ge- nau, umfassend und mit hohem Detailgrad erfasst werden können. Die iv Zusammenfassung vorliegende Arbeit beschreibt
Recommended publications
  • DIR-ESS-TGOV-SVCS-254 Exhibit 4.5 Third Party Contracts
    State of Texas Department of Information Resources Texas.gov Services Exhibit 4.5 Third Party Contracts DIR-ESS-TGOV-SVCS-254 Page 1 of 10 Texas Department of Information Resources Third-Party Contracts - Software Entry Number of Respondent License Reference Vendor Software Product Name Description Licenses (if Assume (A) or Comment Transferable? Number applicable) Displace (D) SW001 MongoDB mongoDB A free and open-source cross-platform document-oriented database program. Yes A Classified as a NoSQL database program, MongoDB uses JSON-like documents with schemas. SW002 activiti Activiti is an open-source workflow engine written in Java that can execute Yes A business processes described in BPMN 2.0 SW003 Red Hat Red Hat Linux Server Red Hat Enterprise Linux (RHEL) is a Linux distribution developed by Red Hat 20 Yes A and targeted toward the commercial market SW004 Melissa Data Corp Melissa Data Lookups for ZIP Codes, maps, ZIP+4, Carrier Routes, addresses, reverse 1 Yes A phone, IP location, SIC codes, street names, property info and much more SW005 Oracle Oracle WebLogic Suite Oracle WebLogic Suite is an integrated solution for building on-premise cloud 4 Processors. 60 Yes A application infrastructures that span web server, application server and data Users. grid technology tiers. SW006 Oracle Oracle SOA Suite for Oracle Middleware Oracle SOA Suite is a comprehensive, standards-based Middleware Users Yes A software suite to build, deploy and manage integration following the concepts 30. WebLogic Suite of service-oriented architecture (SOA). Users 30. SW007 Symantec Symantec EndPoint Symantec Endpoint Protection, developed by Symantec, is a security software 243 Yes A suite, which consists of anti-malware, intrusion prevention and firewall features for servers and desktops.
    [Show full text]
  • Comparative Studies of 10 Programming Languages Within 10 Diverse Criteria
    Department of Computer Science and Software Engineering Comparative Studies of 10 Programming Languages within 10 Diverse Criteria Jiang Li Sleiman Rabah Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] Mingzhi Liu Yuanwei Lai Concordia University Concordia University Montreal, Quebec, Concordia Montreal, Quebec, Concordia [email protected] [email protected] COMP 6411 - A Comparative studies of programming languages 1/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai This page was intentionally left blank COMP 6411 - A Comparative studies of programming languages 2/139 Sleiman Rabah, Jiang Li, Mingzhi Liu, Yuanwei Lai Abstract There are many programming languages in the world today.Each language has their advantage and disavantage. In this paper, we will discuss ten programming languages: C++, C#, Java, Groovy, JavaScript, PHP, Schalar, Scheme, Haskell and AspectJ. We summarize and compare these ten languages on ten different criterion. For example, Default more secure programming practices, Web applications development, OO-based abstraction and etc. At the end, we will give our conclusion that which languages are suitable and which are not for using in some cases. We will also provide evidence and our analysis on why some language are better than other or have advantages over the other on some criterion. 1 Introduction Since there are hundreds of programming languages existing nowadays, it is impossible and inefficient
    [Show full text]
  • Adam Tornhill — «Your Code As a Crime Scene
    Early praise for Your Code as a Crime Scene This book casts a surprising light on an unexpected place—my own code. I feel like I’ve found a secret treasure chest of completely unexpected methods. Useful for programmers, the book provides a powerful tool to smart testers, too. ➤ James Bach Author, Lessons Learned in Software Testing You think you know your code. After all, you and your fellow programmers have been sweating over it for years now. Adam Tornhill uses thinking in psychology together with hands-on tools to show you the bad parts. This book is a red pill. Are you ready? ➤ Björn Granvik Competence manager Adam Tornhill presents code as it exists in the real world—tightly coupled, un- wieldy, and full of danger zones even when past developers had the best of inten- tions. His forensic techniques for analyzing and improving both the technical and the social aspects of a code base are a godsend for developers working with legacy systems. I found this book extremely useful to my own work and highly recommend it! ➤ Nell Shamrell-Harrington Lead developer, PhishMe By enlisting simple heuristics and data from everyday tools, Adam shows you how to fight bad code and its cohorts—all interleaved with intriguing anecdotes from forensic psychology. Highly recommended! ➤ Jonas Lundberg Senior programmer and team leader, Netset AB After reading this book, you will never look at code in the same way again! ➤ Patrik Falk Agile developer and coach Do you have a large pile of code, and mysterious and unpleasant bugs seem to appear out of nothing? This book lets you profile and find out the weak areas in your code and how to fight them.
    [Show full text]
  • MAGENTO E-Commerce Services
    MAGENTO E-Commerce Services Do you want to take your business to the next level by getting exposed to the powerful Web? Want to launch a professional e-commerce website with extensive functionalities? Magento is the answer to your question. An open source Ecommerce application platform with robust features, scalability and flexibility that guarantees enhanced reach on products and quick return on investment for your business. AES Magento Ecommerce development services help your business grow better. Our Magento Application Development team provides solutions based on strategic business objectives to add more value to your business. Our Magento Customization Services not just make your site simple to manage but also ensures that your retail site is uniquely designed to meet the needs of client and to make it every shoppers dream. Give us your credence and we will be the backbone to your online business! The Magento Services we offer Magento Online retail Store Development Magento Customization Magento Template Design and Integration Magento based Themes creation and Integration Custom Model Development in Magento PSD to Magento conversions Magento Developer/Team for Hiring Value added Services Site management & maintenance SEO Implementation Site Optimization and reporting Google Analytics Hosting Solutions Social Media Integration Magento Development Services Magento Installation & Configuration Magento Integration Magento Customization Magento Online Store Development Magento Shopping cart Development Magento SEO Implementation Magento Module Development Magento Theme Development Magento Template Designing Magento Plug-in Development Magento Extensions Development Magento Store Migration Magento Website Maintenance Magento Consulting Magento Tutoring Technical assistance for integrating Magento Templates Debugging existing Magento Extensions, plugins & modules Enhancement of existing Magento online shops Magento Upgrading Services Get in touch with us and know more about our Magento open source development services.
    [Show full text]
  • Kahai Using Electronic Commerce Software in an Electronic Commerce Course 1 DECISION SCIENCES INSTITUTE Using Electronic Commerc
    Kahai Using Electronic Commerce Software in an Electronic Commerce Course DECISION SCIENCES INSTITUTE Using Electronic Commerce Software in an Electronic Commerce Course ABSTRACT In this paper, I describe the process of using Electronic Commerce software in the namesake course. I outline three options, point out the pros and cons of each option, then make a recommendation about the best option. KEYWORDS: Electronic Commerce, E-Commerce, Software INTRODUCTION In teaching an Electronic Commerce (E-Commerce) class as part of an Information Systems curriculum, it has become important to provide hands-on experience to E-Commerce software. At one time, having students use such software would have been nearly impossible as it was prohibitively expensive to purchase for in-class use and/or required extensive programming experience to design. In the past few years, though, many open-source and free versions of E- Commerce software that can be run on nearly every computer have become available. Examples include OpenCart, WP eCommerce, and WooCommerce among others. Some, like the latter two, have to be installed on an existing Content Management System (CMS) package like WordPress. OpenCart, on the other hand, is designed to be a standalone installation and, therefore, doesn’t require users to learn two different systems. As an academician-turned-entrepreneur, I have helped small- to mid-sized firms deploy E- Commerce software using the aforementioned and other E-Commerce packages. Increasingly, now, vendors such as GoDaddy, Shopify, eBay, and several others provide pre-configured E- Commerce packages that require few technical skills to get a fully-configured online store up and running.
    [Show full text]
  • Anurag Kumar Contact No.: +91-9990694004 (M) E-Mail: [email protected]
    Anurag Kumar Contact No.: +91-9990694004 (M) E-Mail: [email protected] Job Objective To develop my career as a Software Engineer, I intend to work in a challenging atmosphere where I will be a valuable team member, contributing quality ideas and work for an organization where there is an ample scope for organization as well as individual growth in Software Development. Professional Experience A dynamic professional with 2+ years experience in the areas of Web Development using Microsoft Technologies (ASP.Net MVC, ASP.Net, C#, SQL Server) Specialized in NopCommerce (E Commerce solution open source) and have sound understanding of e commerce domain. Currently working in Search Online Communications Pvt Ltd as a NopCommerce Developer (11 Jan 2017 to present). Previously worked with Ambient Intellect India Pvt Ltd (Jan 2016 to Jan 2017). Demonstrated abilities in software development and effective logic Implementation. Team player with strong analytical, problem solving, inter – personal skills & organisational abilities Eagerness to explore and learn. Skill set & Development tools E Commerce Solution : NopCommerce Server Side Technologies : Asp.Net Core, Asp.Net MVC, ASP.Net, C#, Entity Framework Client Side Technologies : Jquery, Javascript, Json Database : Microsoft SQL Server 2014 Operating System : Microsoft Windows XP /7/8/8.1 IDE : Visual Studio 2012, 2015, 2017 Domain Knowledge Good understanding of e commerce domain, so efficiently able to manage all the aspects of an e commerce website. Deep understanding of NopCommerce, able to utilize the default functionality till maximum point. Expert in developing the new functionalities using plug-in, so that process of updating to newest NopCommerce platform will be a piece of cake.
    [Show full text]
  • Dean-Whipple-Resume.Pdf
    Dean J. Whipple PO Box 700874 [email protected] Tulsa, Oklahoma 74170 TECHNICAL SKILLS Programming: • Angular / ASP.Net / C# / VB.Net • HTML / CSS / JavaScript / MVC / Razor / Blazor • All releases of the .Net Framework and .Net Core • LINQ / WPF / WCF / Entity Framework Databases: • MS SQL Server – All versions • MySQL / PostgreSQL / DB2 / Sybase / Oracle Tools: • Azure, AWS and Oracle Cloud Services • nopCommerce eCommerce platform • PhoneGap • Crystal Reports • Pageflex & Storefront • DotNetNuke Content Management System PROFESSIONAL EXPERIENCE Automated Business Solutions, Incorporated, Tulsa, Oklahoma Mar 2011 - Present Senior Full Stack Software Engineer - Owner (since 1990) Projects included: • Developed Survey and Tracking web application using Blazor and SQL Server • Developed K9 Training management web application in Angular 10, Web API Core and PostgreSQL • Created several custom nopCommerce plugins for multiple versions • Developed manufacturing job tracking schedule board using Angular 7, Web API and SQL Server • Developed breathalyzer testing Management web portal using AngularJS, Web API and Azure • Developed breathalyzer Kiosk application with proprietary hardware, Credit Card Reader, Fingerprint Reader, Video Camera and 2 Still Cameras using AngularJS, WCF and Compact SQL • Developed Kiosk Management System web application using AngularJS, Web API and Azure • Developed custom Kiosk application with proprietary hardware, Bill Acceptor, Credit Card Reader, Fingerprint Reader, Receipt Printer and Video/Still Camera using WPF,
    [Show full text]
  • Development of Environments for Trainings Aimed at Digital Forensics
    Masaryk University Faculty of Informatics Development of Environments for Trainings Aimed at Digital Forensics Master’s Thesis Vadim Janovskij Brno, Spring 2018 Replace this page with a copy of the official signed thesis assignment anda copy of the Statement of an Author. Declaration Hereby I declare that this paper is my original authorial work, which I have worked out on my own. All sources, references, and literature used or excerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Vadim Janovskij Advisor: RNDr. Daniel Kouřil, Ph.D. i Acknowledgements I would like to thank my advisor RNDr. Daniel Kouřil, Ph.D., for his guidance, ideas and all the time spent with providing me a valuable feedback. iii Abstract The aim of this thesis is to create tools which will be used for build- ing the simulated MS Windows corporate environment suitable for forensics training. The environment created in such way is parameteri- zable, allows generation of forensics footprints. The created framework includes tools for building the infrastructure, injecting the security incidents and generating user’s activity in the systems. The first part of the thesis identifies important forensics areasin MS Windows environment and demonstrates the possible scenario, which enables the effective teaching of important forensics principles and areas. It also compares available orchestration tools and picks one best suitable for thesis needs. The second part describes the designed technical implementation, deployment process, populating environment with the data and in- jecting cybersecurity incidents. iv Keywords Digital forensics, Training, Windows, Security incident, Desire State Configuration v Contents Introduction 1 1 Background 3 1.1 Digital Forensics .......................3 1.2 KYPO – Cyber Exercise and Research Platform.
    [Show full text]
  • Integuard: Toward Automatic Protection of Third-Party Web Service Integrations
    InteGuard: Toward Automatic Protection of Third-Party Web Service Integrations Luyi Xing, Yangyi Chen, XiaoFeng Wang Shuo Chen Indiana University Bloomington Microsoft Research Bloomington, IN, USA Redmond, WA, USA fluyixing, yangchen, [email protected] [email protected] Abstract—A web application today often utilizes web APIs to has made the web applications complicated and error-prone, incorporate third-party services into its functionality. Such API as discovered in our recent studies [1], [2]. integration, however, is full of security perils: recent studies show that popular web sites using high-profile web services, Logic flaws in web-API integrations. The unique security such as PayPal/Amazon checkouts and Facebook/Google single- challenge such a hybrid web application (i.e., those inte- sign-on (SSO) services, are riddled with logic flaws, enabling a malicious party to shop for free or log into a victim’s account. grating third-party web services) faces is how to securely To address this new threat, techniques need to be developed to coordinate different parties it involves, including the one that facilitate secure integration of third-party web services. integrates the API services (called integrator), the provider To answer this urgent call, we present in this paper of the services and the web clients using the application. InteGuard, the first system that offers security protection Our prior research shows that this is very difficult to be to vulnerable web API integrations. InteGuard operates a done securely: given the diversity in the ways that an API proxy in front of the service integrator’s web site, performing security checks on a set of invariant relations among the HTTP service is integrated and the partial view the integrator and messages the integrator receives during a transaction (e.g., a the API provider share about each other’s code and runtime checkout from a web store or a web SSO).
    [Show full text]
  • Christopher Michael Maxim Richardson, Texas 75081 – H: (214) 432-6199 E: [email protected]
    Christopher Michael Maxim Richardson, Texas 75081 – H: (214) 432-6199 E: [email protected] Objective: A position as a programmer using C# and the Microsoft .Net Framework. Summary of Skills: Languages: English (native), Spanish (7 years) Programming Languages (years): Delphi (18), C# (13), Razor/MVC3 (6), ASP.Net (12), SQL (18), Java (6), MDX (1), ECMA/JavaScript (16), HTML/5 (16), CSS (16), C/C++ (18), Pascal (22), Python (2), MDX (1), Silverlight/XAML (6), Win32 API (18), XNA (1), Ruby (1), PHP (4), TwilioML (8), VXML(2), Scheme(1), Basic (2), Assembly (Intel x86 and MIPS) (1) Frameworks & Components: Net Framework (1.1 – 4.6.2), Mono, PhantomJS, RabbitMQ, Redis, IP*Works, iText/iTextSharp, Telerik, Developer Express, Indy, Melissa Data, NCTSoft, Eldos, MindFusion, USP Express, Polar Spellchecker, many other components. Databases & Search Engines: MS SQL Server (6.5 – 2016), Oracle (10g – 11g), PostgreSQL, MySQL, Solr Operating Systems: Microsoft Windows (3.1 - 8, 2000 – 2016 Server), Linux (various), Windows Phone, MacOS, Solaris, BeOS Web Servers & Portals: IIS, Apache, SharePoint, nopCommerce, Community Server Clouds & Payment Processors: Rackspace, Amazon, Bitcoin, Litecoin, PayPal, Authorize.Net Source Control & Project Mgmt: SVN, TFS, CVS, Perforce, Visual SourceSafe, JIRA Applications: MS Office, Adobe PhotoShop, CoolEdit, many other applications Work Experience Maxim Software Development LLC (Sep 2000 – Current) Dallas, Texas Owner/Manager Started, operated, and manages a single member LLC focused on providing custom software development, technical consulting, and custom application support. Clients included Intelemedia Communications, Omnicom subsidiary M/A/R/C dba TargetBase, Bizniz Developers, Chordial Solutions, Tagelmoust LLC, and 24x8. In addition to establishing reseller channels and general business responsibilities, was responsible for designing and maintaining a variety of platforms and applications including: An object modeling and platform generation framework in C#, WCF, T-SQL, and ASP.Net with AJAX.
    [Show full text]