58

What is Marblejar? What does it do?

Embed Size (px)

DESCRIPTION

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. How Can Marblejar Benefit Employers?. - PowerPoint PPT Presentation

Citation preview

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.

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.

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.

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.

Sample Job Description

Job description continued

Sample Resume

Sample Resume Continued

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)

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

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.

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

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

Dynamo Application Services

Dillon Lucente

Dynamo Application Services

Part I:

Sources Used In Our Project

Dynamo Fast Track Developer Training Manual

• Training session used by CEI

• Covers the basics of Dynamo

• Hard Copy Used primarily as concepts reference

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

Dynamo Application Services

Part II:Valuable Programming Elements Used In Our Project

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

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

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.

Droplet Example

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

Dynamo Application Services

Part III:Implementation (Access Procedure)

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.

CEI-UPITT Online Job Site

February 27th, 2005 – April 31st, 2005

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

Registration Phase -- Requirements

Part I: Users types & status

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

Registration Phase -- Requirements

Part II: Use case diagrams & Activities/Functions

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.

Activity Diagram: Registration

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

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)

Activity Diagram: CS Admin

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

Registration Phase -- Requirements

Part III: Sample Web Pages

Home Page:

Company Registration Page

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

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

Registration Submission Page

Notify Applicant the Registration form has been submitted to CS Department

CS Administration Page

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

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

CEI-UPITT JOBS

Registration Architecture

Sprint #1

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

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

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?

Architecture: Structural View (1)

Web based N-tier architecture:

RDBMSWeb Tier

Logic Tier

Data Access Tier

Client Tier

Architecture: Structural View (2)

N-tier architecture using Dynamo Technologies

Browser

IE\Firefox

JHTML

JavaBeans

Relational Views

XML Mapping

Oracle

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

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

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

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…

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

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

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

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

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