





































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Main points of this lecture are: Component-Based Engineering, Component Correctness, Component-Based Strategies, Service-Oriented Architecture, Kind of Access Control, Simple Object Access Protocol, Picture Changing, Guard Clauses, Xml Document
Typology: Study notes
1 / 45
This page cannot be seen from the preview
Don't miss anything!






































Formulate problem in terms of software components with well-defined cohesive properties. Each software component is an independent program. Connect components via message-passing: send requests and receive responses. To the extent possible, construct a situation in which correctness of components implies correctness of the total application. Component-based engineering Component-based Engineering Monday, November 19, 2012 1:27 PM Docsity.com
Example: mashup Monday, November 19, 2012 4:38 PM Docsity.com
Components operate in an open world : any other process (on the internet(!)) can request services. (Subroutines operate in a closed world ; the source code of the current program completely defines how they are used) Thus, security (and integrity) become significant problems. Disadvantages of component-based engineering Disadvantages of component-based engineering Monday, November 19, 2012 1:42 PM Docsity.com
Designed for distributed network deployment... to optimize performance... No rule against running all services on the same machine. Service-Oriented Architecture (SOA): create "services" that perform parts of a computation. Designed to run on an individual Windows machine... To make writing an application easier... No rule against contacting components on other machines. Windows .NET: create "components" that interoperate to create an entire computation. Similar strengths and weaknesses. Similar architectures(!) Two component-centered strategies Two component-based strategies Monday, November 19, 2012 1:46 PM Docsity.com
Service request and response are XML documents. Clients convert subroutine calls to XML text. Basic security/integrity model: guard clauses based upon XPATH and Xschemas SOAP: Simple Object Access Protocol SOAP Monday, November 19, 2012 1:50 PM Docsity.com
Simple development
Wrote guard clauses into the code guard clauses are external, in a different language. The code functions in a closed world We have to guard against grevious input errors. How is the picture changing? Monday, November 19, 2012 4:50 PM Docsity.com
XPATH: a language for specifying parts of XML documents. Xschemas: a language for specifying the appropriate form for an XML document. Constructing SOAP Guard Clauses Constructing SOAP Guard Clauses Monday, November 19, 2012 1:55 PM Docsity.com
How SOAP guard clauses work Monday, November 19, 2012 1:57 PM Docsity.com
The idea of XPATH Part 1: XPATH Monday, November 19, 2012 1:59 PM Docsity.com
cats/cat Docsity.com
foo/bar[@title='cat'] matches a tag
bar[@title and @publisher] matches a tag
bar[what] matches a tag
โ self:: - current node. โ parent:: - parent of current node. โ preceding-sibling:: - siblings before current node. โ following-sibling:: - siblings after current node. โ descendant-or-self:: - current node or descendants.
-. means self::node()
Example: preceding-sibling::[position()= 1] (or preceding-sibling::[1]) matches the node before the current one. Preceding indices count up as one moves backward.
Example: following-sibling::[position()= 1] (or following-sibling::[1]) matches the node following the current one at the same level.
Example: child::[count(@)=2]: matches all children with exactly two attributes!
Functions in conditions Monday, November 19, 2012 2:04 PM Docsity.com