Introduction to Web Services

Download Report

Transcript Introduction to Web Services

Introduction to
Web Services
Introduction

What is Web Services?





There is no concise definition yet
Use Web to provide services
Encompass a set of related standards that can enable any two
computer applications to communicate and exchange data via
the Internet.
Provide a new tool for people to communicate with each
other
Many factors indicate that Web services will radically
change IT architectures and partner relationships.

including software vendors' widespread support for underlying
standards
Introduction to Web Services
Computing Advancements and
Web Services

1960s





many large software-development projects
encountered severe difficulties.
Development efforts typically ran behind schedule
costs often greatly exceeded budgets
the finished products were unreliable
1970s



structured programming
disciplines of structured systems analysis and design
improved software technology did begin to appear
Introduction to Web Services
Computing Advancements and
Web Services

1980s and 1990s


Object-oriented programming became widely
used
improve the software-development process
dramatically
Introduction to Web Services
What are objects

Object technology is a packaging scheme that
enables programmers to create meaningful
software units
 Objects are focused on particular applications
areas


E.g. date objects, time objects, paycheck objects,
invoice objects, audio objects, video objects, file
objects, record objects and so on
Objects have
• properties
• perform actions (behaviors)

Classes represent groups of related objects
Introduction to Web Services
Web Services and Languages

Procedural programming languages





Such as Fortran, Pascal, Basic and C
Focused on actions (verbs) rather than objects (nouns)
Do not mirror real-world entities effectively
Not particularly reusable
Object-oriented languages





Such as C++, Java, C# and Visual Basic .NET,
Programmers can write code in an object- oriented manner that
reflects the way in which they perceive the world
Code reusable
Group classes into class libraries
Significant productivity gains
Introduction to Web Services
Web Services and Languages
 Web
services take advantage of objectoriented programming techniques



Web services enable developers to build
applications from existing software
components
Encourages a modular approach to
programming
Transforming a network such as the Internet
into an enormous library of programmatic
components available to developers
Introduction to Web Services
Web Services and Distributed
Computing

Distributed computing


Different tasks to be performed on different computers,
i.e. an organization' s computing is distributed over networks,
instead of being performed only at a central computer installation
•
•
•
•


OMG's Common Object Request Broker Architecture (CORBA)
Microsoft's Distributed Component Object Model (DCOM)
Sun Microsystem's Remote Method Invocation (RMJ)
IBM's Distributed System Object Model (DSOM)
more efficient, or even necessary
N-tier applications often split up applications over numerous
computers
• For example, a three-tier application might have a user interface on
one computer, business-logic processing on a second, and a
database on a third-all interacting as the application runs
Introduction to Web Services
Web Services and Distributed
Computing


Different computers throughout a network
must be able to communicate
Shortcomings
• interoperability (the ability to communicate and
share data with software from different vendors
and platforms) is limited among these technologies
• For example, DCOM and CORBA, cannot
communicate easily
• Such problems have impeded distributed
computing ability to facilitate business-process
integration and automation
Introduction to Web Services
Web Services and Distributed
Computing
 Web
services improve distributed
computing capabilities by addressing the
issue of limited interoperability


Web services operate using open (i.e., nonproprietary) standards
Web services-based applications are often
easier to debug, because Web services use
text-based communication protocols
Introduction to Web Services
World Wide Web (WWW)

Tim Berners-Lee of CERN (the European
Organization for Nuclear Research) began to
develop a technology for sharing information via
hyperlink text documents



Invent the HyperText Markup Language (HTML)
Use Hypertext Transfer Protocol (HTTP) to form the
backbone of his new hypertext information system World Wide Web
Ubiquitous, platform independent technologies
Introduction to Web Services
Web Services v.s. WWW
 Web



services make good uses of WWW
Web services can operate over Internet and
Web protocols, such as HTTP
Extend the Web's capabilities to include direct
communication between computer programs
Web Services is Ubiquitous, platform
independent technologies
Introduction to Web Services
Web Services v.s. Electronic Data
Interchange (EDI)
 Organizations
have invested in Electronic
Data Interchange (EDI) technology to link
business partners and help manage
supply chains
 EDI messages are not standards

Need separate EDI connections among
organizations
 EDI

systems are tightly coupled
Difficult to maintain
Introduction to Web Services
Web Services v.s. Electronic Data
Interchange (EDI)
 Web
services provide capabilities similar
to those offered by EDI, but less
expensive to implement



Fewer incompatibility problems arise
because of open standards
Web services is loosely coupled
allows organizations to use two technologies
together or to phase out EDI
Introduction to Web Services
Emergence of Web Services
 The



good part
HP's product, e-Speak, and Microsoft’s Web
services as a key component of its .NET
initiative
Microsoft announced Web services, it was
clear that the technology could revolutionize
distributed computing
Both of them wish one of them would be a
universal distributed-computing standard
Introduction to Web Services
Emergence of Web Services
 The


bad part
Different organizations had already made
significant investments in distributedcomputing platforms
Migration to a different platform is a big
problem
• costs businesses time
• money and employee productivity
Introduction to Web Services
Emergence of Web Services

However,



Most major software vendors have recognized that Web services
technology represents a significant step forward for computing
The main standard used in Web services is XML
Use Simple Object Access Protocol (SOAP) based on XML
• a messaging protocol for transporting information and instructions
between Web services

Web Services Description Language (WSDL) and Universal
Description is based on XML
• WSDL - a standard method of describing Web services and their
specific capabilities

Universal Description, Discovery and Integration (UDDI) is also
based on XML
• defines XML-based rules for building directories in which companies
advertise themselves and their Web services
Introduction to Web Services
Web Services Advantages

“Why is the computing industry so excited about Web
services, given that many other promising technologies
have failed?"

Web services operate using open, text-based standards
• The most important part

Web services promote a modular approach to programming
• Use OOP concept to increase reusability

Web services are comparatively easy and inexpensive to
implement
• Base on the current existing infrastructure

Web services can significantly reduce the costs of enterprise
application integration (EAI) and business-to-business (B2B)
communications
• Reduce investments

Web services can be implemented incrementally, rather than all
at once
Introduction to Web Services
Introduction to Web Services
Introduction to Web Services
Real Web Services

Organizations are employing Web services to
integrate and improve communications systems


E.g., the UC-Berkeley using Web services to unify the
school's e-mail, voice mail and facsimile service into
individual in-boxes that are accessible from cell
phones, PDAs, telephones or e-mail clients.
Manufacturing companies are implementing
Web services to improve supply chains,
inventory and customer-management systems.

Allow customers to access company’s information via
Web Services
Introduction to Web Services
Real Web Services

The consulting firm Accenture has developed Web
services products, called Live Information Models, that
enable stock traders to access real-time quotes and
market information


allows brokers to receive real-time updates and to access
different information sources from a single terminal
Airlines, travel agencies, rental-car companies and
hotels all provide travel-related services


Difficult to integrate because of different platforms or operation
systems
With Web services, companies in the travel business can
streamline the reservation process
Introduction to Web Services
Examples of existing Web Services
and their capabilities
Introduction to Web Services
Examples of existing Web Services
and their capabilities
Introduction to Web Services
Web Services Challenges

Significant challenges for application developers
and IT staffs

SOAP, WSDL and UDDI – the standards that drive
Web services – are still in draft form
• SOAP and WSDL are under development by the W3C
• UDDI has not yet been submitted to a standards organization


Many businesses want to wait until the underlying
technology are stable before adopting it
Some are nervous that the current cooperation
among software vendors might fail
• E.g., Microsoft, IBM and Sun to create interoperable
implementations might fail
• resulting in splinter standards
• incompatible Web services implementations.
Introduction to Web Services
Web Services Challenges

Companies refuse to release their intellectual
property


The lack of standard security procedures



Hard to make open standards
SOAP, are not designed to provide security
companies are hesitant to deploy Web services until
security mechanisms are standardized
Defining and guaranteeing Quality of Service
(QoS)


meet provider and consumers’ expectations
Bad QoS, e.g., slow response times, infrequent
updates, an inability to handle large numbers of
requests
Introduction to Web Services