Date post: | 22-Dec-2015 |
Category: |
Documents |
View: | 231 times |
Download: | 3 times |
Introduction to Web ServicesIntroduction to Web Services
Introduction Introduction
What is Web Services?What is Web Services? There is no concise definition yetThere is no concise definition yet Use Web to provide servicesUse Web to provide services Encompass a set of related standards that can enable any two Encompass a set of related standards that can enable any two
computer applications to communicate and exchange data via computer applications to communicate and exchange data via the Internet. the Internet.
Provide a new tool for people to communicate with each Provide a new tool for people to communicate with each otherother
Many factors indicate that Web services will radically Many factors indicate that Web services will radically change IT architectures and partner relationships. change IT architectures and partner relationships.
including software vendors' widespread support for underlying including software vendors' widespread support for underlying standards standards
Introduction to Web ServicesIntroduction to Web Services
Computing Advancements and Computing Advancements and Web Services Web Services
1960s1960s many large software-development projects many large software-development projects
encountered severe difficulties. encountered severe difficulties. Development efforts typically ran behind scheduleDevelopment efforts typically ran behind schedule costs often greatly exceeded budgetscosts often greatly exceeded budgets the finished products were unreliable the finished products were unreliable
1970s1970s structured programming structured programming disciplines of structured systems analysis and design disciplines of structured systems analysis and design improved software technology did begin to appear improved software technology did begin to appear
Introduction to Web ServicesIntroduction to Web Services
Computing Advancements and Computing Advancements and Web ServicesWeb Services
1980s and 1990s 1980s and 1990s Object-oriented programming Object-oriented programming became widely became widely
used used improve the software-development process drimprove the software-development process dr
amatically amatically
Introduction to Web ServicesIntroduction to Web Services
What are objectsWhat are objects Object technology is a packaging scheme that Object technology is a packaging scheme that
enables programmers to create meaningful enables programmers to create meaningful software units software units
Objects are focused on particular applications Objects are focused on particular applications areas areas E.g. date objects, time objects, paycheck objects, E.g. date objects, time objects, paycheck objects,
invoice objects, audio objects, video objects, file invoice objects, audio objects, video objects, file objects, record objects and so on objects, record objects and so on
ObjectsObjects have have • propertiesproperties• perform perform actions (behaviors)actions (behaviors)
ClassesClasses represent groups of related objects represent groups of related objects
Introduction to Web ServicesIntroduction to Web Services
Web Services and LanguagesWeb Services and Languages
Procedural programming languages Procedural programming languages Such as Fortran, Pascal, Basic and CSuch as Fortran, Pascal, Basic and C Focused on actions (verbs) rather than objects (nouns)Focused on actions (verbs) rather than objects (nouns) Do not mirror real-world entities effectively Do not mirror real-world entities effectively Not particularly reusable Not particularly reusable
Object-oriented languagesObject-oriented languages Such as C++, Java, C# and Visual Basic .NET, Such as C++, Java, C# and Visual Basic .NET, Programmers can write code in an object- oriented manner that Programmers can write code in an object- oriented manner that
reflects the way in which they perceive the world reflects the way in which they perceive the world Code reusableCode reusable Group classes into Group classes into class librariesclass libraries Significant productivity gains Significant productivity gains
Introduction to Web ServicesIntroduction to Web Services
Web Services and LanguagesWeb Services and Languages
Web services take advantage of object-Web services take advantage of object-oriented programming techniquesoriented programming techniques Web services enable developers to build Web services enable developers to build
applications from existing software applications from existing software components components
Encourages a modular approach to Encourages a modular approach to programming programming
Transforming a network such as the Internet Transforming a network such as the Internet into an enormous library of programmatic into an enormous library of programmatic components available to developers components available to developers
Introduction to Web ServicesIntroduction to Web Services
Web Services and Distributed Web Services and Distributed ComputingComputing
Distributed computing Distributed computing Different tasks to be performed on different computers, Different tasks to be performed on different computers, i.e. an organization' s computing is distributed over networks, i.e. an organization' s computing is distributed over networks,
instead of being performed only at a central computer installation instead of being performed only at a central computer installation • OMG's Common Object Request Broker Architecture (CORBA)OMG's Common Object Request Broker Architecture (CORBA)• Microsoft's Distributed Component Object Model (DCOM)Microsoft's Distributed Component Object Model (DCOM)• Sun Microsystem's Remote Method Invocation (RMJ)Sun Microsystem's Remote Method Invocation (RMJ)• IBM's Distributed System Object Model (DSOM)IBM's Distributed System Object Model (DSOM)
more efficient, or even necessary more efficient, or even necessary N-tier applN-tier applications ications often split up applications over numerous often split up applications over numerous
computerscomputers• For example, a For example, a three-tier application three-tier application might have a user interface on might have a user interface on
one computer, business-logic processing on a second, and a one computer, business-logic processing on a second, and a database on a third-all interacting as the application runs database on a third-all interacting as the application runs
Introduction to Web ServicesIntroduction to Web Services
Web Services and Distributed Web Services and Distributed ComputingComputing
Different computers throughout a network muDifferent computers throughout a network must be able to communicate st be able to communicate
ShortcomingsShortcomings• interoperability interoperability (the ability to communicate and sha(the ability to communicate and sha
re data with software from different vendors and plre data with software from different vendors and platforms) is limited among these technologiesatforms) is limited among these technologies
• For example, DCOM and CORBA, cannot communFor example, DCOM and CORBA, cannot communicate easily icate easily
• Such problems have impeded distributed computinSuch problems have impeded distributed computing ability to facilitate business-process integration ag ability to facilitate business-process integration and automation nd automation
Introduction to Web ServicesIntroduction to Web Services
Web Services and Distributed ComWeb Services and Distributed Computingputing
Web services improve distributed computiWeb services improve distributed computing capabilities by addressing the issue of ling capabilities by addressing the issue of limited interoperabilitymited interoperability Web services operate using Web services operate using open (i.e., non-propen (i.e., non-pr
oprietary) standardsoprietary) standards Web services-based applications are often eaWeb services-based applications are often ea
sier to sier to debugdebug, because Web services use tex, because Web services use text-based communication protocols t-based communication protocols
Introduction to Web ServicesIntroduction to Web Services
World Wide Web (WWW)World Wide Web (WWW)
Tim Berners-Lee of CERN (the European OrganiTim Berners-Lee of CERN (the European Organization for Nuclear Research) began to develop a zation for Nuclear Research) began to develop a technology for sharing information via hyperlink ttechnology for sharing information via hyperlink text documents ext documents Invent the Invent the HyperText Markup Language (HyperText Markup Language (HTMLHTML)) Use Hypertext Transfer Protocol (Use Hypertext Transfer Protocol (HTTPHTTP) ) to form the bto form the b
ackbone of his new hypertext information system - ackbone of his new hypertext information system - WWorld Wide Weborld Wide Web
Ubiquitous, platform independent technologies Ubiquitous, platform independent technologies
Introduction to Web ServicesIntroduction to Web Services
Web Services v.s. WWWWeb Services v.s. WWW
Web services make good uses of WWWWeb services make good uses of WWW Web services can operate over Internet and Web services can operate over Internet and
Web protocols, such as HTTPWeb protocols, such as HTTP Extend the Web's capabilities to include direct Extend the Web's capabilities to include direct
communication between computer programs communication between computer programs Web Services is Ubiquitous, platform indepenWeb Services is Ubiquitous, platform indepen
dent technologies dent technologies
Introduction to Web ServicesIntroduction to Web Services
Web Services v.s. Electronic Data IWeb Services v.s. Electronic Data Interchange (EDI) nterchange (EDI)
Organizations have invested in Organizations have invested in Electronic Electronic Data Interchange (EDI) Data Interchange (EDI) technology to link technology to link business partners and help manage business partners and help manage supply chains supply chains
EDI messages are not standardsEDI messages are not standards Need separate EDI connections among Need separate EDI connections among
organizations organizations EDI systems are EDI systems are tightly coupledtightly coupled
Difficult to maintainDifficult to maintain
Introduction to Web ServicesIntroduction to Web Services
Web Services v.s. Electronic Data IWeb Services v.s. Electronic Data Interchange (EDI)nterchange (EDI)
Web services provide capabilities similar tWeb services provide capabilities similar to those offered by EDI, but less expensive o those offered by EDI, but less expensive to implement to implement Fewer incompatibility problems arise because Fewer incompatibility problems arise because
of open standards of open standards Web services is Web services is loosely couloosely coupledpled allows organizations to use two technologies tallows organizations to use two technologies t
ogether or to phase out EDIogether or to phase out EDI
Introduction to Web ServicesIntroduction to Web Services
Emergence of Web ServicesEmergence of Web Services
The good partThe good part HP's product, HP's product, e-Speak, and Microsoft’se-Speak, and Microsoft’s Web s Web s
ervices as a key component of its ervices as a key component of its .NET initiati.NET initiativeve
Microsoft announced Web services, it was cleMicrosoft announced Web services, it was clear that the technology could revolutionize distrar that the technology could revolutionize distributed computing ibuted computing
Both of them wish one of them would be a uniBoth of them wish one of them would be a universal distributed-computing standardversal distributed-computing standard
Introduction to Web ServicesIntroduction to Web Services
Emergence of Web ServicesEmergence of Web Services
The bad partThe bad part Different organizations had already made Different organizations had already made
significant investments in distributed-significant investments in distributed-computing platforms computing platforms
Migration to a different platform is a big Migration to a different platform is a big problemproblem• costs businesses timecosts businesses time• money and employee productivity money and employee productivity
Introduction to Web ServicesIntroduction to Web Services
Emergence of Web ServicesEmergence of Web Services However,However,
Most major software vendors have recognized that Web Most major software vendors have recognized that Web services technology represents a significant step forward for services technology represents a significant step forward for computing computing
The main standard used in Web services is The main standard used in Web services is XMLXML Use Simple Object Access Protocol (Use Simple Object Access Protocol (SOAPSOAP) ) based on XML based on XML
• a messaging protocol for transporting information and instructions a messaging protocol for transporting information and instructions between Web services between Web services
Web Services Description Language (Web Services Description Language (WSDLWSDL) ) and and Universal Universal Description isDescription is based on XML based on XML
• WSDL - a standard method of describing Web services and their WSDL - a standard method of describing Web services and their specific capabilities specific capabilities
Universal Description,Universal Description, Discovery and Integration (Discovery and Integration (UDDIUDDI) is) is also also based on XML based on XML
• defines XML-based rules for building directories in which companies defines XML-based rules for building directories in which companies advertise themselves and their Web services advertise themselves and their Web services
Introduction to Web ServicesIntroduction to Web Services
Web Services AdvantagesWeb Services Advantages ““Why is the computing industry so excited about Web serWhy is the computing industry so excited about Web ser
vices, given that many other promising technologies havvices, given that many other promising technologies have failed?" e failed?"
Web services operate using open, text-based standardsWeb services operate using open, text-based standards• The most important part The most important part
Web services promote a modular approach to programming Web services promote a modular approach to programming • Use OOP concept to increase reusabilityUse OOP concept to increase reusability
Web services are comparatively easy and inexpensive to impleWeb services are comparatively easy and inexpensive to implement ment
• Base on the current existing infrastructureBase on the current existing infrastructure Web services can significantly reduce the costs of enterprise apWeb services can significantly reduce the costs of enterprise ap
plication integration (EAI) and business-to-business (B2B) commplication integration (EAI) and business-to-business (B2B) communications unications
• Reduce investmentsReduce investments Web services can be implemented incrementally, rather than all Web services can be implemented incrementally, rather than all
at once at once
Introduction to Web ServicesIntroduction to Web Services
Real Web ServicesReal Web Services Organizations are employing Web services to intOrganizations are employing Web services to int
egrate and improve communications systems egrate and improve communications systems E.g., the UC-Berkeley using Web services to unify the E.g., the UC-Berkeley using Web services to unify the
school's e-mail, voice mail and facsimile service into ischool's e-mail, voice mail and facsimile service into individual in-boxes that are accessible from cell phonendividual in-boxes that are accessible from cell phones, PDAs, telephones or e-mail clients. s, PDAs, telephones or e-mail clients.
Manufacturing companies are implementing WeManufacturing companies are implementing Web services to improve supply chains, inventory ab services to improve supply chains, inventory and customer-management systems. nd customer-management systems. Allow customers to access company’s information via Allow customers to access company’s information via
Web ServicesWeb Services
Introduction to Web ServicesIntroduction to Web Services
Real Web ServicesReal Web Services
The consulting firm Accenture has developed Web servicThe consulting firm Accenture has developed Web services products, called es products, called Live Information Models, Live Information Models, that enable that enable stock traders to access real-time quotes and market inforstock traders to access real-time quotes and market information mation
allows brokers to receive real-time updates and to access differeallows brokers to receive real-time updates and to access different information sources from a single terminal nt information sources from a single terminal
Airlines, travel agencies, rental-car companies and hotelAirlines, travel agencies, rental-car companies and hotels all provide travel-related services s all provide travel-related services
Difficult to integrate because of different platforms or operation sDifficult to integrate because of different platforms or operation systemsystems
With Web services, companies in the travel business can streamWith Web services, companies in the travel business can streamline the reservation process line the reservation process
Introduction to Web ServicesIntroduction to Web Services
Examples of existing Web Services Examples of existing Web Services and their capabilitiesand their capabilities
Introduction to Web ServicesIntroduction to Web Services
Examples of existing Web Services Examples of existing Web Services and their capabilitiesand their capabilities
Introduction to Web ServicesIntroduction to Web Services
Web Services ChallengesWeb Services Challenges Significant challenges for application developers Significant challenges for application developers
and IT staffs and IT staffs SOAP, WSDL and UDDI – the standards that drive WSOAP, WSDL and UDDI – the standards that drive W
eb services – eb services – are still in draft formare still in draft form• SOAP and WSDL are under development by the W3CSOAP and WSDL are under development by the W3C• UDDI has not yet been submitted to a standards organization UDDI has not yet been submitted to a standards organization
Many businesses want to wait until the underlying tecMany businesses want to wait until the underlying technology are stable before adopting ithnology are stable before adopting it
Some are nervous that the current cooperation amonSome are nervous that the current cooperation among software vendors might failg software vendors might fail
• E.g., Microsoft, IBM and Sun to create interoperable implemeE.g., Microsoft, IBM and Sun to create interoperable implementations might failntations might fail
• resulting in splinter standardsresulting in splinter standards• incompatible Web services implementations. incompatible Web services implementations.
Introduction to Web ServicesIntroduction to Web Services
Web Services ChallengesWeb Services Challenges Companies refuse to release their intellectual prCompanies refuse to release their intellectual pr
operty operty Hard to make open standardsHard to make open standards
The lack of standard security proceduresThe lack of standard security procedures SOAP, are not designed to provide security SOAP, are not designed to provide security companies are hesitant to deploy Web services until scompanies are hesitant to deploy Web services until s
ecurity mechanisms are standardized ecurity mechanisms are standardized Defining and guaranteeing Quality of Service (QDefining and guaranteeing Quality of Service (Q
oS) oS) meet provider and consumers’ expectations meet provider and consumers’ expectations Bad QoS, e.g., slow response times, infrequent updatBad QoS, e.g., slow response times, infrequent updat
es, an inability to handle large numbers of requests es, an inability to handle large numbers of requests