Course Module 2: Service-Oriented Programming (SOP)

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

David Martin for DAML-S Coalition 05/08/2003 OWL-S: Bringing Services to the Semantic Web David Martin SRI International
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
Collaborative Research: Developing Course Modules to Teach Service-Oriented Programming through Exemplification and Visualization Xumin Liu, Rajendra K.
Web Service Architecture
Siebel Web Services Siebel Web Services March, From
Overview of Web Services
TSpaces Services Suite: Automating the Development and Management of Web Services Presenter: Kevin McCurley IBM Almaden Research Center Contact: Marcus.
31242/32549 Advanced Internet Programming Advanced Java Programming
Web Service Ahmed Gamal Ahmed Nile University Bioinformatics Group
General introduction to Web services and an implementation example
1 Understanding Web Services Presented By: Woodas Lai.
Service-Oriented Architecture INF 123 – Software architecture 1.
Web Services Darshan R. Kapadia Gregor von Laszewski 1http://grid.rit.edu.
Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over.
Service-Oriented Programming
WEB SERVICES DAVIDE ZERBINO.
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.
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.
Distributed Heterogeneous Data Warehouse For Grid Analysis
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
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
Course Module 1: Service-Oriented Programming (SOP)
B. RAMAMURTHY Web services. Topics What is a web service? From OO to WS WS and the cloud WS code.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
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.
.NET, and Service Gateways Group members: Andre Tran, Priyanka Gangishetty, Irena Mao, Wileen Chiu.
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
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.
Web Services Architecture1 - Deepti Agarwal. Web Services Architecture2 The Definition.. A Web service is a software system identified by a URI, whose.
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.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
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
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.
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.
1 Web Services Web and Database Management System.
Web Services (SOAP) part 1 Eriq Muhammad Adams J |
WEB SERVICE DESCRIPTION LANGUAGE (WSDL). Introduction  WSDL is an XML language that contains information about the interface semantics and ‘administrivia’
Introduction to Web Services. Agenda Motivation History Web service model Web service components A walkthrough examples.
Web Services An Introduction Copyright © Curt Hill.
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.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
Web Services Blake Schernekau March 27 th, Learning Objectives Understand Web Services Understand Web Services Figure out SOAP and what it is used.
Web Services. Web Service: Simple definition : “ Service Offered On the Web “ Technically : “ A Web Service is a programmable application component that.
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.
Programming paradigms
Sabri Kızanlık Ural Emekçi
WEB SERVICES.
Unit – 5 JAVA Web Services
Web Ontology Language for Service (OWL-S)
Wsdl.
Web services, WSDL, SOAP and UDDI
Distributed Systems through Web Services
Introduction to SOA and Web Services
Presentation transcript:

Course Module 2: Service-Oriented Programming (SOP) SOP as a Programming Paradigm in a Middle-Level Undergraduate 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 the role and importance of service-oriented programming in current application development Explain the basic concepts of web services and service-oriented architecture Explain the standards underlying service-oriented architecture and web services Build and use web services using C# or Java Explain how software reuse and quality are improved by the use of web services’ composition

Common Programming Paradigms Imperative paradigm Based on von Neumann architecture where computation combines logic (what is to be done) and control flow (how it is to be done) Functional paradigm All computations are done by defining and applying (calling) mathematical functions Logic paradigm Computation is a systematic attempt to satisfy a goal based on provided facts and inference rules Object-oriented paradigm Objects represent state and behavior, and computation is accomplished by messages sent among objects Objects created from classes and inheritance provide software reuse

SOP: Another Programming Paradigm SOP is a new programming paradigm Uses “services” as the unit of work to design and develop integrated business applications and mission critical software programs Inherently designed to reuse existing services Naturally supports software reuse, which in turn helps to improve software quality

Object- and Service-Orientation Steps in solving a complex problem Abstraction Decomposes problem into sub-problems Solves each sub-problem and compose the 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 Should be easy to 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

Web Service: Definition From W3C (World Wide Web Consortium) It is a software system designed to support interoperable machine-to-machine interaction over a network Its interface is described in a machine-processable format (specifically WSDL) Other systems interact with the Web service as specified by its description using SOAP messages, typically over HTTP with an XML serialization along with other web-related standards WSDL: Web Service Description Language SOAP: Simple Object Access Protocol

Web Services: Features and Standards Global accessibility via the web Leverages web’s powerful communication paradigm Accessible via HTTP (across firewalls) Standardization, XML-based WSDL: used for service description (www.w3.org/TR/wsdl) UDDI: for service publishing and discovery (uddi.xml.org/) SOAP: for service invocation (www.w3.org/TR/SOAP/) Others WSDL: Web Service Description Language UDDI: Universal Description, Discovery and Integration SOAP: Simple Object Access Protocol

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 OOP typically constrained to homogeneity Same data types, programming languages, development platform, operating systems Web services handle heterogeneity Extensive use of XML as it has become ubiquitous Deal with the accessibility by providing access to functionalities available on the web (standard networking and http) SOP Builds on web services to support software reuse

Accessing Functionality Traditional software development Download functionality in a code library and link new code to use it SOP software development Access to functionalities already on the web Use existing networking infrastructure HTTP has become ubiquitous OOP software development Can also use functionality but needs some access mechanisms to identify functionality

SOP: A New Problem Solving Paradigm Traditional software development 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 Combine these services together to create new app

SOP At Present Major companies support web services Microsoft, IBM, HP, Oracle, BEA, SAP, and others Deliver their functionalities as web services Many web services available published online Over 11,101 web services and 7,364 mashups (SOP apps) http://www.programmableWeb.com Other search engines for web services http://www.webservicelist.com http://www.biocatalogue.org (curated catalog for life sciences) Web transformation From an information repository to a service repository

Web Services: Commercial Frameworks Microsoft (Windows Communication Foundation) http://msdn.microsoft.com/en-us/library/dd456779.aspx IBM (“simply good design”) http://www-01.ibm.com/software/solutions/soa/ Oracle (“agile and reusable connectivity”) 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

The Three APIs For hotel service: use Expedia APIs http://developer.ean.com/docs/hotels/ Demo: http://vhost3.cs.rit.edu/Application/ For weather service: use Weather underground API http://www.wunderground.com/weather/api/d/docs (weather, humidity, temperature, wind speed, etc.) For location service: use Google Directions API https://developers.google.com/maps/documentation/directions/

SOP Basis: Service-Oriented Architecture (SOA) Web Service Service Registry Consumer Provider Publish Find message exchange has defines Service Description UDDI Publication UDDI Inquiry SOAP WSDL UDDI Registry Web Browser