Title: Web Services: The Next Big Thing
1Web Services The Next Big Thing
2Why Next Big Thing
- All the major vendors believe so!
- http//www-3.ibm.com/software/solutions/webservice
s/ - www.microsoft.com/webservices
- "We are betting the company on Web services,"
- Microsoft Chairman William H. Gates III.
- Intelligent Enterprise
- One of the greatest ideas from 2001
- One of the top trends in 2002
- January 1, 2002, Vol 5, No 1
3Presentation Outline
- What is Web Services?
- Why Web Services?
- How Web Services work?
- Web Services Architecture
- Web Services Standards
- Web Services Platforms
- Web Services Implementation
- Microsoft Visual Studio .Net
- IBM WebSphere 4.0 (J2EE Platform)
- Web Services Gaps in the Wall
- Web Services The Future
4Background
- Need for Information
- Our need for information is increasing day by
day! - Bank account information
- Travel information
- Credit card information
- Need for Integration
- Enterprise applications are heterogeneous!
- For every dollar spent on an application,
corporations spend an additional 7 on
integration Tom Berquist, MD of Research at
Goldman Sachs. - Need for Interoperability
- Object-model-specific protocols, such as DCOM,
RMI, IIOP are not truly interoperable!
5Web Services Defined
- It is a new way of letting computers talk to
each other over the Internet - It is a new model of distributed computing
providing a high level of interoperability across
platforms, programming languages and
applications, enabling customers to solve
integration problems easily. - A web service is programmable application logic
accessible using standard Internet protocols and
data formats, such as HTTP and XML.
6Web Services Defined (contd.)
- Web Services are also known as XML Web Services.
-
- They are self-contained, self-describing, modular
applications that can be published, located, and
invoked across the web.
7Web Services Examples
- Early Example Microsoft Passport, an
authentication service hosted by Microsoft. - Other examples
- A Credit checking service that returns credit
information when given a persons SSN. - A stock quote service that returns the stock
price associated with a specified ticker symbol. - A purchasing service that allows computer system
to buy office supplies when given an item code
and quantity. - Applications will be built from web services that
are dynamically selected at runtime based on
their cost, quality, and availability.
8Why Web Services
- Interoperability
- Any web services can interact with any other Web
services. - The agonies of converting between CORBA, DCOM and
other protocols should be over. - Can be written in any language, so developers do
not need to change their development
environments. - Ubiquity
- Anything that supports HTTP and XML can host and
access Web services.
9Why Web Services (contd.)
- Low Barrier to Entry
- The concept is easy free toolkits are available
to quickly create and deploy Web services. - Some of these toolkits allow pre-existing COM and
JavaBeans to be easily exposed as Web services. - Industry Support
- All the major vendors like IBM, Microsoft,
Oracle, Sun, etc. are supporting Web services
technologies.
10Why Web Services (contd.)
- Individual Perspective
- Information Access
- Example, multiple bank account, credit card info,
travel info, etc. - Business Perspective
- Three tiers of web services development
- Tier 1 Enterprise Application Integration (EAI)
- Tier 2 Interoperability with Key Partners
- Tier 3 Interoperability across Multiple
Companies - Business Ecosystem Integration of systems within
organization and extend these capabilities
outward to partners and customers. -
11Tier 1 Enterprise Application Integration
- Web Services can be used to integrate internal
applications. - It allows companies to expose legacy applications
to business applications in heterogeneous
environments without having to rewrite
significant amounts of code. -
12Tier 1 Enterprise Application Integration
- Example
- Department Store Chain
- Integrating different credit approval
applications using XML Web Service. - Benefits
- Link with POS, warehouse, and financial
applications - Credit approval becomes more consistent
- Maintenance cost decreased
-
13Tier 2 Interoperability with Key Partners
- Web Services allow for interoperability between
applications across the public internet. - Example
- Car Rental Company and Airline Car Rental
Company created a translation engine using Web
Services for sending data between two systems. - Benefits
- Car Rental Company developed another large sales
channel - Solution got to market quickly.
-
14Tier 3 Interoperability across Multiple
Companies
- Web Services allow for interoperability between
applications across several companies. - Example
- The insurance company, credit rating service, and
dental provider orchestrated their applications
to generate a quote that was requested by the
customer on a corporate intranet. - Benefits
- It generated quotes in half the time of its
competitors and provided them via a corporate
intranet to one of its major customers. - It automated existing business relationships at
the level of multiple, interoperating
applications. As a result, outsourcing became
much more valuable, cutting the cost of quote
generation by one third. - It provided a more seamless relationship with one
of its biggest customers.
15Web Services Benefits
- Asked to CTOs In what areas will XML Web
services be most effective for your company?
Source InfoWorld 2001
16Web Services Benefits
- BPA (Business Process Automation)
17BPA (Business Process Automation)
18Major Challenges
- To succeed, there are many technical challenges
- Discovery
- How does a Web Service advertise itself for
discovery by other services? - What happens if the service changes or moves
after it has been advertised? - Reliability
- How can reliability be measured and communicated?
- What happens when a Web service host goes offline
temporarily? - How do you know which other vendors to trust?
19Major Challenges (contd.)
- Security
- How does a Web Service authenticate users?
- Do services need to be able to provide security
at the method level? - How do different services know about your
security privileges? - Transactions
- Should transactions like two-phase commit be
integrated into Web services? - If so, how do the proposed standards support this
transactions?
20Major Challenges (contd.)
- Scalability
- How does a Web Service take care of
load-balancing and scalability issues? - Does there need to be a new kind of Web service
application server? - Manageability
- What kind of mechanisms are required for
maintaining a highly distributed system? - Do the managers of each of the various Web
services need to coordinate in a particular way.
- Is it possible to outsource the management of
some of the Web services to other Web services?
21Major Challenges (contd.)
- Accountability
- How do you define how long a user can access and
execute a Web service? - How do you charge for the Web services?
- Will the dominant model be subscription-based or
pay-as-you-go? - Testing
- How do you achieve predictable response time?
- How do you debug Web services that come from
different vendors, hosted in different
environments and on different operating systems?
22Types of Web Services
- Remote Procedure Call (RPC)-based Web Services.
- Conversational or Message-based Web Services for
supporting loosely coupled asynchronous models.
23RPC-based Web Services
- Appears as a remote object to the client
application. - The interaction centers around a service-specific
interface. - Tightly coupled and resemble traditional
distributed object paradigms, such as RMI or
DCOM. - Synchronous, meaning that when a client sends a
request, it waits for a response before doing
anything else. - This is the type of Web services most vendors are
focusing right now.
24Conversational or Message-Based Web Services
- Loosely coupled and document-driven.
- Client invokes a message-based Web Service by
sending it an entire document, such as a purchase
order, rather than a discrete set of parameters. - The Web Service accepts the entire document,
processes it, and may or may not return a result
message. - Promotes a looser coupling between client and
server and provide additional benefits beyond
RPC-based Web Services. - Protocols are yet to be developed. Follows ebXML
architecture.
25How Web Services Work
- Five requirements for RPC-based development
- A standard way to represent data
- A common, extensible message format
- A common, extensible, service description
language - A way to discover services located on particular
web site - A way to discover service providers
26How Web Services Work (contd.)
- 1. A standard way to represent data
- XML (eXtensible Markup Language)
- XML is used to represent and describe DATA. It
Separates - Presentation style,
- data,
- and vocabulary
- Example of An HTML Purchase Order
- eXtensible
- Users can create their own tags (i.e., make up
their own rules for markup). - (Taken from ACCT 5331 Class Notes)
27How Web Services Work (contd.)
- More on XML
- Presentation
- XSL (eXtensible Stylesheet Language)
- Defines presentation style.
- Can convert XML data into HTML presentation.
- Data
- Data is tagged in an XML file.
- Vocabulary
- DTD (Document Data Type)
- XML Schema
- Example of Purchase Order XML, DTD, HTML, and
XSL file
28How Web Services Work (contd.)
- 2. A common, extensible message format
- SOAP (Simple Object Access Protocol)
- Lightweight protocol specification that defines a
uniform way of exchanging information in a
decentralized, distributed environment. - It is an XML-based protocol consists of three
parts - An envelop that defines a framework for
describing what is in a message and how to
process it. - A set of encoding rules for expressing instances
of application defined data types. - A convention for representing remote procedure
calls (RPCs) and responses using HTTP.
29How Web Services Work (contd.)
- 3. A common, extensible, service description
language. - WSDL (Web Services Description Language)
- An XML document that describes a set of SOAP
messages and how the messages are exchanged. - WSDL is to SOAP what IDL (Interface Design
Language) is to CORBA or COM - It is used to describe what a web service can do,
where it resides, and how to invoke it - WSDL Example
30How Web Services Work (contd.)
- WSDL document uses the following elements in the
definition of network services - Types - a container for data type definitions
using some type system (such as XSD). - Message - an abstract, typed definition of the
data being communicated. - Operation - an abstract description of an action
supported by the service. - Port Type - an abstract set of operations
supported by one or more endpoints. - Binding - a concrete protocol and data format
specification for a particular port type. - Port - a single endpoint defined as a combination
of a binding and a network address. - Service - a collection of related endpoints.
31How Web Services Work (contd.)
- 4. A way to discover services located on
particular web site - 5. A way to discover service providers
- UDDI (Universal Description, Discovery,
Integration) - It is the yellow pages of Web services.
- It provides a mechanism for clients to
dynamically find other web services - It is an XML file that describes a business and
the services it offers. - It also includes several ways to search for the
services you need to build your application. - UDDI Example
32How Web Services Work (contd.)
- UDDI (Universal Description, Discovery,
Integration) - Three parts to an entry in the UDDI directory
- White pages Information such as the name,
address, telephone number, and other contact
information of a given business. - Yellow pages Information that categorizes
businesses. This is based on existing
(non-electronic) standards. - Green pages Technical information about the Web
services provided by a given business. - There are plans for UDDI to support more complex
business logic, including support for
hierarchical business organizations.
33Web Services Architecture
- Generic Web Service Architecture
34Web Services Architecture (contd.)
- Global XML Web Services Architecture (Microsoft)
35Web Services Architecture (contd.)
- Global XML Web Services Architecture (Microsoft)
- Baseline XML Web Services Specifications
- SOAP
- UDDI
- WSDL
- Global XML Web Services Specifications
- WS-Inspection
- WS-License
- WS-Referral
- WS-Routing
- WS-Security
36Web Services Architecture (contd.)
- Global XML Web Services Architecture (Microsoft)
- WS-Security
- WS-Security describes how to use the existing W3C
security specifications, XML Signature and XML
Encryption, to ensure the integrity and
confidentiality of SOAP messages. - WS-Security is a simple, stateless, SOAP
extension that describes how digital credentials
should be placed within SOAP messages, and how
these credentials should be associated with a
message to ensure message integrity and
confidentiality. - WS-License
- WS-License describes how several common license
formats, including X.509 certificates and
Kerberos tickets, can be used as WS-Security
credentials. - WS-License includes extensibility mechanisms that
enable new license formats to be easily
incorporated into the specification.
37Web Services Architecture (contd.)
- Global XML Web Services Architecture (Microsoft)
- WS-Routing
- WS-Routing is a simple, stateless SOAP extension
for sending SOAP messages in an asynchronous
manner over a variety of communication transports
such as TCP, UDP, HTTP. - WS-Routing provides addressing mechanisms that
enable specification of a complete message path
for the message (including its return path). - WS-Referral
- WS-Referral is a simple SOAP extension that
enables the routing between SOAP nodes on a
message path to be dynamically configured. - This configuration protocol enables SOAP nodes to
efficiently delegate part or all of their
processing responsibility to other SOAP nodes
38Web Services Architecture (contd.)
- Web Services Architecture (IBM)
39Web Services Architecture (contd.)
- Web Services Components (IBM)
- Service Providers
- Provides services and maintain registry that
makes those services available. - Service Brokers
- Clearinghouses for services.
- Act as matchmakers between service providers and
service requestors. - Service Requestors
- Work with service brokers to discover Web
services, then invoke those services to create
applications
40Web Services Architecture (contd.)
- Web Services Operations (IBM)
- Publish/Unpublish
- Involves advertising services to a registry
(publishing) and removing those entries
(unpublishing). - The service provider contacts the service broker
to publish or unpublish a service. - Find
- Performed by a service requestors and service
brokers together. - The service requestors describe the kinds of
services theyre looking for, and the service
brokers deliver the results that best match the
request. - Bind
- Takes place between the service requestors and
the service provider. - Negotiate so the requestor can access and invoke
services of the provider.
41Web Services Standard
- The obvious politics!
- Steven Lewis, a .Net evangelist for Microsoft,
asked Simon Phipps, Sun's chief technology
evangelist, whether Sun was planning to join a
Web services interoperability group that was
announced a week ago, spearheaded by IBM and
Microsoft. - Phipps shot back a question of his own Why was
Sun invited only the day before the announcement?
"The way that standards processes are now being
played out is in politics and power plays behind
closed doors," Phipps growled. - What the heck are Web services?By Eric Schonfeld
Special to ZDNetFebruary 19, 2002, 435 AM
PTURL http//zdnet.com.com/2100-1107-839945.html
42Web Services Standard (contd.)
- Microsoft IBM jointly proposed the Web
Services Framework - The focus of this document and the framework it
defines is a model for describing, discovering
and exchanging information that is independent of
application implementations and the platforms on
which applications are developed and deployed. - W3C
- Various working groups develop various standards.
- IETF
43Web Services Standard (contd.)
- ebXML
- ebXML MissionTo provide an open XML-based
infrastructure enabling the global use of
electronic business information in an
interoperable, secure and consistent manner by
all parties. - ebXML (Electronic Business using eXtensible
Markup Language), sponsored by UN/CEFACT and
OASIS, is a modular suite of specifications that
enables enterprises of any size and in any
geographical location to conduct business over
the Internet. - Using ebXML, companies now have a standard method
to exchange business messages, conduct trading
relationships, communicate data in common terms
and define and register business processes
44Web Services Standard (contd.)
- OASIS
- It is the international, not-for-profit
consortium that advances electronic business by
promoting open, collaborative development of
interoperability specifications. - It operates XML.ORG, the non-commercial portal
that delivers information on the use of XML in
industry. - The XML.ORG Registry provides as an open
community clearinghouse for distributing and
locating XML application schemas, vocabularies
and related documents. - OASIS serves as the home for industry groups and
organizations interested in developing XML
specifications.
45Web Services Development Platforms
- Microsoft .Net Platform
- Visual Studio .Net (Finalist of 2nd Annual eWeek
Excellence Award) - J2EE Platform
- IBM
- WebSphere Application Studio
- BEA
- WebLogic Platform 7.0
- Iona Technologies Plc.
- Orbix E2A Web Services Platform (Winner of 2nd
Annual eWeek Excellence Award) - Sun
- Sun ONE (Open Net Environment)
- Rational Software Corp.
- Rational ClearCase 2002 (Finalist of 2nd Annual
eWeek Excellence Award)
46Web Services Development Platforms
- Microsoft - Visual Studio .Net
- Vs.
- IBM - WebSphere 4.0
- Little History
- At first, Microsoft published a white paper about
creating Web Services with .Net versus IBM
WebSphere V4.0. (IBM called it misleading) - IBM replied pointing out several problems in that
white paper and claimed that Microsoft used IBM
Web Services Toolkit instead of the single new
integrated WebSphere Studio Application Developer
tool. - http//www-3.ibm.com/software/info1/websphere/ne
ws/ibmnews/compreview4.jsp - Microsoft released another version of white paper
incorporating the new tool. - http//www.gotdotnet.com/team/compare/webservice
compare.aspx - IBM did not reply(!?)
47Web Services Development Platforms
- Comparison of two functionally equivalent
application one created using J2EE (IBM) and one
created using .NET - Java Pet Store Sun call it as best practices
for building J2EE-based application, also ships
as a sample application with IBM WebSphere 4.0. - Description of the Pet Store Application
- Return all information about an order given a
specific order number - A customer should be able to call a method on the
Pets Company server, and pass in an order number
as a parameter, and have the Web Service return
all the information for the order including all
the line items for the order.
48Web Services Development Platforms
49Web Services Development Platforms
- Development in Microsoft Visual Studio .Net
Step Description Tool 1 Create new Visual
Studio .Net Web Service Project Visual Studio
.NET 2 Create a PetOrder and PetOrderLineItem
with C Class Wizard Visual Studio
.NET 3 Write the code for the GetOrderDetails Web
Method Visual Studio .NET 4 Create SQL Server
or Oracle stored procedure for the Web
Service Visual Studio .NET 5 Test Web Service
through auto generated Sample Page and debug
service along with database tier Visual Studio
.NET 6 Create a new web application
project Visual Studio .NET 7 Add web reference
to Web Service created in previous
project Visual Studio .NET 8 Design Client
Application Web Page Visual Studio .NET 9 Add
the code behind for the client
application Visual Studio .NET 10 Build and
test application, able to debug through all 3
tiers Visual Studio .NET Total 10 steps
50(No Transcript)
51(No Transcript)
52(No Transcript)
53(No Transcript)
54(No Transcript)
55(No Transcript)
56Web Services Development Platforms
- Development in IBM WebSphere Studio Application
Developer
Step Description Tool 1 Create a new web
application project for the Web
Service WASD 2 Create a PetOrder and
PetOrderLineItem beans with public get and set
methods WASD 3 Write the code for the
GetOrderDetails Web Method. WASD 4 Create/test
Oracle stored procedure for the Web
Service Oracle DBA Studio 5 Configure service
instance with data source WASD 6 Run the Web
Service generation Wizard WASD 7 Test Web
Service through the generated EJB test client.
(However sample application does not support
arrays) WASD 8 Create a new web application
project for the client WASD 9 Copy the WSDL
files created earlier into the new project
WASD 10 Run the Web Service Client
Wizard WASD 11 Design Client Application Web
Page and wire up the proxy application WASD 12 B
uild and test application, able to debug through
2 tiers WASD Total 12 steps
57(No Transcript)
58(No Transcript)
59IBM WebSphere Studio Application Developer
(Generic Steps)
60IBM WebSphere Studio Application Developer
(Generic Steps)
61IBM WebSphere Studio Application Developer
(Generic Steps)
62IBM WebSphere Studio Application Developer
(Generic Steps)
63IBM WebSphere Studio Application Developer
(Generic Steps)
64IBM WebSphere Studio Application Developer
(Generic Steps)
65IBM WebSphere Studio Application Developer
(Generic Steps)
66IBM WebSphere Studio Application Developer
(Generic Steps)
67Web Services Development Platforms
- For more information
- IBM WebSphere
- http//www-4.ibm.com/software/webservers/studio/W
ebServicePaper/WorkingWithWebServices.htm - Microsoft Visual Studio .Net
- http//msdn.microsoft.com/vstudio/
- All Codes for Pet Shop Example
- http//www.gotdotnet.com/team/compare/webservicec
ompare.aspx
68Web Services Development Platforms
69Web Services Development Platforms
70Web Services Development Platforms
- Software Licensing Cost Comparison
71Web Services Development Platforms
- Comparison between .Net and J2EE
- J2EE offers what IT managers want it is
reliable, secure and scalable. But it is behind
in development tools and XML support. - Microsoft has built .NET to make it easy to
create web services and use XML. But it still has
to prove that its platform is ready for
heavy-duty corporate computing. - Applications for J2EE can be written only in
Java, but they can run on any popular operating
system. - .NET developers can use most languages (except
Java), but their programs run only on the Windows
operating system.
72Web Services Development Platforms
- Comparison between .Net and J2EE
- Although originally developed by Sun, the Java
technology today is practically an open standard,
collectively maintained by the software firms
that sell products based on it. - Microsoft controls .NET, although the company
insists that its platform supports open standards
better than any other (?). - Because Java is a standard, customers have a
choice of J2EE products and can switch between
them without being forced to rewrite their
applications completely (which will keep vendors
responsive and prices in check). - Microsoft counters switching from one J2EE
vendor to another is often as costly as switching
from J2EE to .NET. Customers would thus be better
off picking a platform controlled by one firm
than technology designed by committee.
73Web Services Gaps in the Wall
- Some people believe
- Web services are only a partial answer to the
complexities of enterprise application
integration (EAI) - A large number of existing applications, and
applications yet to be written, have no need to
interoperate with other applications per se. - Web services dont represent a specific
technology and dont imply a structure or format
for application. So, we still need to build
application that uses Web services based on
traditional platforms like J2EE, .Net, Visual
Basic or COBOL.
74Web Services Gaps in the Wall
- Technical Challenges yet to be addressed
- No Consistent Transactional Model
- Organization for the Advancement of Structured
Information Standard (OASIS) is working on
vendor-neutral transaction model. - But major vendors have yet to embrace this effort
in any meaningful way (Microsoft, IBM, Oracle
pursuing different approaches) - That Insecure Feeling
- Security is not properly addressed in current Web
services specifications. - Stepping Up Performance
- Network latency bottlenecks
- No specific models for detecting and managing
failed transactions
75Web Services Gaps in the Wall
- Technical Challenges yet to be addressed
- Getting the Message
- Asynchronous use of Web Services
- QOS issues What if SOAP transaction cant reach
its destination - Your Schema, My Schema
- Schema incompatibilities
- The dynamic discovery process wont work
without some knowledge of the meaning behind the
schema
76Web Services The Future
- Most people are optimistic about the future of
Web services. - Most of the big vendors are trying hard for
standards (which is unusual!). - Good thing is that the problems associated with
Web services are identified at the earlier stage
and before a lot of implementations. - We just hope that Web Services will not be
another high-tech hype that does not add any
value to our lives!
77The End
Thank You! (for not asking questions!)
78References
- Magazines
- eWeek
- Mar 4, 2002, Volume 19, Number 9
- Feb 4, 2002, Volume 19, Number 5
- Dec 31, 2001, Volume 18, Number 50
- Mar 18, 2002, Volume 19, Number 11
- Mar 11, 2002, Volume 19, Number 10
- Feb 18, 2002, Volume 19, Number 7
- Jan 14, 2002, Volume 19, Number 2
- Jan 21, 2002, Volume 19, Number 3
-
- Intelligent Enterprise
- Feb 1, 2002, Volume 5, Number 3
- Jan 14, 2002, Volume 5, Number 2
- Jan 1, 2002, Volume 5, Number 1
- Mar 28, 2002, Volume 5, Number 6
79References
- Information Week
- Feb 11, 2002
- Mar 25, 2002
- Mar 18, 2002
- Software Development
- Jan 2002, Volume 10, Number 1
- Websites
- http//www.gotdotnet.com/team/compare/
- http//searchwebservices.techtarget.com/bestWebLin
ks/0,289521,sid26_tax288858,00.html - http//www-3.ibm.com/software/solutions/webservice
s/news.html - http//www.internetweek.com/battle.htm
- http//msdn.microsoft.com/library/default.asp?url
/nhp/Default.asp?contentid28000442 - http//www.internetweek.com/newslead01/lead101901.
htm - http//www.internetweek.com/newslead01/lead102201.
htm - http//www-106.ibm.com/developerworks/webservices/
?locdwmain