Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011
Download ReportTranscript Foundations V: Infrastructure and Architecture, Middleware Deborah McGuinness TA Weijing Chen Semantic eScience Week 10, November 7, 2011
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