Presentation is loading. Please wait.

Presentation is loading. Please wait.

Internship Presentation by Gary Esworthy. Overview About me About MobilVox Living Arrangements Work Environment Project Summary Project Details (User.

Similar presentations


Presentation on theme: "Internship Presentation by Gary Esworthy. Overview About me About MobilVox Living Arrangements Work Environment Project Summary Project Details (User."— Presentation transcript:

1 Internship Presentation by Gary Esworthy

2 Overview About me About MobilVox Living Arrangements Work Environment Project Summary Project Details (User Administration Project)‏ Internship/IUP Relationship Summary Acknowledgments

3 Me 22 years old Born and Raised outside of Pittsburgh Applied Computer Science Major Information Assurance Minor Graduation – August 2008 Main Interest – Software Engineering

4 Out of Work Environment Live on Philadelphia Street with 3 friends from High School Have lived in Indiana the past 4 years for school.

5 MobilVox, Inc. Founded by Mr. Enrique Lenz, who is President and CEO Based in Reston, VA. Second office in Indiana, PA.

6 MobilVox, Inc. (cont'd)‏ Developer Titles  Senior Software Architect  Senior Software Engineer  Lead Software Engineer  Software Engineer  Intern (Software Engineer)‏ IUP Alumni  Almost all developers in the Indiana office are IUP Alumni.

7 MobilVox, Inc. (cont'd)‏

8 My Work Environment

9 My Work Environment (cont'd)‏

10

11 My Computing Environment Dell PC running Windows XP Pro SP2 All Java written using latest version of Eclipse IM used to communicate with coworkers from both offices, along with e-mail, conference calls, etc Linux and Windows servers

12 Computing Environment (cont'd)‏ Subversion  Used as a server to control all source code. Developers can check out and commit changes to the source code and Subversion keeps track of version. Scarab  Issue tracking system where developers can submit bugs and be assigned to fix bugs. Also used to request changes in software, etc. Maven  Powerful tool used to build projects and keep code organized.

13 How To Work on a Project First, check the project out of Subversion  Create a directory for the project on your machine  Open a command line to that directory  Run “svn co https://URL/proj-location proj-name” Step into that project in your command line  Run “mvn eclipse:eclipse” to have Maven build the project specifically for Eclipse. Work on project in Eclipse

14 Working on a Project (cont'd)‏ Commit your saved changes back to the Subversion server  Using TortoiseSVN Can commit to the server straight from Windows Explorer  Using Eclipse Can commit to the server straight from Eclipse using the Subclipse plug-in

15 My Projects

16 My Projects (cont'd)‏

17 My Roles Development  Design  Coding  Bug Fixes Testing Documentation DBA Research

18 My Roles (cont'd)‏

19 User Administration Project One of my first and largest tasks was to upgrade the User Administration project (UAdmin). UAdmin  Modular  Easily integrated Uses  Authentication  Storing user data

20 UAdmin (cont'd)‏ UAdmin was only able to deal with user name, password and email address for users  This information had to be stored in a database One of my tasks was to make UAdmin contain more user information, including addresses, phone numbers, instant message information, and even themes  For this, a new database had to be designed

21 UAdmin To accommodate the new data we decided to design a new Data Access Object (DAO)‏ A DAO is the layer that sits in between the client and the database and acts as the line of communication

22 UAdmin Database

23 UAdmin Data Model Next, we had to create the Plain Old Java Objects (POJOs) that would match the database

24 UAdmin Persistence Method The persist(user) method needs to control all of the action on the object by deciding what action to perform  Add  Change  Delete When the client application attempts to add/change/delete an object, only the persist method needs to be called

25 How does the persist method know? if client object does not exist in database create(object)‏ else if client object is exactly equal to database object return object else if client base object is equivalent to database object recursively persist child objects else if client object has been deleted delete from database

26 UAdmin Tasks Also, I created a new authentication procedure  Java Authentication and Authorization Service (JAAS). Users can now login using their database user name and password or using their MobilVox network user name and password Using JAAS allows us to create login configurations  Database login  Network login

27 UAdmin Tasks Finally, theme support was added  Ability for client application to allow users to select themes Colors Fonts Sizes Etc

28 Summary The internship experience in invaluable  Real world experience  Very nice paychecks Great learning experience Learn things you simply can't learn in the classroom Recommended for all computer science majors

29 Internship Relation to IUP Courses that were extremely useful  COSC 341 (Database)‏  COSC 210/310 (Concepts using JAVA)‏  COSC 110 (Basics of programming using C++)‏ Courses I wish I could've taken first  COSC 319 Material I feel should be added to curriculum  More information on development environments like Eclipse and tools like SubVersion  Information on building projects with tools like Maven

30 Acknowledgments Dr. Shubra  For his persistence in getting us into the internship program and his dedication Todd Orange  For spending countless hours sitting with me at my desk teaching me 1 on 1 MobilVox and employees  For being open to having interns and helping them so much Computer Science faculty and Staff  For making everything possible

31 Questions/Comments?


Download ppt "Internship Presentation by Gary Esworthy. Overview About me About MobilVox Living Arrangements Work Environment Project Summary Project Details (User."

Similar presentations


Ads by Google