580 likes | 653 Views
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?.
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