280 likes | 352 Views
Introduction. CSIE, Da-Yeh University. History of Software Development. Traditional Programming Paradigm Behind schedule, costly, and unreliable. Structured Programming (1970’s) Systematical analysis of the problems. Does not mirror the real world entities.
E N D
Introduction CSIE, Da-Yeh University
History of Software Development • Traditional Programming Paradigm • Behind schedule, costly, and unreliable. • Structured Programming (1970’s) • Systematical analysis of the problems. • Does not mirror the real world entities. • Object Oriented Programming (1980’s – 1990’s) • Object technique is a packaging scheme to create software units. • Use classes to represent the real world entities. • Web service take advantages of the OO technology.
Component-based Development • A component is a piece of software that satisfies • It must be deployable on its own • It must publish and adhere to a programming interface.
Component-based Development • The limitation of using components • It takes a lot more effort to develop components that is reusable. • It is difficult to find the right components. • It is hard to coordinate the releases of new components.
Client Application Client Infrastructure Proxy Proxy internet Distributed Computing • The computing tasks are distributed over networks. • Components extended at different computers must be able to communicate with each other. • Interface and response • Security
Distributed Computing • Different technology • Object Management Group (OMG) – Common Object Request Broker Architecture (CORBA) • Microsoft – Distributive Component Object Model (DCOM) • IBM – Distributive System Object Model (DSOM) • Sun Micro – Remote Method Invocation (RMI) • Components from different technology communicate with each other through a bridge. • COM/CORBA bridge • Poor interoperability
Distributed Computing Infrastructure • Microsoft’s DCOM • Shipped with versions of Windows NT beginning with version 4.0 and including Windows 2000. • Provide both local and remote COM capabilities. It is now an inherent part of Win32-based platforms.
N-tier Web-based Application • The client-tier uses browsers as the user interface. • The middle-tier provides all the business logic and processes. • The information-tier is the information tier. Client-tier Middle-tier Information-tier data data
Middle Tier Database Application HTML Web page Alternative to Web Service • Screen Scraping: retrieving data from other HTML documents. • What are the disadvantages of using screen scraping?
Web Service Technology • Address the issue of poor interoperability. • Use open standard. • Easy to debug. • Web services use text-based protocols. • Use XML as the standard for exchanging information.
Definition of Web Service • Web services are software programs that use XML to exchange information with other software via internet protocol. • Characteristics of web service • Web services are programmable. • Web services are based on XML. • Web services are self-describing (WSDL). • Web services are discoverable (UDDI).
Web Service Architecture Protocols • The core principles drive the design and implementation of WS architecture protocols • Message orientation • Protocol composability • Autonomous services • Managed transparency • Protocol-based integration
Benefits over Distributed Computing • Companies can expose and access web services using technology already in place. • Web service is more interoperable. • Nearly all major software vendors have agreed to use the same core standards.
Challenge of the Web Service • SOAP, WSDL, UDDI are still in draft. • Royalty fees may required for some standards. • Lack of standard security procedure. • Defining and guaranteeing QoS. • Slow response time • Infrequent update • Inability to handle large number of requests
UDDI Registry WSDL Document 2 3 1 4 Web Service client 5 6 Web Service Architecture • Query Registry to locate service • Refer to WSDL documents • Access WSDL documents • Provide data to interact with web service • Send SOAP message request • Send SOAP message response
Web Service Terminology - SOAP • SOAP (Simple Object Access Protocol) • A common way to package messages that are exchanged between two processes. • A common set of serialization techniques for the data that is exchanged. • A mechanism that allows Remote Procedure Calls (RPC) to be made across a heterogeneous set of platforms.
Web Service Terminology – XSDL • XSDL (XML Schema Definition Language) • XSDL defines the layout of and the constraints on an XML document. • XSDL supplants a previous standard known as Data Type Definition (DTD).
Web Service Terminology - UDDI • UDDI (Universal Description, Discovery, and Integration) registry • The most commonly known method of discovering Web services. • UDDI registry’s structure is similar to the phone book • White page: list contact information and descriptions of companies. • Yellow page: provide classification information about companies and details on companies’ electronic capability. • Green page: list technical data regarding services.
Web Service Terminology - WSDL • WSDL (Web Service Description Language) • It provides details about the functionality that is implemented, which messages are used to request the service, and the sequence in which the messages are exchanged. • It is XML-based format. • Similar to the documentation to the ActiveX components.
Web Service Terminology - others • XML ( eXtended Markup Language) • The main language used in Web service. • GXA (Global XML Architecture) • A set of protocols defined by Microsoft and others. • It provides an infrastructure that supports the most commonly requested demands for commercial Web service: security and routing. • WS-Security • It allows authentication established by one system to be accepted by others (federated identity).
Web Service Terminology - others • WS-Routing • The typical mode for WS-Routing is to create a one-way path that the SOAP message must take. • WS-Referral • A protocol directly related to WS-Routing. • It allows for changes to the routing of a SOAP message to be made dynamically.
Delivering Web Service • Service-oriented Architecture • Created by IBM. • Service provider • A server or system makes a Web service available over network. • Provides a service interface, that enables other applications to access the service. • Service broker • Service provider publishes its service to service broker. • Service broker communicates with requesters and directs them to the appropriate provider.
Service provider bind publish Service broker Service requester find Delivering Web Service • Service requester • A networked server or system that access or employed a Web service.
Browser VB Application Office Documents Other Web Service SOAP Messages Document-Style Classic ASP XML Web Services .ASP .ASMX RPC-Style Listener Listener WSDL WSDL ASP .Net Business Objects Wrapper Classes .ASPX Database Server ASP .Net Web Service Architecture