Software Performance Engineering Research @ SUT. Prof John Grundy Dean, Software & Electrical Eng



Similar documents
Internet Engineering: Web Application Architecture. Ali Kamandi Sharif University of Technology Fall 2007

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Building Web Applications, Servlets, JSP and JDBC

Performance Testing and Optimization in Web-Service Based Applications

Take full advantage of IBM s IDEs for end- to- end mobile development

KonyOne Server Prerequisites _ MS SQL Server

A Generic Database Web Service

Load Testing RIA using WebLOAD. Amir Shoval, VP Product Management

DevOps Best Practices for Mobile Apps. Sanjeev Sharma IBM Software Group

M 2 M IWG. Eclipse, M2M and the Internet of Things. Overview. M 2 M Industry WorkGroup! M2M?

KonyOne Server Installer - Linux Release Notes

Open Source and Commercial Performance Testing Tools

Energy Efficiency Embedded Service Lifecycle: Towards an Energy Efficient Cloud Computing Architecture

Adobe ColdFusion 11 Enterprise Edition

BPMS BUYER S TOOL KIT. Sample Request for Proposal for a Business Process Management Suite. Part 1 of the complete BPMS Buyer s Tool Kit

Introducing Performance Engineering by means of Tools and Practical Exercises

POINT-TO-POINT vs. MEAP THE RIGHT APPROACH FOR AN INTEGRATED MOBILITY SOLUTION

Avaya Aura Orchestration Designer

HOW TO EVALUATE AND SELECT TOOL A HIGH-END LOAD TESTING. Marquis Harding Reality Test P R E S E N T A T I O N. Presentation. Bio

PRIVACY AWARE ACCESS CONTROL FOR CLOUD-BASED DATA PLATFORMS

TEST AUTOMATION FRAMEWORK

JAVA/J2EE DEVELOPER RESUME

Mohammed Khan SUMMARY

CSS CORP SMART MOBILITY SERVICES

Various Load Testing Tools

A Monitored Student Testing Application Using Cloud Computing

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

TECHNOLOGY GUIDE THREE. Emerging Types of Enterprise Computing

Integrating Mobile apps with your Enterprise

Triple-E class Continuous Delivery

KURA M2M/IoT Gateway. reducing the distance between embedded and enterprise technologies. Tiziano Modotti, October 28 th, 2014

Performance Management from black-art to process

An Introduction to Private Cloud

IBM MobileFirst Hands-on Labs environment with Linux on z Systems and z/os

How to Easily Integrate BIRT Reports into your Web Application

Introduction to Oracle Mobile Application Framework Raghu Srinivasan, Director Development Mobile and Cloud Development Tools Oracle

Join the Lean Wave. Asanka Abeysinghe Director, Solutions Architecture. WSO2, Inc. Friday, July 22, 11

Testing Tools using Visual Studio. Randy Pagels Sr. Developer Technology Specialist Microsoft Corporation

DEPLOYMENT ROADMAP March 2015

Paul Brebner, Senior Researcher, NICTA,

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

Bringing Value to the Organization with Performance Testing

Migrating SaaS Applications to Windows Azure

Release 1. ICAPRG604A Create cloud computing services

The Enterprise Service Bus

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

Use Enterprise SSO as the Credential Server for Protected Sites

Strong experience in drafting Test Plan, Test Strategy, Test Estimation, Test Cases, Requirement Matrix, Audit and Test Results documents

Braindumps.C questions

Programming IoT Gateways With macchina.io

Automating Security Testing. Mark Fallon Senior Release Manager Oracle

Spoilt for Choice Which Integration Framework to choose? Mule ESB. Integration. Kai Wähner

Qualifying SDN/OpenFlow Enabled Networks

Tutorial: Load Testing with CLIF

Business white paper. HP Process Automation. Version 7.0. Server performance

Dynamic Resource allocation in Cloud

Open For Business in a Nutshell

Planning, Provisioning and Deploying Enterprise Clouds with Oracle Enterprise Manager 12c Kevin Patterson, Principal Sales Consultant, Enterprise

Application Development Services for Cloud

Borland Silk Performer Synthetic Transaction Monitoring for BMC Software

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

SAP HANA Cloud Platform. Technical Overview Uwe Heinz

Deployment Topologies - DPAdmin An isoagroup Product

How To Monitor A Server With Zabbix

CICS Modernization & Integration

Cloud3DView: Gamifying Data Center Management

Alcatel-Lucent IMS Application Server

The Information Revolution for the Enterprise

Migration and Building of Data Centers in IBM SoftLayer with the RackWare Management Module

Mobile Application Hacking for Android and iphone. 4-Day Hands-On Course. Syllabus

Affinity Aware VM Colocation Mechanism for Cloud

Sage Intergy 6.10 Architecture Guide

Virtualizing Enterprise Desktops and Apps

Developing Microsoft Azure Solutions 20532B; 5 Days, Instructor-led

MS 10751A - Configuring and Deploying a Private Cloud with System Center 2012

Introduction to Service-Oriented Architecture for Business Analysts

Automated deployment of virtualization-based research models of distributed computer systems

Private Cloud for WebSphere Virtual Enterprise Application Hosting

What Is the Java TM 2 Platform, Enterprise Edition?

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

An Introduction to Service Containers

Project #1: Supporting Development Needs Across Multiple Salesforce Projects for a US Company

Advanced Service Design

Deploying Scalable and Secure ecommerce Solutions for MultiValue Applications Tuesday, March 7, 2006

Creating Web Services in NetBeans

Developing Web Services with Eclipse

Transcription:

Software Performance Engineering Research @ SUT Prof John Grundy Dean, Software & Electrical Eng

Outline - Previous / existing projects - Possible areas for R&D collaboration / collaboration support - Possible ways to engage with students / inspire next generation of performance engineers / IT professionals

SPE Research (Mostly John G s ; some other related) - Inspiration - SoftarchMTE - ArgoMTE - MaramaMTE - StressCloud - Enterprise Environment Emulation - Possible R&D projects

My interest in SPE - Performance engineering 4GL/Informix systems (late 80s!) - Teaching large-scale software engineering (90s) - CSIRO research into Middleware Technology Evaluation (late 90s / begin 00s) - Business process automation company consulting - Large utility software company consulting - Large Health IT company consulting

SoftArchMTE - Empirically test planed architecture (or re-engineered architecture) vs simulation / benchmarking - Model architecture of complex enterprise system - Model load tests - Generate client and server automatic generation of rapid prototype apps code & scripts - Deploy code/scripts to hosts - Run tests - Collected results and visualise - Change models, re-generate, re-run, compare results

Early version of Java Petshop reference app modelled

Code gen j2ee_videowebapp.xml (1) <?xml version="1.0" encoding="utf-8"?> <AppServer> <Name>j2ee_videoWebApp</Name> <Type>j2ee</Type> <RemoteObj> <Name>videoSearch</Name> <Type>jsp</Type> <StatesReturned> <State Table="video">id</State> <State Table="video">name</State> <State Table="video">description</State> <State Table="video">status</State> <State Table="video">stock</State>.. </RemoteObj> </AppServer>. Jsp.xsl <xsl:template match="remoteobj"> <xsl:for-each select="statesreturned/state"> <xsl:value-of select="."/><![cdata[<input type=text name="]]><xsl:value-of select="."/><![cdata[" size="115" value="]]><%=mybean_<xsl:value-of select="../../name"/>.get<xsl:value-of select="."/>()%>" </xsl:for-each>.. </form> </body> </html> ]]> </xsl:template> </xsl:stylesheet> Option Explicit Dim strserver, port strserver = "130.216.36.173" port = 80 Sub Main() call SendRequest1() call SendRequest2() call SendRequest1() call SendRequest2() End Sub Main (4) Sub SendRequest1() Dim oconnection, orequest, oresponse, oheaders, strstatuscode, strpath If fenabledelays = True then Test.Sleep (0) Set oconnection = Test.CreateConnection(strServer, port, false)... strpath = "/j2ee_videowebapp/videosearch.jsp" orequest.path = strpath... End Sub videosearch.jsp <html>.. id<input type=text name="id" size="115" value="<%=mybean_videosearch.getid()%>"> name<input type=text name="name" size="115" value="<%=mybean_videosearch.getname()%>"> description<input type=text name="description" size="115" value="<%=mybean_videosearch.getdescription()%>"> status<input type=text name="status" size="115" value="<%=mybean_videosearch.getstatus()%>"> stock<input type=text name="stock" size="115" value="<%=mybean_videosearch.getstock()%>"> </form> </body> </html> (2) (3)

Compile/Deploy/Run Tests Swinburne Gen, deploy, thrash, monitor Web app server Client Database 2. Deploy generated test-bed files to client, server host machines 1. Generate.jsp/.asp,.java/.c,.bat,.sql,.war etc files Database J2EE web application 3. Instruct Application Centre Test to perform tests ACT + client descriptor SoftArch/MTE/Thin 4. Display and Analyse results

Examples of Test Results via ACT Swinburne MS ACT visualisations (sorry these are 10 years old! J )

Extensions / replacements - ArgoMTE integrated into Argo/UML tool (vs stand-alone SoftArch/MTE tool) - MaramaMTE Eclipse-integrated (EMF/GEF) tool - Load modelling using stochastic form charts - probabalistic model of client load (and server-server/db load) - Generated JMeter scripts for (some) load testing - Web crawling / API crawling to synthesize load models - StressCloud latest Eclipse GMF-based tool for cloud energy/ performance testing

Swinburne Marama/MTE in use (7-8 years old pictures) Meta-model abstractions: Clients, Servers, Databases Remote objects, tables Requests, services Calls, containment, uses Operations, parameters, ports, machines, Inputs, Transitions SCIENCE TECHNOLOGY INNOVATION <jmetertestplan version="1.2" properties="1.8"> <hashtree> <TestPlan guiclass="testplangui" testclass="testplan" testname="test Plan" enabled="true"> <stringprop name="testplan.user_define_classpath"></stringprop> <stringprop name="testplan.comments"></stringprop> <boolprop name="testplan.functional_mode">false</boolprop> <boolprop name="testplan.serialize_threadgroups">false</boolprop> <elementprop name="testplan.user_defined_variables" elementtype="arguments" guiclass="argumentspanel" testclass="arguments" testname="user Defined Variables" enabled="true"> <collectionprop name="arguments.arguments"> <elementprop name="server" elementtype="argument"> <stringprop name="argument.value">localhost</stringprop> <stringprop name="argument.name">server</stringprop> <stringprop name="argument.metadata">=</stringprop> </elementprop> <elementprop name="port" elementtype="argument"> <stringprop name="argument.value">8000</stringprop> <stringprop name="argument.name">port</stringprop> <stringprop name="argument.metadata">=</stringprop> </elementprop> <elementprop name="next_page" elementtype="argument"> <stringprop name="argument.value">page_index</stringprop> <stringprop name="argument.name">next_page</stringprop> <stringprop name="argument.metadata">=</stringprop> </elementprop> </collectionprop> </elementprop> </TestPlan> <hashtree> <ThreadGroup guiclass="threadgroupgui" testclass="threadgroup" testname="page flow" enabled="true"> <stringprop name="threadgroup.ramp_time">1</stringprop> <boolprop name="threadgroup.scheduler">false</boolprop> <stringprop name="threadgroup.on_sample_error">continue</stringprop> <longprop name="threadgroup.start_time">1076438592000</longprop> <elementprop name="threadgroup.main_controller" elementtype="loopcontroller" guiclass="loopcontrolpanel" testclass="loopcontroller" testname="loop Controller" enabled="true"> <boolprop name="loopcontroller.continue_forever">false</boolprop> <stringprop name="loopcontroller.loops">1</stringprop> </elementprop> <stringprop name="threadgroup.num_threads">5</stringprop> <stringprop name="threadgroup.duration"></stringprop> <stringprop name="threadgroup.delay"></stringprop> <longprop name="threadgroup.end_time">1076438592000</longprop> </ThreadGroup> <hashtree> BUSINESS DESIGN

StressCloud - Part of ARC Discovery project - Energy and performance testing tool for virtualised systems (targeted to cloud) Cloud Server VirtualMachine Apache Tomcat VirtualMachine Apache Tomcat - Eclipse IDE modeller architecture, load model, app model (or real app) Load Test Web Service MS SQL Server... Load Test Web Service MS SQL Server - Generate, run Jmeter tests Router - Monitor VM stats PowerNode GreenWave Gateway Monitor and Load Generator StressCloud - Monitor physical machine energy usage

Generate Performance etc tests 13

Enterprise Emulation Tool - Part of ARC Linkage w CA Labs - Want to emulate large-scale deployment environment possibly 000s systems e.g. for testing CA identify manager system, PeopleSoft ERM system, Twitter server, legacy mainframe clients, - Record interaction traces e.g. LDAP binary protocol, PS SOAP messages, Twitter JSON, Mainframe text msgs - When get request message, use clustering/distance functions/translation functions to synthesize response

Swinburne

R&D Possibilities w us - Evaluate SPE tools you and us; yours and ours! - Set up SPE lab / platform / testing tools e.g. for cloud, enterprise application performance engineering - Identify new tools / extensions / improvements -> R&D engineers, PhD, Post-docs, other student projects in collaboration with you - Best practice usage of SPE tools for others to learn from - Industry experience reports of SPE approaches, tools - Other ideas?? - Co-funding: NICTA / SUT software innovation lab; Vic govt innovation fund & R&D vouchers ; PhD schols (NICTA, SUT, Govt, company) ; student interns (Vic Govt, NICTA, SUT, company)

Other collaboration opportunities - Guest lecture - Teach a unit / part of a unit - Host student projects - Host student site visits - Meet & greet w staff and students - Co-supervise R&D students, PhDs, R&D engineers, postdocs - Other ideas??