main prjct

Upload: allam-bhagya

Post on 03-Apr-2018

239 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Main Prjct

    1/78

    CHAPTER1

    1. INTRODUCTION

    The growth of Internet technologies is revolutionizing the way organizations do business with

    their partners and customers. Companies are focusing on the operation of web for more

    automation, efficient business process and global requirements. In order to compete, companies

    should implement the right software and follow recent trends in technology.. The latest

    development in using web for conducting business resulted in a new paradigm called web

    services. Web services are software components, based on loosely coupled, distributed and

    independent services operating via the web infrastructure. They are platform and language

    independent, which is suitable for accessing them from heterogeneous environments. With the

    rapid introduction of web-services technologies, researchers focused more on the functional and

    interfacing aspects of web services, which include HTTP and XML-based messaging. They are

    used to communicate across by using open standards such as HTTP and XML-based protocols

    including SOAP, WSDL and UDDI. WSDL is a document that describes the services location on

    the web and the functionality the service provides. Information related to the web service is to be

    entered in a UDDI registry, which permits web service consumers to find out and locate the

    services they required. Using the information available in the UDDI registry based on the web

    services, client developer uses instructions in the WSDL to construct SOAP messages for

    exchanging data with the service over HTTP attributes. Therefore, we attempt to approximate this

    nonlinear relationship with help of several intelligent techniques. The most significant application

    of the developed models is that we can confidently predict the quality of a new web service

    (whichis not in the training set) given its QoS attributes. In this context, we observed that there is

    no work reported addressing these aspects. An application is offered by two different web

    services. Now, any user will choose one of the web services that has higher ranking as measured

    by the QoS attributes, which are essentially non-functional in nature. In this context, if one

    develops classification model based on intelligent techniques to classify the given new web

    service, then the user can use this ranking in order to select a web service.

  • 7/28/2019 Main Prjct

    2/78

    Web Services

    A web service is any piece of software that makes itself available over the internet anduses a standardized XML messaging system. XML is used to encode all communications

    to a web service. For example, a client invokes a web service by sending an XMLmessage, then waits for a corresponding XML response. Because all communication is in

    XML, web services are not tied to any one operating system or programming language--

    Java can talk with Perl; Windows applications can talk with Unix applications.

    Web Services are self-contained, modular, distributed, dynamic applications that can bedescribed, published, located, or invoked over the network to create products, processes,

    and supply chains. These applications can be local, distributed, or Web-based. Web

    services are built on top of open standards such as TCP/IP, HTTP, Java, HTML, and

    XML.

    Web services are XML-based information exchange systems that use the Internet fordirect application-to-application interaction. These systems can include programs, objects,

    messages, or documents.

    A web service is a collection of open protocols and standards used for exchanging databetween applications or systems. Software applications written in various programming

    languages and running on various platforms can use web services to exchange data over

    computer networks like the Internet in a manner similar to inter-process communication

    on a single computer. This interoperability (e.g., between Java and Python, or Windows

    and Linux applications) is due to the use of open standards.

    To summarize, a complete web service is, therefore, any service that:

    Is available over the Internet or private (intranet) networks Uses a standardized XML messaging system Is not tied to any one operating system or programming language Is self-describing via a common XML grammar Is discoverable via a simple find mechanism

  • 7/28/2019 Main Prjct

    3/78

    Components of Web Services

    The basic Web services platform is XML + HTTP. All the standard Web Services works using

    following components

    SOAP (Simple Object Access Protocol) UDDI (Universal Description, Discovery and Integration) WSDL (Web Services Description Language)

    You can build a Java-based Web Service on Solaris that is accessible from your Visual Basic

    program that runs on Windows. You can also use C# to build new Web Services on Windows that

    can be invoked from your Web application that is based on Java Server Pages (JSP) and runs on

    Linux.

    Example:

    Consider a simple account-management and order -processing system. The accounting

    personnel use a client application built with Visual Basic or JSP to create new accounts and enter

    new customer orders. The processing logic for this system is written in Java and resides on a

    Solaris machine, which also interacts with a database to store the information.

    The steps illustrated above are as follows:

    1. The client program bundles the account registration information into a SOAP message.2. This SOAP message is sent to the Web Service as the body of an HTTP POST request.3. The Web Service unpacks the SOAP request and converts it into a command that the

    application can understand. The application processes the information as required and

    responds with a new unique account number for that customer.4. Next, the Web Service packages up the response into another SOAP message, which it

    sends back to the client program in response to its HTTP request.

    5. The client program unpacks the SOAP message to obtain the results of the accountregistration process. For further details regarding the implementation of Web Services

    technology, read about the Cape Clear product set and review the product components.

  • 7/28/2019 Main Prjct

    4/78

    Benefits of using Web Services

    Exposing the existing function on to network:

    A Web service is a unit of managed code that can be remotely invoked using HTTP, that

    is, it can be activated using HTTP requests. So, Web Services allows you to expose the

    functionality of your existing code over the network. Once it is exposed on the network,

    other application can use the functionality of your program.

    Connecting Different Applications ie Interoperability:

    Web Services allows different applications to talk to each other and share data andservices among themselves. Other applications can also use the services of the web

    services. For example VB or .NET application can talk to java web services and vice

    versa. So, Web services are used to make the application platform and technology

    independent.

    Standardized Protocol:

    Web Services uses standardized industry standard protocol for the communication. All thefour layers (Service Transport, XML Messaging, Service Description and Service

    Discovery layers) uses the well defined protocol in the Web Services protocol stack. This

    standardization of protocol stack gives the business many advantages like wide range of

    choices, reduction in the cost due to competition and increase in the quality.

    Low Cost of communication:

    Web Services uses SOAP over HTTP protocol for the communication, so you can useyour existing low cost internet for implementing Web Services. This solution is much less

    costly compared to proprietary solutions like EDI/B2B. Beside SOAP over HTTP, Web

    Services can also be implemented on other reliable transport mechanisms like FTP etc.

  • 7/28/2019 Main Prjct

    5/78

    Web Services Behavioral Characteristics

    Web services have special behavioral characteristics:

    XML-based

    Web Services uses XML at data representation and data transportation layers. Using XML

    eliminates any networking, operating system, or platform binding. So Web Services based

    applications are highly interoperable application at their core level.

    Loosely coupled

    A consumer of a web service is not tied to that web service directly. The web service

    interface can change over time without compromising the client's ability to interact with

    the service. A tightly coupled system implies that the client and server logic are closely

    tied to one another, implying that if one interface changes, the other must also be updated.

    Adopting a loosely coupled architecture tends to make software systems more manageable

    and allows simpler integration between different systems.

    Coarse-grained

    Object-oriented technologies such as Java expose their services through individual

    methods. An individual method is too fine an operation to provide any useful capability at

    a corporate level. Building a Java program from scratch requires the creation of several

    fine-grained methods that are then composed into a coarse-grained service that is

    consumed by either a client or another service. Businesses and the interfaces that they

    expose should be coarse-grained. Web services technology provides a natural way of

    defining coarse-grained services that access the right amount of business logic.

  • 7/28/2019 Main Prjct

    6/78

    Ability to be synchronous or asynchronous

    Synchronicity refers to the binding of the client to the execution of the service. In

    synchronous invocations, the client blocks and waits for the service to complete its

    operation before continuing. Asynchronous operations allow a client to invoke a service

    and then execute other functions. Asynchronous clients retrieve their result at a later point

    in time, while synchronous clients receive their result when the service has completed.

    Asynchronous capability is a key factor in enabling loosely coupled systems.

    Supports Remote Procedure Calls (RPCs)

    Web services allow clients to invoke procedures, functions, and methods on remote

    objects using an XML-based protocol. Remote procedures expose input and output

    parameters that a web service must support. Component development through Enterprise

    JavaBeans (EJBs) and .NET Components has increasingly become a part of architectures

    and enterprise deployments over the past couple of years. Both technologies are

    distributed and accessible through a variety of RPC mechanisms. A web service supports

    RPC by providing services of its own, equivalent to those of a traditional component, or

    by translating incoming invocations into an invocation of an EJB or a .NET component.

    Supports document exchange

    One of the key advantages of XML is its generic way of representing not only data, but

    also complex documents. These documents can be simple, such as when representing a

    current address, or they can be complex, representing an entire book or RFQ. Web

    services support the transparent exchange of documents to facilitate business integration.

  • 7/28/2019 Main Prjct

    7/78

    Web Services Architecture

    There are two ways to view the web service architecture.

    The first is to examine the individual roles of each web service actor. The second is to examine the emerging web service protocol stack.

    1. Web Service Roles

    There are three major roles within the web service architecture:

    Service provider:

    This is the provider of the web service. The service provider implements the service and

    makes it available on the Internet.

    Service requestor

    This is any consumer of the web service. The requestor utilizes an existing web service by

    opening a network connection and sending an XML request.

    Service registry

    This is a logically centralized directory of services. The registry provides a central place

    where developers can publish new services or find existing ones. It therefore serves as a

    centralized clearinghouse for companies and their services.

    2. Web Service Protocol Stack

    A second option for viewing the web service architecture is to examine the emerging web service

    protocol stack. The stack is still evolving, but currently has four main layers.

    Service transport

    This layer is responsible for transporting messages between applications. Currently, this

    layer includes hypertext transfer protocol (HTTP), Simple Mail Transfer Protocol

  • 7/28/2019 Main Prjct

    8/78

    (SMTP), file transfer protocol (FTP), and newer protocols, such as Blocks Extensible

    Exchange Protocol (BEEP).

    XML messaging

    This layer is responsible for encoding messages in a common XML format so that

    messages can be understood at either end. Currently, this layer includes XML-RPC and

    SOAP.

    Service description

    This layer is responsible for describing the public interface to a specific web service.

    Currently, service description is handled via the Web Service Description Language

    (WSDL).

    Service discovery

    This layer is responsible for centralizing services into a common registry, and providing

    easy publish/find functionality. Currently, service discovery is handled via Universal

    Description, Discovery, and Integration (UDDI).

    As web services evolve, additional layers may be added, and additional technologies maybe added to each layer.

    Next chapter explains about various components of Web Services.

    Service Transport

    The bottom of the web service protocol stack is service transport. This layer is responsible for

    actually transporting XML messages between two computers.

    Hyper Text Transfer Protocol (HTTP)

    Currently, HTTP is the most popular option for service transport. HTTP is simple, stable,

    and widely deployed. Furthermore, most firewalls allow HTTP traffic. This allows

    XMLRPC or SOAP messages to masquerade as HTTP messages. This is good if you want

    to easily integrate remote applications, but it does raise a number of security concerns.

  • 7/28/2019 Main Prjct

    9/78

    Blocks Extensible Exchange Protocol (BEPP)

    One promising alternative to HTTP is the Blocks Extensible Exchange Protocol

    (BEEP).BEEP is a new IETF framework of best practices for building new protocols.

    BEEP is layered directly on TCP and includes a number of built-in features, including an

    initial handshake protocol, authentication, security, and error handling. Using BEEP, one

    can create new protocols for a variety of applications, including instant messaging, file

    transfer, content syndication, and network management

    SOAP is not tied to any specific transport protocol. In fact, you can use SOAP via HTTP, SMTP,

    or FTP. One promising idea is therefore to use SOAP over BEEP.

    Web Services Components

    Over the past few years, three primary technologies have emerged as worldwide standards that

    make up the core of today's web services technology. These technologies are:

    XML

    This is the simplest XML based protocol for exchanging information between computers.

    XML-RPC is a simple protocol that uses XML messages to perform RPCs. Requests are encoded in XML and sent via HTTP POST. XML responses are embedded in the body of the HTTP response. XML-RPC is platform-independent.

    XML-RPC allows diverse applications to communicate. A Java client can speak XML-RPC to a Perl server. XML-RPC is the easiest way to get started with web services.

  • 7/28/2019 Main Prjct

    10/78

    SOAP

    SOAP is an XML-based protocol for exchanging information between computers.

    SOAP is a communication protocol SOAP is for communication between applications SOAP is a format for sending messages SOAP is designed to communicate via Internet SOAP is platform independent SOAP is language independent SOAP is simple and extensible SOAP allows you to get around firewalls SOAP will be developed as a W3C standard

    WSDL

    WSDL is an XML-based language for describing Web services and how to access them.

    WSDL stands for Web Services Description Language WSDL is an XML based protocol for information exchange in decentralized and

    distributed environments.

    WSDL is the standard format for describing a web service. WSDL definition describes how to access a web service and what operations it will

    perform.

    WSDL is a language for describing how to interface with XML-based services. WSDL is an integral part of UDDI, an XML-based worldwide business registry. WSDL is the language that UDDI uses. WSDL was developed jointly by Microsoft and IBM. WSDL is pronounced as 'wiz-dull' and spelled out as 'W-S-D-L'

  • 7/28/2019 Main Prjct

    11/78

    UDDI

    UDDI is an XML-based standard for describing, publishing, and finding Web services.

    UDDI stands for Universal Description, Discovery and Integration. UDDI is a specification for a distributed registry of Web services. UDDI is platform independent, open framework. UDDI can communicate via SOAP, CORBA, Java RMI Protocol. UDDI uses WSDL to describe interfaces to web services. UDDI is seen with SOAP and WSDL as one of the three foundation standards of web

    services.

    UDDI is an open industry initiative enabling businesses to discover each other and definehow they interact over the Internet.

    Web Services - Examples

    Based on the Web Service Architecture we will create following two components as a part of

    Web Services implementation

    Service provider or publisher:This is the provider of the web service. The service provider implements the service and

    makes it available on the Internet or intranet.

    We will write and publish a simple web Service using .NET SDK.

    Service requestor or consumer

    This is any consumer of the web service. The requestor utilizes an existing web service by

    opening a network connection and sending an XML request.

    We will also write two Web Service requestors: one Web-based consumer (ASP.NET

    application) and another Windows application-based consumer.

  • 7/28/2019 Main Prjct

    12/78

    Following is our First Web Service example which works as a service provider and exposes two

    methods (add and Say Hello) as Web Services to be used by applications. This is a standard

    template for a Web Service. .NET Web Services use the .asmx extension. Note that a method

    exposed as a Web Service has the Web Method attribute. Save this file as FirstService.asmx in the

    IIS virtual directory (as explained in configuring IIS; for example, c:\MyWebSerces).

    To test a Web Service, it must be published. A Web Service can be published either on an intranet

    or the Internet. We will publish this Web Service on IIS running on a local machine. Let's start

    with configuring the IIS.

    Open Start->Settings->Control Panel->Administrative tools->Internet Services Manager. Expand and right-click on [Default Web Site]; select New ->Virtual Directory. The Virtual Directory Creation Wizard opens. Click Next. The "Virtual Directory Alias" screen opens. Type the virtual directory namefor

    example, MyWebServicesand click Next.

    The "Web Site Content Directory" screen opens. Here, enter the directory path name forthe virtual directoryfor example, c:\MyWebServicesand click Next.

    The "Access Permission" screen opens. Change the settings as per your requirements.Let's keep the default settings for this exercise. Click the Next button. It completes the IIS

    configuration. Click Finish to complete the configuration.

    To test that IIS has been configured properly, copy an HTML file (for example, x.html) in the

    virtual directory (C:\MyWebServices) created above. Now, open Internet Explorer and type

    http://localhost/MyWebServices/x.html. It should open the x.html file. If it does not work, try

    replacing localhost with the IP address of your machine. If it still does not work, check whether

    IIS is running; you may need to reconfigure IIS and Virtual Directory.

    To test our Web Service, copy FirstService.asmx in the IIS virtual directory created above

    (C:\MyWebServices). Open the Web Service in Internet Explorer

    (http://localhost/MyWebServices/FirstService.asmx). It should open your Web Service page. The

    page should have links to two methods exposed as Web Services by our application.

    Congratulations; you have written your first Web Service!!!

  • 7/28/2019 Main Prjct

    13/78

    Testing the Web Service

    As we have just seen, writing Web Services is easy in the .NET Framework. Writing Web Service

    consumers is also easy in the .NET framework; however, it is a bit more involved. As said earlier,

    we will write two types of service consumers, one Web- and another Windows application-based

    consumer. Let's write our first Web Service consumer.

    Web-Based Service Consumer

    Write a Web-based consumer as given below. Call it WebApp.aspx. Note that it is an ASP.NET

    application. Save this in the virtual directory of the Web Service

    (c:\MyWebServices\WebApp.axpx).

    This application has two text fields that are used to get numbers from the user to be added. It has

    one button, Execute, that, when clicked, gets the Add and Say Hello Web Services.

    After the consumer is created, we need to create a proxy for the Web Service to be consumed.

    This work is done automatically by Visual Studio .NET for us when referencing a Web Service

    that has been added. Here are the steps to be followed:

    Create a proxy for the Web Service to be consumed. The proxy is created using the wsdlutility supplied with the .NET SDK. This utility extracts information from the Web

    Service and creates a proxy. Thus, the proxy created is valid only for a particular Web

    Service. If you need to consume other Web Services, you need to create a proxy for this

    service as well. VS .NET creates a proxy automatically for you when the reference for the

    Web Service is added. Create a proxy for the Web Service using the wsdl utility supplied

    with the .NET SDK. It will create FirstSevice.cs in the current directory. We need to

    compile it to create FirstService.dll (proxy) for the Web Service.

    Put the compiled proxy in the bin directory of the virtual directory of the Web Service(c:\MyWebServices\bin). IIS looks for the proxy in this directory.

    Create the service consumer, which we have already done. Note that I have instantiated anobject of the Web Service proxy in the consumer. This proxy takes care of interacting with

    the service.

  • 7/28/2019 Main Prjct

    14/78

  • 7/28/2019 Main Prjct

    15/78

    Communication can be encrypted via the SSL. SSL is a proven technology and widely deployed.

    But a single web service may consist of a chain of applications. For example one large service

    might tie together the services of three other applications. In this case, SSL is not adequate; the

    messages need to be encrypted at each node along the service path, and each node represents a

    potential weak link in the chain. Currently, there is no agreed-upon solution to this issue, but one

    promising solution is the W3C XML Encryption Standard. This standard provides a framework

    for encrypting and decrypting entire XML documents or just portions of an XML document.

    Authentication

    If a client connects to a web service, how do we identify the user? And is the user authorized to

    use the service?

    Following options can be considered but there is no clear consensus on a strong authentication

    scheme.

    HTTP includes built-in support for Basic and Digest authentication, and services cantherefore be protected in much the same manner as HTML documents are currently

    protected.

    SOAP Security Extensions: Digital Signature (SOAP-DSIG). DSIG leverages public keycryptography to digitally sign SOAP messages. This enables the client or server to

    validate the identity of the other party.

    The Organization for the Advancement of Structured Information Standards (OASIS) isworking on the Security Assertion Markup Language (SAML).

    Network Security

    There is currently no easy answer to this problem, and it has been the subject of much debate.

    For now, if you are truly intent on filtering out SOAP or XML-RPC messages, one possibility is

    to filter out all HTTP POST requests that set their content type to text/xml.

    Another alternative is to filter for the SOAP Action HTTP header attribute. Firewall vendors are

    also currently developing tools explicitly designed to filter web service traffic.

  • 7/28/2019 Main Prjct

    16/78

  • 7/28/2019 Main Prjct

    17/78

    WSDL Elements

    WSDL breaks down Web services into three specific, identifiable elements that can be combined

    or reused once defined.

    Three major elements of WSDL that can be defined separately and they are:

    Types Operations Binding

    A WSDL document has various elements, but they are contained within these three main

    elements, which can be developed as separate documents and then they can be combined or

    reused to form complete WSDL files.

    Following are the elements of WSDL document. Within these elements are further sub elements,

    or parts:

    Definition: element must be the root element of all WSDL documents. It defines the nameof the web service, declares multiple namespaces used throughout the remainder of the

    document, and contains all the service elements described here.

    Data types: the data types - in the form of XML schemas or possibly some othermechanism - to be used in the messages

    Message: an abstract definition of the data, in the form of a message presented either as anentire document or as arguments to be mapped to a method invocation.

    Operation: the abstract definition of the operation for a message, such as naming amethod, message queue, or business process, that will accept and process the message

    Port type: an abstract set of operations mapped to one or more end points, defining thecollection of operations for a binding; the collection of operations, because it is abstract,can be mapped to multiple transports through various bindings.

    Binding: the concrete protocol and data formats for the operations and messages definedfor a particular port type.

    Port: a combination of a binding and a network address, providing the target address ofthe service communication.

  • 7/28/2019 Main Prjct

    18/78

    Service: a collection of related end points encompassing the service definitions in the file;the services map the binding to the port and include any extensibility definitions.

    In addition to these major elements, the WSDL specification also defines the following utility

    elements:

    Documentation: element is used to provide human-readable documentation and can beincluded inside any other WSDL element.

    Import: element is used to import other WSDL documents or XML Schemas.

    NOTE: WSDL parts usually are generated automatically using Web services-aware tools.

    UDDI

    UDDI is an XML-based standard for describing, publishing, and finding Web services.

    UDDI stands for Universal Description, Discovery and Integration.

    In this tutorial you will learn what is UDDI and Why and How to use it.

    UDDI

    UDDI is an XML-based standard for describing, publishing, and finding Web services.

    UDDI stands for Universal Description, Discovery and Integration. UDDI is a specification for a distributed registry of Web services. UDDI is platform independent, open framework. UDDI can communicate via SOAP, CORBA, Java RMI Protocol. UDDI uses WSDL to describe interfaces to web services. UDDI is seen with SOAP and WSDL as one of the three foundation standards of web

    services.

    UDDI is an open industry initiative enabling businesses to discover each other and definehow they interact over the Internet.

    UDDI has two parts:

  • 7/28/2019 Main Prjct

    19/78

    A registry of all a web service's metadata including a pointer to the WSDL description of aservice

    A set of WSDL port type definitions for manipulating and searching that registry

    History of UDDI

    UDDI 1.0 was originally announced by Microsoft, IBM, and Ariba in September 2000. Since the initial announcement, the UDDI initiative has grown to include more than 300

    companies inclduing Dell, Fujitsu, HP, Hitachi, IBM, Intel, Microsoft, Oracle, SAP, and

    Sun.

    May 2001, Microsoft and IBM launched the first UDDI operator sites and turned theUDDI registry live.

    June 2001, UDDI announced Version 2.0.

    As of this writing, the Microsoft and IBM sites implement the 1.0 specification and plan2.0 support in the near future

    Currently UDDI is sponsored by OASIS

    Partner Interface Processes - PIPs

    Partner Interface Processes (PIPs) are XMLbased interfaces that enable two trading partners to

    exchange data. Dozens of PIPs already exist. Few are listed here:

    PIP2A2: Enables a partner to query another for product information. PIP3A2: Enables a partner to query the price and availability of specific products. PIP3A4 : Enables a partner to submit an electronic purchase order and receive

    acknowledgment of the order

    PIP3A3: Enables a partner to transfer the contents of an electronic shopping cart. PIP3B4: Enables a partner to query status on a specific shipment.

    Private UDDI Registries

    As an alternative to using the public federated network of UDDI registries available on the

    Internet, companies or industry groups may choose to implement their own private UDDI

    registries.

  • 7/28/2019 Main Prjct

    20/78

    These exclusive services would be designed for the sole purpose of allowing members of the

    company or of the industry group to share and advertise services amongst themselves.

    However, whether the UDDI registry is part of the global federated network or a privately owned

    and operated registry, the one thing that ties it all together is a common web services API for

    publishing and locating businesses and services advertised within the UDDI registry.

    UDDI Technical Architecture

    The UDDI technical architecture consists of three parts:

    UDDI data model:

    An XML Schema for describing businesses and web services. The data model is described indetail in the "UDDI Data Model" section.

    UDDI API Specification:

    A Specification of API for searching and publishing UDDI data.

    UDDI cloud services:

    This is operator sites that provide implementations of the UDDI specification and synchronize all

    data on a scheduled basis.

    The UDDI Business Registry (UBR), also known as the Public Cloud, is a conceptually single

    system built from multiple nodes that has their data synchronized through replication.

    The current cloud services provide a logically centralized, but physically distributed, directory.

    This means that data submitted to one root node will automatically be replicated across all the

    other root nodes. Currently, data replication occurs every 24 hours.

    UDDI cloud services are currently provided by Microsoft and IBM. Ariba had originally planned

    to offer an operator as well, but has since backed away from the commitment. Additional

    operators from other companies, including Hewlett-Packard, are planned for the near future.

  • 7/28/2019 Main Prjct

    21/78

    It is also possible to set up private UDDI registries. For example, a large company may set up its

    own private UDDI registry for registering all internal web services. As these registries are not

    automatically synchronized with the root UDDI nodes, they are not considered part of the UDDI

    cloud.

    UDDI Elements

    A business or company can register three types of information into a UDDI registry. This

    information is contained into three elements of UDDI.

    These three elements are :

    (1) White pages:

    This category contains:

    Basic information about the Company and its business. Basic contact information including business name, address, contact phone number etc. A unique identifiers for the company tax IDs. This information allows others to discover

    your web service based upon your business identification.

    (2) Yellow pages:

    This category contains:

    This has more details about the company, and includes descriptions of the kind ofelectronic capabilities the company can offer to anyone who wants to do business with it.

    It uses commonly accepted industrial categorization schemes, industry codes, productcodes, business identification codes and the like to make it easier for companies to search

    through the listings and find exactly what they want.

  • 7/28/2019 Main Prjct

    22/78

    (3) Green pages:

    This category contains technical information about a web service. This is what allows someone to

    bind to a Web service after it's been found. This includes:

    The various interfaces The URL locations Discovery information and similar data required to find and run the Web service.

    NOTE: UDDI is not restricted to describing web services based on SOAP. Rather, UDDI can be

    used to describe any service, from a single web page or email address all the way up to SOAP,

    CORBA, and Java RMI services.

    SOAP

    SOAP is an XML-based protocol for exchanging information between computers. SOAP is XML.

    That is, SOAP is an application of the XML specification.

    All statements are TRUE for SOAP

    SOAP is acronym for Simple Object Access Protocol SOAP is a communication protocol SOAP is designed to communicate via Internet SOAP can extend HTTP for XML messaging SOAP provides data transport for Web services SOAP can exchange complete documents or call a remote procedure SOAP can be used for broadcasting a message SOAP is platform and language independent SOAP is the XML way of defining what information gets sent and how

    Although SOAP can be used in a variety of messaging systems and can be delivered via a variety

    of transport protocols, the initial focus of SOAP is remote procedure calls transported via HTTP.

  • 7/28/2019 Main Prjct

    23/78

    SOAP enables client applications to easily connect to remote services and invoke remote

    methods.

    Other frameworks, including CORBA, DCOM, and Java RMI, provide similar functionality to

    SOAP, but SOAP messages are written entirely in XML and are therefore uniquely platform- and

    language-independent.

    SOAP Message Structure

    A SOAP message is an ordinary XML document containing the following elements.

    Envelope: (Mandatory)defines the start and the end of the message.

    Header: (Optional)Contains any optional attributes of the message used in processing the message, either at

    an intermediary point or at the ultimate end point.

    Body: (Mandatory)Contains the XML data comprising the message being sent.

    Fault: ( Optional )An optional Fault element that provides information about errors that occurred while

    processing the message

    SOAP Envelope Element

    The SOAP envelope indicates the start and the end of the message so that the receiver knows

    when an entire message has been received. The SOAP envelope solves the problem of knowing

    when you're done receiving a message and are ready to process it. The SOAP envelope is

    therefore basic ally a packaging mechanism

    SOAP Envelope element can be explained as:

    Every SOAP message has a root Envelope element. Envelope element is mandatory part of SOAP Message. Every Envelope element must contain exactly one Body element. If an Envelope contains a Header element, it must contain no more than one, and it must

    appear as the first child of the Envelope, before the Body.

  • 7/28/2019 Main Prjct

    24/78

    The envelope changes when SOAP versions change. The SOAP envelope is specified using theENVnamespace prefix and theEnvelope

    element.

    The optional SOAP encoding is also specified using a namespace name and the optionalencoding Style element, which could also point to an encoding style other than the SOAPone.

    A v1.1-compliant SOAP processor will generate a fault when receiving a messagecontaining the v1.2 envelope namespace.

    A v1.2- compliant SOAP processor generates a Version Mismatch fault if it receives amessage that does not include the v1.2 envelope namespace.

    SOAP Header Element

    The optional Header element offers a flexible framework for specifying additional application-

    level requirements. For example, the Header element can be used to specify a digital signature for

    password-protected services; likewise, it can be used to specify an account number for pay-per-

    use SOAP services.

    SOAP Header element can be explained as:

    Header elements are optional part of SOAP messages.

    Header elements can occur multiple times. Headers are intended to add new features and functionality The SOAP header contains header entries defined in a namespace. The header is encoded as the first immediate child element of the SOAP envelope. When more than one header is defined, all immediate child elements of the SOAP header

    are interpreted as SOAP header blocks.

    SOAP Header element can have following two attributes

    Actor attribute:The SOAP protocol defines a message path as a list of SOAP service nodes. Each of these

    intermediate nodes can perform some processing and then forward the message to the next

    node in the chain. By setting the Actor attribute, the client can specify the recipient of the

    SOAP header.

  • 7/28/2019 Main Prjct

    25/78

  • 7/28/2019 Main Prjct

    26/78

    SOAP Transport

    SOAP is not tied to any one transport protocol. SOAP can be transported via SMTP, FTP, IBM's MQSeries, or Microsoft Message

    Queuing (MSMQ).

    SOAP specification includes details on HTTP only. HTTP remains the most popular SOAP transport protocol.

    SOAP via HTTP

    Quite logically, SOAP requests are sent via an HTTP request and SOAP responses are

    returned within the content of the HTTP response. While SOAP requests can be sent via an HTTP

    GET, the specification includes details on HTTP POST only.

    Additionally, both HTTP requests and responses are required to set their content type to text/xml.

    The SOAP specification mandates that the client must provide a SOAPAction header, but the

    actual value of the SOAPAction header is dependent on the SOAP server implementation.

    For example, to access the AltaVista BabelFish Translation service, hosted by XMethods, you

    must specify the following as a SOAPAction header.

    Even if the server does not require a full SOAPAction header, the client must specify an empty

    string (""), or a null value. For example:

    Here is a sample request sent via HTTP to the XMethods Babelfish Translation service:

    Note the content type and the SOAPAction header. Also note that the BabelFish method requires

    two String parameters. The translation mode en_fr will translate from English to French.

    Here is the response from XMethods:

    SOAP responses delivered via HTTP are required to follow the same HTTP status codes. For

    example, a status code of 200 OK indicates a successful response. A status code of 500 Internal

    Server Error indicates that there is a server error and that the SOAP response includes a Fault

    element.

  • 7/28/2019 Main Prjct

    27/78

    Back Propagation Neural Network(BPNN)

    Introduction

    This page will be confined to providing two toolkits which can be used to build a

    backpropagation network, and the explanations offered are related to the use of these toolkits,

    assuming that the user is already familiar with neural network generally and backpropagation in

    particular.

    As this page addresses only one of the numerous neural network architectures, the

    backpropagation neural network. For the remainder of the page, the terms neural net, network, or

    net are meant as abbreviations for backpropagation neural network.

    How are backpropagation neural networks used

    Backpropagation neural network, conceptually, represent a memory of a set of logic. The net

    receives one or more inputs, usually in terms of probability estimates of some parameters, process

    these inputs according to how the net is trained, and outputs one or more results, also in terms of

    some probability estimates.

    The inputs and outputs of a net are therefore numbers ranged from 0 to 1, the probability of

    something being true or present. Zero can also be used to represent absolute false and 1 to

    represent absolute true, while all the values in between the fuzzy logic of partly true and partly

    false. An example is a net of two inputs and a single output, that is trained to reproduce the XOR

    situation. Such a net will output false (0) if the two inputs are the same (0,0 or 1,1), and true(1) if

    tbe two inputs are different (0,1 or 1,0). An advantage of the net is that, if properly trained, it will

    handle ambiguous information (0.9,0.8 may still produce an output close to 0).

  • 7/28/2019 Main Prjct

    28/78

    The architecture of back propagation neural network

    The basic processing unit in a neural network is the neurone, as shown in the diagram to the

    right.

    The neuron receives one or more numerical inputs, usually a number between 0 and 1 torepresent the probability of a concept.

    The neuron then provides weighting to each of the inputs, and combined these in somemathematical function. A common function, which is used in back propagation, is

    y = sum (inputi weighti).

    The result of the function is then transformed, usually using a logistic function, into anaxonal output (output = 1 / (1 + exp(-y))), so that the output is also numerically between 0

    and 1 and represents a probability. The nature of the logistic function is such that the

    axonal output tends towards the extremes of 0 or 1, thus avoiding an ambiguous output.

    In summary, a neuron accepts one or more probability values, and process them into anoutput that is also a probability value, but approximates the output towards true(1) of

    false(0).

    The back propagation neural networkarranges groups of neurons in layers, as shown in the

    diagram to the right.

    The input layer, which accepts input data, and pass them into the middle layers. The datais usually numerically between 0 and 1 which represents probability of some concept. In

    neural networks that accepts measurements (such as results of a chemical test), the

    neurons in the input layer transforms each measurement into probability before passing

    this to the middle layer. The number of neurons in the input layer depends on the number

    of pieces of input information to be received by the network.

    The output layer, which produces the output from the network. The output is usuallynumerically between 0 and 1. They represent the probability of particular outcomes if the

    network is used as a prediction model. They represent weighting to decisions if the

    network is used as a action decision model.

    One or more middle layers, each containing a number of neurons, which translate theinputs to produce the outputs. The number of middle layers, and the number of neurons in

    each layer depends on the complexity of the patterns the network has to handle. In the

  • 7/28/2019 Main Prjct

    29/78

  • 7/28/2019 Main Prjct

    30/78

  • 7/28/2019 Main Prjct

    31/78

  • 7/28/2019 Main Prjct

    32/78

  • 7/28/2019 Main Prjct

    33/78

  • 7/28/2019 Main Prjct

    34/78

  • 7/28/2019 Main Prjct

    35/78

  • 7/28/2019 Main Prjct

    36/78

  • 7/28/2019 Main Prjct

    37/78

  • 7/28/2019 Main Prjct

    38/78

  • 7/28/2019 Main Prjct

    39/78

  • 7/28/2019 Main Prjct

    40/78

    To make a neural network that performs some specific task, we must choose how the units are

    connected to one another, and we must set the weights on the connections appropriately. The

    connections determine whether it is possible for one unit to influence another. The weights

    specify the strength of the influence. A three-layer network can be taught to perform a particular

    task by using the following procedure:

    The network is presented with training examples, which consist of a pattern of activities for

    the input units together with the desired pattern of activities for the output units.

    It is determined how closely the actual output of the network matches the desired output.

    The weight of each connection can be changed so that the network produces a better

    approximation of the desired output.

  • 7/28/2019 Main Prjct

    41/78

  • 7/28/2019 Main Prjct

    42/78

  • 7/28/2019 Main Prjct

    43/78

  • 7/28/2019 Main Prjct

    44/78

  • 7/28/2019 Main Prjct

    45/78

  • 7/28/2019 Main Prjct

    46/78

  • 7/28/2019 Main Prjct

    47/78

  • 7/28/2019 Main Prjct

    48/78

  • 7/28/2019 Main Prjct

    49/78

  • 7/28/2019 Main Prjct

    50/78

  • 7/28/2019 Main Prjct

    51/78

  • 7/28/2019 Main Prjct

    52/78

  • 7/28/2019 Main Prjct

    53/78

  • 7/28/2019 Main Prjct

    54/78

    t an array of 4 elements i.e. the target for which the

    Neural network has to be trained

    der , der j derivative of outputs of the first and second neuron,

    respectively

    Delta j calculated errors (delta functions) obtained by

    comparing the output of the second neuron with the

    target value to be achieved

    Delta i calculated errors (delta functions) obtained from error

    generator at the input

    Error i error from the error generator at the input

    dwij updated weight values at the input layer

    dwjk updated weight values at the output layer

    Table 2: signals for back propagation neural networks

    NAME OF SIGNAL DESCRIPTION OF SIGNAL

    I an array of 4 elements i.e. input to the neural network

    Wij weights at the input layer

    Si sum of weighted inputs, from synapse at input layer

    Oi output of first neuron based on sigmoid function

    wjk weights at the output layer

    Sj sum of weighted inputs, from the second neuron

    Oj output of second neuron based on sigmoid function

  • 7/28/2019 Main Prjct

    55/78

  • 7/28/2019 Main Prjct

    56/78

  • 7/28/2019 Main Prjct

    57/78

  • 7/28/2019 Main Prjct

    58/78

  • 7/28/2019 Main Prjct

    59/78

  • 7/28/2019 Main Prjct

    60/78

  • 7/28/2019 Main Prjct

    61/78

  • 7/28/2019 Main Prjct

    62/78

  • 7/28/2019 Main Prjct

    63/78

  • 7/28/2019 Main Prjct

    64/78

  • 7/28/2019 Main Prjct

    65/78

  • 7/28/2019 Main Prjct

    66/78

    Screen 7.9:Computing max and mins.

    Screen 7.10:Showing max, min and mean values of all inputs.

  • 7/28/2019 Main Prjct

    67/78

  • 7/28/2019 Main Prjct

    68/78

  • 7/28/2019 Main Prjct

    69/78

    Screen 7.15: Selecting BPNN Architecture.

    Screen 7.16: Three layered Architecture

  • 7/28/2019 Main Prjct

    70/78

  • 7/28/2019 Main Prjct

    71/78

    Screen 7.19:Starting the training set.

    Screen 7.20:BPNN Training Completed.

  • 7/28/2019 Main Prjct

    72/78

  • 7/28/2019 Main Prjct

    73/78

  • 7/28/2019 Main Prjct

    74/78

  • 7/28/2019 Main Prjct

    75/78

  • 7/28/2019 Main Prjct

    76/78

  • 7/28/2019 Main Prjct

    77/78

    In the same way when the result of the data set is between 70-90% then the web service is

    categorized as gold.

    Web services are classified as silver when the result is in between 60-70% and when the

    result is below 60% then it is classified as bronze.

  • 7/28/2019 Main Prjct

    78/78