SlideShare a Scribd company logo
SUMITTED BY:
J.THEORITA
WHAT IS WEB SERVICES
 W3C: “The World Wide Web is more and more
used for application to application communication.
The programmatic interfaces made available are
referred to as Web services”
A Web service is a software system designed to
support interoperable machine-to-machine
interaction over a network.
It has an interface described in a machine- format
processble (specifically WSDL).
Other systems interact with the Web service in a
manner prescribed by its description using SOAP
messages, typically conveyed using HTTP with an
XML serialization in conjunction with other Web-
related standards.”
INTRODUCATION
Contemporary Service-Oriented Architectures (SOA)
represents an architecture that promotes service-
orientation through the use of Web services.
All functions, or services, are defined using a
description language and have invokable interface that
are called to perform business processes.
• Client
• Third party system
• Legacy
• Resources
• Modern Moves
Web service example
A stock quote service.
An application requires the current value of a stock, the
web service returns it.
A route finder for delivery of goods.
Given an initial and a final location, find the most cost-
effective delivery route.
A weather service, a map service, a web search service…
any composition of Web services.
Dickson Chiu 2006 Web Service-5
UDDI
Registry WSDL
Web
Service
SOAP
Service
Consumer
Points to description
Describes
ServiceFinds
Service
Communicates with
XML Messages
SOA Technologies
Why web services for important
From business standpoint
– Integration
• Within an organization
• Between companies
• Allows time/cost efficiencies
– Purchase orders
– Answering inquiries
– Processing shipment requests
• Do this without locking in to a single partner.
Issues distributed computing
platform
Platform Dependency
Management and Optimization
What do 99,99% availability mean?
How can I guarantee 3 seconds response
time?
Who owns the Log? Who owns the context?
Load Balancing, Caching, Replication?
Change a Process: All or Nothing
Whole system fails when a component is
upgraded
Versioning, Schema Evolution while process
runs
How do we send a Java double value to a web service
using XML?
Is scientific notation allowed?
 How large can the value be?
Etc.
What if we want to send an object?
And what if the object contains references to other
objects?
Web services enterprises
The emergence of Web services is transforming traditional
enterprises. However, the industry hype surrounding these
technologies obscures the understanding of their impact and
implications to enterprises.
Here the authors take the "big picture" perspective, offering a
thorough understanding of the concepts behind Web service
technologies: the challenges and opportunities they present,
how they fit into the enterprise stack, how they relate to the
business and IT layers of the enterprise, as well as the existing
and emerging standards and their relevance.
XML fundamentals XML
XML Fundamentals. In this first of
three chapters in Part One, we start with a discussion of
the fundamentals of the extensible Markup Language
(XML), the basic technology on which Web services are
based. From network protocols up the stack to back-end
databases, XML in all its forms has had a commoditizing
effect on enterprise computing systems and being both
platform and language independent is a natural choice for
the level of interoperability required of Web services.
XML fundamentals XML
What is XML?
XML stands for Extensible Markup Language.
XML is a markup language like HTML and not a
programming language.
It uses tags, just like HTML.
XML is not a replacement for HTML.
XML was created to transport or store data.
XML is very easy to learn compared to learn any
programming language.
Some XML History
XML is an application profile of an ISO standard SGML,
and most of XML comes from SGML unchanged.
XML version 1.0 was defined in 1998. It had many minor
revisions since then XML 1.0 is the recommended
version.
XML version 1.1 was published in February of 2004, the
same day as version 1.0’s third edition. 1.0 is generally
suggested over 1.1 unless the project needs specific
features of 1.1.
There have been discussions of an XML 2.0, although no
organization has announced plans for work on such a
project.
XML vs. HTML
There is no comparison between HTML and XML.
They are completely different and are used in different
situations.
XML is a Data Interchange Format; it’s a way to
structure and store data and also to transport data.
XML was created to transport and store data and is
more behind the scenes.XML has no pre-defined tags.
HTML is used to display data in a browser and focus
on physical presentation. HTML has pre-defined tags.
Now let’s s
Document structure
In the XML file structure, the first line is
the declaration that contains the document
information like version information, character set,
etc.
Declaration must come first in the document.
Every opening tag should have a closing tag.
Each XML document has a root element.
Root element contains the child elements which can
in turn have sub-child elements.
All the sub-child elements in a child element are
called the siblings of each other.
Attributes like gender=”male” can also be given to
the tags.
THE LINGUA FRANCA OF WEB
SERVICES
XML is a standard for data mark-up backed by the
World Wide Web Consortium, which has been branded
"the universal format for structured documents and data
on the Web.“
The entire XML suite of standards, models, and
processing technologies have been under development
since 1998 with the initial XML specification, and has
since been augmented by several additional supporting
standards and notes that have brought XML to its current
rich state.
In fact, though XML is undeniably a richly specified
technology, it has retained its simplicity and the entire
XML is for Structuring Data:
Structured data includes things like spreadsheets, address
books, configuration parameters, financial transactions, and
technical drawings. XML is a set of rules for designing text
formats that support the developer in creating structured data.
Though it vaguely resembles source code, XML is not a
programming language, but it does make it easy for a
computer to generate data, read data, and ensure that the data
structure is unambiguous. XML avoids common pitfalls in
language design. It is extensible, platform-independent,
supports internationalization and localization, and is fully
Unicode-compliant.
XML platform can be profiled as follows
XML Resembles HTML:
Like HTML, XML makes use of
tags (words surrounded by angle brackets, "<" and
">") and attributes (of the form name="value"). While
HTML specifies what each tag and attribute means
and often how the text between them will render in a
browser, XML uses the tags only to delimit pieces of
data and leaves the interpretation of the data
completely to the application that reads it.
XML is Human Readable, but Humans Shouldn't Read It:
Programs that produce structured data often store that data on
disk, using either a binary or text format. An advantage of a textual
format is that it allows people, if necessary, to look at the data without
the program that produced it, using tools like text editors. XML files
are text files that people shouldn't have to read, but may read as and
when the need arises. Care must be taken when manually editing XML
since its rules are strict. A forgotten tag or an attribute without quotes
makes an XML document unusable. The official XML specification
forbids applications from trying to second-guess the creator of a broken
XML file; if the file is broken, an application has to stop and report an
error.
XML is Verbose:
Since XML is a textual format and uses tags to
delimit the data, XML files are nearly always larger than
comparable binary formats. That was a conscious decision
by the designers of XML. The advantages of a text format
are evident, and the disadvantages can usually be
compensated at a different level by compression
applications.
XML is a Suite of Technologies:
XML 1.0 is the specification that defines
what "tags" and "attributes" are. Beyond that specification,
the XML family is a growing set of modules that offer
useful services to accomplish important and frequently
demanded tasks.
XML is Modular:
XML allows you to define a new document format by
combining and reusing other formats. Since two formats
developed independently may have elements or attributes
with the same name, care must be taken when combining
those formats. To eliminate name confusion when
combining formats, XML provides a namespace mechanism
that is supported in all XML-based technologies.
XML is License-Free, Platform-Independent,
and Well-Supported:
Basing Web services on XML is similar to basing a
database strategy on SQL you still have to build your own
database, programs, and procedures that manipulate it, but
there are many tools and commodity components available
to help. Furthermore, since XML is license-free, Web
services can be built without incurring royalty payments.
What is namespaces:
As an example, let's assume we have an RDB with a table
of the following structure (employee Table, section
Table). What kind of SQL statement would you create to
obtain a list of Employee ID, Employee Department
Name, and Employee Name? If we merged employee
Table and section Table with the sec ID column, then we
would be able to obtain a list of employee IDs, employee
departments and employee names. However, since the
name column and sec ID column exist in both tables, we
would have to designate the table name before the name
and sec ID columns, or designate the alias of the table in
order to clarify the table of the name and sec ID columns
in question.
UNIT-1 Web services
Solving the Name Conflict Using
a Prefix
Name conflicts in XML can easily be avoided using a name prefix.
This XML carries information about an HTML table, and a piece of
furniture:
<h:table>
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table>
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
In the example above, there will be no conflict because the two <table>
elements have different names.
XML Namespaces - The xmlns Attribute:
When using prefixes in XML, a namespace for the prefix must be
defined.
The namespace can be defined by an xmlns attribute in the start tag of
an element.
The namespace declaration has the following syntax.
xmlns:prefix="URI".
<root>
<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr>
<h:td>Apples</h:td>
<h:td>Bananas</h:td>
</h:tr>
</h:table>
<f:table xmlns :f="https://www.w3schools.com/furniture">
<f:name>African Coffee Table</f:name>
<f:width>80</f:width>
<f:length>120</f:length>
</f:table>
Uniform Resource Identifier (URI):
A Uniform Resource Identifier (URI) is a string of characters
which identifies an Internet Resource.
The most common URI is the Uniform Resource
Locator (URL) which identifies an Internet domain address.
 Another, not so common type of URI is the Uniform
Resource Name (URN)
Default Namespaces:
Defining a default namespace for an element saves us from using prefixes in
all the child elements. It has the following syntax:
xmlns="namespaceURI"
This XML carries HTML table information:
<table xmlns="http://www.w3.org/TR/html4/">
<tr>
<td>Apples</td>
<td>Bananas</td>
</tr>
</table>
This XML carries information about a piece of furniture:
<table xmlns="https://www.w3schools.com/furniture">
<name>African Coffee Table</name>
<width>80</width>
<length>120</length>
</table>
Namespaces in Real Use
XSLT is a language that can be used to transform XML documents into other formats. The XML
document below, is a document used to transform XML into HTML. The namespace
"http://www.w3.org/1999/XSL/Transform" identifies XSLT elements inside an HTML document:
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr>
<th style="text-align:left">Title</th>
<th style="text-align:left">Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
NAMESPACES AND VISUAL
INHERITANCE:
Inheritance namespaces
INTRODUCTION Namespaces:
 allow you to organize a large number of classes into a
hierarchical structure, which promotes code reuse and
inheritance among classes. Without namespaces, a project
quickly becomes cluttered with classes and other objects
that are all on the same root namespace (the project name).
Moving classes into namespaces that grow out of your
own custom root namespace allows you to keep classes
separate.
WHAT IS A NAMESPACE? A namespace is a
hierarchical structure for organizing classes. You can
create and use any namespace name that you want in your
programs
 VISUAL INHERITANCE
INTRODUCTION Visual inheritance is a new feature in
VB.NET, which allows you to reuse forms and controls
between projects. Ideally, you would compile a form or
control as a component into a.DLL file, so it could be
shared. For demonstration purposes, I’ll just show you how
to inherit one form into another, within the same project.
 CREATING A REUSABLE FORM Create a new
Windows Application called Visual Inheritance. Add four
controls to the default Form1: a Label, a Text Box, and two
Button controls. Now, double-click the first button to open
up the default event for the button and type the following
code: If TextBox1.Text.Length > 0 Then Msg Box(“Hello, “
& TextBox1.Text & “!”)
REUSING THE REUSABLE FORM
 Now, creating inherited forms is fairly easy,
because VB.NET has a menu item that does
all the work for you. And actually, you can do
it yourself because the code that VB.NET
generates is extremely short, as you’ll see.
Select Project, Add Inherited Form. The Add
New Item dialog appears, with the Inherited
Form template already selected.
Schema Overview
Elements
Cardinality
Simple Types
Complex Types
Compositors
Global Types
Attributes
mixed Content
overview
An XML schema, commonly Known as an
Xml Schema Definition (XSD), formally
describes what a given XML document can
contain, in the same way that a database
schema describes the date that can be
contain in a database. The XML schema
defines the shape, or structure, of an XML
document, along with rules for data content
and semantics such as what fields an
element an contain which sub elements it
can contain and how many item can be
present. It can also describe the type and
values that can be placed into each elements
or attributes. The XML data constrains are
called facets and include rules such as min
and max length.
XML schema abstract
this report presents a series of BT user
stories which chart our experience in using
XML Schema to describe messages
exchanged by Web services.
We explain how the value of a standard is
greatly diminished, even one as widely used
as XML Schema, when it is implemented
inconsistently and offer best practices in
conjunction with test cases targeted at
description as the best way of
communicating which aspects of schema
maybe
relied upon to interoperate.
UNIT-1 Web services
UNIT-1 Web services
UNIT-1 Web services
UNIT-1 Web services
structure of the
global cache
the global cache consists of both
WSDL documents and XML schema
documents
the global cache of WSDL
documents contains all WSDL documents
that have been imported into API Gateway
The global cache of schema
documents contains:
user defined catalog-This contains
all user defined schema documents that
have been imported into API Gateway.
System catalog-This contains all
common schemas that are preloaded during
API Gateway installation.
UNIT-1 Web services
UNIT-1 Web services
UNIT-1 Web services
manage WSDL and XML schema
documents
Overview
WSDL files contain XML schemas that define the elements that
appear in SOAP messages. When you import a WSDL file to register a
web service, the imported WSDL file, and any XML schemas included
in the WSDL, are added to a global cache of WSDL and XML schema
documents. You can also add XML schemas and WSDL documents to
the cache indepently.
If you select a cached WSDL file or XML schema in a
Schema Validation filter, API Gateway can retrieve it from the cache
instead of fetching it from its original location. This improves the
runtime performance of the filter, and also ensures that an
administrator has complete control over the schemas used to validate
messages.
API Gateway can maintain multiple versions of WSDL and
XML schema documents in the global cache, and keeps an explicit
version history as they change over time. The cache is prepopulated
document object model
document object model (DOM) is a cross-
platform and language-independent
interface that treats an XML or HTML
documents as a tree structure wherein each
node is an object representing a part of the
document. The DOM represents a
document with a logical tree. each branch
of the tree ends in a node, and each node
contains objects. DOM methods allow
programmatic access to the tree; with them
one can change the structure, style or
content of a document. Nodes an have evet
handlers attached to them. Once an event is
triggered, the event handlers get exeuted
xslt (Extensible stylesheet language
transformations) is a language for
tranforming XMl documents into other XML
documents, or other formats such as HTML
for web pages, plain text or XSL formatting
objects, which may subsequency be
converted to other formats, such as PDF,
XSLT
introduction
xsl(extensible stylesheet language) is a
styling language for XML
xslt stands for XSL transformation
This tutorial will teach you how to uSe XSLt
to transform XML documents into other
formats
UNIT-1 Web services
XPATH
XPATH(xml path language) is a
query language for selecting nodes from an
xml document in addtion path maybe used
to compute values
the global cache consists of both WSDL
documents and XML schema documents
the global cache of WSDL
documents contains all WSDL documents
that have been imported into API Gateway
The global cache of schema documents
contains:
user defined catalog-This contains all user
defined schema documents that have been
imported into API Gateway.
System catalog-This contains all common
schemas that are preloaded during API
Gateway installation.

More Related Content

PPTX
Unit 3 WEB TECHNOLOGIES
tamilmozhiyaltamilmo
 
DOCX
Introduction to xml
Abhishek Kesharwani
 
PPT
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
PDF
Full xml
Aravindharamanan S
 
PDF
light_xml
Jennifer Power
 
DOCX
Xml material
prathap kumar
 
PDF
Web engineering notes unit 3
inshu1890
 
Unit 3 WEB TECHNOLOGIES
tamilmozhiyaltamilmo
 
Introduction to xml
Abhishek Kesharwani
 
SynapseIndia dotnet web applications development
Synapseindiappsdevelopment
 
light_xml
Jennifer Power
 
Xml material
prathap kumar
 
Web engineering notes unit 3
inshu1890
 

What's hot (18)

PDF
Web engineering notes unit 4
inshu1890
 
DOCX
Unit 2.2
Abhishek Kesharwani
 
PDF
Xml linking
unyil96
 
PDF
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
ijsc
 
ODP
Web based application of Live Scoreboard using XML.
Uttam Kumar
 
PDF
Introduction to xml
soumya
 
PPT
Introduction to Oracle
Achmad Solichin
 
PDF
Unit 2.2
Abhishek Kesharwani
 
PPTX
Chap 9 report (1st time upload/experiment)
Ayitah Tallada
 
PPT
Intro
Sudharsan S
 
PPTX
Fyp presentation 2 (SQL Converter)
Muhammad Shafiq
 
PDF
WDSOA'05 Whitepaper: SOA and the Future of Application Development
Rajesh Raheja
 
PPTX
Xml in bio medical field
Juman Ghazi
 
PDF
Web programming by Najeeb ullahAzad(1)
azadmcs
 
PDF
Ncp computer appls web tech asish
NCP
 
PPTX
Xml Overview
Mohammad Elsheikh
 
DOCX
Entity Framework
Mahesh Pachbhai
 
PPTX
Ms Access
Swati Sinha
 
Web engineering notes unit 4
inshu1890
 
Xml linking
unyil96
 
INVESTIGATING SOAP AND XML TECHNOLOGIES IN WEB SERVICE
ijsc
 
Web based application of Live Scoreboard using XML.
Uttam Kumar
 
Introduction to xml
soumya
 
Introduction to Oracle
Achmad Solichin
 
Chap 9 report (1st time upload/experiment)
Ayitah Tallada
 
Fyp presentation 2 (SQL Converter)
Muhammad Shafiq
 
WDSOA'05 Whitepaper: SOA and the Future of Application Development
Rajesh Raheja
 
Xml in bio medical field
Juman Ghazi
 
Web programming by Najeeb ullahAzad(1)
azadmcs
 
Ncp computer appls web tech asish
NCP
 
Xml Overview
Mohammad Elsheikh
 
Entity Framework
Mahesh Pachbhai
 
Ms Access
Swati Sinha
 
Ad

Similar to UNIT-1 Web services (20)

PPS
XML Unit 01
Prashanth Shivakumar
 
PDF
xml test
kunalboss
 
PDF
test slideshare
kunalboss
 
PPT
Xml iet 2015
kiransurariya
 
PPTX
XML1.pptx
53ShaikhImadoddin
 
PPT
Basic concepts of xml
HelpWithAssignment.com
 
PDF
Java Web Services
Jussi Pohjolainen
 
PPT
What is xml
Aneesa Rahman
 
PPT
Web Services Part 1
patinijava
 
DOCX
Xml material
prathap kumar
 
DOCX
Xml material
xavier john
 
PPT
Web services Overview in depth
AbdulImrankhan7
 
PDF
XML for Web Development Information tech.pdf
VinayVitekari
 
PPT
working with internet technologies using XML
nazimsattar
 
PPTX
XML.pptx
vishal choudhary
 
PDF
XMLin Web development and Applications.pdf
VinayVitekari
 
DOCX
Oracle soa xml faq
xavier john
 
PPTX
mobile computing XML_and_Mobile_Applications[1].pptx
pisalaniket3371
 
PPT
Xml description
sonam gupta
 
PPT
Lecture 1 - Getting to know XML
phanleson
 
xml test
kunalboss
 
test slideshare
kunalboss
 
Xml iet 2015
kiransurariya
 
Basic concepts of xml
HelpWithAssignment.com
 
Java Web Services
Jussi Pohjolainen
 
What is xml
Aneesa Rahman
 
Web Services Part 1
patinijava
 
Xml material
prathap kumar
 
Xml material
xavier john
 
Web services Overview in depth
AbdulImrankhan7
 
XML for Web Development Information tech.pdf
VinayVitekari
 
working with internet technologies using XML
nazimsattar
 
XMLin Web development and Applications.pdf
VinayVitekari
 
Oracle soa xml faq
xavier john
 
mobile computing XML_and_Mobile_Applications[1].pptx
pisalaniket3371
 
Xml description
sonam gupta
 
Lecture 1 - Getting to know XML
phanleson
 
Ad

Recently uploaded (20)

PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
PPTX
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
PPTX
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
PDF
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
PDF
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
PDF
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
PDF
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Economic Impact of Data Centres to the Malaysian Economy
flintglobalapac
 
AI and Robotics for Human Well-being.pptx
JAYMIN SUTHAR
 
Applied-Statistics-Mastering-Data-Driven-Decisions.pptx
parmaryashparmaryash
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
AI Unleashed - Shaping the Future -Starting Today - AIOUG Yatra 2025 - For Co...
Sandesh Rao
 
The Future of Artificial Intelligence (AI)
Mukul
 
OFFOFFBOX™ – A New Era for African Film | Startup Presentation
ambaicciwalkerbrian
 
A Day in the Life of Location Data - Turning Where into How.pdf
Precisely
 
SparkLabs Primer on Artificial Intelligence 2025
SparkLabs Group
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Trying to figure out MCP by actually building an app from scratch with open s...
Julien SIMON
 
Responsible AI and AI Ethics - By Sylvester Ebhonu
Sylvester Ebhonu
 
Cloud-Migration-Best-Practices-A-Practical-Guide-to-AWS-Azure-and-Google-Clou...
Artjoker Software Development Company
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
Google I/O Extended 2025 Baku - all ppts
HusseinMalikMammadli
 

UNIT-1 Web services

  • 2. WHAT IS WEB SERVICES  W3C: “The World Wide Web is more and more used for application to application communication. The programmatic interfaces made available are referred to as Web services” A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine- format processble (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web- related standards.”
  • 3. INTRODUCATION Contemporary Service-Oriented Architectures (SOA) represents an architecture that promotes service- orientation through the use of Web services. All functions, or services, are defined using a description language and have invokable interface that are called to perform business processes. • Client • Third party system • Legacy • Resources • Modern Moves
  • 4. Web service example A stock quote service. An application requires the current value of a stock, the web service returns it. A route finder for delivery of goods. Given an initial and a final location, find the most cost- effective delivery route. A weather service, a map service, a web search service… any composition of Web services.
  • 5. Dickson Chiu 2006 Web Service-5 UDDI Registry WSDL Web Service SOAP Service Consumer Points to description Describes ServiceFinds Service Communicates with XML Messages SOA Technologies
  • 6. Why web services for important From business standpoint – Integration • Within an organization • Between companies • Allows time/cost efficiencies – Purchase orders – Answering inquiries – Processing shipment requests • Do this without locking in to a single partner.
  • 7. Issues distributed computing platform Platform Dependency Management and Optimization What do 99,99% availability mean? How can I guarantee 3 seconds response time? Who owns the Log? Who owns the context? Load Balancing, Caching, Replication? Change a Process: All or Nothing Whole system fails when a component is upgraded Versioning, Schema Evolution while process runs
  • 8. How do we send a Java double value to a web service using XML? Is scientific notation allowed?  How large can the value be? Etc. What if we want to send an object? And what if the object contains references to other objects?
  • 9. Web services enterprises The emergence of Web services is transforming traditional enterprises. However, the industry hype surrounding these technologies obscures the understanding of their impact and implications to enterprises. Here the authors take the "big picture" perspective, offering a thorough understanding of the concepts behind Web service technologies: the challenges and opportunities they present, how they fit into the enterprise stack, how they relate to the business and IT layers of the enterprise, as well as the existing and emerging standards and their relevance.
  • 10. XML fundamentals XML XML Fundamentals. In this first of three chapters in Part One, we start with a discussion of the fundamentals of the extensible Markup Language (XML), the basic technology on which Web services are based. From network protocols up the stack to back-end databases, XML in all its forms has had a commoditizing effect on enterprise computing systems and being both platform and language independent is a natural choice for the level of interoperability required of Web services.
  • 11. XML fundamentals XML What is XML? XML stands for Extensible Markup Language. XML is a markup language like HTML and not a programming language. It uses tags, just like HTML. XML is not a replacement for HTML. XML was created to transport or store data. XML is very easy to learn compared to learn any programming language.
  • 12. Some XML History XML is an application profile of an ISO standard SGML, and most of XML comes from SGML unchanged. XML version 1.0 was defined in 1998. It had many minor revisions since then XML 1.0 is the recommended version. XML version 1.1 was published in February of 2004, the same day as version 1.0’s third edition. 1.0 is generally suggested over 1.1 unless the project needs specific features of 1.1. There have been discussions of an XML 2.0, although no organization has announced plans for work on such a project.
  • 13. XML vs. HTML There is no comparison between HTML and XML. They are completely different and are used in different situations. XML is a Data Interchange Format; it’s a way to structure and store data and also to transport data. XML was created to transport and store data and is more behind the scenes.XML has no pre-defined tags. HTML is used to display data in a browser and focus on physical presentation. HTML has pre-defined tags. Now let’s s
  • 14. Document structure In the XML file structure, the first line is the declaration that contains the document information like version information, character set, etc. Declaration must come first in the document. Every opening tag should have a closing tag. Each XML document has a root element. Root element contains the child elements which can in turn have sub-child elements. All the sub-child elements in a child element are called the siblings of each other. Attributes like gender=”male” can also be given to the tags.
  • 15. THE LINGUA FRANCA OF WEB SERVICES XML is a standard for data mark-up backed by the World Wide Web Consortium, which has been branded "the universal format for structured documents and data on the Web.“ The entire XML suite of standards, models, and processing technologies have been under development since 1998 with the initial XML specification, and has since been augmented by several additional supporting standards and notes that have brought XML to its current rich state. In fact, though XML is undeniably a richly specified technology, it has retained its simplicity and the entire
  • 16. XML is for Structuring Data: Structured data includes things like spreadsheets, address books, configuration parameters, financial transactions, and technical drawings. XML is a set of rules for designing text formats that support the developer in creating structured data. Though it vaguely resembles source code, XML is not a programming language, but it does make it easy for a computer to generate data, read data, and ensure that the data structure is unambiguous. XML avoids common pitfalls in language design. It is extensible, platform-independent, supports internationalization and localization, and is fully Unicode-compliant. XML platform can be profiled as follows
  • 17. XML Resembles HTML: Like HTML, XML makes use of tags (words surrounded by angle brackets, "<" and ">") and attributes (of the form name="value"). While HTML specifies what each tag and attribute means and often how the text between them will render in a browser, XML uses the tags only to delimit pieces of data and leaves the interpretation of the data completely to the application that reads it.
  • 18. XML is Human Readable, but Humans Shouldn't Read It: Programs that produce structured data often store that data on disk, using either a binary or text format. An advantage of a textual format is that it allows people, if necessary, to look at the data without the program that produced it, using tools like text editors. XML files are text files that people shouldn't have to read, but may read as and when the need arises. Care must be taken when manually editing XML since its rules are strict. A forgotten tag or an attribute without quotes makes an XML document unusable. The official XML specification forbids applications from trying to second-guess the creator of a broken XML file; if the file is broken, an application has to stop and report an error.
  • 19. XML is Verbose: Since XML is a textual format and uses tags to delimit the data, XML files are nearly always larger than comparable binary formats. That was a conscious decision by the designers of XML. The advantages of a text format are evident, and the disadvantages can usually be compensated at a different level by compression applications. XML is a Suite of Technologies: XML 1.0 is the specification that defines what "tags" and "attributes" are. Beyond that specification, the XML family is a growing set of modules that offer useful services to accomplish important and frequently demanded tasks.
  • 20. XML is Modular: XML allows you to define a new document format by combining and reusing other formats. Since two formats developed independently may have elements or attributes with the same name, care must be taken when combining those formats. To eliminate name confusion when combining formats, XML provides a namespace mechanism that is supported in all XML-based technologies. XML is License-Free, Platform-Independent, and Well-Supported: Basing Web services on XML is similar to basing a database strategy on SQL you still have to build your own database, programs, and procedures that manipulate it, but there are many tools and commodity components available to help. Furthermore, since XML is license-free, Web services can be built without incurring royalty payments.
  • 21. What is namespaces: As an example, let's assume we have an RDB with a table of the following structure (employee Table, section Table). What kind of SQL statement would you create to obtain a list of Employee ID, Employee Department Name, and Employee Name? If we merged employee Table and section Table with the sec ID column, then we would be able to obtain a list of employee IDs, employee departments and employee names. However, since the name column and sec ID column exist in both tables, we would have to designate the table name before the name and sec ID columns, or designate the alias of the table in order to clarify the table of the name and sec ID columns in question.
  • 23. Solving the Name Conflict Using a Prefix Name conflicts in XML can easily be avoided using a name prefix. This XML carries information about an HTML table, and a piece of furniture: <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> In the example above, there will be no conflict because the two <table> elements have different names.
  • 24. XML Namespaces - The xmlns Attribute: When using prefixes in XML, a namespace for the prefix must be defined. The namespace can be defined by an xmlns attribute in the start tag of an element. The namespace declaration has the following syntax. xmlns:prefix="URI". <root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns :f="https://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
  • 25. Uniform Resource Identifier (URI): A Uniform Resource Identifier (URI) is a string of characters which identifies an Internet Resource. The most common URI is the Uniform Resource Locator (URL) which identifies an Internet domain address.  Another, not so common type of URI is the Uniform Resource Name (URN)
  • 26. Default Namespaces: Defining a default namespace for an element saves us from using prefixes in all the child elements. It has the following syntax: xmlns="namespaceURI" This XML carries HTML table information: <table xmlns="http://www.w3.org/TR/html4/"> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> This XML carries information about a piece of furniture: <table xmlns="https://www.w3schools.com/furniture"> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
  • 27. Namespaces in Real Use XSLT is a language that can be used to transform XML documents into other formats. The XML document below, is a document used to transform XML into HTML. The namespace "http://www.w3.org/1999/XSL/Transform" identifies XSLT elements inside an HTML document: <html> <body> <h2>My CD Collection</h2> <table border="1"> <tr> <th style="text-align:left">Title</th> <th style="text-align:left">Artist</th> </tr> <xsl:for-each select="catalog/cd"> <tr> <td><xsl:value-of select="title"/></td> <td><xsl:value-of select="artist"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template>
  • 28. NAMESPACES AND VISUAL INHERITANCE: Inheritance namespaces INTRODUCTION Namespaces:  allow you to organize a large number of classes into a hierarchical structure, which promotes code reuse and inheritance among classes. Without namespaces, a project quickly becomes cluttered with classes and other objects that are all on the same root namespace (the project name). Moving classes into namespaces that grow out of your own custom root namespace allows you to keep classes separate. WHAT IS A NAMESPACE? A namespace is a hierarchical structure for organizing classes. You can create and use any namespace name that you want in your programs
  • 29.  VISUAL INHERITANCE INTRODUCTION Visual inheritance is a new feature in VB.NET, which allows you to reuse forms and controls between projects. Ideally, you would compile a form or control as a component into a.DLL file, so it could be shared. For demonstration purposes, I’ll just show you how to inherit one form into another, within the same project.  CREATING A REUSABLE FORM Create a new Windows Application called Visual Inheritance. Add four controls to the default Form1: a Label, a Text Box, and two Button controls. Now, double-click the first button to open up the default event for the button and type the following code: If TextBox1.Text.Length > 0 Then Msg Box(“Hello, “ & TextBox1.Text & “!”)
  • 30. REUSING THE REUSABLE FORM  Now, creating inherited forms is fairly easy, because VB.NET has a menu item that does all the work for you. And actually, you can do it yourself because the code that VB.NET generates is extremely short, as you’ll see. Select Project, Add Inherited Form. The Add New Item dialog appears, with the Inherited Form template already selected.
  • 31. Schema Overview Elements Cardinality Simple Types Complex Types Compositors Global Types Attributes mixed Content
  • 32. overview An XML schema, commonly Known as an Xml Schema Definition (XSD), formally describes what a given XML document can contain, in the same way that a database schema describes the date that can be contain in a database. The XML schema defines the shape, or structure, of an XML document, along with rules for data content and semantics such as what fields an element an contain which sub elements it can contain and how many item can be present. It can also describe the type and values that can be placed into each elements or attributes. The XML data constrains are called facets and include rules such as min and max length.
  • 33. XML schema abstract this report presents a series of BT user stories which chart our experience in using XML Schema to describe messages exchanged by Web services. We explain how the value of a standard is greatly diminished, even one as widely used as XML Schema, when it is implemented inconsistently and offer best practices in conjunction with test cases targeted at description as the best way of communicating which aspects of schema maybe relied upon to interoperate.
  • 38. structure of the global cache the global cache consists of both WSDL documents and XML schema documents the global cache of WSDL documents contains all WSDL documents that have been imported into API Gateway The global cache of schema documents contains: user defined catalog-This contains all user defined schema documents that have been imported into API Gateway. System catalog-This contains all common schemas that are preloaded during API Gateway installation.
  • 42. manage WSDL and XML schema documents Overview WSDL files contain XML schemas that define the elements that appear in SOAP messages. When you import a WSDL file to register a web service, the imported WSDL file, and any XML schemas included in the WSDL, are added to a global cache of WSDL and XML schema documents. You can also add XML schemas and WSDL documents to the cache indepently. If you select a cached WSDL file or XML schema in a Schema Validation filter, API Gateway can retrieve it from the cache instead of fetching it from its original location. This improves the runtime performance of the filter, and also ensures that an administrator has complete control over the schemas used to validate messages. API Gateway can maintain multiple versions of WSDL and XML schema documents in the global cache, and keeps an explicit version history as they change over time. The cache is prepopulated
  • 43. document object model document object model (DOM) is a cross- platform and language-independent interface that treats an XML or HTML documents as a tree structure wherein each node is an object representing a part of the document. The DOM represents a document with a logical tree. each branch of the tree ends in a node, and each node contains objects. DOM methods allow programmatic access to the tree; with them one can change the structure, style or content of a document. Nodes an have evet handlers attached to them. Once an event is triggered, the event handlers get exeuted xslt (Extensible stylesheet language transformations) is a language for tranforming XMl documents into other XML documents, or other formats such as HTML for web pages, plain text or XSL formatting objects, which may subsequency be converted to other formats, such as PDF,
  • 44. XSLT introduction xsl(extensible stylesheet language) is a styling language for XML xslt stands for XSL transformation This tutorial will teach you how to uSe XSLt to transform XML documents into other formats
  • 46. XPATH XPATH(xml path language) is a query language for selecting nodes from an xml document in addtion path maybe used to compute values the global cache consists of both WSDL documents and XML schema documents the global cache of WSDL documents contains all WSDL documents that have been imported into API Gateway The global cache of schema documents contains: user defined catalog-This contains all user defined schema documents that have been imported into API Gateway. System catalog-This contains all common schemas that are preloaded during API Gateway installation.