1 HyCon Framework Overview Frank Allan Hansen and Bent Guldbjerg Christensen ! Run this presentation in presentation mode to watch animations.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

WEB SERVICES. FIRST AND FOREMOST - LINKS Tomcat AXIS2 -
An Introduction to Web Services Sriram Krishnan, Ph.D.
General introduction to Web services and an implementation example
Web Services Web Services are the basic fundamental building blocks of invoking features that can be accessed by an application program. The accessibility.
1 Understanding Web Services Presented By: Woodas Lai.
RPC Robert Grimm New York University Remote Procedure Calls.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
G O B E Y O N D C O N V E N T I O N WORF: Developing DB2 UDB based Web Services on a Websphere Application Server Kris Van Thillo, ABIS Training & Consulting.
Presentation 7 part 2: SOAP & WSDL. Ingeniørhøjskolen i Århus Slide 2 Outline Building blocks in Web Services SOA SOAP WSDL (UDDI)
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 42 Web Services.
Comparison of the RMI and the socket APIs
Grid Computing, B. Wilkinson, 20043a.1 WEB SERVICES Introduction.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Web Service Implementation Maitreya, Kishore, Jeff.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
Web Services (tying it all together) and Introduction to Grid Services Concepts These slides are adapted from course material developed by Barry Wilkinson,
XForms: A case study Rajiv Shivane & Pavitar Singh.
C Copyright © 2009, Oracle. All rights reserved. Appendix C: Service-Oriented Architectures.
SSC2: Web Services. Web Services Web Services offer interoperability using the web Web Services provide information on the operations they can perform.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Grid Computing, B. Wilkinson, 20043b.1 Web Services Part II.
XML Overview. Chapter 8 © 2011 Pearson Education 2 Extensible Markup Language (XML) A text-based markup language (like HTML) A text-based markup language.
CIS 375—Web App Dev II Microsoft’s.NET. 2 Introduction to.NET Steve Ballmer (January 2000): Steve Ballmer "Delivering an Internet-based platform of Next.
Presentation: SOAP in a distributed object framework, Application Servers & AXIS SOAP.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
1 HKU CSIS DB Seminar: HKU CSIS DB Seminar: Web Services Oriented Data Processing and Integration Speaker: Eric Lo.
Lecture 15 Introduction to Web Services Web Service Applications.
11 Web Services. 22 Objectives You will be able to Say what a web service is. Write and deploy a simple web service. Test a simple web service. Write.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
2004/12/02Slide Number 1 of 15 Exposure Time Calculator (ETC) as a Web Service Donald McLean 2004 Technology Open House.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services Based on SOA: Concepts, Technology, Design by Thomas Erl MIS 181.9: Service Oriented Architecture 2 nd Semester,
XML Web Services Architecture Siddharth Ruchandani CS 6362 – SW Architecture & Design Summer /11/05.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Presentation: SOAP/WS in a distributed object framework, Application Servers & AXIS SOAP.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
WebService. Outline Overview of Web Services SOAP (messaging) WSDL (service description) UDDI (registry)
© Drexel University Software Engineering Research Group (SERG) 1 An Introduction to Web Services.
Copyright © 2013 Curt Hill SOAP Protocol for exchanging data and Enabling Web Services.
XML and Web Services (II/2546)
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Intro to dot Net Dr. John Abraham UTPA CSCI 3327.
Kemal Baykal Rasim Ismayilov
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
WSDL : Web Service Definition Language Dr. Yuhong Yan NRC-IIT-Fredericton Internet logic.
Developing Web Services with the Eclipse Web Tools Platform David Gallardo.
Web Services An Introduction Copyright © Curt Hill.
Web Technologies Lecture 10 Web services. From W3C – A software system designed to support interoperable machine-to-machine interaction over a network.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
.NET Mobile Application Development XML Web Services.
Introduction to Web Services Presented by Sarath Chandra Dorbala.
1 G52IWS: Web Services Description Language (WSDL) Chris Greenhalgh
EGEE is a project funded by the European Union under contract IST Introduction to Web Services 3 – 4 June
Copyright 2007, Information Builders. Slide 1 iWay Web Services and WebFOCUS Consumption Michael Florkowski Information Builders.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Java Web Services Orca Knowledge Center – Web Service key concepts.
Web Programming Developing Web Applications including Servlets, and Web Services using NetBeans 6.5 with GlassFish.V3.
WEB SERVICES.
Outline SOAP and Web Services in relation to Distributed Objects
Unit – 5 JAVA Web Services
Implementing a service-oriented architecture using SOAP
Introduction to Web Services
Distributed System using Web Services
Distributed System using Web Services
Software Engineering and Architecture
Presentation transcript:

1 HyCon Framework Overview Frank Allan Hansen and Bent Guldbjerg Christensen ! Run this presentation in presentation mode to watch animations.

2 Agenda Introduction to Web services HyCon platform and architecture Implementing services with the framework

3 Old School Web Services Web services, in the general meaning of the term, are services offered on the Web. Google Web serverhttp Html document

4 Web services Web services, in the general meaning of the term, are services offered on the Web. In a typical Web services scenario, a business application uses the SOAP protocol over HTTP to send a request to a service at an URL. The service receives the request, processes it, and returns a response.

5 Web Services Programmatic interfaces Access and execute remote objects –Well-defined service interface Request Response XML –WSDL Web Services Description Language –SOAP Simple Object Access Protocol –UDDI Universal Description, Discovery, and Integration Platform independent

6 WSDL Web Services Description Language –Ariba, IBM and Microsoft –WSDL is a 1.2 W3C working draft A WSDL document describes a network services: –Operations –Arguments and types (xsd) –Service binding

7 Creating WSDL Documents WSDL documents can be hand-written Generated by tools –JWSDP: Remote java interface Information about the service container –JWSDP includes ant tasks for generating WSDL documents and deploying the services Ex.:

8 SOAP Simple Object Access Protocol –W3C recommendation soap/ soap/ Platform independent (CORBA, RMI, DCOM,…are not)

9 SOAP

10 SOAP JWSDP –WSDL >> Java stub classes –Java classes handles SOAP marshalling/unmarshalling Remote communication with services

11 Web Services recapture Service are described with WSDL documents –Generated from the service interface Client applications communicate with service through SOAP messages –Classes generating and parsing objects to and from SOAP are generated from WSDL documents

12 The HyCon Framework

13 Overview HyCon –Platform –Components and services –XSLT servlet Chain –Sensors A practical guide to the HyCon framework –Step by Step building of a Web service

14 HyCon Requirements Context-aware hypermedia framework –Extensible data model capable of representing object or entities and their context –Hypermedia model integrated in the data model –Services for accessing the data: Object, context, and hypermedia structures –Services should be useable from many different (mobile) devices –Devices should support capturing of sensor data used to measure the context

15 HyCon Data model

16 The HyCon Architecture

17 The HyCon Server Architecture

18 The HyCon Architecture 4 Layers: Storage, Service, Terminal, Sensor The Storage layer is implemented on a relational database (MySQL) The basic functionality in the Service layer is implemented by components which is used in Services (Servlets/Web services) The Terminal layer implements components and applications that communicates with the Server layer The Sensor layer is defined as interfaces for sensor implementations

19 XSLT servlet chain The servlet interfacet is build around a servlet filter chain, with aXSLT-engine in one end and Service servlets in the other This requires all services to produce XML output

20 Components

21 Components (Annotation Component)

22 Using Components: Check List 1.Create local interface 2.Implement component 3.Implements services (that use the component(s)) 4.Create remote service interfaces 5.…and implement client applications

23 Data model and the servlet chain

24 HyCon Data model

25 AbstractObject

26 Object

27 Link

28 The XSLT servlet chain

29 XSLT Handler

30 XSLT Handler

31 XSLT style map

32 AnnotationServlet

33 Register a servlet in the container: WebInf.xml

34 Using Servlets and the XSLT Chain: Check List 1.Create servlet (a service based on components) 2.Register the servlet in WebInf.xml 3.Implement the stylesheet –Or use an exsisting one eg. ”raw” 4.Register the stylesheet 5.Map the stylesheet to a key/user-agent in the Style map 6.…and implement client applications

35 Sensors

36 Sensors Sensors in HyCon is defined by an interface Sensors must implement a –Pull based interface –Event based interface Sensors’ implementation is undefined in the framework –Local sensors (Bluetooth GPS) –Network based sensors (Bluetooth position)

37 Sensor interface

38 Sensor interface (2)

39 Using a sensor (GPSEmtagBluetooth)

40 Step-by-step guide to implementing a service

41 A practical guide to the HyCon framework Development environment XLink Service bottom-up –XLink data structure –XLink data model –XLink component –XLink Web service WSDL interface –XLink service in HyconExplorer –Trails as an example of an XLink structure Scripts with Ant Distribution with Webstart

42 Development environment HyCon is implemented in Java. Eclipse is used as the development environment (better than Emacs...). The source code is shared through a cvs-repository.

43 XLink Service bottom-up The framework includes a number of services which provide methods for retrieving and storing certain data structures on the server –Location –Annotation –eBag –Map –Slide –XLink As an example of a service implementation we will look at the XLink service.

44 XLink Service bottom-up: Data structure Data structure: XLink –Et Link contains references to resources (objects) in the data model. –Et Link may contain Arc-objects, that specify associations among resources in the Link.

45 XLink Service bottom-up: Data model (runtime)

46 XLink Service bottom-up: Component (interface) The component which encapsulates the functionality of the Xlink service is first described by an interface: –create new Link in the Storage layer –Retrieve Link from the Storage layer –Delete Link from the Storage layer –...

47 XLink Service bottom-up: Component Implementation of the Xlink components interface

48 XLink Service bottom-up: Web service (server) To provide the functionality of the Xlink component over the internet we use the Tomcat container and the Web service (WSDL). We could also have use a Servlet interface (CGI). –The Servlet interface (CGI) is simple and well-known from Web programming - parameters is sent as pairs of strings. –The Web service interface (WSDL) is built on top of CGI, and support more abstractions - parameters and results are sent as via SOAP (Simple Object Access Protocol).Simple Object Access Protocol A WSDL (Web Service Definition Language) file, contains a description of a Web service – that is, data types of parameters and results of calling its methods.Web Service Definition Language By creating a Remote Java interface in a service for the component (~10 lines, which is quite similar to the original component interface), JWSDP (Java Web Services Developer Pack ) can generate the WSDL-file (~250 lines).Java Web Services Developer Pack WSDL for the XLink Web service: –

49 XLink Service bottom-up: Web service (WSDL) WSDL for the XLink Web service:

50 XLink Service bottom-up: Webservice (client) To use a Web service from a (client) application, one should call the methods defined in the WSDL-file. Ie. Parameters have to be translated from Java objects to SOAP elements and send to a specific socket, and the result is returned as SOAP elements, which has to be translated to Java objects. Luckily JWSDP can generate the client stub code, which handles marshalling. –The stub code is generated from the WSDL-file!

51 XLink Service bottom-up: Trails in HyConExplorer

52 Scripts with Apache Ant To ease the process of generating eg. the WSDL-files and stub code, we use Ant. –Ant is useful for: starting a program, copy files, delete files, sign jars etc., which are all inherent to development (next generation make). –Ant-files (Ant-scripts) include tasks, and are described in XML. –Ant is integrated in Eclipse, so changes in ”the bottom” of eg. the XLink Web servicen, which requires recompilation and regeneration of multiple files can be done with a single click on the Ant-script.

53 Snippet from Ant-script, that generates stub code

54 Distribution with Java Webstart To run, eg., HyConExplorer outside Eclipse, the Java classes and packages which comprise the application or is used by the application must be available... An elegant way to distribute a Java program is by using Java Webstart. The program and packages are made available on a Web server, and a JNLP-file (Java Network Launching Protocol), how to get the program and the programs access rights (disk access, network access etc.)Java Network Launching Protocol –Webstart automatically checks for new versions of the program before start => Easy update of applications –Webstart is installed with Java. Url to JNLP-file for HyConExplorer: –

55 JNLP-file, HyConExplorer

56 Recapture Questions ?