Semantic Management of Web Services Steffen Staab Prague May 19, 2005 Steffen Staab ISWeb – Information Systems & Semantic Web Hopes • Describe a goal – let the work be done by Semantic Web Services (previously „agents“, „PSMs“,…) • Projects like – EU: DIP, ASG, Ibrow, … – IBM India: see WWW2005 – US: OWL-S Steffen Staab ISWeb – Information Systems & Semantic Web Hopes Costs high RPC WS* Management Costs SWS low coarse fine Steffen Staab ISWeb – Information Systems & Semantic Web Granularity of Modelling Humbleness in Front of Total Costs Costs SWS high Total Costs RPC WS* Management Costs Modelling Costs low coarse fine Steffen Staab ISWeb – Information Systems & Semantic Web Granularity of Modelling Humbleness • What are the most urgent problems? • Where are the largest benefits Where is this huge need for • Analogy/Pseudoquote from Mohan Semantic Web Services? (Sigmod Record, 2004): „Relational Databases were so successful, because people would have to write 20 Better be incremental! times more code if they would not use them. Therefore, people could do things that they were not able to do otherwise, because they would not have been able to write 20 times more code. Therefore, people put up with early relational database mgmt systems, which were unstable, had many problems, etc.“ Steffen Staab ISWeb – Information Systems & Semantic Web Hope, Humbleness and Hope again… • Web Services • Middleware » They are a huge mess! » Though they have clear conceptual underpinnings, they are complex beasts! » Semantic Technologies can do something for them! » Let‘s backtrack how! Steffen Staab ISWeb – Information Systems & Semantic Web Situation AIFB 1999 – not about Web Services Portal4 ... Portal3 Semantic Web Service x Semantic Web External Portal1 Portal2 Internal Knowledge Management App Steffen Staab ISWeb – Information Systems & Semantic Web Contribution of this talk Application Server for the Semantic Web helps Semantic Web helps ASSW Semantic Web helps ASSW facilitates application development in the Semantic Web Semantic Web technology is used within the ASSW Web Services helps Web Services facilitate application development (in the Semantic Web) Semantic Web technology is useful for Web Services Steffen Staab ISWeb – Information Systems & Semantic Web Agenda • Application Server – Semantic Web for Application Server • Problem • Ontology • Use Cases – Development Time – Run Time • • • • • Ontology Design Architecture Implementation Relationship to MDA Conclusion – App Server for Semantic Web • Semantic Management of Web Services Steffen Staab ISWeb – Information Systems & Semantic Web Problem Resources <web-app> <servlet> Dependencies Access <servlet-name>JMXInvokerServlet... <servlet-class>org.jboss....</servlet-class> <init-param> ... </init-param> Users <load-on-startup>1</load-on-startup> ... <security-constraint> ... </security-constraint> Complexity in Application ... Servers Multitude of XML-DTDs Ontology <login-config> <auth-method>BASIC</auth-method> <realm-name>HTTP Invoker</realm-name> </login-config> web.xml application.xml <security-role> <role-name>HttpInvoker</role-name> </security-role> ... ejb-jar.xml .htaccess MLETs Steffen Staab ISWeb – Information Systems & Semantic Web Rights ... login-config.xml Ontology • Ontology is explicit conceptual model • Formalizes properties, relationships and behaviors of components • Aims at conceptualizing „shared“ understanding • Logics-based formal semantics Component • Axioms Ontology Schema level EnterpriseBean MBean • Allows reasoning instOf Instance level Semantic Metadata • Allows conceptual querying CustomerEJB Steffen Staab ISWeb – Information Systems & Semantic Web Use Cases Development Time • Component dependencies and versioning ... RecommenderServlet WebShopServlet Lib Lib Lib • Licensing Customer Entity Bean NewsServlet ... Lib – model development constraints Lib • Capability descriptions – make component capabilities explicit • Semantics of parameters – associate names with ontology • Automatic generation of component and service metadata – beyond java2wsdl Steffen Staab ISWeb – Information Systems & Semantic Web Use Cases Run Time • Access Rights – E.g. indirect permissions... WebShopServlet Anonymous Context Switch Customer Customer Entity Bean • Error handling – Avoid exceptions thrown to the user • Transactional settings – Discover components that do not support transactions • Secure communication – Discover non-encrypting components Steffen Staab ISWeb – Information Systems & Semantic Web Admin Ontology Design Ontology Design – Syntactic vs. Semantic Metadata – Generic vs. Domain Knowledge – Modular Generality Container Semantics of parameters Automatic generation Capability Descriptions ontology module uses module Syntactic vs. Semantics Semantic Metadata Generic Component Profile API Description Grounding IDL Domain Knowledge Domain Domain API Description Profiles Domain Ontology Modules Steffen Staab ISWeb – Information Systems & Semantic Web application.xml web.xml ejb-jar.xml ... Syntactic Metadata Implementation Domain Implementation details Mapping to source code Architecture Application Server Core Services Naming Security Transaction Manager Administration Inference Engine Security Management Version Management Component Loader Ontology ... web.xml application.xml login-config.xml ejb-jar.xml .htaccess MLETs Steffen Staab ISWeb – Information Systems & Semantic Web KAON SERVER • Prototype of an ontology-based Application Server • Part of KArlsruhe ONtology and Semantic Web Toolsuite (KAON) • Uses KAON ontology language and inference engine • Makes obsolete several description files • Uses JMX/JBossMX • Inference engine as additional MBean • Additionally facilitates development http://kaon.semanticweb.org of Semantic Web applications [ACM TOIT 5(2)] Steffen Staab ISWeb – Information Systems & Semantic Web Relationship to MDA • OMG‘s Model Driven Architecture • Separates conceptual from implementation concerns • Not applied for run time aspects so far • Lack of formal semantics • No reasoning capability Steffen Staab ISWeb – Information Systems & Semantic Web Agenda • Application Server – Semantic Web for Application Server – App Server for Semantic Web • Semantic Management of Web Services Steffen Staab ISWeb – Information Systems & Semantic Web Analysis • Megaprogramming Informa tion cha in Ontology Editor APPLICATION Person Gra dua te-Student Portal Aca demicSta ff USES SOFTWARE MODULE XML Schema Va lidator Person Rule-based system DL reasoner xsi:da teTime Person birthda y Gra dua te-Student Aca demicSta ff Ontology Store • Semantic Web Layer Cake coopera tesWith(Y,X) < -> coopera tesWith(X,Y) Trust Proof Logic Ontology RDF + RDFS XML + Namespaces Unicode Steffen Staab ISWeb – Information Systems & Semantic Web URI Requirements 1. Flexible handling of modules Extensibility, Dependencies, … 2. Static part of the Semantic Web Language Support, Ontology Mapping, … 3. Dynamic part of the Semantic Web Finding, Accessing, Modifying and Storing of ontologies Transactions and Rollbacks, Evolution and Versioning, Inferencing and Verification, … 4. Semantic enhancement of the server Component capability descriptions and discovery, Semantic API descriptions, Component classification, automatic generation of semantic web service descriptions, etc. 5. Common Application Server functionality Steffen Staab ISWeb – Information Systems & Semantic Web Requirements in the Architecture Design element Requirement Language Support Semantic Interoperability x Ontology Mapping Ontology Modularization x x Finding, Accessing, Storing Transactions, Rollbacks Evolution, Versioning Inferencing, Verification Connectivity, Security Extensibility x x x x x x x Discovery Dependencies x x Steffen Staab ISWeb – Information Systems & Semantic Web x x x x x x x x x Design 1. Flexible handling of modules → Microkernel and component approach Functionality: simple management operations (start, stop, monitor, ...) Microkernel ... Modules must be instrumented -> components Component 1) 2) Software Module Software Module Instrumentation Instrumentation Software Module Proxy Component Steffen Staab ISWeb – Information Systems & Semantic Web External Module Design 2. Static part of the Semantic Web → functional components 3. Dynamic part of the Semantic Web → functional components 4. Semantic enhancement of the server → ontological registry with inference capability → system component 5. Common Application Server functionality → Reuse existing Application Server as far as possible Steffen Staab ISWeb – Information Systems & Semantic Web Architecture Client Surrogate1 Surrogate2 Steffen Staab ISWeb – Information Systems & Semantic Web Implementation Kernel KAON SERVER MBeans MBeanServer Java Mgmt Extensions (JMX) JBossMX Steffen Staab ISWeb – Information Systems & Semantic Web Implementation Components Design Application Server for the Semantic Web Starting the Server/Mgmt Console Steffen Staab ISWeb – Information Systems & Semantic Web Browsing and querying the registry KAON OIModeler Generic KAON ontology store surrogate Steffen Staab ISWeb – Information Systems & Semantic Web Browsing and querying the registry KAON OIModeller for browsing and querying the KAON SERVER‘s registry at run-time Steffen Staab ISWeb – Information Systems & Semantic Web OilEd OilEd 1. OilEd queries registry for available reasoners Generic RDF surrogate 2. Component ID is fed into reasoner surrogate 3. Reasoner surrogate relays communication to FaCT Steffen Staab ISWeb – Information Systems & Semantic Web Reasoner surrogate From App Server to Web Services ASSW Cascade Steffen Staab ISWeb – Information Systems & Semantic Web Purpose of Web Services • Light-weight • Widely distributed • Heterogeneous platforms helps Semantic Web Web Services Semantic Web technology is useful for Web Services = Application Server + Wide Distribution + Web Standards Steffen Staab ISWeb – Information Systems & Semantic Web Chasm of Web Services Web Services Standards WS* Semantic Web Services • • • • • • Goals • Means RPC I/O Typing Workflow Security … Plumbing End Customer Use Steffen Staab ISWeb – Information Systems & Semantic Web Semantic Management Web Services Chasm of WebofServices Web Services Standards WS* Semantic Web Services • Complex by size • Complex by heterogeneity • No coherent model • Inconsistencies • Too complicated to specify for developers • Semantics not powerful enough Steffen Staab ISWeb – Information Systems & Semantic Web Modelling Cost Considerations Costs SWWS high Total Costs WS* Management Costs Our target Modelling Costs low coarse fine Steffen Staab ISWeb – Information Systems & Semantic Web Granularity of Modelling Data vs Services Analogy Data Services • • • • • • • • Modelling Query Modify Join Modelling Query Configure Compose • Execute • Monitor Steffen Staab ISWeb – Information Systems & Semantic Web DBMS Knowledge Discovery remains a laborintensive process! Implicit Meaning of Data Why? Immediate Meaning of Data What? Logical Schema Ordner A Ordner B Physical Data Steffen Staab ISWeb – Information Systems & Semantic Web File 1 File 2 How? organisation will Web Service MSService remain a labor-intensive Semantic Web Services definitions types process! Why? (automatic composition!) „WSPolicy“, …. Abstrakte Definitionen messages parts portType operation binding operation service What? referenziert Konkrete Definitionen WSDL, BPEL, … port TCP/IP Steffen Staab ISWeb – Information Systems & Semantic Web How? Conclusion from analogy Modelling and use of Web services by manipulation of individual files is an archaic practice – just like managing data by reading and writing individual files! Steffen Staab ISWeb – Information Systems & Semantic Web WS Management Objectives • Separate „What?“ from „How?“ • Leave „Why?“ to the developer (at least for the moment) • Go beyond simple data manipulation into semantic management in order to capture the immediate meaning of Web services Steffen Staab ISWeb – Information Systems & Semantic Web Use Cases Who? What for? When? Query type/Service Mgmt Task? Steffen Staab ISWeb – Information Systems & Semantic Web Ontologies for an Open World DOLCE Descriptions & Situations Ontology of Plans Core Ontology of Services Service Management Core Ontology Domain ontologies Steffen Staab ISWeb – Information Systems & Semantic Web D&S alignment to DOLCE Ground entities of DOLCE Descriptive entities of D&S Situation In the following slides we see some modelling excerpts from the different levels… Description S-Description satisfies played-by component C-Description Parameter Functional Role Course Steffen Staab ISWeb – Information Systems & Semantic Web COS alignment to D&S DOLCE D&S COS Conceptual disambiguation Situation Wider scope Activity Service Activity Information Description Object S-Description Computational Activity Service Task Functional Role Task Course Computational Task Service Offering Service Activities Description Description Service Agreement Description Service Requirements Service Assessment Description Description Agentive Functional Role Legally Constructed Person Requestor Provider Instrumentality Role Executor Input Computational Input Steffen Staab ISWeb – Information Systems & Semantic Web Output Comp. Output Service Management Core Ontology Metadata from: WSDL, WS-policy, performace measurements, reflection Service Management Description Information Source Parameter ... Quality of Service Descrip ... Policy Description Interface Description Age of Information Plan Description Parameter Description Descriptive Concept Set of descriptive concepts and associations Steffen Staab ISWeb – Information Systems & Semantic Web Association Constraint requisite for Parameter right User obligation towards (agentive) Functional Role Task Course of Event sequences participant played-by valued-by participant Perdurant locatedIn Concrete Constraint Steffen Staab Information Object Policy Constraint Constraint Value Endurant Constraint Value & Semantic Web ISWeb – Information Systems Situation Ground Entities Computational Activity Endurant Object (non-agentive) Functional Role played-by Information Object anakastic duty towards Descriptive Entities Policy Description Service Management Description SMD1 Service Management Description SMD2 Interface Description ID1 Operation Op1 Computational Input CI1 Computational Output CO1 <WSDL> Interface Description ID2 <BPEL> Operation Op2 Computational Input CI2 Computational Output CO2 <WSDL> Steffen Staab ISWeb – Information Systems & Semantic Web Integration in KAON Server Steffen Staab ISWeb – Information Systems & Semantic Web Conclusion on Semantic Middleware • Ontologies provide great practical benefit • Conceptual difference between components and web services are marginal (see Oberle 2005) • Ontologies are no silver bullet! – Problem: provision of semantic metadata -> small is beautiful! -> beautiful is cheap! Steffen Staab ISWeb – Information Systems & Semantic Web Thank You! • D. Oberle, A. Eberhart, S. Staab, R. Volz. Developing and Managing Software Components in an ontology-based Application Server. In Proc. Middleware 2004, ACM/IFIP/USENIX International Middleware Conference, Toronto, October 18-22, 2004, LNCS, Springer. • D. Oberle, S. Staab, R. Studer, R. Volz. Supporting Application Development in the Semantic Web. ACM Transactions on Internet Technology, 5(2), 2005. • D. Oberle, S. Lamparter, A. Eberhart, S. Staab. Semantic Management of Web Services. Tech Report (shorter version at Semantic Web Service Week, Innsbruck June 2006). • D. Oberle. Semantic Management of Middleware. Springer 2005/06 http://isweb.uni-koblenz.de/ Steffen Staab ISWeb – Information Systems & Semantic Web Web services constitute a middleware in order to model distributed applications and let them run on a set of heterogeneous platforms. Unfortunately, the many different Web service standards do not include a formal, let alone a common formal, model, which would allow to give an integrated, consistent view onto all of them. In this talk we sketch how ontologies may be used to integrate metadata about middleware in general and web services, in particular. Thus, we may answer about properties of web services in order to facilitate the life of the system developer and administrator for managing complex, distributed systems. Steffen Staab ISWeb – Information Systems & Semantic Web