Digital Library Syllabus Uploader Will Cameron CSC 8530 October 19, 2006 Project Presentation 2.

Slides:



Advertisements
Similar presentations
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Advertisements

Siebel Web Services Siebel Web Services March, From
WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
General introduction to Web services and an implementation example
WEB SERVICES DAVIDE ZERBINO.
SOAP Quang Vinh Pham Simon De Baets Université Libre de Bruxelles1.
Scale Up Access to your 4GL Application using Web Services
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
Technical Architectures
© 2005, Cornell University. Rapid Application Development using the Kuali Architecture (Struts, Spring and OJB) A Case Study Bryan Hutchinson
CS CS 5150 Software Engineering Lecture 13 System Architecture and Design 1.
Presented By: Ayelet Birnbaum Yael Kazaz Supervisor: Viktor Kulikov 07/05/12.
1 Java Server Programming zLecture 1 focuses on: yIntroduction to web services y Web Services using Axis y The bigger Picture: Introduction to J2EE y Java.
Module - Technical Basics
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
CSCI 6962: Server-side Design and Programming Course Introduction and Overview.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
1 Course Introduction CS423 Client/Server Programming and Apps References: Comer/Stevens, Ch1.
JavaScript, Fourth Edition Chapter 12 Updating Web Pages with AJAX.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Architecting Web Services Unit – II – PART - III.
COMP3019 Coursework: Introduction to GridSAM Steve Crouch School of Electronics and Computer Science.
2004/12/02Slide Number 1 of 15 Exposure Time Calculator (ETC) as a Web Service Donald McLean 2004 Technology Open House.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Dr. Mohamed Osman Hegazi 1 Database Systems Concepts Database Systems Concepts Course Outlines: Introduction to Databases and DBMS. Database System Concepts.
1 Schema Registries Steven Hughes, Lou Reich, Dan Crichton NASA 21 October 2015.
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
Chapter 6 Server-side Programming: Java Servlets
1 Welcome to CSC 301 Web Programming Charles Frank.
Digital Library Syllabus Uploader Will Cameron CSC 8530 October 19, 2006 Project Presentation 2.
SOAP Web Services Tim Carver MRC HGMP-RC Hinxton Cambridge, UK.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Course Schedule Report Web Service Carolyn Cracraft Lisa de Larios-Heiman.
Introduction to Server-Side Web Development Introduction to Server-Side Web Development using JSP and Web Services JSP and Web Services 18 th March 2005.
Chapter 10 Intro to SOAP and WSDL. Objectives By study in the chapter, you will be able to: Describe what is SOAP Exam the rules for creating a SOAP document.
Lecture 6: Sun: 8/5/1435 Distributed Applications Lecturer/ Kawther Abas CS- 492 : Distributed system & Parallel Processing.
INTRODUCTION TO WEB APPLICATION Chapter 1. In this chapter, you will learn about:  The evolution of the Internet  The beginning of the World Wide Web,
This presentation describes the development and implementation of WSU Research Exchange, a permanent digital repository system that is being, adding WSU.
XML and Web Services (II/2546)
S imple O bject A ccess P rotocol Karthikeyan Chandrasekaran & Nandakumar Padmanabhan.
Kemal Baykal Rasim Ismayilov
S O A P ‘the protocol formerly known as Simple Object Access Protocol’ Team Pluto Bonnie, Brandon, George, Hojun.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
1 Registry Services Overview J. Steven Hughes (Deputy Chair) Principal Computer Scientist NASA/JPL 17 December 2015.
Java Web Services CSCI 4300 Diagrams from the Sun Java Web Services Tutorial,
DSpace System Architecture 11 July 2002 DSpace System Architecture.
ESG-CET Meeting, Boulder, CO, April 2008 Gateway Implementation 4/30/2008.
Digital Library Syllabus Uploader Will Cameron CSC 8530 Fall 2006 Presentation 1.
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
INFSO-RI Enabling Grids for E-sciencE Web Services Mike Mineter National e-Science Centre, Edinburgh.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Net-centric Computing Web Services. Lecture Outline  What is Web Service  Web Service Architecture  Creating and using Java Web Services  Apache Axis.
SOAP, Web Service, WSDL Week 14 Web site:
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Sabri Kızanlık Ural Emekçi
Architecting Web Services
Outline SOAP and Web Services in relation to Distributed Objects
Architecting Web Services
Outline SOAP and Web Services in relation to Distributed Objects
Chapter 27 WWW and HTTP.
Distributed Systems Bina Ramamurthy 11/30/2018 B.Ramamurthy.
Architecture Competency Group
WEB SERVICES DAVIDE ZERBINO.
SDMX IT Tools SDMX Registry
Presentation transcript:

Digital Library Syllabus Uploader Will Cameron CSC 8530 October 19, 2006 Project Presentation 2

Overview Purpose Purpose Technology Technology Deployment Diagram Deployment Diagram Syllabus submission fields Syllabus submission fields Client Side DB Client Side DB SOAP SOAP Axis2 and Client-Server Interfaces Axis2 and Client-Server Interfaces Activity Diagrams Activity Diagrams Plan For Proceeding Plan For Proceeding Conclusion Conclusion

Purpose of the Syllabus Uploader Provide a service for the remote uploading of course materials by approved course instructors to CITIDEL Provide a service for the remote uploading of course materials by approved course instructors to CITIDEL CITIDEL is a digital library for Computer Science educational and research materials CITIDEL is a digital library for Computer Science educational and research materials Specifically course Syllabi Specifically course Syllabi

Algorithm Messaging form data from one web server to another Messaging form data from one web server to another To facilitate the automatic creation of a digital library item on the DSpace side To facilitate the automatic creation of a digital library item on the DSpace side –A text document/word doc which represents the item –Metadata entry created about that item in Dublin Core DSpace Registry Allows for searching, browsing for the resource in the digital library Allows for searching, browsing for the resource in the digital library –Requires a mapping of standard syllabus fields to the Dublin Core Metadata standard as implemented in DSpace Syllabus fields: course description, topics, grading, assignments… Syllabus fields: course description, topics, grading, assignments… –File Share of sorts, however, the ‘file’ is generated on the fly as based upon the form completed by the user –Handle concurrency of submissions from multiple users

Client Side Technology mySQL mySQL –For lightweight ‘client’ side web application –To allow user accounts for syllabi storage, editing, and ownership over time Apache Tomcat Apache Tomcat –Web server in which the below will reside: Java Servlets/JSPs Java Servlets/JSPs –View and Business logic of client web application Axis2 SOAP messaging client code Axis2 SOAP messaging client code

Server Side Technology Tomcat Tomcat –Deployed Axis2 Web Service –Java code to create directory and file for upload in Unix Call the DSpace Uploader Call the DSpace Uploader –DSpace Digital Library PostgreSQL Database backend PostgreSQL Database backend JSP/Servlet business logic and view JSP/Servlet business logic and view DSpace item resource automatic Uploader tool DSpace item resource automatic Uploader tool

Deployment Diagram Syllabi Submission Web Server Syllabi Submission Web Server (Apache/Tomcat) (Apache/Tomcat) Submit Submit Save/Load a syllabi Save/Load a syllabi Syllabi Submission Form Web Service Client DSpace Digital Library (Apache/Tomcat) Metadata Translation Item Document Creation Item Creation Web Service Server PostgreSQL Database mySQL Database for accounts, saved syllabi

Ontology for Syllabus Web Fields Derived from Ontology by Xiaoyan Yu of Virgina Tech DL Research Center Derived from Ontology by Xiaoyan Yu of Virgina Tech DL Research Center Professor Name Professor Name Days of Week Days of Week Time Time Class Location Class Location Course Code (Number, Section, CRN) Course Code (Number, Section, CRN) Phone Number Phone Number Office Hours Office Hours Course Web Site Course Web Site Grading Grading Exam Dates Exam Dates Course Format Course Format Semester Semester Course Description Course Description Assignments Assignments Calendar Calendar Grading Option Grading Option Professor Role Professor Role Book Title Book Title Publisher Publisher

Client Side Database ER USERPROFILE(profile_Id, , Name) SYLLABUS(syl_id, profile_id, Name, CourseCode, Days, Phone, , OfficeHours, CourseSite, Grading, ExamDates, Format, Semester, Assignments, Calendar, Grading Options, Professor Role, Time,...)

SOAP “a protocol for exchanging XML-based messages over a computer network, normally using HTTP” “a protocol for exchanging XML-based messages over a computer network, normally using HTTP” HTTP is the underlying network standard for the Internet HTTP is the underlying network standard for the Internet –“SOAP forms the foundation layer of the web services stack, providing a basic messaging framework that more abstract layers can build on” – Embodies the Service Oriented Architecture Distributed paradigm defining services as available “nodes on a network” Distributed paradigm defining services as available “nodes on a network” “SOAs comprise loosely coupled (joined), highly interoperable application services“ “SOAs comprise loosely coupled (joined), highly interoperable application services“ Interoperate in a defined format independent of the underlying programming language (Wikipedia) Interoperate in a defined format independent of the underlying programming language (Wikipedia) Apache Axis2 Apache Axis2

SOAP A SOAP message consists of A SOAP message consists of –A Required Envelope element that “identifies the XML document as a SOAP” –An optional header, must be directly after the envelope –A required body containing the request/response information –An optional fault element <soap:Envelope xmlns:soap=" soap:encodingStyle=" </getProductDetails></soap:Body></soap:Envelope>

Why Axis2? Why Axis2? –SOAP XML web service –Open Source, Java based, Tomcat friendly –Lightweight, small memory footprint –High degree of flexibility –Relatively simple install and accessible Java API Compared to Java RMI for example Compared to Java RMI for example A Tomcat web application A Tomcat web application –Cutting Edge technology (Version 1.0 5/4/06) –Part of the Apache Project –Recommended by web services developers –WS-Security Support

Deployed Axis2 Web Application Deployed Axis2 Web Application

System Architecture Apache Tomcat Axis2 Web Server DSpace Web Server PostgreSQL Database DSpace Item Uploader My Service Apache Tomcat WebForm.jsp WebFormServlet.java Axis2Client.java mySQL Database ItemCreator.java “cat > syllibus.doc”

Axis2 Client A typical Java class importing the Axis2 API A typical Java class importing the Axis2 API Will instantiate an Axis2 API OMElement Will instantiate an Axis2 API OMElement Object will be populated with an XML document representation of the syllabus data Object will be populated with an XML document representation of the syllabus data Each Syllabus entry will be an XML node Each Syllabus entry will be an XML node Object will be marshalled for HTTP Object will be marshalled for HTTP

Axis2 Web Service I will implement a basic Asynchronous (Blocking) Duel Transport System I will implement a basic Asynchronous (Blocking) Duel Transport System “To address the problem of long running transactions (the transport connection may time-out before the operation completes). A possible solution would be to use two separate transport connections for request and response.” (Axis2 User’s Guide “To address the problem of long running transactions (the transport connection may time-out before the operation completes). A possible solution would be to use two separate transport connections for request and response.” (Axis2 User’s Guide

Defining the Axis2 Server Writing a new Web Service with Axis2 involves four steps: Writing a new Web Service with Axis2 involves four steps: Write the Implementation Class Write the Implementation Class Write a services.xml file to explain the Web Service Write a services.xml file to explain the Web Service create a *.aar archive (Axis Archive) for the Web Service create a *.aar archive (Axis Archive) for the Web Service Deploy the Web Service Deploy the Web Service

Activity Diagram 1 Begin Syllabus Form Save Form Client Web Site Create Account Log into Account Load Form Submit Form Add EntryLog Out Edit Entries Valid Invalid Marshall into XML Object Axis2 Client Submit to Axis2 Server Course Instructor Create Axis2 OMElement Object Exception, cannot connect Stack trace printed to terminal, log

Activity Diagram 2 Object calls MyService Axis2 Server Item Uploader ItemCreator calls DSpace Item Uploader DSpace Server Message Handlers UnMarshall XML Object MyService calls ItemCreator Item Uploader Queries PostgreSQL Exception (Service not found, etc) RawXMLINOutMessageReceiver

Plan for Proceeding Develop Axis2 server Develop Axis2 server –Implement the server side web service Develop Basic Client Web site Develop Basic Client Web site –JSP Web Form with submission capability Web Form with submission capability –Servlet to call Axis2 Client –Axis2 Java Client Implement Server side DSpace Item creation and storage Implement Server side DSpace Item creation and storage Implement client side database, session capabilities Implement client side database, session capabilities

Conclusion Therefore I hope to implement a useful and educational distributed system for remote Digital Library Syllabi submission Therefore I hope to implement a useful and educational distributed system for remote Digital Library Syllabi submission