SlideShare a Scribd company logo
Alvin Chao – James Madison University 
@chaoaj, chaoaj@jmu.edu , #csuc14 - 
#ws101
Overview 
Topics: 
Who is this aimed at? 
What is a web service? 
Where do you find resources for Cascade Server Web Services 
Operations 
When / Why would you use Web Services / Real life 
applications 
How: Understanding how to make Web Services Calls 
Code examples for some commonly used operations
Who 
Technical users with a background in some modern 
programming language and XML/Xpath, XSLT , Velocity 
Managers/Supervisors to know what the capabilities are 
for extending Cascade with Web Services
What is a Web Service? 
W3C defintion for a web service is, “a software system designed to 
support interoperable machine-to-machine interaction over a 
network”. 
Web Services provide a way to communicate between your own 
external code based application and Cascade Server. 
Cascade Server uses Simple Object Access Protocol (SOAP) for 
Web Services based on a Web Services Definition 
Language(WSDL) 
SOAP leverages XML formatted data calls to send and receive 
information 
WSDL::Web Server Script as SOAP::HTML requests
Where do you find info about 
Web Services? 
W3 Schools Web Services 
tutorials(http://www.w3schools.com/webservices/default.a 
sp) 
SOAPuser.com(http://www.soapuser.com/index.html ) 
WSDL 
Essentials(http://www.developer.com/services/article.php/ 
1602051/WSDL-Essentials.htm )
When /Why would you use a 
Web Service?(Use Case 
Scenarios) 
Importing content into Cascade from other 3rd party apps or databases/files 
Pulling Cascade Data out to other 3rd party Applications 
Handling form submissions 
Updating access rights on multiple assets for a single user or group 
Advanced bulk change 
Bulk update content 
Selective publishing of specific assets only 
Data Definition Page to Data Definition Block conversion 
Reporting of Cascade statistical information for management / analytics
How: Understanding how to 
make Web Services calls 
Read/interpret Your WSDL 
Setup a client: or Make Raw SOAP calls 
PHP: needs soap package 
Perl: Need SOAP::Lite module 
Java 
Javascript 
ASP.NET 
Connection/Authentication 
Make Calls 
Enjoy your Web Services
Who’sDL? What’s a WSDL 
A Web Services Description Language(WSDL) is the XML 
response document that serves as a Table of Content or 
Glossary to describe available operations(methods) 
available from a server. 
Cascade Server WSDL location is: 
http://[yourserver.edu]/ws/services/AssetOperationService?wsdl 
Recommend using a parser for WSDL like SOAP UI – 
http://soapui.org
WSDL elements / tags 
DEFINITIONS: Name of the web services, including 
NameSpace(important) 
http://www.hannonhill.com/ws/ns/AssetOperationService 
TYPES: What types of data will be transmitted? 
MESSAGES: What Messages will be transmitted?(matches 
types for Cascade) 
PORTTYPE: What operations will be supported? Cascade = 
Input/Output pairs 
BINDING: How will a message be transmitted? SOAP 
details(raw literal message for Cascade) 
SERVICE: Where is the service located?(Server URL)
WSDL File 
http://localhost:8080/ws/services/AssetOperationService?w 
sdl
Getting SOAPy 
SOAP(Simple Object Access Protocol) is used for 
application to application communication of XML message 
over http protocol. 
SOAP features: 
Platform independent(*nix, Mac OS, Windows) 
Language independent(JS, .NET, Perl, PHP, Ruby, Python, 
Java, etc…)
Anatomy of a SOAP Call 
CLIENT 
1: Prepare SOAP Request 
and Client Socket 
2: Connect to Server 
Authentication 
w/Username 
3: Transmit SOAP request 
4: Wait 
5: Receive SOAP 
response 
6: Close Client Socket 
SERVER 
1: Prepare Server Socket/ 
Listen on Server Socket 
2: Connect with Client 
3:Receive SOAP request 
4: Process/Prepare SOAP 
response 
5: Transmit SOAP 
Response 
6: Wait 
Password 
HTTP + 
XML = 
SOAP 
XML 
Message 
over HTTP 
Soap Message: 
XML: Envelope: 
Header: Body 
Server Message 
sends results 
back in Body 
section of SOAP 
Response
SOAP Message portions 
XML DECLARATION: 
ENVELOPE: Sets up namespace as a SOAP message 
HEADER(optional must be first if present): Not necessary 
for Cascade 
BODY:Actual message to be run 
FAULT(optional): used for error handling.
Connection / Authentication 
Each operation needs to be authenticated using a username 
and password 
The operation is then executed as if that User performed the 
operation in the web UI: 
Given User is the author of the operation 
Permissions and abilities are verified 
Audits are created for that User 
User must be setup to have the rights to run that 
operation in Cascade
Cascade Available 
operations 
http://localhost:8080/ws/services/Asset 
OperationService?wsdl 
Most frequently used operations: 
Create 
Read 
Edit 
Delete 
Copy 
Read/Edit Access Rights 
Publish
Important keywords in WSDL 
"complexType" and "simpleType”
Important keywords in WSDL 
« choice - either element 
Sequence – order is specific
Important keywords in WSDL 
"element" 
Attributes: "minOccurs", "maxOccurs" and "type" 
Comments
Important keywords in WSDL 
"extension »- More specific information on the operation
Cascade WSDL parameters 
Required: 
xml 
parentFolderId or parentFolderPath 
name 
Optional: 
expirationFolderId or expirationFolderPath 
metadataSetId or metadataSetPath 
Metadata fields (title, displayName, etc.) 
siteId or siteName
SOAPUI.org client 
examples 
Would you pay $1000? - XML Spy 
Would you pay $100? Oxygen XML educational price 
Would What is SOAP UI? 
Like MS Access for SOAP calls, allows you to generate SQL 
like calls to a database but SOAP calls to a WSDL 
http://soapui.org
Example SOAP Read folder names 
message
Example return output
Limitations 
Can’t access past versions of assets and drafts 
Can’t render assets 
Can’t use tools(Bulk Change) 
Can’t change preferences 
Can’t change configuration files 
Can’t view or interact with publish queue 
Certain operations can be limited
Further Reading/Resources 
Artur Tomusiak’s CSUC12 presentation on How to use 
Web Services(http://www.slideshare.net/hannonhill/artur-tomusiak 
) 
Hannon Hill Github for Web Services(≈) Perl, PHP, Java 
examples(https://github.com/hannonhill) 
Wing Ming Chan’s Web Services page: 
(http://www.upstate.edu/cascade-admin/projects/web-services/ 
)
Other WS Presentations at 
#CSUC14 
Tues 10:15 Leveraging Adminstative Tasks with Web 
Services - Eric Caraballo 
Tues 1:30 Ingesting Banner output Schedule Classes 
into Cascade Server (In Java - Web Services) – Alem 
Areki 
Tues 1:30 Web Forms, or How I Learned to Stop 
Worrying and Love Web Services – Erik Gorka 
Tues 4:15 Web Services: Encapsulation, Reusability, and 
Simplicity - Wing Ming Chan
Questions? 
@chaoaj – chaoaj@jmu.edu 
#ws101

More Related Content

What's hot

Mule soft ppt 3
Mule soft ppt  3Mule soft ppt  3
Mule soft ppt 3
Vinoth Moorthy
 
Web Services
Web ServicesWeb Services
Web Services
Katrien Verbert
 
REST Presentation
REST PresentationREST Presentation
REST Presentation
Alexandros Marinos
 
Restful web services ppt
Restful web services pptRestful web services ppt
Mule soft ppt 2
Mule soft ppt  2Mule soft ppt  2
Mule soft ppt 2
Vinoth Moorthy
 
Restful webservice
Restful webserviceRestful webservice
Restful webservice
Dong Ngoc
 
Restful web services by Sreeni Inturi
Restful web services by Sreeni InturiRestful web services by Sreeni Inturi
Restful web services by Sreeni Inturi
Sreeni I
 
Creating Restful Web Services with restish
Creating Restful Web Services with restishCreating Restful Web Services with restish
Creating Restful Web Services with restish
Grig Gheorghiu
 
Webservice Testing
Webservice TestingWebservice Testing
Webservice Testing
Rachana Khedekar
 
RESTful Architecture
RESTful ArchitectureRESTful Architecture
RESTful Architecture
Kabir Baidya
 
Message in a Bottle
Message in a BottleMessage in a Bottle
Message in a Bottle
Zohar Arad
 
Web service testing_final.pptx
Web service testing_final.pptxWeb service testing_final.pptx
Web service testing_final.pptx
vodqancr
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
Tiago Knoch
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
Madhaiyan Muthu
 
Implementation advantages of rest
Implementation advantages of restImplementation advantages of rest
Implementation advantages of rest
Balamurugan Easwaran
 
Rest & RESTful WebServices
Rest & RESTful WebServicesRest & RESTful WebServices
Rest & RESTful WebServices
Prateek Tandon
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
srividhyau
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
Khasim Cise
 
Introduction to RESTful Webservices in JAVA
Introduction to RESTful Webservices  in JAVA Introduction to RESTful Webservices  in JAVA
Introduction to RESTful Webservices in JAVA
psrpatnaik
 
REST & RESTful Web Service
REST & RESTful Web ServiceREST & RESTful Web Service
REST & RESTful Web Service
Hoan Vu Tran
 

What's hot (20)

Mule soft ppt 3
Mule soft ppt  3Mule soft ppt  3
Mule soft ppt 3
 
Web Services
Web ServicesWeb Services
Web Services
 
REST Presentation
REST PresentationREST Presentation
REST Presentation
 
Restful web services ppt
Restful web services pptRestful web services ppt
Restful web services ppt
 
Mule soft ppt 2
Mule soft ppt  2Mule soft ppt  2
Mule soft ppt 2
 
Restful webservice
Restful webserviceRestful webservice
Restful webservice
 
Restful web services by Sreeni Inturi
Restful web services by Sreeni InturiRestful web services by Sreeni Inturi
Restful web services by Sreeni Inturi
 
Creating Restful Web Services with restish
Creating Restful Web Services with restishCreating Restful Web Services with restish
Creating Restful Web Services with restish
 
Webservice Testing
Webservice TestingWebservice Testing
Webservice Testing
 
RESTful Architecture
RESTful ArchitectureRESTful Architecture
RESTful Architecture
 
Message in a Bottle
Message in a BottleMessage in a Bottle
Message in a Bottle
 
Web service testing_final.pptx
Web service testing_final.pptxWeb service testing_final.pptx
Web service testing_final.pptx
 
ASP.NET Mvc 4 web api
ASP.NET Mvc 4 web apiASP.NET Mvc 4 web api
ASP.NET Mvc 4 web api
 
Web services - A Practical Approach
Web services - A Practical ApproachWeb services - A Practical Approach
Web services - A Practical Approach
 
Implementation advantages of rest
Implementation advantages of restImplementation advantages of rest
Implementation advantages of rest
 
Rest & RESTful WebServices
Rest & RESTful WebServicesRest & RESTful WebServices
Rest & RESTful WebServices
 
Rest presentation
Rest  presentationRest  presentation
Rest presentation
 
Introduction to WebServices
Introduction to WebServicesIntroduction to WebServices
Introduction to WebServices
 
Introduction to RESTful Webservices in JAVA
Introduction to RESTful Webservices  in JAVA Introduction to RESTful Webservices  in JAVA
Introduction to RESTful Webservices in JAVA
 
REST & RESTful Web Service
REST & RESTful Web ServiceREST & RESTful Web Service
REST & RESTful Web Service
 

Similar to Web services101

Web services overview
Web services overviewWeb services overview
Web Services
Web ServicesWeb Services
Web Services
Gaurav Tyagi
 
Web Services
Web ServicesWeb Services
Web Services
Gaurav Tyagi
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
VijayapriyaP1
 
Web Services
Web Services Web Services
Web Services
Nibha Jain
 
jkljklj
jkljkljjkljklj
jkljklj
hoefo
 
Presentation
PresentationPresentation
Presentation
Videoguy
 
Jax ws
Jax wsJax ws
Jax ws
F K
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGig
Mandakini Kumari
 
Xml.ppt
Xml.pptXml.ppt
Webservices in SalesForce (part 1)
Webservices in SalesForce (part 1)Webservices in SalesForce (part 1)
Webservices in SalesForce (part 1)
Mindfire Solutions
 
Xml web services
Xml web servicesXml web services
Xml web services
Raghu nath
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
Neil Ghosh
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
Lucas Jellema
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
Jeffrey Hasan
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
Lucas Jellema
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
Adnan Masood
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
Sreekanth Narayanan
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
Northeastern University
 
SCDJWS 6. REST JAX-P
SCDJWS 6. REST  JAX-PSCDJWS 6. REST  JAX-P
SCDJWS 6. REST JAX-P
Francesco Ierna
 

Similar to Web services101 (20)

Web services overview
Web services overviewWeb services overview
Web services overview
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Services
Web ServicesWeb Services
Web Services
 
Web Programming
Web ProgrammingWeb Programming
Web Programming
 
Web Services
Web Services Web Services
Web Services
 
jkljklj
jkljkljjkljklj
jkljklj
 
Presentation
PresentationPresentation
Presentation
 
Jax ws
Jax wsJax ws
Jax ws
 
Web services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGigWeb services soap and rest by mandakini for TechGig
Web services soap and rest by mandakini for TechGig
 
Xml.ppt
Xml.pptXml.ppt
Xml.ppt
 
Webservices in SalesForce (part 1)
Webservices in SalesForce (part 1)Webservices in SalesForce (part 1)
Webservices in SalesForce (part 1)
 
Xml web services
Xml web servicesXml web services
Xml web services
 
Intro to web services
Intro to web servicesIntro to web services
Intro to web services
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
 
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and CorrelationWS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
WS-Addressing: Enabling Transport-Neutral Message Addressing and Correlation
 
The Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOAThe Story of How an Oracle Classic Stronghold successfully embraced SOA
The Story of How an Oracle Classic Stronghold successfully embraced SOA
 
Web API or WCF - An Architectural Comparison
Web API or WCF - An Architectural ComparisonWeb API or WCF - An Architectural Comparison
Web API or WCF - An Architectural Comparison
 
SOA and web services
SOA and web servicesSOA and web services
SOA and web services
 
Web Service Basics and NWS Setup
Web Service  Basics and NWS SetupWeb Service  Basics and NWS Setup
Web Service Basics and NWS Setup
 
SCDJWS 6. REST JAX-P
SCDJWS 6. REST  JAX-PSCDJWS 6. REST  JAX-P
SCDJWS 6. REST JAX-P
 

Recently uploaded

Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
Paul Walk
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
zoowe
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
bseovas
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
AanSulistiyo
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
ukwwuq
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
SEO Article Boost
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 

Recently uploaded (20)

Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
 
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
国外证书(Lincoln毕业证)新西兰林肯大学毕业证成绩单不能毕业办理
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
留学学历(UoA毕业证)奥克兰大学毕业证成绩单官方原版办理
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
Azure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdfAzure EA Sponsorship - Customer Guide.pdf
Azure EA Sponsorship - Customer Guide.pdf
 
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
制作原版1:1(Monash毕业证)莫纳什大学毕业证成绩单办理假
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
Understanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdfUnderstanding User Behavior with Google Analytics.pdf
Understanding User Behavior with Google Analytics.pdf
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 

Web services101

  • 1. Alvin Chao – James Madison University @chaoaj, chaoaj@jmu.edu , #csuc14 - #ws101
  • 2. Overview Topics: Who is this aimed at? What is a web service? Where do you find resources for Cascade Server Web Services Operations When / Why would you use Web Services / Real life applications How: Understanding how to make Web Services Calls Code examples for some commonly used operations
  • 3. Who Technical users with a background in some modern programming language and XML/Xpath, XSLT , Velocity Managers/Supervisors to know what the capabilities are for extending Cascade with Web Services
  • 4. What is a Web Service? W3C defintion for a web service is, “a software system designed to support interoperable machine-to-machine interaction over a network”. Web Services provide a way to communicate between your own external code based application and Cascade Server. Cascade Server uses Simple Object Access Protocol (SOAP) for Web Services based on a Web Services Definition Language(WSDL) SOAP leverages XML formatted data calls to send and receive information WSDL::Web Server Script as SOAP::HTML requests
  • 5. Where do you find info about Web Services? W3 Schools Web Services tutorials(http://www.w3schools.com/webservices/default.a sp) SOAPuser.com(http://www.soapuser.com/index.html ) WSDL Essentials(http://www.developer.com/services/article.php/ 1602051/WSDL-Essentials.htm )
  • 6. When /Why would you use a Web Service?(Use Case Scenarios) Importing content into Cascade from other 3rd party apps or databases/files Pulling Cascade Data out to other 3rd party Applications Handling form submissions Updating access rights on multiple assets for a single user or group Advanced bulk change Bulk update content Selective publishing of specific assets only Data Definition Page to Data Definition Block conversion Reporting of Cascade statistical information for management / analytics
  • 7. How: Understanding how to make Web Services calls Read/interpret Your WSDL Setup a client: or Make Raw SOAP calls PHP: needs soap package Perl: Need SOAP::Lite module Java Javascript ASP.NET Connection/Authentication Make Calls Enjoy your Web Services
  • 8. Who’sDL? What’s a WSDL A Web Services Description Language(WSDL) is the XML response document that serves as a Table of Content or Glossary to describe available operations(methods) available from a server. Cascade Server WSDL location is: http://[yourserver.edu]/ws/services/AssetOperationService?wsdl Recommend using a parser for WSDL like SOAP UI – http://soapui.org
  • 9. WSDL elements / tags DEFINITIONS: Name of the web services, including NameSpace(important) http://www.hannonhill.com/ws/ns/AssetOperationService TYPES: What types of data will be transmitted? MESSAGES: What Messages will be transmitted?(matches types for Cascade) PORTTYPE: What operations will be supported? Cascade = Input/Output pairs BINDING: How will a message be transmitted? SOAP details(raw literal message for Cascade) SERVICE: Where is the service located?(Server URL)
  • 11. Getting SOAPy SOAP(Simple Object Access Protocol) is used for application to application communication of XML message over http protocol. SOAP features: Platform independent(*nix, Mac OS, Windows) Language independent(JS, .NET, Perl, PHP, Ruby, Python, Java, etc…)
  • 12. Anatomy of a SOAP Call CLIENT 1: Prepare SOAP Request and Client Socket 2: Connect to Server Authentication w/Username 3: Transmit SOAP request 4: Wait 5: Receive SOAP response 6: Close Client Socket SERVER 1: Prepare Server Socket/ Listen on Server Socket 2: Connect with Client 3:Receive SOAP request 4: Process/Prepare SOAP response 5: Transmit SOAP Response 6: Wait Password HTTP + XML = SOAP XML Message over HTTP Soap Message: XML: Envelope: Header: Body Server Message sends results back in Body section of SOAP Response
  • 13. SOAP Message portions XML DECLARATION: ENVELOPE: Sets up namespace as a SOAP message HEADER(optional must be first if present): Not necessary for Cascade BODY:Actual message to be run FAULT(optional): used for error handling.
  • 14. Connection / Authentication Each operation needs to be authenticated using a username and password The operation is then executed as if that User performed the operation in the web UI: Given User is the author of the operation Permissions and abilities are verified Audits are created for that User User must be setup to have the rights to run that operation in Cascade
  • 15. Cascade Available operations http://localhost:8080/ws/services/Asset OperationService?wsdl Most frequently used operations: Create Read Edit Delete Copy Read/Edit Access Rights Publish
  • 16. Important keywords in WSDL "complexType" and "simpleType”
  • 17. Important keywords in WSDL « choice - either element Sequence – order is specific
  • 18. Important keywords in WSDL "element" Attributes: "minOccurs", "maxOccurs" and "type" Comments
  • 19. Important keywords in WSDL "extension »- More specific information on the operation
  • 20. Cascade WSDL parameters Required: xml parentFolderId or parentFolderPath name Optional: expirationFolderId or expirationFolderPath metadataSetId or metadataSetPath Metadata fields (title, displayName, etc.) siteId or siteName
  • 21. SOAPUI.org client examples Would you pay $1000? - XML Spy Would you pay $100? Oxygen XML educational price Would What is SOAP UI? Like MS Access for SOAP calls, allows you to generate SQL like calls to a database but SOAP calls to a WSDL http://soapui.org
  • 22. Example SOAP Read folder names message
  • 24. Limitations Can’t access past versions of assets and drafts Can’t render assets Can’t use tools(Bulk Change) Can’t change preferences Can’t change configuration files Can’t view or interact with publish queue Certain operations can be limited
  • 25. Further Reading/Resources Artur Tomusiak’s CSUC12 presentation on How to use Web Services(http://www.slideshare.net/hannonhill/artur-tomusiak ) Hannon Hill Github for Web Services(≈) Perl, PHP, Java examples(https://github.com/hannonhill) Wing Ming Chan’s Web Services page: (http://www.upstate.edu/cascade-admin/projects/web-services/ )
  • 26. Other WS Presentations at #CSUC14 Tues 10:15 Leveraging Adminstative Tasks with Web Services - Eric Caraballo Tues 1:30 Ingesting Banner output Schedule Classes into Cascade Server (In Java - Web Services) – Alem Areki Tues 1:30 Web Forms, or How I Learned to Stop Worrying and Love Web Services – Erik Gorka Tues 4:15 Web Services: Encapsulation, Reusability, and Simplicity - Wing Ming Chan
  • 27. Questions? @chaoaj – chaoaj@jmu.edu #ws101