MC365 Introduction to Class

Download Report

Transcript MC365 Introduction to Class

GROUP 1 Presentation
Web Services
“a major shift in the way we think about software
architecture and distributed computing”
Presented by:
Dan Alperovich
Patrick Bitonti
Eric Breeden
Brian Pante
Today We Will Cover
• Introduction To Web Services
– Examples of their Uses
– Approach Taken by Businesses with Web Services
– Key Features
• Technologies Used in Web Services
– XML, UDDI, SOAP, WSDL, ebXML
• A Simple Code Example to Demonstrate
Web Services
Introduction to Web Services
• What are Web Services
– According to SUN, “a Web service is a modular piece of code on
the Internet that provides one or more business functions, and that
can be discovered and used on demand.”
– Important NEW tool for business-to-business (B2B) collaboration
• The Web services approach greatly simplifies B2B collaboration and provides
a new model for the way businesses share their data and systems
• Get rid of communication problems between businesses by doing everything
according to standard request and response protocols
– Example of a Web Services Use by a Business
• “An enterprise can be the provider of Web services and also the consumer of
other Web services. For example, a wholesale distributor of spices could be in
the consumer role when it uses a Web service to check on the availability of
vanilla beans and in the provider role when it supplies prospective customers
with different vendors' prices for vanilla beans.”
Introduction to Web Services
• Example of Web Services Uses
– “An often-cited example of a Web service is that of a stock quote
service, in which the request asks for the current price of a
specified stock, and the response gives the stock price. This is one
of the simplest forms of a Web service in that the request is filled
almost immediately, with the request and response being parts of
the same method call.”
– “instead of including credit card transaction processing functions
in an online retail application, an application can access a Web
service that provides those functions”
Web Services Approach
• The Web services approach typically involves these actions:
– A business first creates and deploys its service.
– The business must then register this service over the Internet. This registry contain
key information about the service being offered and also shows how additional
information can be obtained when necessary.
– Other businesses use application programs to search these registries for the services
they require. The Web services model supports standard registries such as business
registries that conform to UDDI or ebXML.
– The information obtained through the UDDI registry allows the other business to
locate the server which is running the service and find a service definition that
details how to make requests to the service along with a number of other things.
The ebXML registry is slightly different in that it involves the exchange of business
information between the creator of the Web Service and the user of the Web
Service. The two parties concerned then make a business arrangement. The
requester then locates and uses the Web service according to the business
arrangement.
Web Services Approach
• This Model Demonstrates the 5 Key Features of Web Services
and may help you to gain a better understanding of the processes
involved
Key Features of Web Services
• MOST IMPORTANT - Based on Standards
– entire Web services approach is based on a set of standard protocols and
technologies, so that all participating components understand how to communicate
– eliminates confusions that could arise between to business's trying to communicate
using two entirely different forms of communication
– “For example, service discovery in a UDDI registry, as well as requests for the
service, use a standard messaging protocol called SOAP. Service definitions follow
a Web service description standard called WSDL. And the transactions that involve
the exchange of business profiles follow ebXML Messaging Standards. The bottom
line is that companies no longer have to work out special, proprietary agreements
regarding how to communicate requests between their systems, and what the
communicated information means.”
• ELIMINATES STEPS IN COMMUNICATION
PROCESS
Key Features of Web Services
• Advantages Offered to Providers of Web Services
– Provider
• Registration Process is simpler then working with each
possible client individually
• List of Possible Clients is everyone with a Connection to the Internet
as opposed to just a few company’s who may have heard about your
services
•  INCREASED EXPOSURE  INCREASED BUSINESS
TRANSACTIONS  INCREASED PROFITS
• Can’t argue with something that makes life easier and still allows you
to increase productivity
Key Features of Web Services
• Advantages Offered to Clients of Web Services
– Client
• QUICKER and MORE FLEXIBLE application development
• no longer a need to develop large applications that include all
necessary logic and data when same results are achieved by creating
smaller applications that access needed functions through Web
services
• Clients can search for registered services that meet their
requirements, select the best one, and use it. It doesn't matter
where the Web service is located on the Internet if it is a
registered Web Service then it is available to clients
• Entire World Wide Web is available for user to find exactly the
service they need for any situation
Web Services Technologies
• Good because Web services model is built on
standard technologies that are widely accepted,
like:
– Extensible Markup Language (XML)
– Universal Description, Discovery, and Integration
(UDDI)
– Simple Object Access Protocol (SOAP)
– Web Service Description Language (WSDL)
– Electronic Business XML (ebXML)
XML
• XML is emerging as the standard for exchanging data on the Internet
– Why?
• XML is relatively easy to learn, especially for people who know HTML
– Both come from Std. Generalized Markup Language (SGML)
• XML describes the content of a document
– An XML tag identifies information in a document, as well as the
structure of the information
• XML documents have a well-formed structure
– each XML tag has an ending tag, and a tag that begins within another tag
must end before the end of the other tag, and must be completely nested
within that other tag
• The structure within an XML tag is consistent
• XML is extensible
– you can even define your own tags, but must still be well-formed
But how is it used specifically in Web
Services?
One way is to identify a Web service in a
registry so that a program looking for a
Web service can easily find it and
understand what it does...
UDDI
•
Definition: UDDI is a cross-industry effort to define business registry
standards, including specifications for publishing and discovering information
about Web services in a business registry
•
A UDDI registry is like a "Yellow Pages" for Web services
•
the Business registry is available to the public for businesses to register their
Web services
•
It provides simple information about:
 Who it is (the name of the Web service provider)
 What it is (the name of a Web service and, typically, a brief description)
 Where it is ("binding templates" that point to an address where the service can
be accessed--such as a URL or email address)
 How to request it ("tModels" that describe the interface for the Web service-“technical fingerprint”)

Each registry runs at an “operator” site
You still need some agreed-upon
protocol for sending XML documents
across the Web so that the receiver
understands what it's getting, and what to
do in response. That's why there’s…
SOAP
• Definition: SOAP is an XML-based protocol for
exchanging information in a distributed environment
• For example, you register a Web service in a UDDI
registry using the SOAP protocol. You also use the SOAP
protocol to look for a Web service in a UDDI registry, and
once you find the service, you use the SOAP protocol to
request it.
• More info? Listen to Team3
How does a Web services client know
what format to use in making a request
to a server?
How do the client and the server know
what the request means?
WSDL
• The answers to these questions are provided by information in
an XML document, called the WSDL Document, that contains a
description of the Web service's interface and semantics
• Definition: WSDL is an XML-based language for describing a
Web service.
• How it’s used:
– The registry entry includes a pointer to a WSDL file that contains
the WSDL document for the service. Another business searches the
registry and finds the service. A programmer uses the interface and
semantic information in the WSDL document to construct the
appropriate calls to the service
• Here is an example of a WSDL document for a service that
provides stock quotes--the application that requests this service
supplies a symbol for a specific stock. The service responds
with the current price of the stock.
There's no way in SOAP to describe the
larger context of the service, or the
business process in which the service
fits. In the real world, being able to
successfully use a Web service might
depend on how well the pertinent
processes of a requesting business mesh
with the processes of a business offering
the service, so we have...
ebXML
• Definition: ebXML provides a comprehensive B2B
framework for describing these processes as well as other
information so that businesses can successfully collaborate
in a global electronic marketplace
•
Example (extract taken from one of the ebXML specifications):
– The exchange of information between two Parties requires each Party to
know the other Party's supported Business Collaborations, the other
Party's role in the Business Collaboration, and the technology details
about how the other Party sends and receives Messages.
– The way each Party can exchange information, in the context of a
Business Collaboration, can be described by a Collaboration-Protocol
Profile (CPP). The agreement between the parties can be expressed as a
Collaboration-Protocol Agreement (CPA).
ebXML use
• A high-level view of how these components are used for
Web services is as follows:
– Parties register their CPPs in an ebXML registry.
– A Party (let's call it Party 1) searches the ebXML registry for a
needed Web service. It finds that the needed service is provided
by Party 2. The information is in Party 2's CPP in the ebXML
registry.
– Party 2 creates a CPA for a business collaboration with Party 1
and sends the CPA to Party 1.
– Party 1 and Party 2 negotiate an agreement. Each stores a copy
of the CPA in its server.
– Party 1 finds and uses the Web service provided by Party 2 as
part of the collaboration defined by the CPA.
An Example of a Web Service
• To see the source code for a very simple web service
application, go to:
http://www2.bc.edu/~pante/MC365/StockQuoteDemo.java
• To Run this Example You will Need
– J2Me Wireless Toolkit
http://java.sun.com/products/j2mewtoolkit/download.html
– kSOAP MIDP JAR file and kXML JAR file