web services: an introduction al kassam briyante software corp [email protected]
TRANSCRIPT
Web Services: An Web Services: An IntroductionIntroduction
Al KassamAl Kassam
Briyante Software CorpBriyante Software Corp
[email protected]@briyante.com
What is a web service?What is a web service?
Many DefinitionsMany Definitions At a minimum, a Web Service is a piece of self-At a minimum, a Web Service is a piece of self-
contained software that works over the Internet contained software that works over the Internet and uses a standardized XML-based messaging and uses a standardized XML-based messaging systemsystem
In simpler terms, it’s a program (which exists on In simpler terms, it’s a program (which exists on an unrelated computer on the Internet) which can an unrelated computer on the Internet) which can be run there on demand by a program on your be run there on demand by a program on your computercomputer
How does it work?How does it work?
Web Service
Client Application
Application Server
Internet
In its most basic form, it is a Web-based Remote In its most basic form, it is a Web-based Remote Procedure Call (RPC) mechanism.Procedure Call (RPC) mechanism.
XML is used to encode all communicationsXML is used to encode all communications XML-RPC and Simple Object Access Protocol XML-RPC and Simple Object Access Protocol
(SOAP) are currently the most common protocols (SOAP) are currently the most common protocols in use for conducting the RPCin use for conducting the RPC
Web Services interactionWeb Services interaction
GetTemperature( “92010” ) GetTemperature( “90210” )
Return( “65” )Return( “65” )
Process returned Value
Client Application Application Server
What’s good about WS ?What’s good about WS ?
Shares many similarities with existing web Shares many similarities with existing web based interaction (http/s, firewalls, etc)based interaction (http/s, firewalls, etc)
Clients and servers can be created using Clients and servers can be created using unrelated technologiesunrelated technologies
Supports all web site security models Supports all web site security models (http/s, certificates, LDAP etc.)(http/s, certificates, LDAP etc.)
Offers additional security features beyond Offers additional security features beyond that of web sites (WS Security).that of web sites (WS Security).
PitfallsPitfalls
Massively distributed, therefore no Massively distributed, therefore no standards for error managementstandards for error management
Far greater need for securityFar greater need for security Response time cannot be guaranteedResponse time cannot be guaranteed
Two aspects to Web ServicesTwo aspects to Web Services
Use Web Services that others have Use Web Services that others have created (consumption)created (consumption)
Create your own Web Services for others Create your own Web Services for others to use (publishing)to use (publishing)
Consuming Web ServicesConsuming Web Services
Universal Description, Discovery and Integration Universal Description, Discovery and Integration (UDDI) registries are used to catalogue available (UDDI) registries are used to catalogue available Web Services Web Services
Use an XML-RPC or SOAP toolkit for your Use an XML-RPC or SOAP toolkit for your platform and your preferred programming platform and your preferred programming languagelanguage
Build your application logic around data retrieved Build your application logic around data retrieved from many different organizations through their from many different organizations through their published Web Servicespublished Web Services
Publishing Web ServicesPublishing Web Services
Create your Web Service using your Create your Web Service using your preferred programming language and preferred programming language and either the XML-RPC or SOAP toolkit for either the XML-RPC or SOAP toolkit for your platformyour platform
Use the Web Service Description Use the Web Service Description Language (WSDL) to describe your Web Language (WSDL) to describe your Web Service to other software systems Service to other software systems
Allow others to discover your Web Service Allow others to discover your Web Service by publishing to a UDDI serverby publishing to a UDDI server
How do they help me?How do they help me?
Provide access to a wider range of Provide access to a wider range of information and services than a web site.information and services than a web site.
No need to copy data locally as it is No need to copy data locally as it is always available across the internet.always available across the internet.
Software systems can reap the same Software systems can reap the same benefits as web client users.benefits as web client users.
Facilitates electronic collaboration Facilitates electronic collaboration between (disparate) systems.between (disparate) systems.
How does this help Justice?How does this help Justice?
Existing agencies Existing agencies already form the hubs already form the hubs for justice related for justice related information.information.
Large amounts of Large amounts of useful information useful information already exist, but in already exist, but in disparate systems.disparate systems.
Where can an officer look for Where can an officer look for information?information?
Existing systems Existing systems provide access to provide access to information stored information stored locally within an locally within an agency.agency.
Some agencies offer Some agencies offer information services information services via a web portal of via a web portal of some kind.some kind.
Web Services can Web Services can help create a new help create a new “face” for an agency“face” for an agency
Web Services in JusticeWeb Services in Justice
An ideal platform for data sharing without the An ideal platform for data sharing without the need to gather data in one placeneed to gather data in one place
Information obtained from multiple agencies can Information obtained from multiple agencies can be presented in a unified viewbe presented in a unified view
Elegantly solves integration of disparate island Elegantly solves integration of disparate island of data throughout Justiceof data throughout Justice
Can be real timeCan be real time Available 24 hours a dayAvailable 24 hours a day
Dig DeeperDig Deeper
MS Web Services Enhancements 1.0/2.0 MS Web Services Enhancements 1.0/2.0 provides for much broader use of Web provides for much broader use of Web Services (WS-Security, WS-Addressing, Services (WS-Security, WS-Addressing, etc)etc)
www.oreillynet.comwww.oreillynet.com www.w3c.orgwww.w3c.org ““Web Services Essentials”, Ethan CeramiWeb Services Essentials”, Ethan Cerami