Presentation on theme: "Www.monash.edu.au IMS5401 Web-based Systems Development Topic 2: Elements of the Web (i)Web Services (j)Implications of web technologies for system developers."— Presentation transcript:
IMS5401 Web-based Systems Development Topic 2: Elements of the Web (i)Web Services (j)Implications of web technologies for system developers
2 Agenda 1.Topic 2 (i): Web Services: Rationale 2.Key elements of Web Services 3.Topic 2 (j): Implications of web technologies for system developers 4.Topic 3: What does a web developer do?
3 Elements of the Web THE WEB Connecting computers Digital representation of documents Display and organisation of documents Linking documents
4 1.Topic 2(i): Web Services - Rationale The data/system integration problem An old version – see diagrams 1 and 2 A modern (and more elaborate) version – see diagram 3 Concept and reality; the gap between them
5 Some types/levels of integration Physical interconnections Data communications – message transfer Interface Application-application Data
6 Approaches to achieving integration Use the same hardware and software platforms throughout organisation (the IBM/Microsoft solution) Build everything into the same application (the SAP, PeopleSoft solution) Create ways of inter-connecting everything with everything (the Open Systems solution): –By developing translations between everything –By developing a shared standard language (Esperanto)
7 Integration achieved via the (non-web services) web Common data communications protocol (TCP/IP) Common page description language (HTML) Common browser interface These facilitate/encourage the use of web-based interfaces for systems; but do not support true systems integration Still missing: –Application-level integration –Data-level integration
8 The aim for Web Services Take advantage of the web connectivity capability to connect applications and data sources Use XML to provide a standard method of data representation across all applications Provide capability for services on the web to be described and labelled to indicate what data they contain Develop a standard method for transferring data between applications Enable automation of links between applications
Key elements of Web Services Built on top of fundamental standard web elements: –TCP/IP –HTTP –XML Additional Web Services standards –WSDL (Web Services Description Language) –UDDI (Universal Description, Discovery, Integration) –SOAP (Simple Object Access Protocol)
10 Web Services in theory Service provider Service user Service directory Find service Publish service Use service
11 Universal Description, Discovery, Integration (UDDI) A central reference directory of services accessible via the web Like yellow pages phone directory, but all machine-based and machine-searchable Descriptions of each service are stored in structured form (written in WSDL) Sometimes described as a single encyclopedic register, and sometimes as a set of linked application-specific services (eg medical, travel, accommodation, etc)
12 Simple Object Access Protocol (SOAP) A standard protocol defining the format for sending data as XML messages between application programs SOAP messages are sent back and forth between service provider and service user in SOAP ‘envelopes’ (Note: “user” = person or an application) SOAP can sit “on top” of other protocols such as HTTP Independent of vendors, platforms, applications, etc
13 Web Services Description language (WSDL) An XML-based language for describing a web service Defines: –Processes available from the service –Inputs and outputs for the service –Protocols for accessing the service –Location of service and service elements Designed to be independent of vendor, programming language, application, etc
14 A (theoretical) practical example See Diagrams 4&5
15 Converting concept to reality The multiplicity of approaches Specialisation of needs The organisational and industry competitive environment –Companies: Microsoft, IBM, Sun, Oracle, etc –Consortia: W3C, OASIS, WS-I, Liberty Alliance, Java Community, etc The growth of ‘standards’ ‘Real’ applications? Future directions??
16 The ‘intelligent’ web: Semantic Web and Web Services Similarities: –Both try to make the web more useable –Both try to automate human information gathering processes –Both assume processes/service/data can be defined precisely enough to enable this Differences: –Business vs individual orientation –Registry of services vs smart documents –Greater interactivity of web services (SOAP)
17 Web Services/Semantic Web Overlap Collision or complement? (see Diagrams 5 & 6) Similarities of intent creates clear scope for shared approaches Differences in fundamental philosophies may drive them apart Uneasy alliances between: –Information-sharing idealists –Technological enthusiasts/idealists –Business interests –Corporate IT interests –Customers (ie us)
Topic 2 (j): Implications of web technologies for information applications The nature of web development is driven by the applications and the technology Different applications have their own unique blend of technology-driven issues Interaction between applications and technology Different applications and technologies create different knowledge/skill requirements Implications for web development? Assignment 1
19 The ebb and flow of web applications As technology has evolved, different applications have been tried: –Publishing web (for research; for news; for private use) –Promotional and advertising web –Corporate and internal communications web –Virtual community web –E-commerce web/E-business web –Etc Some have taken off; some have become highly specialised; some have died off This will continue to change as user needs and understanding evolve!
20 The ebb and flow of web technologies Technology, the IT industry and the applications marketplace: a complex relationship Standardisation and commodification of technologies: implications for use ‘Bad’ widely-used technologies vs ‘good’ but little-known technologies The state of standardisation and commodification of web technologies Implications for applications?
21 Learning Applications: –Old IT applications in a new form? –Old non-IT applications in a new form? –New applications? Technologies: –Old technologies in a new form? –New technologies? How much can we use the past to understand the present and predict the future?
22 Technological elements of the Web THE WEB Connecting computers Digital representation of documents Display and organisation of documents Linking documents
23 Connectivity Web accessibility and availability –Enables new forms of connection between people and machine-based information sources –Enables new forms of connection between machine-based information sources –Extent and adequacy of these connections is still very variable (bandwidth, affordability, availability, etc) Web interactivity –Enables interactive documents –Enables document-database interactivity, but with some complications
24 Multimedia Scope to enhance ‘traditional’ information applications; possible development of new “documentary forms” to replace traditional information forms Enables new applications based solely around multimedia capabilities Links to connectivity issues (bandwidth) Links to document design issues (browser capabilities) Major legal issues over copyright for some applications
25 Document design and layout HTML document mark-up and browser: simple standardised document layout and design XHTML and XML: Enabling more sophisticated layout, but at what price for usability? Limitations of browsers and MLs: problems for more sophisticated document types (link with multimedia issues) Support for variable forms of access? (link to connectivity issues)
26 Document organisation and classification Managing an uncontrolled document repository Metadata: XML capabilities for incorporation of metadata to describe text-based documents and document elements Metadata: standardising document description and classification Search engines: searching in a self-organising library?
27 Document linking Powerful hypertext capabilities enable document linking to achieve a variety of purposes. For example: –Connections to related documents –Connections to source/detailed information –Structuring of documents –Alternative narrative paths through documents New opportunities create new problems in information architectures within and between documents; “Lost in hyperspace”
28 Semantic web The web as a distributed document-based database Using XML to combine meaning with document content Standardising and defining document structures Defining object relationships within documents Using ontologies for resolving problems with terminologies Searching with ‘intelligent’ software agents
29 Web Services The web as a mechanism for integrating processes and data across businesses XML as the universal data definition language for data exchange Defining and specifying web services (the services register) Developing application-application links for automated data exchange
Implications for web developers What does it mean to be a “web developer”? How does the web developer role fit with traditional IS development? What sorts of knowledge and skills can traditional IS contribute? What new skills will IS practitioners have to learn? Assignments 1 and 2
31 Understanding technologies Current state of commodification of the technology of the web (especially the main proposed future uses (semantic web, web services)? Degree of technical competence needed? Ease of acquiring it? How to separate web development from technical details of implementation?
32 Understanding applications Web applications: –Old applications in new clothes? –New applications? Application development –How do the new applications (or new clothes) change development processes and tasks? –What new skills need to be learnt, and who is best equipped to learn them? Application developers: –Where does the IS professional fit? –Where do other professional groups fit?
33 Understanding users and usage Are web application users like ‘normal’ system users? –Their needs/expectations of the application –Their understanding/use of the application Can we handle web system users in the same way as users of ‘normal’ systems? Do we need to develop new approaches for different applications? Leads into next set of lectures on development processes