<?xml version="1.0" encoding="UTF-8"?>
<course xmlns="urn:publicid:IDN+www.sims.berkeley.edu:schema:syllabusapp:syllabus:200404:en"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="urn:publicid:IDN+www.sims.berkeley.edu:schema:syllabusapp:syllabus:200404:en ../../xsd/syllabus_schema.xsd"
    
    xmlns:babl="urn:berkeley:sims:doc-eng:names:babl:CoreComponents:CommonComponentTypes:0.01" xmlns:bablc="urn:berkeley:sims:doc-eng:names:babl:Codes:0.01"
    >

<!--   
<course xmlns="urn:publicid:IDN+www.sims.berkeley.edu/schema:syllabusapp:syllabus:200404:en" xmlns:babl="urn:berkeley:sims:doc-eng:names:babl:CoreComponents:CommonComponentTypes:0.01" xmlns:bablc="urn:berkeley:sims:doc-eng:names:babl:Codes:0.01" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 

xsi:schemaLocation="urn:publicid:IDN+www.sims.berkeley.edu/schema:syllabusapp:syllabus:200404:en
./../xsd/syllabus_schema.xsd">
-->
<generalInformation>
    <title>Web Services: Concepts, Design and Implementation</title>
	<units>3</units>
        <website>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/ </website>
        <departmentListing>
		<name>Web Services: Concepts, Design and Implementation</name>
		<code>INFOSYS</code>
		<courseNumber>290</courseNumber>
		<courseNumberSuffix>3</courseNumberSuffix>
	</departmentListing>
	<schedule>
		<year>2005</year>
		<semester>F</semester>
		<startDate>2005-09-01</startDate>
		<endDate>2005-12-15</endDate>
	</schedule>
	<teachingTeam>
		<teacher>
			<typeCode>Lecturer</typeCode>
			<initials>AB</initials>
			<name>
			<givenName>Adam</givenName>
			<familyName>Blum</familyName>
			</name>
			<contact>
                                <email>ablum@good.com</email>
				<phone>
					<type>Mobile</type>
					<number>408-396-5490</number>
				</phone>
				<phone>
					<type>Office</type>
					<number>408-327-6230</number>

				</phone>
                                	
			</contact>
			<officeHours>
				<dayPattern>
					<dayTime>
						<dayOfWeek>Th</dayOfWeek>
						<timeSpan>
							<startTime>16:00:00</startTime>
							<endTime>17:00:00</endTime>
						</timeSpan>
					</dayTime>
				</dayPattern>
				<location>South Hall 314</location>
			</officeHours>
		</teacher>
	</teachingTeam>
		
	<gradingOptionCode>LG</gradingOptionCode>
        <description> 
        <p>Web services enable computer programs to communicate with each other across application, 
operating system, hardware and organizational boundaries via XML documents and open standard Internet protocols. 
This course covers the basic standards that enable web services: SOAP, WSDL, and UDDI. 
It describes proper design of web services and applications to use them within a service-oriented architecture. 
Programming techniques for consumption and implementation of web services are demonstrated. The roadmap and motivation of future 
web services standards is laid out. Over the course of the semester students will build a significant web service 
project and incrementally enhance it as new techniques and web service standards are learned. The course
will be graded on the basis of this project as well as midterm and final exams.</p>
	</description>
	<descriptionURL>http://www.sims.berkeley.edu/academics/courses/is290/WSCDI.php</descriptionURL>
	
	
</generalInformation>	
	<syllabus>
		<instructionFormatCode>LEC</instructionFormatCode>
		<dayPattern>
			<dayTime>
				<dayOfWeek>Th</dayOfWeek>
				<timeSpan>
					<startTime>17:00:00</startTime>
					<endTime>20:00:00</endTime>
				</timeSpan>
			</dayTime>
		</dayPattern>
		<location>202 South Hall</location>
		<classes>
			<class>
				<title>Introduction</title>
                                <number>1</number>
                                <lecturer>AB</lecturer>    
                                <description>
				<p>
				This discusses the overall roadmap of topics for the course.  Describes what web services are and what they are for.   Provides a brief introduction to SOAP and WSDL.  It also introduces the concept of the projects and their basic structure. 
				</p>
				</description>
				<holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 1 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/INFOSYS290-Section3-Lecture1-Fall2005.ppt</url>
                                </resource>
                                </resourceList>
			</class>
			
			<class>
				<title>SOAP and WSDL</title>
				<number>2</number>
                                <lecturer>AB</lecturer>
                                <description>
				<p>
				Detailed discussion of the SOAP and WSDL specifications.  Includes several examples of each.  Also demonstrates the Google and Amazon web services APIs and describes their WSDL definitions
				</p>
				</description>
                                <holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 2 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/INFOSYS290-Section3-Lecture2-Fall2005.ppt</url>
				</resource>
                                </resourceList>
			</class>
			
			<class>
				<title>Consuming Web Services</title>
				<number>3</number>
                                <lecturer>AB</lecturer>
                                <description>
				<p>
				This lecture covers how to consume web services from your web or desktop applications.
				It uses examples of consuming web services from MindReef SOAPScope, AboveAll Studio and Visual Studio .NET.
				</p>

				</description>
				<holiday>false</holiday>
				<resourceList>
					<resource>
						<title>Blogs Web Service</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/blogs</url>
					</resource>
					<resource>
						<title>Poker Advisor - Samples Web Services Client</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/PokerAdvisor</url>
					</resource>


                </resourceList>
			</class>
			
			<class>
				<title>Creating Web Services</title>
				<number>4</number>
                                <lecturer>AB</lecturer>
                                <description>
This lecture describes how to create web services.  Will focus on use of Microsoft Visual 
Studio .NET for this purpose.  
				</description>
				<holiday>false</holiday>			
				<resourceList>
                                <resource>
					<title>Lecture 4 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/INFOSYS290-Section3-Lecture4-Fall2005.ppt</url>
				</resource>

					<resource>
						<title>Poker Odds - Sample of Computational and HTML Scraping Services</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/PokerOdds</url>
					</resource>

					<resource>
						<title>Blogs - Sample of XML Wrapping Web Service</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/Blogs</url>
					</resource>


					<resource>
						<title>SportsBetLines - Sample of XML Wrapping Web Service using XSD Utility</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/SportsBetLines</url>
					</resource>
					
					<resource>
						<title>Email Validator - Sample of Asynch Web Services Client</title>
						<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/samples/EmailValidator</url>
					</resource>
				</resourceList>
			</class>
			
			<class>
				<title>Mobile Web Services</title>
				<number>5</number>
                                <lecturer>AB</lecturer>
                                <description>
					<p>
						Describes how to consume web services from mobile devicesusing existing toolsets
						from Microsoft and IBM.
					</p>
				</description>
				<holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 5 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/INFOSYS290-Section3-Lecture5-Fall2005.ppt</url>
				</resource>
                                </resourceList>
			</class>

			<class>
				<title>GoodAccess Web Services</title>
				<number>6</number>
                                <lecturer>AB</lecturer>
                                <description>
					<p>
					Describes Good Technology's GAWS product for synchronizing web service
					information to mobile devices.
					</p>
				</description>
				<holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 6 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f05/INFOSYS290-Section3-Lecture6-Fall2005.ppt</url>
				</resource>
                                </resourceList>
			</class>

			<class>
				<title>Midterm Exam</title>
				<number>7</number>
                                <lecturer>AB</lecturer>                                	
                                <description>	
					<p>
					Covers lectures 1 through 6: SOAP and WSDL, consuming web services, creating
					them with Visual Studio.NET, consuming them with .NET Compact Framework
					and IBM WebSphere Developer Studio.
					</p>
				</description>
                                <holiday>false</holiday>
                        </class>
				
			<class>
				<title>Register and Discover: Service Registries and UDDI</title>
				<number>8</number>
                                <lecturer>AB</lecturer>
                                <description><p>
				IBM, Microsoft, and Systinet UDDI Registries.  How do you search them for web
				services?  How do you register web services in them?
				</p></description>					
				<holiday>false</holiday>
			</class>

			<class>
				<title>Web Services Metadata Repositories and Composite App Development Tools</title>
				<number>9</number>
                                <lecturer>AB</lecturer>
                                <description>
					<p>
					Guest lecture from Roger Sippl, Chairmand of AboveAll Software
					</p>
				</description>
				<holiday>false</holiday>
			</class>
			
			<class>
				<title>Web Services Security</title>
				<number>10</number>
                                <lecturer>AB</lecturer>
                                <description><p>
                                This class shows how to create web services with:
				- confidentiality - encryption via WS-Security and XML Encryption 
				- integrity - signing via WS-Security and XML Signature
				- compliance with security policies - negotiated via WS-Policy and WS-SecurityPolicy
				We also describe methods of securing your web service assuming that you do not have the ability to use a WS-Security supporting SOAP implementation.
				</p></description>	
				<holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 10 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f04/INFOSYS290-Section3-Lecture9-Fall2005.ppt</url>
				</resource>
                                </resourceList>
                        </class>

			<class>
				<title>The Enterprise Web Services Service Bus:Routable, Reliable and Publish/Subscribe Web Services</title>
				<number>11</number>
                                <lecturer>AB</lecturer>
                                <description><p>Covers recently emerging standards: WS-Addressing, WS-ReliableMessaging and WS-Eventing
				and how they facilitate a new class of multiparty ad hoc enterprise integration.</p></description>	
				<holiday>false</holiday>
				<resourceList>
                                <resource>
					<title>Lecture 11 Slides</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f04/INFOSYS290-Section3-Lecture10-Fall2005.ppt</url>
				</resource>
                                <resource>
					<title>Sample Content-Based Routing Client Using WS-Eventing</title>
					<url>http://www.sims.berkeley.edu/academics/courses/is290-3/f04/Samples/CBRSubscribe</url>
				</resource>
                                </resourceList>
			</class>						
	
			<class>
				<title>SOA Best Practices</title>
                                <number>12</number>
                                <lecturer>AB</lecturer>
                                <description>
				<p>
				What is a service-oriented architecture, and what are best practices
				for deploying a service-oriented architecture around web services 
				across and organization
				</p>
				</description>	
				<holiday>false</holiday>
                        </class>						
						
			<class>
				<title>Thanksgiving</title>
				<number>13</number>
                                <lecturer>AB</lecturer>
                                <description><p>Use the time to work on your projects!
				</p></description>	
				<holiday>true</holiday>
			</class>						
					
			<class>
				<title>Presentations</title>
				<number>14</number>
                                <lecturer>AB</lecturer>
                                <description><p>Student presentations: 30 minutes per presentation</p></description>	
				<holiday>false</holiday>
			</class>

			<class>
				<title>Presentations</title>
				<number>15</number>
                                <lecturer>AB</lecturer>
                                <description>
					<p>Student presentations: 30 minutes per presentation</p>
				</description>
				<holiday>false</holiday>
			</class>
	
			<class>
			<title>Final Exam</title>
			<date>2005-12-15</date>
                        <lecturer>AB</lecturer>
                        <description><p>
			Covers UDDI, metadata repositories, WS-Security, WS-Eventing, WS-Addressing.
			</p></description>	
			<holiday>false</holiday>
		</class>							
		</classes>
		<assignments>
			<assignment>
				<title>Course Project</title>
				<status>Graded</status>
                                <assignedDate>2005-09-08</assignedDate>
				<dueDate>2004-12-01</dueDate>
				<description>
					<p>
					Build  a consuming client application which meets the following requirements.
					</p>
                                        <ul>
						<li>Must write a desktop application which consumes an informational backend web service.The desktop application can be written with AboveAll Studio or Visual Studio.NET.</li>
						<li>Write an application for mobile devices which consumes the same web service. This should be
						written with either Microsoft's .NET Compact Framework or Good Technology's GoodAccess
						Web Services</li>
						<li>Optionally write the backend web service itself in Visual Studio .NET</li>
					</ul> 
				</description>
			</assignment>
		</assignments>
	</syllabus>
		
	<updated>
		<updateDate>2005-09-03</updateDate>
		<updateBy>Adam Blum</updateBy>
	</updated>
</course>