vmweb milestone iii
DESCRIPTION
Brendan Heckman Matthew Fusaro Ryan McGivern. VMWeb Milestone III. VMWeb Architecture. A little on the front-end…. Catalyst Web Framework Similar to Ruby on Rails Provides framework that will allow us to develop a light-weight web application that - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/1.jpg)
Brendan HeckmanMatthew FusaroRyan McGivern
![Page 2: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/2.jpg)
VMWeb Architecture
![Page 3: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/3.jpg)
A little on the front-end… Catalyst Web Framework
Similar to Ruby on Rails Provides framework that will allow us to
develop a light-weight web application that▪ Efficiently communicates with the intermediate
database▪ Translates the database information into objects▪ Provides a simple and appealing UI for ▪ Visualizing the state of Entities▪ Performing operations on Entities
![Page 4: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/4.jpg)
And of course MVC…
Model Access and modify content▪ Database connection (DBIx::Class)
View Display data in a meaningful manner▪ Template Toolkit▪ Javascript libraries, CSS
Controller Flow Control▪ Dispatch actions appropriately and maintain
context
![Page 5: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/5.jpg)
DBIx::Class (Perl ORM)
ORM – Object-Relational Mapping Creates objects associated with tables in a
relational database Database Model
Creates result class file for each table▪ Corresponds to row-level data in table
Enable this model in the appropriate controllers
Allows the flow control to query data as necessary
Layer of abstraction – remove DB dependence
![Page 6: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/6.jpg)
Screenshot: Auth. Module
![Page 7: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/7.jpg)
Front-end Schedule
![Page 8: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/8.jpg)
Front-end Schedule Deviations
![Page 9: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/9.jpg)
Back-end Schedule
![Page 10: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/10.jpg)
Back-end schedule Deviations
![Page 11: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/11.jpg)
Test Plan: Front-end
Compatibility OS Independence▪ Conduct a complete set of tests on multiple
operating systems Browser compatibility ▪ Implement tests across a set of common browsers
UI Tests Test UI elements capture and submit user
input accurately Test View components accurately group data
![Page 12: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/12.jpg)
Advantages of Catalyst
Test Anything Protocol (TAP) Provides test-driven development process Helper functions add stubs to test directory ▪ Establishes unit tests for inherent operations of
each module▪ One may extend these unit tests if a given object needs
to be further interrogated
▪ Functional tests are therefore automatically created
▪ Need only conduct behavior testing▪ i.e Does flow control behave as expected
![Page 13: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/13.jpg)
UML: Scheduler Implementation
![Page 14: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/14.jpg)
Test Plan: Scheduler
Black-box test Internal logic of the scheduler is not relevant
to external components Test sets▪ Submit correctly configured jobs into into DB▪ Does job checking logic pick them up correctly▪ Monitor end results and catch errors coming out other side
▪ Submit malformed jobs into DB▪ Confirm that errors are handled as expected in job validation
▪ Deliberately submit jobs that will create exceptions on ESX server▪ i.e Job is validated according to API but rejected by ESX server
▪ Overload the job queue▪ Test further submitted jobs wait to enter queue
![Page 15: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/15.jpg)
UML: Database Connector
![Page 16: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/16.jpg)
Test Plan: DB Connector
White-box test Component most vulnerable to data-
integrity loss Requires test set for complete statement
coverage▪ DBMysqlAdapter class▪ Create a unit test that will run each of the
methods that modifies or pulls information from the database and check that the results are what is desired.
![Page 17: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/17.jpg)
UML: Inventory
![Page 18: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/18.jpg)
Test Plan: Inventory
Black-box test Executes task when asked to and
returns data Test set▪ Call the inventory collector and ask it to do
the inventory. When done, print the structures it creates and make sure the data matches what the ESX server reports.▪ Call the inventory collector while another job
is being processed on the ESX server and see if we get I/O errors.
![Page 19: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/19.jpg)
Test Plan: Inventory
White-box test To ensure object properties fall through
conditional branches correctly Test set▪ Modify data on the ESX server so some values
are either absent or out of bounds. We can utilize the printMe() function to show any errors▪ Pass malformed data to the functions and
make sure it handles the data appropriately.
![Page 20: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/20.jpg)
Test Plan: Utility functions
Virtual Machine Power On Power Off Reboot Suspend Rename Delete Unregister
Host Power On Power Off Reboot Maintenance
-mode Stand-by
Resource Pool Configure Relocate
![Page 21: VMWeb Milestone III](https://reader036.vdocuments.site/reader036/viewer/2022062520/56815a1f550346895dc762e6/html5/thumbnails/21.jpg)
Test Plan: Utility functions
Black-box test Accuracy of utility function tested by
performing operations on existing VMs, hosts, or resource pools
Test set▪ Unit test that covers all utility functions▪ Confirm each function performs its respective
action