580 likes | 660 Views
MarbleJar is a leading national IT recruiting company, matching qualified professionals with employers for permanent and contract positions. Benefit from detailed candidate vetting and impressive features. Explore how MarbleJar can help both employers and job seekers achieve their goals efficiently and effectively. Find out more about the innovative techniques employed in the recruitment process and the powerful ATG DynamoJ2EE system utilized.
E N D
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.
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 based 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.
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 SiteFebruary 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 Admin Active: Account Approved by CS Admin Inactive: -- 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.
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: • Marblejar changes User’s Status to Active • 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
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) Use Case Diagram: CS Admin Page
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
Company Registration Pagehttp://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 PageNotify 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 • What domain objects and their properties need to be stored in the database? • What transformations must the data go through before being stored or loaded from the database? • How should the data be displayed to the user based on the data itself and the user’s input?
Web Tier Client Tier Logic Tier Data Access Tier Architecture: Structural View (1) Web based N-tier architecture: RDBMS
JHTML JavaBeans Relational Views XML Mapping Architecture: Structural View (2) N-tier architecture using Dynamo Technologies Oracle Browser IE\Firefox
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