Download presentation
Presentation is loading. Please wait.
1
Understanding Web Services
Chapter 4 Understanding Web Services Dr. Mohsen Sadighi Sharif University of Technology International Campus, Kish Island Spring 2007 Course: Semantic Web
2
Outline Introduction Web services Related technologies Security
What is it? Why? / its role Related technologies SOAP WSDL UDDI Security
3
Introduction Semantic Web: a machine process-able web of smart data.
Define smart data as: application-independent, Compose able, classified, and part of a larger information ecosystem (ontology).
4
Introduction (cont.) XML as a standard tool to join content and meta data RDF as a framework to give description about resources But how different web based application can work together?
6
An analogy: Air port services
Parking guide Evacuation steps * Control tower Fuel
7
Requirements For use side For develop side Need to find
Need to communicate Need to access For develop side Need to develop Need to describe Need to maintain
8
Web services (page 58) Web services are software applications
available on the Web that perform specific functions. Web services can be “ discovered, described, and accessed based on XML and standard Web protocols.” Over intranets, extranets, and the Internet. Via UDDI & ebXML Via Simple Object Access Protocol (SOAP) Via Web Service Definition Language, WSDL
9
Web Services / Role / Benefit
Web services first focus on interoperability. The widespread support and adoption of Web services make the technologies involved very important to understand. The cost-saving advantages of Web services technology. (Benefits of component based development)
10
Internal & external use
Web services are available “over intranets, extranets, and the Internet.” Not only can Web services be public, they can exist on an internal network for internal applications. Web services could be used between partnering organizations in a small B2B solution. It is important to understand that there are benefits for using Web services internally as well as externally.
11
Matching rail roads Companies who succeed in the market realize that flexibility is everything. To interoperate with many companies and applications in your business, you need a common language and a way to solve problems in a dynamic environment. Web services provide this framework.
12
Web Service Architecture (Wikipedia)
13
Example “Driving directions finder” Web service that provides the capability to To get text-based car directions from any address to any address, listing the driving distances and estimated driving times. A search engine
14
Related Technologies XML is used to tag the data,
SOAP is used to transfer the data, WSDL is used for describing the services available and UDDI is used for listing what services are available.
15
The basic layers of web services
16
Technologies in use
17
Technologies in use (Cont.)
Step 1: the client application discovers information about Web Service A in a UDDI registry. In Step 2, the client application gets the WSDL for Web Service A from the UDDI registry to determine Web Service A’s API. Finally, in Steps 3 and 4, the client application communicates with the Web service via SOAP, using the API found in Step 2. We’ll get more into the details of these technologies.
18
Web services & user interface
Web services can be completely independent of the presentation, or the graphical user interface (GUI) of applications. Instead, Web services send data in XML format, and applications can add style and formatting when they receive the data. (page 59 2nd para)
19
Web services & user interface (Cont.)
The service usually provides no graphics; only XML messages to a client application. Any application, (such as a program created in UNIX, a Microsoft Windows application, a Java applet, or server-side Web page), can take the information received from that application and style it to provide graphics and presentation.
20
Web services & user interface (Cont.)
Because only XML data is sent back and forth, any front-end application that understands XML can speak to the Web service. (page 60) Because a Web service does not need to focus on presentation styling, the focus for creating them is purely on business logic, making it easier to reuse Web services as software components in your enterprise.
21
Model-View-Controller paradigm
Separating business logic from presentation is commonly known in software engineering as the Model-View-Controller (MVC) paradigm. Web services support MVC paradigm. نظام
22
Model-View-Controller paradigm (Cont.)
23
Model-View-Controller paradigm (Cont.)
Because the presentation is separate, the client application can present the information to the user in many different ways. This is an important concept because many browsers make it easier for you by offloading this processing with style sheets, using XSL Transformations (XSLT). Page 60
24
Why Use Web Services? Do Web Services Solve Real Problems?
Is There Really a Future for Web Services?
25
Do Web Services Solve Real Problems?
Solves integration problem in our fast-paced world of ever-changing technologies, market conditions, and business relationships. P 61 Integration problem, specially in our Iran context Agreement on a technology that works is more important for business than debating which technology works best.
26
Do Web Services Solve Real Problems? (Cont.)
There is such widespread agreement and adoption of the Web service protocols, It is now possible to leverage the work of your existing applications and turn them into Web services By using the standard Web service protocols that everyone understands
27
Is There Really a Future for Web Services?
Most of the success of a technology is based on business, the decisions that are made by major business players. Giants such as Microsoft, IBM, Sun, and the open source community agree on Web services because of the adoption of Web services protocols (SOAP in particular), the future is very bright. Page 64, 2nd para
28
How Can I Use Web Services?
If you are an application vendor, you need to have a SOAP API to your application, because it is now a common API for all platforms. If you are a business that provides services to individuals and other companies, the previous slides may have provided you with new ideas
29
Application If you are an organization that has many legacy systems that work but do not interoperate, you may find that you can easily adopt the Web services model for your business; It is called Enterprise Application Integration (EAI). Between enterprises, this is known as business-to-business (B2B). P 64 4th para
30
Application (Cont.); Most analysts believe that organizations will adopt Web services “from the inside out.” That is, intranet applications such as enterprise portals, where many data sources are integrated into a federation of data stores, will flourish (grow). Web services allow you to integrate your internal processes, saving time and money.
31
Application (Cont.) Most business analysts believe that organizations that deploy Web services internally will be prepared for the next boom in a mass B2B marketplace.
32
Understanding the Basics of Web Services p 65
Web service message syntax (SOAP), Web service discovery and registration technologies, Web service orchestration, Web service security, and technologies that will undoubtedly shape the future of Web services.
33
What Is SOAP? Ice cream factory! Again! Contins
34
What Is SOAP? Do not consider it as Simple Object Access Protocol!! No relation to OO programming SOAP is the envelope syntax for sending and receiving XML messages with Web services. That is, SOAP is the “envelope” that packages the XML messages that are sent over HTTP between clients and Web services.
35
What is SOAP (Cont.) As defined by the W3C, SOAP is “a lightweight protocol for exchange of information in a decentralized, distributed environment.” ( Page 65 And the language that Web services speak (SOAP), page 68
36
What is SOAP (Cont.) SOAP has been adopted as the standard for Web services, and applications from major vendors Have developed SOAP APIs for their products, Thus making software systems integration easier.
37
SOAP structure A SOAP message contains the following elements:
A SOAP envelope that wraps the message A description of how data is encoded A SOAP body that contains the application-specific message that the backend application will understand
38
Structure of SOAP message
39
SOAP Structure Required SOAP Body and Envelope Optional SOAP Header
40
A simple SOAP message, the application-specific information (the call to GetLast- TradePrice in the SOAP body).
41
Role of application information
A Web service Receives the application specific information, Processes the request in the SOAP body, And can return a SOAP response.
42
SOAP Content <?xml version="1.0" ?>
<env:Envelope xmlns:env=" <env:Header> <data:headerBlock xmlns:data=" env:actor=" env:mustUnderstand="true"> ... </data:headerBlock> </env:Header> <env:Body> <data:bodyBlock xmlns:data=" </data:bodyBlock> </env:Body> </env:Envelope>
43
An example SOAP response
44
SOAP & developers Developers don’t necessarily have to understand the details of SOAP. Many tools, create the SOAP handlers automatically such as those that come with Microsoft’s .NET and the Java tools for Sun’s JAX-RPC,. The developer simply creates objects with methods to be invoked and transforms the object into a Web service with his or her vendor’s toolkit.
45
How to Describe Basic Web Services (p 68)
Web Service Definition Language (WSDL) is the way we describe the communication details and the application-specific messages that can be sent in SOAP. WSDL, like SOAP, is an XML grammar.
46
Definition of WSDL The W3C defines WSDL as: “an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information.” To know how to send messages to a particular Web service, an application can look at the WSDL and dynamically construct SOAP messages. (p 68)
47
Role of WSDL (p 68 ) WSDL describes the operational information—
where the service is located, what the service does, and how to talk to (or invoke) the service. It can be thought of as an XML form of CORBA’s Interface Definition Language (IDL). The format of WSDL can look pretty scary, but it isn’t really intended to be human-readable.
48
Discovery problem of Web services
As Web services proliferate, they become similar to Web pages in that they are more difficult to discover. Semantic Web technologies will be necessary to solve the Web service discovery problem.
49
How to Discover Web Services?
Finding Web services based on what they provide introduces two key registry Technologies: UDDI (Universal Description, Discovery, and Integration) and ebXML registries. they may complement each other in the evolution of Web services.
50
What Is UDDI? Simply put, UDDI is a phone book for Web services. P 69
Is a platform-independent, XML-based registry for businesses worldwide to list themselves on the Internet. (Wikipedia) UDDI is an open industry initiative, sponsored by OASIS, enabling businesses to publish service listings and discover each other and define how the services or software applications interact over the Internet.
51
What Is UDDI? (Cont.)
52
What Are ebXML Registries?
The ebXML standard was created by OASIS to link traditional data exchanges to business applications to enable intelligent business processes using XML. (p 71)
53
ebXML architecture in use
54
Application (Cont.) most business analysts believe that organizations that deploy Web services internally will be prepared for the next boom in a mass B2B marketplace. جهش
55
Orchestrating Web services or Web service choreography or flow composition
Configuration of Web services Orchestration is the process of combining simple Web services to create complex, sequence-driven tasks. It involves creating business logic to maintain conversations between multiple Web services. Orchestration can occur between an application and multiple Web services, or Multiple Web services can be chained into a workflow, so that they can communicate with one another. (page 72)
56
Example: orchestrating 5 Web services
Hotel finder Web service. Driving directions finder Web service. Airline ticket booker Web service Car rental Web service Expense report creator Web service (p 73)
57
Example of orchestration
58
Orchestration Products and Technologies
Back in 2000, Microsoft’s BizTalk Server was released for the purpose of orchestrating Web service and enterprise applications. BizTalk uses XLANG, Microsoft’s XML-based orchestration language, to define process flow and conversations between Web services. At the same time, other products, such as BEA, Iona, and IBM have developed similar products.
59
Orchestration Products and Technologies (Cont.)
IBM later developed Web Services Flow Language (WSFL) to describe how Web services can be composed into new Web services. WSFL describes interactions between multiple Web services and is similar in purpose to XLANG. Many believe that IBM’s WSFL and Microsoft’s XLANG will agree to submit a joint proposal to the W3C to create a standard orchestration language.
60
Securing Web Services How can we know the identity of who’s getting the information? How can we know what information a user is allowed to see? With online transactions, how can we have some assurance that the transaction is valid? How can we keep sensitive information transfers confidential? How can we prove, in a court of law, that someone accessed information? How can we know that a user’s transmission hasn’t been intercepted and changed? We address some of these issues
61
Security concerns (p 77) Authentication. Authorization.
Single sign-on (SSO). Confidentiality. Integrity. Non-repudiation (no-rejection. To be legal)
62
Good news For most internal Web service architectures (intranet and, to some extent, extranet), security issues can be minimized. Web services security standards are evolving rapidly Characteristics of the application may help
63
Distributed nature of Web services and its impact on security (p 78)
64
For security XML Signature is a W3C recommendation that provides a means to validate message integrity and non-repudiation. XML Encryption is a technology and W3C Candidate Recommendation that handles confidentiality;
65
For security XKMS (XML Key Management Specification) is a W3C Note that was developed jointly by the W3C and the IETF (p 80) SAML ( Security Assertion Markup Language ) is an OASIS standard that has received industry wide support and acceptance, and it promises to be key in the achievement of SSO in Web services.
66
For security SAML XACML WS-Security Liberty Alliance Project
Security & reliability are major holes in Web services,
67
Grid-Enabled Web Services
A computational grid is a collection of distributed systems that can perform operations. In a Web services environment, such a concept brings more distributed power to the network. Need to load balancing and fault tolerance on a massive scale. The marriage of grid computing to Web services may bring stability in such a dynamic environment.
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.