190 likes | 274 Views
Introduction to Web Services, and Key Components. - Jatin Singhal. Outline. What are Web services? What are they Good for? What to look out for? Where are they being used? Key Components- XSD and WSDL. Web Services Evolution. What are Web Services.
E N D
Introduction to Web Services, and Key Components -JatinSinghal
Outline What are Web services? What are they Good for? What to look out for? Where are they being used? Key Components- XSD and WSDL
Web Services Evolution What are Web Services Web Services are an Architectural Evolution. EJB Corba DCOM RMI Main Frame
Web Evolution Web Evolution What are Web Services XML HTML Technology TCP/IP Presentation Programmability Connectivity FTP, E-mail, Gopher Innovation Web Pages Web Services Browse the Web Program the Web
Definition Web service is a software system designed to support interoperable machine-to-machine interaction over a network- Standard W3C Definition. A Web Service is a URL-addressable software resource that performs functions (or a function). Web Services communicate using standard protocol known as SOAP (Simple Object Access Protocol). A Web Service is located by its listing in a Universal Discovery, Description and Integration (UDDI) directory.
Characteristics • A Web Service is accessible over the Web. • Web Services communicate using platform-independent and language-neutral Web protocols. • A Web Service provides an interface that can be called from another program. • A Web Service is registered and can be located through a Web Service Registry. • Web Services support loosely coupled connections between systems.
Web Service Environment Development Deployment Directory Infrastructure
Service Infrastructure Services Billing Auditing Identity Authorization Authentication Provisioning Service Infrastructure Services Description State User Session Transaction Management J2EE .NET Management Management Discovery UDDI Services Application Server Application Server .NET Server Web Services Deployment Web Services Deployment Runtime Security Runtime Security Directory Services Component Deployment Component Deployment Services Directory Description Description SOAP SOAP Development and Development and Assembly Environment Assembly Environment Web Service Landscape
J2EE .NET Development and Development and Assembly Environment Assembly Environment Development Environment • Design and Code Web Services • Expose Existing Resources as Web Services • Develop new applications from Web Services • Create Web Services interfaces from existing applications.
Deployment Environment • Runtime • Security • WSDL / XML Schema Support • SOAP Support • Component Deployment • Management
Directory Environment • Locate Web Services • Publish Web Services • Understand the characteristics of Web Services (capability, security, cost, etc.)
Infrastructure Service • Separate Business Logic from System Functions • Bundle Common Functionality across Web Services • Security (Authentication, Authorization) • Provide consistency among services
What are they good for? In a lot of organizations, the data and logic of one application are basically useless to other applications. When an application and its data are isolated from other applications, we often say that they are in “silos.” Web Services are better at sharing data and functions. The result is that the “silos” come down, and previously isolated systems can talk to each other. Web Services are especially good at providing access through different interfaces. A Web Service can have a dedicated client application, but it can also be readily accessed through browsers, wireless devices, voice-activated interfaces, and so on. Adding new access methods is much simpler than with a traditional application.
What are they good for? One of the more important innovations in Web Services is “machine-to-machine communications.” This means that a Web Service can ask another Web Service to do something, and that Web Service can ask another Web Service to do something, and so on. In the future, many Web Services will really just be aggregations of other Web Services. Future applications will be assembled from a diverse group of web services, aggregating functionality. Reusability is extended to the execution level, versus reusability from just the design and construction level.
Web services standards for features suchtransactions are currently nonexistent or still in their infancy compared to more mature distributed computing open standards such as CORBA. Web services may suffer from poor performance compared to other distributed computing approaches such as RMI, CORBA, or DCOM. This is a common trade-off when choosing text-based formats. XML explicitly does not count among its design goals either conciseness of encoding or efficiency of parsing.By utilizing HTTP, web services can evade existing firewall security measures whose rules are intended to block or audit communication between programs on either side of the firewall. What to look out for?
WSDL (Web Services Description Language) As communications protocols and message formats are standardized in the web community, it becomes increasingly possible and important to be able to describe the communications in some structured way. WSDL addresses this need by defining an XML grammar for describing network services as collections of communication endpoints capable of exchanging messages. WSDL service definitions provide documentation for distributed systems and serve as a recipe for automating the details involved in applications communication.
Elements in a WSDL Document 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.