Information Systems Security Information Security for Web- based Applications.
Web Service Information Systems and Applications
description
Transcript of Web Service Information Systems and Applications
11
Web Service Information Systems and Applications
GGF16 Semantic Grid Workshop
Athens Greece
February 15 2006
Geoffrey FoxComputer Science, Informatics, Physics
Pervasive Technology Laboratories
Indiana University Bloomington IN 47401
http://grids.ucs.indiana.edu/ptliupages/presentations/[email protected] http://www.infomall.org
22
Different Metadata Systems There are many WS-* specifications addressing meta-data
defined broadly• WS-MetadataExchange• WS-RF• UDDI• WS-ManagementCatalog
And many different implementations from (extended) UDDI through MCAT of the Storage Research Broker
And of course representations including RDF and OWL Further there is system metadata (such as UDDI for core
services) and metadata catalogs for each application domain such as WFS (Web Feature Service) for GIS (Geographical Information Systems)
They have different scope and different QoS trade-offs• e.g. Distributed Hash Tables (Chord) to achieve scalability in large scale networks
• WS-Context• ASAP• WBEM
• WS-GAF
33
Different Trade-offs It has never been clear to me how a poor lonely service is meant
to know where to look up meta-data and if it is meant to be thought up as a database (UDDI, Ws-Context) or as the contents of a message (WS-RF, WS-MetadataExchange)
We identified two very distinct QoS tradeoffs 1) Large scale relatively static metadata as in UDDI catalog of all
the world’s services 2) Small scale highly dynamic metadata as in dynamic workflows
for sensor integration and collaboration • Fault-tolerance and ability to support dynamic changes with
few millisecond delay• But only a modest number of involved services (up to 1000’s
in a session)• Need Session NOT Service/Resource meta-data so don’t use
WS-RF
44
XML Databases of Importance We choose a message based interface to a backend database We have two pieces of technology with different trade-offs but
each could store any meta-data but with different QoS• WS-Context designed for controlling a workflow• (Extended) UDDI exemplified by semantic service discovery
WFS or ASFS (see later) provides general application specific XML data/meta-data repository built on top of a hybrid system supported by UDDI and WS-Context
These have different performance, scalability and data unit size requirement
In our implementation, each is currently “just an Oracle/MySQL” database front ended by filters that convert between XML (GML for WFS) and object-relational Schema• Example of Semantics (XML) versus representation (SQL)
difference OGSA-DAI offers Grid interface to databases – we could use but
don’t as we only need to expose WFS and not MySQL to Grid
55
We also designed and implemented an extended UDDI XML Metadata Service (alternative to OGC Web Registry Services). This service,
supports WFS GIS Metadata Catalog (functional metadata), user-defined metadata ((name, value) pairs), up-to-date service information (leasing), dynamically updated registry entries.
Our approach enables advanced query capabilities• geo-spatial and temporal queries , • metadata oriented queries,• domain independent queries such as XPATH,
XQuery on metadata catalog. http://www.opengrids.org/extendeduddi/index.html
Geographical Information System compatible XML Metadata Services
66
WMS uses WFS that uses data sources
Railroads
RiversBridges
Interstate Highways
90
WFS Server
SQL Query
Railroads
[a-b]
SQ
L Q
uery
Riv
er [a
-d]
Bri
dge
[1-5
]
SQL QueryHigway [12-18]
`
ClientWMS
GetFeature
FeatureCollection
Get
Feat
ure
Feat
ureC
olle
ctio
n
<gml:featureMember> <fault> <name> Northridge2 </name> <segment> Northridge2
</segment> <author> Wald D. J.</author> <gml:lineStringProperty> <gml:LineString
srsName="null"> <gml:coordinates>
-118.72,34.243 -118.591,34.176 </gml:coordinates>
</gml:LineString> </gml:lineStringProperty> </fault> </gml:featureMember>
77
A Screen Shot From the WMS Client
Electric Power and Natural Gas data from LANL Interdependent Critical Infrastructure Simulations
Zoom-in
Zoom-out
FeatureInfo mode
Measure distance mode
Clear Distance
Drag and Drop mode
Refresh to initial map
9
Google maps can be integrated with Web Feature Service Archives to filter and browse seismic records.
Integrating Archived Web
Feature Services and Google Maps
1010
Context as Service Metadata We define all metadata (static, semi-static, dynamic)
relevant to a service as “Context”. Context can be associated to a single service, a
session (service activity) or both. Context can be independent of any interaction
slowly varying, quasi-static context Ex: type or endpoint of a service, less likely to
change Context can be generated as result of service
interactions dynamic, highly updated context information associated to an activity or session Ex: session-id, URI of the coordinator of a
workflow session
1111
Hybrid XML Metadata Services –> WS-Context + extendedUDDI
We combine functionalities of these two services: WS-Context AND extendedUDDI in one hybrid service to manage Context (service metadata).• WS-Context controlling a workflow• (Extended) UDDI supporting semantic service discovery
This approach enables uniform query capabilities on service metadata catalog.
This service supports collection of services that• are set of actively collaborating managed services for a
particular common goal• generate events as result of interactions• are very small part of the whole GRID
http://www.opengrids.org/wscontext/index.html
1212
Information Service
WSDL
IS Client
WSDL WSDL
HTTP(S)
WSDL
IS Client
DB
JDBC
ExtendedWS-Context
Service
dynamic metadata
IS Client
WSDL
DB
JDBC
Extended UDDI Registry
Service
UDDI Version 3.0 WSDL Service Interface Descriptions uddi_api_v3_portType.wsdl
WSDL WSDL WSDL
WS-Context Ver1.0ws-context.wsdl
WSDL
interaction-independent relatively static metadata
WSDL
Optimized forScalability
Optimized forPerformance
1313
CGL GIS Research focuses on open source software for Grids to support scientific/visualization applications. • some focus areas are earthquake prediction and simulating
energy interdependencies with GIS Grids. • http://www.crisisgrid.org
We use WS-Context complaint Information Services for storing transitory metadata for distributed state information.
We use extended UDDI Information Services for providing search/store/access to geo-spatial domain-specific metadata catalogs
All data filters output data as though they were a WFS so data filters and sensors interchangeable
Applications I – Workflow based Geographical Information System (GIS) Grids
14
Database
SS
SS
SS
SS
SS
SS
SS
SS
SS
SS
FS
FS
FS
FS
FS
FS
FS
FS FS
FS
FS
FS
FS
FS
FS
FS
FS FS
FS
FS
PortalFS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
OS
MD
MD
MD
MD
MD
MD
MD
MD
MD
MetaDataFilter Service
Sensor Service
OtherService
AnotherGrid
Raw Data Data Information Knowledge Wisdom
Decisions
SS
SS
AnotherService
AnotherService
SSAnother
Grid SS
AnotherGrid
SS
SS
SS
SS
SS
SS
SS
SS
FS
SOAP Messages
15
Typical use of Grid Messaging in NASA
Datamining Grid
Sensor Grid
Grid Eventing GIS Grid
16
Real Time GPS and Google Maps
Subscribe to live GPS station. Position data from SOPAC is combined with Google map clients.
Select and zoom to GPS station location, click icons for more information.
1717
Applications II – Managing and Scripting Web Services: HPSearch
HPSearch is simply a scripting environment designed for managing distributed workflows.• HPSearch runs scripts which in turn invokes various services
to start the flow.• The HPSearch works in tandem with WS-Context Service for
communicating with services.• More info available at http://www.hpsearch.org
The WS-Context is used by HPSearch as transitory metadata store for storing shared, session related data.
HPSearch updates the session state as the services completes their execution-cycle.
Fault Tolerance addressed in Monday’s talk
1818
Extended UDDI and WS-Context compliant Information Services handle with both quasi-static, slowly varying and dynamic highly updated metadata.
1919
<?xml version="1.0" encoding="UTF-8"?> <soap:Envelope xmlns:soap="http://www.w3..."> <soap:Header encodingStyle=“URL" mustUnderstand="true"> <context xmlns=“ctxt schema“ timeout="100"> <context-id>http..</context-id> <context-service> http.. </context-service> <context-manager> http.. </context-service> <activity-list mustUnderstand="true" mustPropagate="true"> <p-service>http://../WMS</p-service> <p-service>http://../HPSearch</p-service> </activity-list> </context> </soap:Header>
SOAP header
for Context
The Pattern Informatics GIS-SOA based workflow application
5,6: WMS starts a session, invokes HPSearch to run workflow script for PI Code with a session id
7,8,9: HPSearch runs the workflow script and generates output file in GML format (& PDF Format) as result
10: HPSearch writes the URI of the of the output file into Context
11: WMS polls the information from Context Service
12: WMS retrieves the generated output file by workflow script and generates a map
<context xsd:type="ContextType"timeout=“100"><context-service>http://.../HPSearch</ context-service>
<content> HPSearch associated additional data generated during execution of workflow. </content>
</context>
service associated
<context xsd:type="ContextType"timeout=“100"><context-service>http://.../WMS</ context-service>
<activity-list mustUnderstand="true" mustPropagate="true">
<service>http://.../WMS</service>
<service>http://.../HPSearch</service>
</activity-list>
</context>
session
<context xsd:type="ContextType"timeout=“100"><context-service>http://.../HPSearch</ context-service><parent-context>http://../abcdef:012345<parent-context/><content> profile information related WMS </content>
</context>
user profile
<context xsd:type="ContextType"timeout=“100"> <context-id>http://../abcdef:012345<context-id/>
<context-service>http://.../HPSearch</ context-service>
<content>http://danube.ucs.indiana.edu:8080\x.xml</content>
</context>shared state
<context xsd:type="ContextType"timeout=“100"><context-service>http://.../HPSearch</ context-service><parent-context>http://../abcdef:012345<parent-context/><content> shared data for HPSearch activity </content>
<activity-list mustUnderstand="true" mustPropagate="true">
<service>http://.../DataFilter1</service>
<service>http://.../PICode</service>
<service>http://.../DataFilter2</service>
</activity-list>
</context>
activity
3WMS
WFS
http://..../..../..txt
HP Search
Data Filter
PI Code
Data Filterhttp://..../..../x.gml
Context Information Service
4
7,8,9
10
6
5,11
WMS Client
Extended UDDI
0
1
2
Examples of dynamic metadata in a GIS Workflow
2020
Handheld Flexible Representation (HHFR) is an open source software for fast communication in mobile Web Services. HHFR supports:• streaming messages, separation of message contents and
usage of context store.• http://www.opengrids.org/hhfr/index.html
We use WS-Context service as context-store for redundant message parts of the SOAP messages.• redundant data is static XML fragments encoded in every
SOAP message • Redundant metadata is stored as context associated to service
conversion in place The empirical results show that we gain 83% in
message size and on avg. 41% on transit time by using WS-Context service.
Applications III – Context Store usage in communication of mobile Web Services
2121
Optimizing Grid/Web Service Messaging Performance
· HHFR Scheme· Representation · Headers· Stream Info.
Context-Store
Save Context (setContents)
Retrieve Context (getContents)
Stream of Messagein Preferred Representation
Negotiation Over SOAP
HHFR Endpoint(Mobile)
HHFR Endpoint(Conventional)
The performance and efficiency of Web Services can be greatly increased in conversational and streaming message exchanges by removing the redundant parts of the SOAP message.
2222
GlobalMMCS is audio/video conferencing system. http://www.globalmmcs.org
WS-Context service is used as session metadata catalog for describing audio/video streams in a session.• stream metadata might have various descriptive information such as
starting and ending RTP packet numbers, what topic is the stream is published, etc..
• metadata is stored associated with sessions WS-Context service provides search/store/access interface for
stream metadata as archival store.• Queries support archived (find all relevant data in past) metadata• Queries support session – metadata relations (find all metadata for a
given session) • Session discovery (find a session with given properties)
Clients query context store for information to be able to replay/playback an audio/video stream during or after conference session.
Applications IV – Context Store usage in multimedia collaboration environment such as GlobalMMCS
23
Collaboration Grid
UDDI NaradaBroker
HPSearch
WS-Context
Gateway
WS-Security
NaradaBroker
NaradaBroker
Gateway
Gateway
Gateway
XGSP MediaService
Video Mixer
Transcoder
Audio Mixer
Replay
Record
Annotate
Thumbnail
WhiteBoard
SharedDisplay
SharedWS
24GlobalMMCS SWT Client
Chat
TV
WebcamVideo Mixer
GIS
2525
e - Annotation Player
Archived stream player Annotation / WB
player
Archieved stream list
Real time stream list
e - Annotation Whiteboard
Real time stream player Archived Real Time Real Time
Stream List Stream List Player
e-Annotation Archived Stream Annotated e-Annotation Player Player Stream Player Whiteboard
2626
Information Architecture and Semantic Grid
WS-* provides key low level capability but deliberately does not define an information (data) architecture and leaves this to domain specific specification activities such as CellML/SBML for biology, WFS/GML for GIS and XGSP for Collaboration
WS-* does define a primitive service discovery (UDDI) and meta-data capabilities including WS-Context, WS-RF, RDF and WS-MetadataExchange already discussed.
GGF defines Grid data capabilities including info-D (publish/subscribe) and OGSA-DAI for data repositories
Semantic Grid uses WS-* and GS-* extending meta-data and service discovery with data-mining and reasoning
2727
Information Management/Processing SOAP messages transport information expressed in a
semantically rich fashion between sources and services that enhance and transform information so that complete system provides
• Semantic Web technologies like RDF and OWL help us have rich expressivity
Data Information Knowledge transformation We build application specific information
management/transformation systems ASIS for each application domain
One special domain is the system itself where the metadata associated with services, sessions, Grids, messages, streams and workflow is itself managed and supported by an SIIS
2828
Generalizing a GIS Geographical Information Systems GIS have been
hugely successful in all fields that study the earth and related worlds • They define Geography Syntax (GML) and ways to store,
access, query, manipulate and display geographical features• In SOA, GIS corresponds to a domain specific XML language
and a suite of services for different functions above However such a universal information model has not
been developed in other areas even though there are many fields in which it appears possible• BIS Biological Information System• MIS Military Information System• IRIS Information Retrieval Information System• PAIS Physics Analysis Information System• SIIS Service Infrastructure Information System
2929
ASIS Application Specific Information System I a) Discovery capabilities that are best done using WS-*
standards b) Domain specific metadata and data including
search/store/access interface. (cf WFS). Lets call generalization ASFS (Application Specific Feature Service)• Language to express domain specific features (cf GML). Lets call
this ASL (Application Specific language)• Tools to manipulate information expressed in language and key
data of application (cf coordinate transformations). Lets call this ASTT (Application specific Tools and Transformations)
• ASL must support Data sources such as sensors (cf OGC metadata and data sensor standards) and repositories. Sensors need (common across applications) support of streams of data
• Queries need to support archived (find all relevant data in past) and streaming (find all data in future with given properties)
• Note all AS Services behave like Sensors and all sensors are wrapped as services
• Any domain will have “raw data” (binary) and that which has been filtered to ASL. Lets call ASBD (Application Specific Binary Data)
3030
ASIS Application Specific Information System II Lets call this ASVS (Application Specific Visualization Services)
generalizing WMS for GIS The ASVS should both visualize information and provide a way of
navigating (cf GetFeatureInfo) database (the ASFS) The ASVS can itself be federated and presents an ASFS output interface d) There should be application service interface for ASIS from which all
ASIS service inherit e) There will be other user services interfacing to ASIS All user and system services will input and output data in ASL using
filters to cope with ASBD
AS Tool(generic)
AS“Sensor”
ASRepository
AS Service(user defined)
ASVSDisplay
AS Tool(generic)
Messages using ASL
Filter, Transformation, Reasoning, Data-mining, Analysis