<?xml-stylesheet type="text/xsl" href="http://claremontconversation.org/tcourse/cmalek/rss/rssstyles.xsl"?>
<rss version='2.0'   xmlns:dc='http://purl.org/dc/elements/1.1/'>
    <channel xml:base='http://claremontconversation.org/tcourse/cmalek/'>
        <title><![CDATA[Christopher Malek : Activity]]></title>
        <description><![CDATA[Activity for Christopher Malek, hosted on Claremont Conversation.]]></description>
        <generator>Elgg</generator>
        <link>http://claremontconversation.org/tcourse/cmalek/</link>        
        <item>
            <title><![CDATA[About Bill Curtis]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1983.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1983.html</guid>
            <pubDate>Fri, 13 Jul 2007 20:37:17 GMT</pubDate>
            <description><![CDATA[<span class="anchor"></span><span class="anchor"></span>We read this article recently: <span class="anchor"></span><span class="anchor"></span><div class="citeulike_entry"><p><span class="author">Curtis, Bill</span>; <span class="author">Krasner, Herb</span>; <span class="author">Iscoe, Neil</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/187180">A field study of the software design process for large systems</a>&quot;, <span class="source">Commun. ACM</span>, <span class="issue"> Vol. 31, No. 11</span><span class="date"> (1988)</span><span class="pages"> pp. 1268-1287</span>.</p></div> <span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><p class="line862">Curtis has been tremendously influential in the software process improvement field, and this Curtis paper was his most highly cited: Google Scholar lists <a href="http://scholar.google.com/scholar?num=100&amp;hl=en&amp;lr=&amp;cites=13323969217976555484">763</a> papers which cite it. Of those papers which cite this one, more than fifty of them have been cited more than 50 times, themselves. Of his other papers, 11 that I can find have been cited more than 50 times and six more than 150 times (again according to Google Scholar). Those papers were all written between 1979 and 1995, in the golden years of software methodology resarch. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">Other parts of Curtis&#39; work is familiar to us, even if we didn&#39;t know he was involved.  He is a former director of the <a href="http://www.sei.cmu.edu/programs/sepm/">Software Process Program</a> at the <a href="http://www.sei.cmu.edu/">Software Engineering Institute</a> (SEI) at <a href="http://www.cmu.edu/">Carnegie Mellon University</a>, the creators of CMM and CMMI.  He co-authored the <a href="http://en.wikipedia.org/wiki/Capability_Maturity_Model">Capability Maturity Model for Software</a>, and was the chief architect of the <a href="http://en.wikipedia.org/wiki/PCMM">People Capability Maturity Model</a> (PCMM).  PCMM reminds me a lot of a practitioner&#39;s approach to achieving a <a href="http://en.wikipedia.org/wiki/Learning_organization">learning organziation</a>. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">PCMM reflects what he learned in this paper (as far as I can tell from the summaries I&#39;ve found): <span class="anchor"></span><span class="anchor"></span></p><ul><li style="list-style-type: none"><p class="line891"><em>The People CMM systematically infuses the required competencies, leading to empowerment. At level 3, the manager begins to trust the process and steps a little back. At level 4, the manager takes advantage of the frame-work installed till level 3, and steps further back. At level 5, interactions of workgroups with those in other units are aligned. Performance is aligned to optimize the system. The model helps systematically manage performance. &ldquo;The issue is not evaluating individuals. But to bring in continuing discussion of how work is performed.&rdquo;</em> [1] <span class="anchor"></span><span class="anchor"></span></p></li></ul><p class="line867">Currently, he a founding partner of Capability Measurement (couldn&#39;t find anything out about this company) and was until recently the chief process officer of <a href="http://www.borland.com/">Borland Software Corporation</a> (he remains their chief process advisor).  He was the cofounder and chief scientist of <a href="https://cgu.caltech.edu/email/TeraQuest">TeraQuest</a> Metrics, Inc  (<a href="http://www.borland.com/us/company/news/press_releases/2005/01_18_05_borland_aquires_teraquest.html">acquired</a> in 2005 by Borland), which helped large companies manage and take control of their software development processes [2]. <span class="anchor"></span><span class="anchor"></span>&nbsp;</p>   <div class="yui-u"> <div id="right"> <h3 id="head-746708018261902ee3935819a5a3ef06f658c78a-2">References</h3> <ol><li><p class="line862">&quot;<a href="http://www.softwaredioxide.com/Channels/Experts/Bill_Curtis_Keynote.htm">Build to Last: Focus on people for continuous process improvement</a>&quot;, Jul 13, 2007. </p></li><li><p class="line862">&quot;<a href="http://www.bptrends.com/about_contributorDetail.cfm?CID=8EAA26FB-C5C5-E3F5-C68G53AC19BA2732">Contributor : Dr. Bill Curtis &amp; Dr. John Alden</a>&quot;, Jul 13, 2007. </p></li></ol> </div> </div>]]></description>
        </item>
                
        <item>
            <title><![CDATA[NASA, web services, and legacy data stores]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1964.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1964.html</guid>
            <pubDate>Wed, 04 Jul 2007 21:23:39 GMT</pubDate>
            <description><![CDATA[<p><strong>Summary of:</strong>&nbsp;</p><p><span class="author">Graves, S</span>; <span class="author">Ramachandran, R</span>; <span class="author">Keiser, K</span>; <span class="author">Maskey, M</span>; <span class="author">Lynnes, C</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1433771">Deployable Suite of Data Mining Web Services for Online Science Data Repositories</a>&quot;,<em> <span class="source">23rd Conference on IIPS</span>, <span class="date"> (2007).</span></em><br />&nbsp;</p><h2>Background&nbsp; <span class="anchor"></span><span class="anchor"></span></h2><p class="line867">I read this article because I wanted to find a example of someone who wanted to use web services for something that was (a) specific and real (b) compelling (to me), and (c) includes of legacy systems and data stores. Most of my reading about web services has been generic, hypothetical, or simply uninteresting (for example, &quot;retrieve purchase orders&quot;, or &quot;process inventory&quot;. Yawn.). <span class="anchor"></span><span class="anchor"></span>&nbsp;</p><h2 id="head-b436237f4f51a563adf118a1e0e8500bb8cb947a">Summary</h2> <span class="anchor"></span><span class="anchor"></span><p class="line867"><a href="http://www.nasa.gov/">NASA</a> is focused on developing a distributed <a href="http://en.wikipedia.org/wiki/Service_oriented_architecture">service-oriented architecture</a> to enable remote data processing of its huge data stores. This paper describes a NASA ACCESS project called &ldquo;Deployable Suite of Data Mining Web Services for Online Science Data Repositories&rdquo;, which is aimed at developing web service based technology to allow scientists to locally define analysis workflows that can directly use data residing in online repositories. Furthermore, it aims to allow scientists both within and outside of NASA to &quot;combine persistent distributed data processing services and make them available to other users over the internet&quot; (p. 1). <span class="anchor"></span><span class="anchor"></span></p><p class="line862">This project has chosen web service technology because it &quot;provides a standard way to remotely interface with programmatic components and to orchestrate the chaining of services through standardized service descriptions&quot; (p. 2). The web services solution being developed by this project uses the standard <a href="http://en.wikipedia.org/wiki/Xml">XML</a>/<a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>/<a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a> group, plus <a href="http://en.wikipedia.org/wiki/BPEL">BPEL4WS</a> for process orchestration.  The project will be using an existing XML schema for data transfer (<a href="http://esml.itsc.uah.edu/">ESML</a>, the Earth Science Markup Language) and will adapt an existing data mining toolkit (the <a href="http://datamining.itsc.uah.edu/adam/">ADaM</a> (Algorithm Development and Mining) Toolkit) to allow existing data mining algorithms to be adapted and new ones to be developed, and will encapsulate existing data access and analysis applications (such as the Simple, Scalable Script-based Science Processor for Measurements (<a href="http://opensource.gsfc.nasa.gov/projects/s4pm/s4pm.php">S4PM</a>)). <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Much of the goal of this project is to expose to scientists worldwide the both legacy data sets and databases, to future data sets and databases, and to share data mining and analysis solutions. These previously were inaccessible outside of NASA computers, and required researchers to request access, and either go to the NASA site, or to transport huge quantities of data from NASA to their own site for processing. Any analysis solution developed by that researcher would typically remain isolated at that researcher&#39;s site and would not be accessible to other scientists. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">The article also describes a prototype architecture, and relates a description of its first application.<span class="anchor"></span><span class="anchor"></span></p><h2 id="head-a9b86bb588e57c0efc5af2282ec6af41d24029d5">Issues</h2> <span class="anchor"></span><span class="anchor"></span><h3 id="head-afe26f06c4a5a9c6629587df9252fb518a81ced0">WSDL records</h3> <span class="anchor"></span><span class="anchor"></span><p class="line874">This paper contains the first description I&#39;ve found of in-situ use of WSDL, as well as workflows: <span class="anchor"></span><span class="anchor"></span></p><ul><li style="list-style-type: none"><p class="line862">&quot;<em>A workflow is generated within the Workflow Composer [part of <a href="http://www.active-endpoints.com/active-bpel-designer.htm">ActiveBPEL</a>], based on experimentation in the Sand Box. This workflow is then deployed to a BPEL engine, which returns a URL pointing to the WSDL for that workflow. This URL is then transmitted to the <a href="http://daac.gsfc.nasa.gov/">GES DISC</a> via a Web Services request along with a specification of the data to be mined, such as the dataset to be mined and temporal or spatial constraints<strong>&quot; </strong></em>(p. 6)<em><strong>.<span class="anchor"></span><span class="anchor"></span></strong></em></p></li></ul><h3 id="head-351921fe0cd4f2d9f4d12b55ed1d0b7296b8245f">NASA ACCESS</h3> <span class="anchor"></span><span class="anchor"></span><p class="line862">NASA ACCESS seems to be a NASA sponsored project to create computational infrastructure which will allow scientists to more easily share data and processing resources. Other NASA ACCESS projects I found on the Internet are: the Data and Information Application Layer (<a href="http://esdepo.gsfc.nasa.gov/calendar/view.php?id=128&amp;year=2007&amp;month=04&amp;day=11">DIAL</a>) project, A Distributed Knowledge Extraction Framework Based on SemanticWeb Services (<a href="http://aisrp.nasa.gov/projects/presentations/10e527ce77f.pdf">SKIF</a>) and Modeling and On-the-fly Solutions for Solid Earth Sciences (<a href="http://grids.ucs.indiana.edu/ptliupages/presentations/FAGU06_final.pdf">MOSES</a>). <span class="anchor"></span><span class="anchor"></span></p><p class="line867"><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"><br /></span></p>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Web services based multi-agent systems]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1942.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1942.html</guid>
            <pubDate>Thu, 28 Jun 2007 05:46:27 GMT</pubDate>
            <description><![CDATA[<p><strong><span class="author">Summary of:</span></strong></p><p><span class="author">Harris, C</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1418224">Building self-modifying multi-agent and P2P networks using WSDL and soap</a>&quot;, <em><span class="source">Integration of Knowledge Intensive Multi-Agent Systems, 2005. International Conference on</span></em>, <span class="date"> (2005)</span><span class="pages"> pp. 71-75</span>.</p><h2>Summary</h2><span class="author"></span><p class="line862">The author proposes building a <a href="http://en.wikipedia.org/wiki/Distributed_computing">distributed</a>, <a href="http://en.wikipedia.org/wiki/Evolutionary_programming">evolutionary</a> <a href="http://en.wikipedia.org/wiki/Multi-agent_system">multi-agent system</a> in which the <a href="http://en.wikipedia.org/wiki/Middleware">middleware</a> is <a href="http://en.wikipedia.org/wiki/Web_service">web services</a>.  He then describes a system that he built which fulfills this.  Each <a href="http://en.wikipedia.org/wiki/Software_agent#Autonomous_agents">agent</a> acts as a <a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a> node in a <a href="http://en.wikipedia.org/wiki/Peer_to_peer">peer to peer network</a>, and can dynamically export its functionality via <a href="http://en.wikipedia.org/wiki/WSDL">WSDL</a>. Other inter-agent communication protocols may be used simultaneously. Using web services as middleware grants easy interoperability for agents of heterogeneous implementations and platforms, and allows agents to be incorporated into existing web service architectures. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">A <em>web service agent</em> differs from a web service in that it &quot;has the ability to receive or invent new computational capacities at run-time and automatically make them available to the Internet as Web services&quot; (p. 77). Each agent uses a code-to-WSDL translator to translate new code to WSDL descriptions, writes its WSDL descriptions as files, and exports via an internal HTTP server. Agents can thus access each other&#39;s WSDL descriptions, parse them, and exchange the appropriate SOAP messages. An agent&#39;s WSDL description can change dynamically. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">The agents that the paper describe are evolutionary in that there is functionality which applies &quot;an appropriate transformation to the instantiated code in order to make it more suitable for the given task&quot; (p. 79). Agents are expected to be able to modify their functionality, either in response to external inputs or commands, or via self-reflective learning or training. This may be accomplished via <a href="http://en.wikipedia.org/wiki/Genetic_programming">genetic programming</a>, &quot;a <a href="http://en.wikipedia.org/wiki/Artificial_neural_network">neural network</a>, a rational algorithm, or an <a href="http://en.wikipedia.org/wiki/Expert_system">expert system</a>-guided process&quot; (p. 79). <span class="anchor"></span><span class="anchor"></span></p><p class="line862">The evolutionary multi-agent system that the author implemented consisted of agents written in <a href="http://www.python.org/">Python</a>. Agents used either a genetic programming algorithm or neural network to evolve their algorithms. They also accessed external WSDL services to do some of their work. <span class="anchor"></span><span class="anchor"></span></p><h2 id="head-04f2b8bce01c1f07fd384f674773e8f0942112a4">Issues</h2> <span class="anchor"></span><span class="anchor"></span><p class="line874">Genetic programming and training neural networks can be hard problems. In order for genetic programming to work, one must be able to generate programs, compare them and rank them somehow: we need to know the appropriate fitness criteria to apply for any given problem. As the author says &quot;knowing beforehand exactly what evolutionary criteria to apply to a genetic programming system or what expert rules need to be fed to an expert system in order to locate a satisfactory goal state can often times be more difficult than simply hand-coding the solution&quot; (p. 79). <span class="anchor"></span><span class="anchor"></span></p><h2 id="head-97aa51d8d0de0f47e4aca7b28ed4db974790a146">Critique</h2> <span class="anchor"></span><span class="anchor"></span><p class="line874">The paper does not discuss how agents in such a peer to peer network are notified when an agent updates, adds or removes an interface, and the corresponding WSDL description. <span class="anchor"></span><span class="anchor"></span></p><p class="line867">Harris&#39; definition of web services as client-server differs substantially from Erl&#39;s.  Harris says: <span class="anchor"></span>&quot;current commercial software packages for working with WSDL and SOAP are typically constructed to satisfy a strict client-server model, usually occurring in a B2B or B2C context in which a single service is written and maintained by human developers&quot; (p. 77), while Erl says &quot;Web services do not fit into the classic client-server model&quot; [1, p. 50]. <span class="anchor"></span><span class="anchor"></span>&nbsp;</p><h2 id="head-d2390a0d81c1d10d3705c5f59d5fb02c5272749f">References</h2> <span class="anchor"></span><span class="anchor"></span><ol><li><div class="citeulike_entry"><p><span class="author">Erl, Thomas</span>; <em><a href="http://www.citeulike.org/user/cmalek/article/350136">Service-Oriented Architecture : Concepts, Technology, and Design</a></em>, <span class="publisher">Prentice Hall PTR: None</span><span class="date"> (2005)</span>.</p></div> <span class="anchor"></span><span class="anchor"></span></li></ol><p class="line867"><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span></p>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Wherefore art thou, WSDL document?]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1921.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1921.html</guid>
            <pubDate>Thu, 21 Jun 2007 05:31:50 GMT</pubDate>
            <description><![CDATA[<br /><p class="line874">After reading and re-reading Erl&#39;s sections on WSDL [1, p?-?] and UDDI [1, p?-?], I find that I understand why WSDL is useful, but that I don&#39;t understand how a web services architect or developer actually uses a WSDL record in a practical sense. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">So I had two questions: where does a WSDL document live, and how is it used? Is the WSDL record processed by a tool automatically, or do humans simply read the record and use it to guide code development? Do web services themselves access WSDL records -- is there machine to machine communication and automatic setup of interfaces going on with WSDL at the center? <span class="anchor"></span><span class="anchor"></span></p><h2 id="head-923446c79c5c3c52ef8ad6d61a5dc834afaed42d">Where the WSDL document lives</h2> <span class="anchor"></span><span class="anchor"></span><p class="line874">Finding the interface to a web service is part of a process called service discovery: where is the service, and how do I talk to it? <span class="anchor"></span><span class="anchor"></span></p><p class="line862">One way to publish WSDL records is using a UDDI registry: users look in the registry for the service they want, and retrieve the WSDL record from the UDDI registry [1]. The abstract portion of the WSDL service description is published in the registry as a UDDI businessService, while the concrete prortion of it is published as a UDDI tModel [2]. Both the businessService and tModel entities are configured to refer to a URL which points at the relevant part of the WSDL document. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Without a UDDI registry, a WSDL record may simply live on the Internet on a URI, or even in the local filesystem. Pilgrim says, &quot;A WSDL file is just that: a file. More specifically, it&#39;s an XML file. It usually lives on the same server you use to access the SOAP web services it describes, although there&#39;s nothing special about it&quot; [3]. Presumably the developer who is writing code to interact with the service described a WSDL document so located must locate the WSDL document manually. <span class="anchor"></span><span class="anchor"></span></p><h2 id="head-6333223ced57185631275fd22ae728e82e2ed626">Using the WSDL document</h2><p> <span class="anchor"></span><span class="anchor"></span>It seems like developers who are writing code to interface with a web service download the WSDL document and either generate code from it manually, use a tool to generate it stub code which can be later fleshed out by the developer. Examples of such code generators are <a href="http://ws.apache.org/axis/java/user-guide.html#WSDL2JavaBuildingStubsSkeletonsAndDataTypesFromWSDL">WSD2Java</a> from the <a href="http://ws.apache.org/axis/index.html">AXIS</a>, the Apache web services project, <a href="http://pywebsvcs.sourceforge.net/guide.html#SECTION003000000000000000000">wsdl2py</a> from the <a href="http://pywebsvcs.sourceforge.net/">Zolera Soap Infrastructure</a> for python, or the <a href="http://msdn2.microsoft.com/en-us/library/7h3ystb6%28vs.71%29.aspx">wsdl.exe</a> generator for C# from microsoft.com.</p><h3 id="head-f471d03cbd26e0d161f87a8717bc5fcb8639f134-2">References</h3> <ol><li><p class="line862">&quot;<a href="http://www.w3schools.com/wsdl/wsdl_uddi.asp">WSDL and UDDI</a>&quot;, www.w3schools.com, Jun 19, 2007. </p></li><li><p class="line862">Brittenham, Peter; Cubera, Francisco; Ehnebuske, Dave; Graham, Steve, &quot;<a href="http://www.ibm.com/developerworks/webservices/library/ws-wsdl/">Understanding WSDL in a UDDI registry, Part 1</a>&quot;, www.ibm.com/developerworks, Sep 1, 2001. </p></li><li><p class="line862">Pligrim, Mark, &quot;<a href="http://www.diveintopython.org/soap_web_services/wsdl.html">Introducing WSDL</a>&quot; in <em>Dive into Python</em>, www.diveintopython.org, 2004. </p></li></ol><p>&nbsp;</p>]]></description>
        </item>
                
        <item>
            <title><![CDATA[SOAP vs REST (part 2)]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1910.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1910.html</guid>
            <pubDate>Fri, 15 Jun 2007 05:31:04 GMT</pubDate>
            <description><![CDATA[<em>his article is a continuation of <a href="https://cgu.caltech.edu/email/Documents/Articles/SOAP_vs_REST">SOAP vs REST</a>.</em> <span class="anchor"></span><span class="anchor"></span><p class="line862">In my previous post, I reported that the <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> approach to <a href="http://en.wikipedia.org/wiki/Web_services">web services</a>, while largely equivalent to the <a href="http://en.wikipedia.org/wiki/Xml">XML</a>/<a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>/<a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a>/<a href="http://en.wikipedia.org/wiki/UDDI">UDDI</a> approach, differs from it in that it trades many SOAP messages for many <a href="http://en.wikipedia.org/wiki/URI">URIs</a>. REST advocates claim that the advantages of this approach are: a set of REST requests can be spread across many servers, which means that REST services are scalable; that REST obviates the need for special service discovery mechanisms like UDDI; that REST supports server side <a href="http://en.wikipedia.org/wiki/Caching">caching</a>; and that less specific client side software is needed: one browser can access any REST service. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">One large part of the debate in the web services community over SOAP vs REST has to do with business process choreography [1, p. 2] (more typically called <a href="http://en.wikipedia.org/wiki/Workflow">workflow</a>): coordination of long running business processes over many services and potentially more than one organization. A standard way of conducting choreography is critical because the complexity of coordinating API and data format specifications among many entities quickly becomes unruly. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Imagine that there is a a complicated action which requires many services or service components to be invoked in a particular order, such as placing an order and receiving an order confirmation. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">In the REST paradigm, the initial requestor of the service is stepped through the complicated process by the REST server, which includes the URI for the next sub-task of the action in the response from the last sub-task. The REST server publishes a well-known starting URI to which the initial requestor first goes. HTTP GETing from this URI causes the process to start on the server side -- a context is set up on the server for the initial requestor -- and the REST server responds with the URI of the first sub-task. The initial requestor then HTTP POSTs its request to that URI, and the REST server responds appropriately, and includes the URI of the <em>next</em> sub-task in that response, and so on until the action is complete.  It looks something like this: <span class="anchor"></span><span class="anchor"></span></p><p class="line867"><img class="attachment"  src="https://cgu.caltech.edu/email/Documents/Articles/SOAP_vs_REST_%28part_2%29?action=AttachFile&amp;do=get&amp;target=rest.png"  border="0"  title="rest.png" /> <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Coordination of the XML syntax of the messages passed between requestor and REST server must be negotiated beforehand. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">In the SOAP paradigm, the SOAP server presents a single URI facade to the initial requestor, through which all communications travel (this facade is itself a web service, and Erl calls it an <em>orchestration</em> [2, p. 364]). Choreography is handled via message types as defined by the WSDL records for the action. The SOAP server publishes a WSDL record for a <a href="http://en.wikipedia.org/wiki/Bpel4ws">BPEL4WS</a> process which describes the different message types it will accept, and their syntax. The initial requestor interacts with the <em>orchestration</em> service via SOAP messages, and what message it will send next is dictated by the <em>orchestration</em> service. <span class="anchor"></span><span class="anchor"></span></p><p class="line867"><img class="attachment"  src="https://cgu.caltech.edu/email/Documents/Articles/SOAP_vs_REST_%28part_2%29?action=AttachFile&amp;do=get&amp;target=soap.png"  border="0"  title="soap.png" /> <span class="anchor"></span><span class="anchor"></span></p><p class="line874">The BPEL4WS web services orchestration language is one of the primary choreography mechanisms for SOAP/WSDL/UDDI based web services. It depends on the WS-Coordination and WS-Transaction standards to do its work.</p><p class="line874">&nbsp;</p><h3 id="head-86fbf3cf8ff385473b4aec6cc89a33e7e98f6f7c-2">References</h3> <ol><li><div class="citeulike_entry"><p><span class="author">Muehlen, Michael</span>; <span class="author">Nickerson, Jeffrey</span>; <span class="author">Swenson, Keith</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1388228">Developing web services choreography standards: the case of REST vs. SOAP</a>&quot;, <span class="source">Decis. Support Syst.</span>, <span class="issue"> Vol. 40, No. 1</span><span class="date"> (2005)</span><span class="pages"> pp. 9-29</span>.</p></div> </li><li><div class="citeulike_entry"><p><span class="author">Erl, Thomas</span>; <em><a href="http://www.citeulike.org/user/cmalek/article/350136">Service-Oriented Architecture : Concepts, Technology, and Design</a></em>, <span class="publisher">Prentice Hall,</span><span class="date"> (2005)</span>.</p></div> </li></ol><p class="line874">&nbsp;</p>]]></description>
        </item>
                
        <item>
            <title><![CDATA[SOAP vs REST]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1897.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1897.html</guid>
            <pubDate>Thu, 07 Jun 2007 05:50:29 GMT</pubDate>
            <description><![CDATA[The term &quot;<a href="http://en.wikipedia.org/wiki/Web_services">Web service</a>&quot; generally describes an architecture of large scale networked software which wraps chunks of functionality in standardized <a href="http://en.wikipedia.org/wiki/Api">API</a>s which are accessed over a network.  <span class="anchor"></span><span class="anchor"></span><p class="line862">The web service architecture that Erl [1] describes is based on a combination of <a href="http://en.wikipedia.org/wiki/Xml">XML</a>, <a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>, <a href="http://en.wikipedia.org/wiki/Web_Services_Description_Language">WSDL</a> and <a href="http://en.wikipedia.org/wiki/UDDI">UDDI</a>. In this scheme, a UDDI service is an XML based registry of web services which acts as a broker of metadata on those web services. A consumer would contact a UDDI service to search for a provider of a service based on metadata filtering. Once the consumer has chosen a provider from the UDDI service, they would discover the API for the corresponding web service by asking the service for its WSDL (which is also an XML format) record. They would then utilize the service by using the WSDL record to construct and send appropriate SOAP (another XML format) messages to the service, and interpret its SOAP replies. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">An alternative web service architecture called <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> is currently in use by entities such as <a href="http://code.google.com/apis/">Google</a>, <a href="http://developer.yahoo.com/">Yahoo</a>, <a href="http://developer.ebay.com/common/api/">eBay</a>, <a href="http://del.icio.us/help/api/">del.icio.us</a>, <a href="http://www.flickr.com/services/api/">Flikr</a>, <a href="http://citeulike.livejournal.com/11953.html">CiteULike</a>, <a href="http://twitter.com/help/api">Twitter</a>.  REST was first described in a doctoral dissertation in 2000 by <a href="http://en.wikipedia.org/wiki/Roy_Fielding">Roy Fielding</a>, one of the principal authors of the Hypertext Transfer Protocol (HTTP) [2] and is based on several principles: <span class="anchor"></span><span class="anchor"></span></p><ul><li><p class="line862">A service is divided into one or more <em>resources</em>, each of which is uniquely addressable via a URI over a network [2]. <span class="anchor"></span></p></li><li><p class="line862">Clients and servers communicate via HTTP and exchange <em>representations</em> of the resource (documents which contain the actual data). This representation may be in any format, so long as both clients and servers understand it [2], although that format is typically XML [3]. <span class="anchor"></span></p></li><li><p class="line862">The client should need to know only the URI of the resource and what it wants to do (typically PUT, POST or GET) -- it should not care what lies between it and the service (firewalls, gateways, caches, etc.). This is known as <em>layering</em> [2]. <span class="anchor"></span></p></li><li>All communications between client and server should be stateless [2]. <span class="anchor"></span><span class="anchor"></span></li></ul><p class="line874">The REST approach differs from the XML/SOAP/WSDL/UDDI approach in that it trades many SOAP messages for many URIs. A SOAP based service operating on a single URI may offer a client many different potential messages or functions. A REST based service offers the same type of functionality by providing many different URIs each of which accept a limited set of functions (typically HTTP GET and PUT). <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Advocates of REST claim, among other things that: <span class="anchor"></span><span class="anchor"></span></p><ul><li>REST provides equivalent functionality to XML/SOAP/WSDL/UDDI. <span class="anchor"></span></li><li>Since REST is stateless, it is scalable: a set of REST requests can be spread across many servers. <span class="anchor"></span></li><li>Since URIs can be used in hyperlinks, and thus in hypertext documents, REST obviates the need for special service discovery mechanisms like UDDI. <span class="anchor"></span></li><li>Can reduce server load by supporting server side caching. <span class="anchor"></span></li><li>Less client side software is needed: one browser can access any REST service</li></ul> <h3 id="head-f9bf97eb845bbbe798bbf8f808d55c04828ad60b-2">References</h3> <ol><li><div class="citeulike_entry"><p><span class="author">Erl, Thomas</span>; <em><a href="http://www.citeulike.org/user/cmalek/article/350136">Service-Oriented Architecture : Concepts, Technology, and Design</a></em>, <span class="publisher">Prentice Hall PTR: None</span><span class="date"> (2005)</span>.</p></div> </li><li><p class="line891"><a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">Representational State Transfer</a> @ Wikipedia, June 6, 2007. </p></li><li><p class="line891"><a href="http://webservices.xml.com/pub/a/ws/2003/09/30/soa.html">What is service-oriented architecture</a> @ xml.com.</p></li></ol>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Summary of Sycara SELMAS 2002]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1881.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1881.html</guid>
            <pubDate>Wed, 06 Jun 2007 02:17:36 GMT</pubDate>
            <description><![CDATA[<div class="yui-u"><strong>Citation:</strong>&nbsp;</div><div class="yui-u"><div id="right"> <div class="citeulike_entry"><p><span class="author">Sycara, Katia</span>; <span class="author">Giampapa, Joseph</span>; <span class="author">Langley, Brent</span>; <span class="author">Paolucci, Massimo</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/79720">The RETSINA MAS, a Case Study</a>&quot;,<em> <span class="source">SELMAS 2002, LNCS 2603</span></em>, <span class="date"> (2003)</span><span class="pages"> pp. 232-250</span>.</p></div>  </div> </div>     <div class="yui-b"> <div id="submenu"> <h2 id="head-9b0c317271e48a72c1c669741291e297b6cf9a09">Summary</h2> <span class="anchor"></span><span class="anchor"></span><p class="line862">A <a href="http://en.wikipedia.org/wiki/Software_agent">software agent</a> is a piece of software that acts for a user or other program in a relationship of <a href="http://en.wikipedia.org/wiki/Agency_%28philosophy%29">agency</a> without needing to be invoked, and with the authority to decide how, when and whether to act [1]. A <a href="http://en.wikipedia.org/wiki/Multi-agent_system">multi-agent system</a> is &quot;a system composed of several agents, collectively capable of reaching goals that are difficult to achieve by an individual agent or monolithic system&quot; [2]. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">The authors describe considerations driving the design and architecture of large scale multi-agent systems, and implemented experimentally in the <a href="http://www.cs.cmu.edu/%7Esoftagents/retsina.html">RETSINA</a> multi-agent architecture developed by the <a href="http://www.cs.cmu.edu/%7Esoftagents/index.html">Software Agents Lab</a> at Carnegie Mellon University&#39;s Robotics Institute, of which Katia Sycara and Joseph Giampapa are current members. The goal and design of the RETSINA system is to aid humans by &quot;reducing information overload and providing context-relevant information&quot;, to improve the range of actions the end user can preform and activities they can engage, and to &quot;enhance the means [...] by which humans may perceive the world or by which humans may effect their decisions within it&quot; (p. 233). <span class="anchor"></span><span class="anchor"></span></p><p class="line862">The authors seek to differentiate agent based <a href="http://en.wikipedia.org/wiki/Software_engineering">software engineering</a> (ABSE) from <a href="http://en.wikipedia.org/wiki/Object-oriented">object-oriented software engineering</a> for multi-agent systems (OOSE for MAS).   ABSE focuses on <em>what</em> defines and motivates the MAS, while OOSE for MAS focuses on <em>how</em> to implement those motivations (p. 246). They discovered, in the development of the RETSINA MAS, that autonomous agents should possess certain qualities (they call them <em>first class objects</em>) that are outside the scope of OOSE for MAS:  <em>goal</em>, <em>role</em>, <em>context</em> and <em>attitude</em>. <span class="anchor"></span><span class="anchor"></span></p><ul><li><p class="line862">A <strong>goal</strong> provides the motivation for an agent to act, and constrains the activities of the agent in relation to other agents, and enables &quot;inferencing and predictability of individual agent behaviors well as of the emergent behavior of an entire MAS, itself&quot;. An agent can have more than one goal, and those goals may not be consistent with each other. This implies that the agent may need to decide which goal it should be pursuing at any given time (p. 236). <span class="anchor"></span></p></li><li><p class="line862">An agent has a <strong>role</strong> in that it plays a specific part in its relationship with other agents within a given context. An agent&#39;s role can change. Roles &quot;allow inferences to be made about how an agent will interact with a group of other agents, or about how it will achieve its goals&quot; (p. 237). <span class="anchor"></span></p></li><li><p class="line862">A <strong>context</strong> &quot;establishes the conditions by which an agent&#39;s roles, and sometimes goals, can be defined&quot; (p. 237). An agent must be able to discover its context, detect when the context has changed, and change its roles and goals accordingly. An agent can be in more than one context simultaneously. The context may involve the domain of action, the client on whose behalf the agent is acting, and other things. <span class="anchor"></span></p></li><li><p class="line862">An agent&#39;s <strong>attitude</strong> describes qualitatively how it will interact with its clients and other agents in its activity: positive or negative disposition to provide services; whether it is deceptive or forthright; whether it will allow other agents to verify its actions; and its degree of cooperation -- altruisitic, self-interested or antagonistic (p. 237). <span class="anchor"></span><span class="anchor"></span></p></li></ul><p class="line874">These qualities of agents allow them to make inferences about their priorities and how they should act as their environment changes. Another implication is that when an engineer designs a MAS, she &quot;is no longer specifying exactly how an agent will behave, but [is] establishing the [...] envelope of acceptable behaviors, by which agents may plan their actions, and by which observers may judge a MAS&#39; behaviors&quot; (p. 238) The authors developed three layers of RETSINA architecture: an agent architecture (which describes how agents behave individually); a functional architecture (which describes how agents work together in order to provide functionality to end users); and an infrastructure architecture which provides commonly needed services and capabilities.<span class="anchor"></span><span class="anchor"></span></p><h3 id="head-96e3470cc08daa7d56c6bc7e6ef9aea43b20dbf3">Architectures</h3> <span class="anchor"></span><p class="line862">Their agent architecture (see diagram at [3] for an overview) is based on a goal-driven <a href="http://en.wikipedia.org/wiki/Hierarchical_task_network">hierarchical task network (HTM)</a> <a href="http://www.lti.pcs.usp.br/mappel/nsf/node7.html">deliberative planning</a> system  and composed of: a communications thread which speaks <a href="http://en.wikipedia.org/wiki/KQML">KQML</a> to other agents; a planner which plans objectives and actions based its plan library and data from the communications thread; a scheduler which maintains a <a href="http://en.wikipedia.org/wiki/Priority_queue">priority queue</a> of actions; and an execution thread which actually performs the actions. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">In its functional architecture specification, RETSINA provides four kinds of agents: interface agents which present output and take input from the user; task agents which know how to perform tasks and act as coordinators; middle agents which provide infrastructural support to other agents (e.g. the <em>Matchmaker</em> and <em>Yellow Pages</em> agents); and information agents which interact with data sources (p. 240-241). <span class="anchor"></span><span class="anchor"></span></p><p class="line874">The authors also describe an infrastructure architecture which provide services such as: matchmaking services, name to location mapping, security, performance monitoring, management, communication support and semantic translation services (p. 241-242).<span class="anchor"></span><span class="anchor"></span></p><h2 id="head-770adfbd011ec6973e136de4758540db54f82123">Issues&nbsp;</h2><h3 id="head-e15c6b55cd3778b87ebbe5bd0f12abe97efce727">Multi-agent systems</h3> <span class="anchor"></span><span class="anchor"></span><p class="line874">The authors&#39; vision of multi-agent systems, which provide the assumptions on which RETSINA is built are: <span class="anchor"></span><span class="anchor"></span></p><ul><li>Agents operate in a networked environment which is unbounded, dynamic in nature in terms of network topology, agent capabilities and agent locations, and uncertain in that a successful action may not involve the same agents when repeated later (p. 233). <span class="anchor"></span></li><li>The system will provide service level redundancy to some degree so that should an agent fail, one or more agents will be found within the system which replace the its functionality (p. 233). <span class="anchor"></span></li><li>RETSINA agent behaviors can be ported the the real world in the form of robots and produce meaningful results (p. 233). <span class="anchor"></span></li><li>Multi-agent systems should be populated by &quot;heterogeneous agents that autonomously organize their own social structures&quot; (p. 233). <span class="anchor"></span></li><li>The system infrastructure should be domain independent (p. 233). <span class="anchor"></span></li><li>The system infrastructure should support agents and facilitate their interactions, but not impose an interaction scheme (p. 233). The social structure of the agent society should emerge out of the behavior of the agents, rather than being dictated by the infrastructure (p. 244). <span class="anchor"></span><span class="anchor"></span></li></ul><p class="line874">The operating and development context for a MAS implied by these assumptions is one of dramatic heterogeneity. A MAS must expect to be able to support various communication media; multiple coordination strategies (e.g. capability-based and team-oriented); varying physical, network and computational environments; many different services and functions; varied security models; semantic differences; as well as the more usual hardware, software, operating system and language differences (p. 235-236).<span class="anchor"></span><span class="anchor"></span></p><h3 id="head-01b7351232b92bcde31fa203cb0ca9fbe6d0e0c6">Multi-agent systems compared with Web Services</h3> <span class="anchor"></span><span class="anchor"></span><p class="line874">Multi-agent systems as described in this paper are highly reminiscent of web services (XML, SOAP, WSDL and UDDI) in many ways. Web services and multi-agent systems seem to be two ways of achieving the same goals. <span class="anchor"></span><span class="anchor"></span></p><ul><li>Actions are built of independent components which each perform a specific task and communcate over a network: individual services in terms of web services; agents in the multi-agent system. <span class="anchor"></span></li><li>The RETSINA MAS infrastructure architecture provides analogs for some of the building blocks of web services: the ACL infrastructure and KQML (p. 243) for XML and SOAP; the Name to Location Mapping and Capability to Agent Mapping for UDDI and WSDL respectively. <span class="anchor"></span><span class="anchor"></span></li></ul><p class="line874">The similarity ends there, though: <span class="anchor"></span><span class="anchor"></span></p><ul><li><p class="line862">Agents in a MAS act and organize to complete tasks without the direct aid of a designer; not so with web services, in which every service and action is fully designed by humans. MAS behavior is <a href="http://en.wikipedia.org/wiki/Emergent_behavior">emergent</a>, while web service behavior is <a href="http://en.wikipedia.org/wiki/Determinism">deterministic</a>. <span class="anchor"></span></p></li><li>Web services provide a static workflow, while a MAS provides a dynamic workflow. <span class="anchor"></span><span class="anchor"></span></li></ul><p class="line862">In one way, agents could be seen as smart web services. This is by no means a new idea: searching Google for &quot;multi-agent systems and web services&quot; produces 262,000 hits. For instance: </p><div class="citeulike_entry"><p><span class="author">Shafiq, Omair</span>; <span class="author">Ding, Ying</span>; <span class="author">Fensel, Dieter</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1367200">Bridging Multi Agent Systems and Web Services: towards interoperability between Software Agents and Semantic Web Services</a>&quot;, <em><span class="source">EDOC &#39;06: Proceedings of the 10th IEEE International Enterprise Distributed Object Computing Conference (EDOC&#39;06)</span></em>, <span class="date"> (2006)</span><span class="pages"> pp. 85-96</span>.</p></div><span class="anchor"></span><span class="anchor"></span><h2 id="head-0b27f5853c47b5b71c6cb8406ab711a98ad315fd">References</h2> <span class="anchor"></span><span class="anchor"></span><ol><li><p class="line891"><a href="http://en.wikipedia.org/wiki/Software_agent">http://en.wikipedia.org/wiki/Software_agent</a>, Jun 6, 2007. <span class="anchor"></span></p></li><li><p class="line891"><a href="http://en.wikipedia.org/wiki/Multi-agent_system">http://en.wikipedia.org/wiki/Multi-agent_system</a>, Jun 6, 2007. <span class="anchor"></span></p></li><li><p class="line891"><a href="http://www.cs.cmu.edu/%7Esoftagents/retsina_agent_arch.html">http://www.cs.cmu.edu/~softagents/retsina_agent_arch.html</a></p></li></ol>  </div> </div>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Web services nirvana?  Coming soon since 1999.]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1867.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1867.html</guid>
            <pubDate>Thu, 31 May 2007 05:20:15 GMT</pubDate>
            <description><![CDATA[<p class="line862">Chapters 1 and 2 of <a href="http://www.citeulike.org/user/cmalek/article/350136">&#39;&#39;Service-Oriented Architecture&#39;&#39;</a> by Thomas Erl [1] introduces the idea of enterprise level applications built using web services.  <a href="http://en.wikipedia.org/wiki/Web_services">Web services</a> are the basis of a strategy for doing <a href="http://en.wikipedia.org/wiki/Distributed_computing">distributed computing</a>. The commercial sector showed great interest in web services from the start. But unlike Erl, who limits his book to applying web services to integration initiatives <em>within</em> the enterprise (where judging from the remainder of the book, complexity can still be found in great quantities), the &quot;craze surrounding Web services revolv[ed] around this nirvana of inter-organizational distributed computing (supply chains being integrated across enterprises and across continents with applications built out of small parts that are supplied on demand by many distinct vendors)&quot; [3, p. 2]. By 2005, researchers were beginning to see that that world had not yet arrived, and was not likely to do so for years. &quot;Cross-company implementations [...] are still comparatively rare.&quot; [4] What happened? <span class="anchor"></span><span class="anchor"></span></p><p class="line862">Web services are encapsulated chunks of functionality (which may be small or large) which communicate over the web (using HTTP) using a standard messaging protocol (<a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a>).  SOAP, in turn, is built out of <a href="http://en.wikipedia.org/wiki/Xml">XML</a>.  Organizations can create new applications by integrating SOAP enabled web services, possibly using <a href="http://en.wikipedia.org/wiki/XSLT">XSLT</a> to translate data between different web services. For legacy applications that are not SOAP enabled, organizations can write web service wrappers which translate between legacy native data formats and SOAP/XML. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">A stack of languages, services and protocols --  XML, SOAP, <a href="http://en.wikipedia.org/wiki/WSDL">WSDL</a>, and <a href="http://en.wikipedia.org/wiki/UDDI">UDDI</a> -- were first associated and termed &quot;web services&quot; by Microsoft in 2000.  SOAP itself was developed &quot;by <a href="http://en.wikipedia.org/wiki/Dave_Winer">Dave Winer</a>, CEO of Userland Software, Microsoft engineers Bob Atkinson and Mohsen Al-Ghosein, and <a href="http://en.wikipedia.org/wiki/Don_Box">Don Box</a>, co-founder of DevelopMentor Incorporated&quot; in 1999 [2]. <span class="anchor"></span><span class="anchor"></span></p><p class="line874">Web services make integrating applications easier, but even with web services, integration is still far from simple. Both technical and organizational issues slowed the advance of web services within the enterprise, and all but stopped them from leaving it. Technically, there are very real issues of &quot;security, intellectual property exposure, and performance that follow from exposing web services outside the enterprise&quot; [3, p. 8]. There is also fundamentally that &quot;any two applications are virtually guaranteed to contain dissimilar data and execute dissimilar business processes. [...] Before any systems integration can take place, these dissimilarities need to be resolved. There is no magic bullet in the Web services toolkit that does this automatically or quickly.&quot; [4] Organizationally, service and data ownership, data definitions, access, acceptable use, business process definitions and more must be agreed upon among stakeholders within an enterprise -- this itself is difficult: &quot;This might not seem like the kind of work that leads to disputes, but it is.&quot; [4] For two enterprises to agree upon these things is even more difficult. <span class="anchor"></span><span class="anchor"></span></p><p class="line862">As the difficulties of integrating applications once again revealed themselves, firms looked inward, focusing on wrapping legacy applications to free its data, and enabling integration across functional silos, and generally realigning business processes to enable web services internally. We are beginning to see the first steps towards true realization of cross-organizational computing as companies like <a href="http://code.google.com/apis/">Google</a>, <a href="http://developer.yahoo.com/">Yahoo</a>, <a href="http://developer.ebay.com/common/api/">eBay</a> and services like <a href="http://del.icio.us/help/api/">del.icio.us</a>, <a href="http://www.flickr.com/services/api/">Flikr</a>, <a href="http://citeulike.livejournal.com/11953.html">CiteULike</a>, <a href="http://twitter.com/help/api">Twitter</a>, etc. publish APIs (albeit based on <a href="http://en.wikipedia.org/wiki/Representational_State_Transfer">REST</a> instead of SOAP) for their services that are being used in <a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29">mashups</a> (combining data from several web services to produce something more than the sum of its parts) across the Internet. Will firms follow suit with their own private data? <span class="anchor"></span><span class="anchor"></span></p><p class="line867"><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span><span class="anchor"></span></p>   <div class="yui-u"> <div id="right"> <p class="line867">&nbsp;</p><h3 id="head-f08bb5a3dd161cceccee12340149666c1a74360c-2">References</h3> <ol><li><div class="citeulike_entry"><p><span class="author">Erl, Thomas</span>; <em><a href="http://www.citeulike.org/user/cmalek/article/350136">Service-Oriented Architecture : Concepts, Technology, and Design</a></em>, <span class="publisher">Prentice Hall</span><span class="date"> (2005)</span>.</p></div> </li><li><div class="citeulike_entry"><p><span class="author">Levitt, Jason</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1345315">From EDI To XML And UDDI: A Brief History Of Web Services</a>&quot;, <em><span class="source">Information Week</span></em>, <span class="date">Oct 1, 2001</span>.</p></div> </li><li><div class="citeulike_entry"><p><span class="author">Arsanjani, Ali</span>; <span class="author">Tarr, Peri</span>; <span class="author">Hailpern, Brent</span>; <span class="author">Martin, Joanne</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1345366">Web Services: Promises and Compromises</a>&quot;, <em><span class="source">Queue</span></em>, <span class="issue"> Vol. 1, No. 1</span><span class="date"> (2003)</span><span class="pages"> pp. 48-58</span>.</p></div> </li><li><div class="citeulike_entry"><p><span class="author">Grant, Sara</span>; &quot;<a href="http://www.citeulike.org/user/cmalek/article/1345382">Confronting the Reality of Web Services</a>&quot;, <em><span class="source">Harvard Business School Working Knowledge</span></em>, <span class="date">May 16, 2005</span><span class="pages">.</span></p></div> </li></ol> </div> </div>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Response to Alan Wicker, Nov 8, 2006]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1130.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1130.html</guid>
            <pubDate>Wed, 15 Nov 2006 19:08:27 GMT</pubDate>
            <description><![CDATA[<p>To begin with, I found the narratives that Prof. Wicker collected to be very interesting, and had read many more than the three we were required to read.&nbsp; So hearing him talk about the background to the project was quite useful and helped me to establish a context into which to interpret the texts.&nbsp; I really appreciated hearing about how he initially got the idea for the Ghanian project: he was teaching Zimbabwean students, and learned how interesting worker&rsquo;s narratives were as a side effect of a class project.&nbsp; I found that to be a wonderful example of inductive reasoning and a Blink&nbsp; style &ldquo;aha&rdquo; moment.</p><p><br />The images of workers Alan showed also illuminated to me how the data for a qualitative research&nbsp; project can be really more than simply text.&nbsp; The images allowed me to place the the narratives I had read in context.<br /><br /><br /></p>]]></description>
        </item>
                
        <item>
            <title><![CDATA[Enthnographic study of TDNY 401O, a transdisciplinary course at CGU]]></title>
            <link>http://claremontconversation.org/tcourse/cmalek/weblog/1129.html</link>
            <guid isPermaLink="true">http://claremontconversation.org/tcourse/cmalek/weblog/1129.html</guid>
            <pubDate>Wed, 15 Nov 2006 18:46:23 GMT</pubDate>
            <description><![CDATA[<p><span style="font-weight: bold">Field notes</span><br /><br />I sit at my desk in my cubicle, eating the dinner that I have brought with me from home.&nbsp; I check the time -- 4:45pm.&nbsp; I need to be out the door at 5pm if I am to beat the really bad traffic to Claremont.&nbsp; One of my employees arrives and starts talking to me about some of the work he&rsquo;s doing on one of our projects.&nbsp; I eat.&nbsp; I listen. I try to figure out whether he needs me to make a decision, and more importantly whether this is something that is, in fact, related to that project.&nbsp; A collegue asks me for help with something he&rsquo;s working on.&nbsp; I leave for my car at 5:10pm.&nbsp; The traffic between Pasadena and Claremont is neither worse nor better than usual, and I park in front of the IS &amp; T building at 6:35pm.&nbsp;&nbsp; I talk briefly on the phone with my partner, Jessica, who I have not seen since early morning, and we compare our days.&nbsp;&nbsp; I feel tired.&nbsp; I go to Hagelbargers, order a coffee, and sit working for a little while longer on a presentation I plan to give aat work on Thursday or Friday.&nbsp; </p><p><br />I walk into class a few minutes before class starts, still thinking about how I want to do my work presentation.&nbsp; I say hello to Michelle on the way in to the center of the room, where I like to sit.&nbsp; She looks tired.&nbsp; It looks like the graduate student council was using the room before us again, because the tables are set up in concentric rings around the dais.&nbsp; Most students are sitting in the outside rings, near the walls or the back of the room.&nbsp; Some out of habit (they&rsquo;ve been sitting in the same places all semester); some out of need for electricity for their computers; some because they sit with their friends or groups; some for their own reasons.&nbsp; I sit in my usual spot.&nbsp; Justin is next to me, in his usual spot.&nbsp; Sam, Payam and Jung are sitting near me along the north wall; Sam and Payam look tired, too, especially Sam.&nbsp; Behind me are Kathryn and Seth, in their usual spots.&nbsp; Tom sits along the south wall of the room among the IS &amp; T people, close to the speaker but out of most of the students&#39; lines of sight. </p><p><br />Alan Wicker, a guest speaker, talks on his work in collecting worker&rsquo;s narratives in Ghana over the last several years.&nbsp; He speaks for a while about the narrative form in qualitative research and how he came to do his current work. I cannot see Alan because a slide projector on a pedestal blocks my view of him.&nbsp; His voice is quiet.&nbsp; It competes with the intermittent sound of&nbsp; fingernails on keyboards throughout the class, and does not always win out.&nbsp; I look around the room, and some typists are focused intently on their laptop screens.&nbsp; Jung is distracted by Tomomi&rsquo;s typing, and moves to another part of the room.&nbsp; I check my e-mail occasionally.&nbsp; After speaking for a while, Alan stops and asks for questions.&nbsp;&nbsp; Of the twenty-five people in class, few ask questions (I only remember two &mdash; those are our most outspoken students).&nbsp; Leo asks the first one.&nbsp; Tom asks a question of Allan (Tom and Alan have known each other for many years), perhaps to ensure that Alan gets enough questions to show that we are interested in what he had to say; perhaps in an attempt to draw the class back into the discussion.</p><p><br />The lights go off, and Alan shows us slides of the Ghanian workers he interviewed.&nbsp; He tells the job of each person pictured, and some of the people I see are those whose narratives I read, which I find very interesting.&nbsp; When the lights come back on, the class looks noticably more sleepy.&nbsp;&nbsp; Tom displays quotes from people&rsquo;s responses to the Ghanian worker narratives we had read on the projector, and elicits comments.&nbsp; Few volunteer to speak, and Tom has to ask students to speak, including me.&nbsp; I hold back partially because I speak frequently and want to give other people the floor, but really because I am dog tired.&nbsp; Nawar comments about how typical quantitative research in Africa shows only a very constrained set of data (AIDS, economics, etc), and how nice it is that Prof. Wicker&rsquo;s research shows a fuller picture of African life.&nbsp; I am glad for her comment, because she does not speak often and typically has interesting things to say.&nbsp;&nbsp; The lights go back off and we look at slides of Allan&rsquo;s trip to Cuba.&nbsp; Afterward, the class thanks Alan, and he leaves. </p><p>We take a short break.&nbsp; Sam (possibly Payam?) and Jung talk about applying for a music competition or grant of some kind.&nbsp; I browse the web.&nbsp; Jason and Nicole talk about their group presentation.&nbsp; Kevin tells me that the lights out portion of Alan&rsquo;s talk made him very drowsy, and Michelle echoes that.</p><p><br />Tom turns the class over to the project groups for progress presentations, and the lack of energy in the room is like the hundred foot giant that he struggles to keep from falling on us.&nbsp; None of the groups (except for group 6) has much progress to show from the previous week (especially my group, Group 2), and Tom ends up doing most of the talking and acts as presenter for groups 2, 3 and 4.&nbsp;&nbsp; Kathryn (Group 3) proposes a useful question, which Tom offers to Group 2 to use in the focus group.&nbsp; Tom proposes that we do a practice focus group with students before the real focus group, which we (Group 2) think is a good idea.&nbsp; Group 5/6 gives a presentation of software that animates still photographs to make them appear like they are talking, and everyone laughs.</p><p><br />We break into our groups.&nbsp; It is nearly 9:45pm.&nbsp; The rest of Group 2 joins me where I am sitting.&nbsp; Everyone but Jung looks exhausted.&nbsp; I present the three or four focus group questions I had brought with me, as well as Kathryn&rsquo;s question.&nbsp;&nbsp; Everyone has interesting things to say, perhaps because of motivating factor of the public airing of our lack of progress.&nbsp; We expand the number of questions up to eight, partly by brainstorming, partly using Appendix B of Csikszentmihali&rsquo;s <span style="font-style: italic">Creativity</span>, and try to think of probe questions for each one.&nbsp; I take notes, and say I will write them up on the class wiki over the weekend.&nbsp;&nbsp; The room is now loud with talking, and I can see that the other groups are quite animated, as well.</p><p><br />The class breaks up at 10:00pm, I go to my car and drive home.</p><p><br /><span style="font-weight: bold">Discussion: Class interaction in TDNY 401O</span><br /><br />I presented a narrative covering the time period from 5pm to 10pm,&nbsp; bracketing the class (which runs from 7pm to 10pm), and told it from my perspective (the perpective of one student) because the bracketing places the class in context of a student&rsquo;s day.&nbsp; I know that (in talking with other students over the previous weeks) many other students experience the class in a similar context: work, a long drive, then class until 10pm.&nbsp; I also tell it in the present tense to bring the reader vicariously into the context of the class and day.&nbsp; Three factors that influence participation and class culture are either directly evident in the field data, or can be inferred. They are (a) mental exhaustion inhibits participation (b) life context from outside class distracts students (c) the large classroom and class size inhibits people from speaking.</p><p><br /><em>Mental exhaustion </em>is palpable in the class, and has become a more prominent factor in lack of participation as the semester has progressed.&nbsp; Many people in the class on that day either looked tired, or expressed to me that they were tired.&nbsp; This mental fatigue directly impacts the class dynamic and culture.&nbsp; I suspect that a critical mass of tired people lowers the participation of the entire class.&nbsp; The fact that Tom never appears to be tired, and is always full of energy (even though he must surely have had a full day behind him), makes the listlessness of the class stand out even more.</p><p><br />Intrusions from the<em> life context</em> &mdash; the larger framework of the student&rsquo;s life into which the class fits &mdash; compete directly with classroom activities.&nbsp; I walked into class thinking of my work, and was only able to release it with difficulty.&nbsp; At least some of the typing that goes on in the class is probably not class related, because the typing and the direction of attention of typists does not always correlate with what is currently being discussed.&nbsp; </p><p><br />The <em>large classroom size </em>(room size) and <em>class size</em> (number of people) are clearly detrimental to comfortable interaction for a large portion of the class.&nbsp; While the full class is in session, Tom does most of the talking and has to prompt students into participating by calling on them directly.&nbsp; When the class is broken into smaller groups &mdash; such as during the project group discussion or the breaks &mdash; most people tend to participate readily.</p><p><br /><span style="font-weight: bold">Conclusion</span><br /><br />Maintaining a healthy and enthusiastic interaction in any large class (more than 12 students, say) in a lecture environment is not easy.&nbsp;&nbsp; I think that encouraging a culture of comfort, in which people feel comfort in expressing themselves, and a culture of investment, in which people are interested and feel responsiblity for the quality of class discussion is both important and difficult in this environment, with these students.&nbsp; Mental exhaustion and life context, which may be particular to the CGU graduate program due to the fact that (at least in comparison to my first graduate career) the students in our class are older and have more complex lives than younger students (who might not be employed or have families, for example),&nbsp; are unfortunate realities which must somehow be accomodated within class context and pedagogy.&nbsp; Further, although the field work I presented above does not reveal it explicitly, I believe that the fact that the students in this transdisciplinary course come from different schools presents an additional hurdle to overcome in supporting good interaction (perhaps due to predjudice toward other disciplines, or lack of common meaning structure or language between some disciplines).&nbsp; When I compare interaction in TDNY401O with that in CGU IS focused classes taught at Caltech for Caltech and JPL staff (students who share a common meaning structure, vocabulary and culture), I see that the interaction is very different: more effort is given to limiting discussion than promoting it. </p><p><br />These are not insurmountable problems, as other days within this same TDNY 401O class have gone much differently in terms of classroom interaction.&nbsp; But all these factors must be somehow accomodated and explicitly understood within the classrom context and pedagogy in order to mitigate them.<br /></p>]]></description>
        </item>
        
    </channel>
</rss>