What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to...

58

Transcript of What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to...

Page 1: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.
Page 2: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

What is Marblejar? What does it do?

• a national, web-based IT recruiting company.

• Their goal is to provide qualified IT professionals to employers for both permanent and contract-to-permanent positions.

Page 3: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

How Can Marblejar Benefit Employers?

• Marblejar makes hiring new employees easier than ever!

• Marblejar makes it possible for employers to learn as much detail as possible about potential hires before an interview is ever scheduled.

Page 4: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Let Marblejar do work for you

• Every resume is qualified through the Marblejar certification process.

• Contact information is verified before it is provided to employers

• A professional recruiter reviews the resume before it is published on Marblejar.

Page 5: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

How can MarbleJar Help me find the job of my dreams?

• You can show off your skills to Employers through online testing

• You can even create a short voice recording describing your skills and accomplishments

• Add a personal touch to your resume by submitting a photo.

Page 6: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Sample Job Description

Page 7: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Job description continued

Page 8: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Sample Resume

Page 9: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Sample Resume Continued

Page 10: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

ATG DynamoJ2EE Compliant Application Server

• Dynamo Application Server 4 is a Java-based, server-side platform for developing and administering dynamic Web applications that provide custom user experiences.

• Based on Industry Standards– Java and JavaBeans– XML– Servlets – Page Compilation– Java Database Connectivity (JDBC)– Remote Method Invocation (RMI)– Enterprise Java Beans (EJB)

Page 11: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

More about Dynamo

• Consistent application development model (Portable)– everything is developed according to the same

model– Large set of reusable services for varying

types of web applications

Page 12: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Even more about Dynamo

• Components and applications built for Dynamo are all plugged in to the same architecture.– everything is developed according to the same model so different

components can easily exchange and use information• Dynamo Backup Server ensures that your site never goes

down once deployed– Dynamo has a Backup Server system that can be implemented to

act as a failover system.– When all the servers in one geographic location go down, users

can be redirected to servers in another location without interrupting the session.

Page 13: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

What is a Web Application Server?

Server architecture which dynamically creates web pages Server architecture which dynamically creates web pages based on user inputbased on user input

Page 14: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

MarbleJar Code Base and Development

• CEI developed MarbleJar on top of ATG Dynamo

• Things our team will work with:– JTHML Presentation Layer– JavaBean Logic Components– Relational Views for Database Access– Dynamo Personalization Server– XML Logic-Database mapping– MarbleJar’s Relational Database

Page 15: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Dynamo Application Services

Dillon Lucente

Page 16: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Dynamo Application Services

Part I:

Sources Used In Our Project

Page 17: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Dynamo Fast Track Developer Training Manual

• Training session used by CEI

• Covers the basics of Dynamo

• Hard Copy Used primarily as concepts reference

Page 18: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Online Documentation

• Complete set of reference information• Used primarily for coding examples and pre-defined class

inquiries

http://www.atg.com/repositories/ContentCatalogRepository_en/manuals/Dynamo4.5.1/index.html

Page 19: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Dynamo Application Services

Part II:Valuable Programming Elements Used In Our Project

Page 20: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

1. .jhtml Page

• HTML Page with embedded java code

• Server processes java code and returns HTML result

• Can store repeated uses in cache

• Easier implementation than .java file with embedded HTML

Page 21: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

2. Component

• Class Identity (JavaBean)

• Two methods normally implemented:

a. Value Request

b. Value Change

• Coordinates with .properties file of the same filename, which contains the initial values of any variable and scope of component

Page 22: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

3. Droplet

• Dynamo’s version of J2EE servlet• Embedded .jhtml page• Can contain parameters: similar to GET and POST Data,

session data• Open Parameters: parameters that contain HTML code,

allowing for easier display on web page, can contain droplets.

• standard library droplets: switch, forEach, Range, etc.

Page 23: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Droplet Example

Page 24: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

4. Nucleus

• Underlying code set that automatically coordinates requests and responses, component functionality, and droplet calls across multiple servers in multiple location.

• Reconfigures in cases of server failure

Page 25: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Dynamo Application Services

Part III:Implementation (Access Procedure)

Page 26: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Access Procedure

• Group members have access to complete working Dynamo Toolkit and MarbleJar code.

• It is our responsibility to modify and write J2EE code to conform MarbleJar standards to UPitt system.

Page 27: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

CEI-UPITT Online Job Site

February 27th, 2005 – April 31st, 2005

Page 28: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Project Plan (05-2)

Sprint #1 (2/27 – 3/24): • Finish the registration tasks started by the

team from the fall semester (05-1)• Make a home page for the Job Posting

Website

Sprint #2 (3/25- 4/23):• Complete at least one of the other functional

areas of the system, starting with Job Posting

Page 29: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Registration Phase -- Requirements

Part I: Users types & status

Page 30: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Users:

• Student: Valid Pitt student. Searching for career opportunities. • Company: Potential employer. Posting open job positions. • CS Admin: Administrator

-- Approval / Reject Registration-- Inactivate account

Pending: Wait to be approved by CS AdminActive: Account Approved by CS AdminInactive: -- Account Rejected by CS Admin -- Account no longer in use

Page 31: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Registration Phase -- Requirements

Part II: Use case diagrams & Activities/Functions

Page 32: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Use Case Diagram: Registration Pages

• Companies use Company Registration Page (IT Client Registration) to register.

• Students use Student Registration Page to register.

• CS Admin approve/reject Student and Company Registrations.

Page 33: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Activity Diagram: Registration

Page 34: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Activities / Functions: Registration

• User fills out the Registration Form (Company Registration / Student Registration)

• Marblejar creates a new account (set user’s status: Pending)

• Marblejar notify CS Admin by e-mail

• CS Admin uses Admin page to Approve/Reject registrations

1. Approve: o Marblejar changes User’s Status to Activeo applicant gets Approval notice by e-mail

2. Reject: Reject Registration, User’s Status change to Inactive, Send Rejection notice to applicant by e-mail

Page 35: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Use Case Diagram: CS Admin Page

• CS Admin uses CS Administration Page – Manage Users’ Account.

• Approve / Reject Student Registration & Company Registration in Pending Status (under Pending Approval Listing)

• Inactive users’ Accounts in Active Status

– View Recent Posting (Job & Resume)

Page 36: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Activity Diagram: CS Admin

Page 37: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Activities/Functions: CS Admin Page

• 3 sections:– View Active Users’ Acct.– Pending Approval Listings: Student, Company– Recent Postings: Job, Resume

• 2 functions:– Manage Users’ Acct.

• New Acct (Status is in Pending):– Approve/Reject Registration (Status change to Active/Inactive)

• Current Users’ Acct (Status is in Active)– View Acct. Information – Inactive Acct due to valid Student’s status, or Company stop posting on PITT

(Status changes to Inactive)

– View Recent Postings• Job Posting• Resume Posting

Page 38: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Registration Phase -- Requirements

Part III: Sample Web Pages

Page 39: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Home Page:

Page 40: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Company Registration Page

http://208.44.155.13/upittcs/common_dynamic/register.jhtml?function_id=register_ts&usertype=1

Page 41: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Student Registration Pagehttp://208.44.155.13/upittcs/common_dynamic/register.jhtml?function_id=register_js&usertype=1

Page 42: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Registration Submission Page

Notify Applicant the Registration form has been submitted to CS Department

Page 43: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

CS Administration Page

Resume & Jobs:• Normal order by Date&Time - 10 most recent postings

Student & Company:• Reverse order by Date&Time - 10 earliest listings

Page 44: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

CEI-UPITT JOBS

Registration Architecture

Sprint #1

Page 45: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Analysis vs. Architecture vs. Design

• Analysis is the modeling and detailing of requirements to help understand the problem– UI prototypes, use cases, activity diagrams, domain models– What was seen on previous slides

• Architecture is the high level view of the system that is the solution to the problem discovered through analysis– System’s major components and their basic relationship to each other– Interfaces between components– Data Modeling– What is presented here

• Design is the low level view of the system architecture with all system components fully detailed– Detailed classes with members and methods fully defined– Not yet completed

Page 46: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Structural View vs. Behavioral View

• Structural View is focused on physical entities– Analysis: real world objects in the problem domain– Architecture: classes and their inheritance relationships– Design: classes and their composition relationships

• Behavioral View is focused on functionality– Analysis: User Stories and Use cases– Architecture: Interfaces between system elements– Design: Class Methods

• When performing analysis, creating an architecture, or designing, both views are developed in parallel.– One is a means of discovering something about the other

Page 47: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Structure: Bottom Up Approach

1. What domain objects and their properties need to be stored in the database?

2. What transformations must the data go through before being stored or loaded from the database?

3. How should the data be displayed to the user based on the data itself and the user’s input?

Page 48: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (1)

Web based N-tier architecture:

RDBMSWeb Tier

Logic Tier

Data Access Tier

Client Tier

Page 49: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (2)

N-tier architecture using Dynamo Technologies

Browser

IE\Firefox

JHTML

JavaBeans

Relational Views

XML Mapping

Oracle

Page 50: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (3)

Data Modeling of Requirements– Student registration and company registration need to be

stored somewhere

– Both parties have many things in common• Email address and password• Address, city, state, phone

– Solution: Companies and Students are both users of the system, so all common data can be stored in one table

• Column needed to distinguish between user types• Prevents the storage of redundant information

Page 51: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (4)

Data Modeling of Requirements– Dynamo has a predefined database tables for user profiling

called dps_user

– Define a simple_codes table for the easy access and change of codes that distinguish students from companies

User_ID Name Address Phone Email User_type

1 CEI 98 main 412-555 CEI 1111

CodeID Description

1111 Company

DPS_USER

CodesForeign Key Constraint

Page 52: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (5)

Data Modeling of Requirements– DPS_USER table doesn’t provide columns related to the approval

process.– Required Fields: decision, apply date, decision date– Solution: USER_APPLICATIONS table with the necessary fields

and a reference to the user table

appID Apply Date

Decision Decision Date

User_ID

10123 3/1/05 accept 3/2/05 1

USER_APPLICATIONS

User_ID Name …

1 CEI …

DPS_USER

Foreign Key Constraint

Page 53: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (6)

Data Access Tier Architecture– The DPS_USER table and all of Dynamo’s built in

tables are mapped by an XML file• Maps JavaBeans members to database columns• Exact mapping defined during design• Most of the work done for registration data storage

done automatically by Dynamo

– All other database information extracted via relational view components…

Page 54: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (7)

Relational View Components:Registration:

– View User Code: • get the user codes for entry into DPS_USER

– View States: • define a list of valid states for profile selection

CS Administration:– View All Users:

• allows for the display of students and companies separately– View Pending Students– View Pending Companies– View Recent Jobs– View Recent Resumes

Page 55: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (8)

Requirements to Components: First Cut– Web Components:

• Major Components: – Registration Page for Student – Registration Page for Company– CS Admin Page main page

• Minor Components:– Admin page to display pending applications– Admin page to display recent posting– User Directory page

– Business Logic Components:• Bean to process student registration form• Bean to process company registration form• Bean to provide admin functions

Page 56: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (9)

Requirements to Components: Second Cut– Similarity between company and student allows for the

use of a single registration page• Register jhtml page

– Similarity in needed processing of company and student pages allows for the use of a single component

• RegisterFormHandler java bean

– CS Admin still needs its own logic component• CSAdmin jhtml page• Administer java bean

Page 57: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (10)

Architecture Components: Final CutDatabase Tables:

– DPS_USER– CODES– USER_APPLICATIONS

Relational Views:– View User Code– View States– View All Users – View Pending Students– View Pending Companies– View Recent Jobs– View Recent Resumes

Oracle

Relational Views

XML Mapping

Page 58: What is Marblejar? What does it do? a national, web-based IT recruiting company. Their goal is to provide qualified IT professionals to employers for.

Architecture: Structural View (11)

Architecture Components: Final Cut

JavaBean Components:– RegisterFormHandler– Administer

JTHML Pages– Register– CSAdmin– PendingApps– RecentPostings– UserDirectory

JHTML

JavaBeans

Relational Views

XML Mapping