Jim Bondi (RIT) Chris Jansmann (UA) David Palmquist (CSUF)

Post on 01-Jan-2016

228 views 0 download

Tags:

Transcript of Jim Bondi (RIT) Chris Jansmann (UA) David Palmquist (CSUF)

Jim Bondi (RIT)Chris Jansmann (UA)

David Palmquist (CSUF)

Jim BondiAssistant DirectorOffice of Co-op and Career ServicesRochester Institute of Technology

Chris JansmannCoordinator, Information TechnologyCareer ServicesThe University of Arizona

David PalmquistProgrammer/AnalystCareer CenterCalifornia State University, Fullerton

Overview: What Is A Web Service? Commercially Available Web Services CSM Web Service Offerings Getting Connected Examples In Action Q&A

“Web services are self-contained business functions that operate over the Internet.”Phil Wainewright, Web Services In A Nutshell , www.looselycoupled.com, 06/07/2002

“Web services are slices of a business that it publishes to others using the Web.”Phil Wainewright, Business definitions of web services, www.looselycoupled.com , 05/01/2002

Many different acronyms are often associated with web services:◦ SOA (service oriented architecture)◦ SOAP (simple object access protocol)◦ UDDI (universal description discovery and integration

protocol)◦ WSDL (web services description language)◦ XML (extensible markup language)

A web service, at the most fundamental level, provides access to a portion of someone else’s system in such a way that you may make use of it within your own system, on your own terms.

Agnosticism: neither base system has to speak the same “language” as communication is translated automatically

Allows for what is often called “legacy integration”

Best of Both Worlds Augment existing business practices Used when and where appropriate Adds functionality to legacy applications

USPS.com: Address Correction Tools National Weather Service: Forecasts TerraServer: web service providing access

to maps and aerial photos of the United States

MapPoint Web Services: access to maps and driving instructions

Picasa Web Albums Data API: view and manage photos sets from Picasa in a custom application

Symplicity offers CSM users two sets of web services, known as “web service APIs”

One set for student-centric functions◦ Add/Modify/Delete student accounts◦ Assign or remove access rights

A second set for reporting functions◦ Run an existing report remotely◦ Download the latest run to your software without

being in CSM

As they say in counseling circles, it depends The CSM report module is very powerful, and

may be the answer for a majority of situations

There may be times, however, when a particular divisional reporting need is not entirely met by the CSM report module

In those cases, the CSM data can be programmatically combined with local information in a legacy system for reporting purposes through the web service API

At the University of Arizona, we are required to report our campus interviewing activity by ethnicity and class standing each semester

Ethnicity data is not populated by the student in CSM, and class standing can (and often does) change from semester to semester

Solution: we use the report API to download the interviews for the semester, which is then programmatically matched to student data as it stood at the time of the interview

Technical Content Ahead

To make the most of the CSM Web Services, one must use a tool that can “consume” the web service. These can include: ◦ Web technologies (Java, PHP, ASP.NET)◦ Windows technologies (.NET, Office 2003)

Basic layout of CSM Web Service APIs available within Issue Tracker Documents

Best Bet: Use the mentoring list to coordinate with an existing user to get over the initial hurdle of access

Chris Jansmann (UA):Resume Submission Deadlines Email to Departments

Employer Relations desired to send out an email to specific departments housing majors whose schedules were running light

Only wished to show a certain percentage of “full,” i.e. anything less that 75% of capacity

Had to be branded as the Career Center and embedded in an email message

CSM had the “schedule status” data Local system had the ability to format

David Palmquist (CSUF)

public CSM_ReportWebService() { this.Url =

global::CareerReportRetriever.Properties.Settings.Default.CareerReportRetriever_reportWS_CSM_ReportWebService;

if ((this.IsLocalFileSystemWebService(this.Url) == true)) {

this.UseDefaultCredentials = true; this.useDefaultCredentialsSetExplicitly = false; } else { this.useDefaultCredentialsSetExplicitly = true; } }

<applicationSettings> <CareerReportRetriever.Properties.Settings> <setting name="CareerReportRetriever_reportWS_CSM_ReportWebService" serializeAs="String"> <value>http://YOUR_CSM.symplicity.com/ws/report_api.php</value> </setting> <setting name="UserName" serializeAs="String"> <value>yourUserAccountWithAccessRights</value> </setting> <setting name="MAXWAITTIME" serializeAs="String"> <value>1200000</value> </setting> <setting name="MAXPROCESSINGTIME" serializeAs="String"> <value>600000</value> </setting> <setting name="INTERVAL" serializeAs="String"> <value>20000</value> </setting> <setting name="Password" serializeAs="String"> <value>YOURPASSWORD</value> </setting> </CareerReportRetriever.Properties.Settings> </applicationSettings>

Jim Bondi (RIT)

Interested in sharing more ideas regarding the Reporting API? Join the API Wiki.

Specific code examples making use of the API

All notes from today’s will be there (as well as within the Issue Tracker)

http://careerservices.rit.edu/sdr_wiki

Q & A