Transcript Web Service
Foundations V: Infrastructure
and Architecture, Middleware
Deborah McGuinness
TA Weijing Chen
Semantic eScience
Week 10, November 7, 2011
1
Contents
•
•
•
•
Review of reading, questions, comments
Technology and how to use it
Summary
Next week
2
Semantic Web Methodology and
Technology Development Process
•
•
Establish and improve a well-defined methodology vision for
Semantic Technology based application development
Leverage controlled vocabularies, et c.
Adopt
Leverage
Science/Expert
Rapid
Technology
Open World: Prototype Technology
Review & Iteration
Approach
Infrastructure
Evolve, Iterate,
Redesign,
Redeploy
Use Tools
Evaluation
Analysis
Use Case
Small Team,
mixed skills
Develop
model/
ontology
3
Architecture
• Importance of state
– Grids
– Web
• Existing infrastructure
– Catalogs
– Data sources
– User interfaces
– Services
• Wrapping these syntactic interface
4
Inventory
• Refer to the Resources
– Files
– Databases
– Catalogs
– Existing UI
– Services
– User database/ security
– Logging
– Backup/ archive
5
Limited
interoperability
Geo App1
Geo App2
App3
WSComm
on
Web
Coverage
Service
Web
Feature
Service
Web
Mapping
Service
DB2
DB1
DB3
…………
DBn
The Astronomy approach; datatypes as a service
Limited
interoperability
VO App1
VO App2
VO App3
VOTabl
e
Simple
Image
Access
Protocol
Simple
Spectrum
Access
Protocol
VO layer
Lightweight semantics
Limited meaning, hard
coded
DB2
DB1
DB3
…………
Limited extensibility
Under review
Fox WHOI: Semantic Data Frameworks March 20,
DBn
Simple
Time
Access 7
Protocol
Education, clearinghouses,
disciplines, etc.
other
services,
Semantic mediation layer - midupper-level
Semantic
interoperability
Web
Serv.
Web
Portal
API
Query,
access
and use
of data
Semantic query,
hypothesis and
inference
Semantic mediation layer: Ontology - capturing concepts of Parameters,
Instruments, Date/Time, Space, Event, Feature, Data Product (and associated classes,
properties) and Service Classes. Maps queries to underlying data. Generates access
requests for metadata, data. Allows queries, reasoning, analysis, new hypothesis generation,
Data as Service
testing, explanation, etc.
Metadata, schema,
data
DB1
DB2
DB3
…………
DB…
Implementing
• Let’s take an example
– VSTO
– Representative but does not exercise all
semantic web capabilities
9
Web Service
10
Fox RPI: Semantic Data Frameworks May 14,
11
12
13
14
2
16
Additional Middleware
• Web server, Tomcat are essential (Axis)
• MySQL (or similar) is very handy to have
• OPeNDAP – for data access and transport
17
Web Service
18
Fox RPI: Semantic Data Frameworks May 14,
Infrastructure
• Protégé-OWL-API
– http://protege.stanford.edu/plugins/owl/api/index.html
– http://protege.stanford.edu/plugins/owl/api/guide.html
• Jena (Java API for RDF and OWL)
– http://protege.stanford.edu/plugins/owl/jena-integration.html
– http://jena.sourceforge.net/
– Migrate to other triple stores when needed
20
Using Protégé
• Load VSTO into Protégé 3.4
• Generate Java-OWL classes from Tool menu
• Review other tools for generating code stubs
– E.g. ELMO
(http://www.openrdf.org/doc/elmo/1.3/userguide/x463.html and
http://www.openrdf.org/download.jsp )
21
Examine some of the code
• Java Factory class
• Code stubs and ‘myclass’
• VSTO code base can be made available for
browsing
22
Jena
23
Infrastructure
• Reasoner – DIG/Pellet
– http://protegewiki.stanford.edu/index.php/Protege
ReasonerAPI
• SPARQL
– http://www.w3.org/2001/sw/DataAccess/tests/imp
lementations
• Spring (Application Framework - optional)
– http://www.springframework.org/
• Eclipse (IDE)
– http://www.eclipse.org/
24
Infrastructure
• Rules
– OWL-2 RL
– SWRL – plug-in for Protégé
– Jena rules
– Jess rules
– Jess rules engine http://herzberg.ca.sandia.gov/jess/
25
Software development
• Junit (generated in Eclipse)
– http://smiprotege.stanford.edu/repos/protege/owl/trun
k/junit.properties.template
• Faceted browsing – mspace
26
Metadata
• Migrate metadata into ontologies –
instances, choose how you will populate
them
– Manual – okay to start with sufficient annotation
– Scripted – preferred
– rdfs_comment: essential
• Choose what you will not, cannot move
27
Services
• If you are going to put up services, include an
end-point and a link to your WSDL (or
SAWSDL)
• At this point, developing a full services
ontology, e.g. in OWL-S may be beyond the
initial implementation
28
Semantic Web Services
29
Fox RPI: Semantic Data Frameworks May 14,
Semantic Web Services
OWL document
returned using
VSTO ontology can be used both
syntactically or
semantically
30
Fox RPI: Semantic Data Frameworks May 14,
Result/ outcome
• Refer to the use case document
• Check the expected outcome and see if the
test (to verify outcome) is complete
• Document all variations, note alternate flows
• Document in sufficient detail that someone
else could come along and re-produce your
work
• Include URLs for access, etc.
31
Summary
• Architectural design needs to take into
account existing resources that you will
leverage
• Keeping it simple is also very important as
you begin to implement
• Take time to learn the tools and the
supporting APIs; look at existing examples
and working code
• Being prepared to iterate is really essential
32