180 likes | 299 Views
CIS*6650.01 Service-Oriented Computing. Qusay H. Mahmoud, Ph.D. qmahmoud@uoguelph.ca. Web Services…. Interoperability WS-I Basic Profile Software Agents What are they Their applications Integration with Web services. Interoperability.
E N D
CIS*6650.01Service-Oriented Computing Qusay H. Mahmoud, Ph.D. qmahmoud@uoguelph.ca CIS*6650.01
Web Services… • Interoperability • WS-I Basic Profile • Software Agents • What are they • Their applications • Integration with Web services CIS*6650.01
Interoperability • An interoperable Web service is one that works across platforms, languages, and other Web services from various vendors • Challenges • Too many standards, each deals with a specific problem • Solutions utilize multiple standards • Different interpretations of the standards • Multi-vendor environments • Interoperability can be achieved (or can be less of a concern) by following the guidelines set by the WS-I Basic Profile CIS*6650.01
Interoperability • Industry members formed the WS-I (http://ws-i.org) • An open industry organization chartered to promote Web services interoperability across platforms, operating systems, and programming languages • WS-I is not a “standards” body • It cooperates with industry groups • Acts as a point of integration for the standards they generate CIS*6650.01
Interoperability • WS-I Goals • Provide education & guidance to further promote adoption of Web services • Promote consistent and reliable practices to help developers build interoperable Web services • Articulate and promote a common industry vision for Web services interoperability • To achieve these goals, strategies employed: • Implementation and testing guidance (best practices, and testing tools to validate conformance) • Web services profiles CIS*6650.01
Interoperability • WS-I deliverables • Profiles • In response to the growing number of interrelated specifications; solve the problem of which products supported what levels of specification • Test tools • Monitor interactions between Web services and generate a log that will be the input to the Analyzer (do they conform to a given profile?) • Use cases and usage scenarios • Capture business and technical requirements in a particular situation • Sample applications • Implementations of applications in use cases and scenarios CIS*6650.01
Interoperability • A profile • is a named set of Web services specifications • adds constraints and guidance • doesn’t address application semantics • focuses on testable requirements • chooses between multiple mechanisms (e.g. rcp/literal vs. rpc/encoding) • Example • Basic Profile 1.0 , 1.1, 1.2, 2.0 • Basic Security Profile CIS*6650.01
Interoperability • Basic Profile 1.0 • SOAP 1.1, WSDL 1.2, UDDI 2.0 • Scope of Basic Profile • Messaging (SOAP/HTTP) • Service description (WSDL) • Service discovery (UDDI) • XML Schema • XML 1.0 • Sample conformance requirement • R0007 A SENDER MUST NOT use the soap:mustUnderstand attribute when sending a SOAP header block containing a conformance claim • Four levels of compliance: compliant, typically compliant, potentially compliant, unique CIS*6650.01
Interoperability • Messaging (SOAP encodingStyle attribute) • R1005: A MESSAGE MUST NOT contain soap:encodingStyle attributes on any of the elements whose namespace is (URL to envelope schema) • R1006: A MESSAGE MUST NOT contain soap:encodingStyle attributes on any element that is a child of soap:Body • R1007: A MESSAGE described in an rpc/literal binding MUST NOT contain soap:encodingStyle attribute on any elements that are granchildren of soap:Body CIS*6650.01
Interoperability • Messaging (SOAPAction) • R2744: An HTTP request MESSAGE MUST contain a SOAPAction HTTP header with quoted value equal to the value of the soapAction attribute of soapbind:operation, if present in the corresponding WSDL description • R2745: An HTTP request MESSAGE MUST contain a SOAPAction HTTP header field with a quoted empty string value, if in the corresponding WSDL description, the soapAction attribute is not present or present with an empty string as its value • Refer to WS-I Basic Profile for the list of all rules CIS*6650.01
Software Agents and Web Services • A software agent is an entity that • Acts on behalf of others in an autonomous fashion • Performs its actions in some level of proactivity and reactivity • Exhibits some levels of key attributes of learning, co-operation, and mobility • Too many definitions, including: • A software component built using agent-oriented tools (goal-oriented) • An object with an attitude • Agents vs. Objects: http://www.jot.fm/issues/issue_2002_05/column4 CIS*6650.01
Software Agents • Classification CIS*6650.01
Mobile Agents • An agent that is able to migrate from host to host to work in a heterogeneous environment • Attractive: bandwidth, connectivity • Possible advantages: CIS*6650.01
Agent Security • Protecting hosts from malicious agents • Leakage: acquisition of data by unauthorized party • Tampering: altering of data by unauthorized parties • Resource stealing: use of facilities by unauthorized parties • Protecting agents from malicious hosts • Scan agent for info, alter agent’s state, kill agent • Therefore, users resist the use of agents • Would you trust a mobile shopping agent with your credit card information? CIS*6650.01
Developing with agents • Many tools are available (agent-based) • JADE (jade.tilab.com), complies with FIPA specifications (www.fipa.org) • How many agents are needed for a task? Wrong question, just like asking how many objects are needed • Apply the MVC Source: Mahmoud, Q.H., and Maamar, Z.: Applying MVC to Multi-Agent Systems CCECE2006, Ottawa, Canada CIS*6650.01
Sample App • MobiAgent CIS*6650.01
Making Agents User-Friendly • Business partnerships Source: Mahmoud, Q.H., and Yu, L.: Making Software Agents User-Friendly, IEEE Computer, Jul 2006 CIS*6650.01
Agents vs. Web Services • A Web service knows only about itself, but not its clients. Agents are self-aware • Web services are passive. Agents are inherently communicative • Agents are autonomous • Agents are cooperative • Many applications of agents to Web services in many recent conferences and journals CIS*6650.01