Course Module 1: Service-Oriented Programming (SOP)

Slides:



Advertisements
Similar presentations
Collaborative Research: Developing Course Modules to Teach Service-Oriented Programming through Exemplification and Visualization Xumin Liu, Rajendra K.
Advertisements

General introduction to Web services and an implementation example
Course Module 2: Service-Oriented Programming (SOP)
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Service-Oriented Programming
Snejina Lazarova Senior QA Engineer, Team Lead CRMTeam Dimo Mitev Senior QA Engineer, Team Lead SystemIntegrationTeam Telerik QA Academy SOAP-based Web.
Presentation 7 part 1: Web Services Introduced. Ingeniørhøjskolen i Århus Slide 2 Outline Definition Overview of Web Services Examples Next Time: SOAP.
Presentation 7: Part 1: Web Services Introduced. Outline Definition Overview of Web Services Examples Next Time: SOAP & WSDL.
CIS-764 Database Design Service-Oriented Architecture and Web-Services Binti Sepaha.
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.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
TRAVEL RESERVATION SYSTEM USING WEB SERVICES COMPOSITION LANGUAGE
Integration of Applications MIS3502: Application Integration and Evaluation Paul Weinberg Adapted from material by Arnold Kurtz, David.
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Dharmender Singh Leverage Web Services with DRA to Automate User Provisioning.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Introduction SOAP History Technical Architecture SOAP in Industry Summary References.
1 Web Services Distributed Systems. 2 Service Oriented Architecture Service-Oriented Architecture (SOA) expresses a software architectural concept that.
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.
DISTRIBUTED COMPUTING
What is Service Oriented Architecture ? CS409 Application Services Even Semester 2007.
Web Service Bright + Ong. Meaning A collection of protocols and standards used for exchanging data between applications or systems Written in various.
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
Architecting Web Services Unit – II – PART - III.
Web Services based e-Commerce System Sandy Liu Jodrey School of Computer Science Acadia University July, 2002.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
Chris Kuruppu NWS Office of Science and Technology Systems Engineering Center (Skjei Telecom) 10/6/09.
Web Services Martin Smítka. Description The main idea behind Web Services is that back-end application comunicate with another back-end application without.
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.
Semantic Web Technologies Research Topics and Projects discussion Brief Readings Discussion Research Presentations.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
SOAP-based Web Services Telerik Software Academy Software Quality Assurance.
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
CSCE 315 – Programming Studio Spring Goal: Reuse and Sharing Many times we would like to reuse the same process or data for different purpose Want.
Service Oriented Architecture + SOAP -Robin John.
GEO PLACES EXPLORER PRESENTED BY KHUSHBOO BAGHADIYA SUMANA VENKATESH.
Simple Object Access Protocol
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
HNDIT Rapid Application Development
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
1 Service Oriented Architecture SOA. 2 Service Oriented Architecture (SOA) Definition  SOA is an architecture paradigm that is gaining recently a significant.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Software Architecture Patterns (3) Service Oriented & Web Oriented Architecture source: microsoft.
XML and Distributed Applications By Quddus Chong Presentation for CS551 – Fall 2001.
By Jeremy Burdette & Daniel Gottlieb. It is an architecture It is not a technology May not fit all businesses “Service” doesn’t mean Web Service It is.
A Semi-Automated Digital Preservation System based on Semantic Web Services Jane Hunter Sharmin Choudhury DSTC PTY LTD, Brisbane, Australia Slides by Ananta.
12. DISTRIBUTED WEB-BASED SYSTEMS Nov SUSMITHA KOTA KRANTHI KOYA LIANG YI.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Architecting Web Services
WEB SERVICES.
Unit – 5 JAVA Web Services
SOA (Service Oriented Architecture)
Architecting Web Services
Web Ontology Language for Service (OWL-S)
The Improvement of PaaS Platform ZENG Shu-Qing, Xu Jie-Bin 2010 First International Conference on Networking and Distributed Computing SQUARE.
Implementing a service-oriented architecture using SOAP
Wsdl.
Service Oriented Architecture + SOAP
Distributed Systems through Web Services
Middleware, Services, etc.
Introduction to SOA and Web Services
Presentation transcript:

Course Module 1: Service-Oriented Programming (SOP) A Gentle Introduction to SOP in an Introductory Computing Course

Acknowledgments This material is based upon work supported by the National Science Foundation under Awards No. DUE-1140567, DUE-1141112, and DUE-1141200. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation.

Module Learning Outcomes Students will be able to: Describe why service-oriented programming is important in modern programming Explain the basic concepts of web services and service-oriented architecture Develop an application that reuses previously implemented web services

Object- and Service-Orientation Steps in solving a complex problem Abstraction Decomposes problem into sub-problems Solves each sub-problem and composes overall solution Object-orientation Describes an abstraction using objects Objects help to model problem and develop the solution Service-orientation Describes an abstraction using services Services help to model problem and develop the solution Developed service can be used to develop new services

Programming Abstractions: Evolution Figure is from Introduction to Web Services by Dr. Marcello La Rosa, QUT

Service-Oriented Programming (SOP) A programming paradigm that uses “services” as the building block to develop applications Approach Develop services Make use of services by invoking (calling) others Combine services to make additional services Main ideas Make use of web services

What is a Web Service? A service (high-level description) Similar to a method A program calls a method and gets some results back A web service (high-level description) A service that can be invoked by a program over the web (http) A web service is different from a web application A web application is for use by humans Such as http://www.weather.com A web service is for use by programs Such as Twitter APIs https://dev.twitter.com/docs/api/1

What is a Web Service? (continued) Defined by World Wide Web Consortium (W3C) At a high-level, a web service is a software system that allows other programs to use it over a network To make use of a web service, its interface is described in a standard format typically over HTTP Standard protocols such as SOAP (simple object access protocol) are used to send messages on the network Data is packaged using a standard representation that uses XML

Examples of Web Services A self-contained business task A money withdrawal or funds deposit service for a bank A full-fledged business process with multiple tasks Automated purchasing of office supplies with approvals at different levels An application A complete life insurance application A service-enabled resource Access to a remote database containing patient medical records self-contained: does not need other resources business task: simple logical step

What Web Services Bring to SOP Traditional OOP constrained to homogeneity Same data types, programming languages, development platform, operating systems Web services handle heterogeneity extensively use XML because XML has become ubiquitous Accessibility through functionalities is available on the web (standard networking and http) SOP Builds on web services to support software reuse

SOP: Problem-Solving Methodology Traditional Develop a new app from scratch SOP Develop a new app not from scratch but by using existing services Decompose problem into sub-problems For each sub-problem, select existing or develop appropriate services Compose these services together to create new app

SOP At Present Many web services are available online Major companies support web services Microsoft, IBM, HP, Oracle, BEA, SAP… Functionalities are delivered as web services Over 11697 Web services and 7235 mashups (SOP applications) published in http://www.programmableweb.com Other search engines http://www.webservicelist.com/ http://www.biocatalogue.org/ Web transformation From an information repository to a service repository

Web Service Commercial Frameworks Microsoft http://msdn.microsoft.com/en-us/library/dd456779.aspx IBM http://www-01.ibm.com/software/solutions/soa/ Oracle http://www.oracle.com/us/products/middleware/soa/overview/index.html Hewlett Packard http://h71028.www7.hp.com/enterprise/w1/en/technologies/soa-overview.html

SOP: An Example Application Develop a web-based query application to allow users view gas stations, local weather and driving information at a given location Input address Output List of gas stations Local weather Driving directions

SOP: Designing the Application Traditional design approach Develop a gas station service Input: address Output: gas stations nearby Develop a weather service Output: local weather Develop a route service Input: two addresses Output: Driving directions Not trivial to develop any of these services SOP approach First see if existing web services can handle one or more of the above Use those functionalities via existing web services Build the rest

Gas Station APIs WSDL link: http://vhost3.cs.rit.edu/AltGasService/Service.svc?singleWsdl Input city (such as “Rochester”, “Buffalo”, and “Syracuse”) Output: the list of gas stations name, address, phone, access day time, payment methods

Weather Service APIs Weather underground weather API http://www.wunderground.com/weather/api/d/docs Input geocode Output Current weather conditions (weather, humidity, temperature, wind speed, etc.) Demo http://vhost3.cs.rit.edu/Application/

Routing Service APIs Google Directions API https://developers.google.com/maps/documentation/directions/ Input origin, destination Output: driving directions duration, instructions, distances,… Demo http://vhost3.cs.rit.edu/Application/

Demo and Code Segments Demo Source code where each service is invoked Consuming the gasStation service Consuming the weather service Consuming the routing service