{"id":53,"date":"2019-03-28T11:24:01","date_gmt":"2019-03-28T15:24:01","guid":{"rendered":"https:\/\/sites.bu.edu\/braude\/?page_id=53"},"modified":"2019-03-28T11:46:10","modified_gmt":"2019-03-28T15:46:10","slug":"met-cs-751-web-services","status":"publish","type":"page","link":"https:\/\/sites.bu.edu\/braude\/courses\/met-cs-751-web-services\/","title":{"rendered":"MET CS 751 Web Services"},"content":{"rendered":"<p>Last updated April 21, 2006: Last few changes often in red font<strong> <\/strong><\/p>\n<table border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Attendance and Distance Option<\/strong> changed if this is red<strong> <\/strong><\/td>\n<td width=\"333\" valign=\"top\"><strong>Learning Objectives <\/strong>changed if this is red<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Background of the Instructor <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong><span style=\"text-decoration: underline;\">Multiple Choice Quizzes <\/span><\/strong>changed if this is red<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Contacting Eric Braude <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Plagiarism Warning <\/strong>changed if this is red<strong> <\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Evaluation of Students; Projects <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Policies &#8211; Miscellaneous<\/strong> red if updated recently<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Explanation of Web Services <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Presentation Recommendations <\/strong>changed if this is red<strong> <\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Forums: Past and Present <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Project and Paper Structure<\/strong> changed if this is red<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong>Home Page of Eric Braude <\/strong>changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Topics and Class Dates <\/strong>changed if this is red<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\">Homework and Due Dates changed if this is red<\/td>\n<td width=\"333\" valign=\"top\"><strong>Teaching Assistants <\/strong>changed if this is red<\/td>\n<\/tr>\n<tr>\n<td width=\"349\" valign=\"top\"><strong> <\/strong><\/td>\n<td width=\"333\" valign=\"top\"><strong>Textbooks and Materials <\/strong>changed if this is red<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><strong> <\/strong><\/p>\n<h2>Explanation of Web Services<\/h2>\n<p><strong> <\/strong><\/p>\n<p>A <em>Web Service<\/em> is functionality provided automatically by a web site to other sites.\u00a0 As an illustration, suppose that you reserve a flight from Boston to Phoenix.\u00a0 A series of inter-website services would be initiated automatically, resulting in interaction with you via your browser like the following.<\/p>\n<p>Your Personal Web Service Supervisor has learned of your flight from Boston to Phoenix on May 10, 2002.\u00a0 Using the profile you placed on file at www.ParticipatingProfiles.com, the following options have been prepared for you by the sites listed below.\u00a0 These options have been inspected for price-competitiveness by http:\/\/intercheap.com\/, as you requested in your profile at <a href=\"http:\/\/www.bestprices.com\/\">www.BestPrices.com<\/a>.\u00a0 The features stated are quoted from the vendors\u2019 URLs as of March 29, 2002.\u00a0 Payment for the services you approve will be made according to the payment procedure that you placed on file at <a href=\"https:\/\/paymentmethods.com\/\">Payment Methods.<\/a><\/p>\n<p>To reserve a limousine from your house in Jamaica Plain to Logan, select one of the following options.<\/p>\n<p>\u2026\u2026. (names, times, prices, features) \u2026.<\/p>\n<p>To reserve a car rental from Phoenix International, select one of the following options.<\/p>\n<p>\u2026\u2026. (names, times, prices) \u2026.<\/p>\n<p>To reserve a hotel room in Phoenix, select one of the following options.<\/p>\n<p>\u2026\u2026. (names, times, prices) \u2026.<\/p>\n<p>\u2026 Automatic entries to travel expense report and personal calendar \u2026 Confirmation of payment, total, etc.<\/p>\n<p>Web Services are likely to be at the heart of the next generation of Web applications.<\/p>\n<hr size=\"2\" \/>\n<h2>Description from Catalog:<\/h2>\n<p>Architecture of Web Services; Review of Schemas; SOAP (Simple Object Access Protocol); WSDL (Web Services Description Language); UDDI (Universal Description, Discovery, and Integration); .NET Architecture; C# and Visual Studio.NET as Web Services platforms; Java API&#8217;s for XML Messaging; Java Web Service Environments.<\/p>\n<hr size=\"2\" \/>\n<h2>Prerequisites:<\/h2>\n<p>(1)\u00a0\u00a0 665 (Advanced Object-Oriented Programming) or 565 (Java Programming) or equivalent, and<\/p>\n<p>(2)\u00a0\u00a0 673 (Software Engineering) or 679 (Architecture and Design of Client-Server Systems) or equivalent experience<\/p>\n<hr size=\"2\" \/>\n<h2>Learning Objectives<\/h2>\n<ul>\n<li>\n<ul>\n<li>Understand the Internet technologies prerequisite for Web Services<\/li>\n<li>Understand the rationale for Web Services<\/li>\n<li>Understand the architecture of Web Services<\/li>\n<li>Be able to set up a Java or Microsoft Web Services environment for development and deployment<\/li>\n<li>Be able to deploy and index Web Services<\/li>\n<li>Be able to use Web Services in applications<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr size=\"2\" \/>\n<h2>Textbook and Materials<\/h2>\n<ul>\n<li>\n<ul>\n<li>Building Web Services with Java, Graham et al (SAMS 2005; second ed.) ISBN 0-672-32641-8\u00a0 This is a useful book.<\/li>\n<li>Software: A combination of :\n<ul>\n<li>Tomcat (open source)<\/li>\n<li>Axis (open source)<\/li>\n<li>IBM WSAD, (optional; CD available) http:\/\/www14.software.ibm.com\/webapp\/download\/<\/li>\n<li>Visual Studio.NET (optional)<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<hr size=\"2\" \/>\n<h2>Paper and Project Structure<\/h2>\n<p>Students will be required to research at least one contemporary Web Services topic.\u00a0 There will be a proposal phase, counting for \u00bc of the grade, and a final phase for the paper.\u00a0 The final submission should include a copy of the first phase, showing the instructor&#8217;s comments and indicating how they are addressed in the final submission.\u00a0\u00a0 You can look through past forums for what has been covered by others.<\/p>\n<p>Students will be required to give a presentation.\u00a0 Here are some guidelines for the presentation.<\/p>\n<p>1. Title<\/p>\n<p>2. The technology&#8217;s goals\u00a0 (Cite your example if possible)<\/p>\n<p>3. Summary of the technology<\/p>\n<p>4. Some of the technology&#8217;s details (Cite your example if possible)<\/p>\n<p>5. Example with selected details.(If you have not already covered it)<\/p>\n<p>6. Your conclusions and opinions<\/p>\n<hr size=\"2\" \/>\n<h2>Evaluation of Students<\/h2>\n<p>The semester grade will be computed from the paper and several short homework papers and quizzes will be required on a pass\/fail basis.\u00a0All submitted papers and projects must be posted to a class web site when submitted.\u00a0 Students may decline to post material, but only if they submit notice of this declination via e-mail to the instructor at the due date.<\/p>\n<p>Students may be given a number of <span style=\"text-decoration: underline;\">pass\/fail assignments<\/span> throughout the semester.\u00a0 A \u201cPass\u201d grade is required.\u00a0 A grade of A or A+ may be given for a pass\/fail homework when the student has performed exceptionally and gone well beyond the requirements of the problem.<\/p>\n<p>80% of the course grade will be based on the project\/paper; 20% on the homework.<\/p>\n<p><span style=\"text-decoration: underline;\">Late homework<\/span> will not be accepted unless there is a reason why it was <em>impossible<\/em> to perform the work in time given work and emergency conditions.\u00a0 In that case, the written reason should be attached to the homework, which will be graded on a pass\/fail basis if the impossibility is accepted by me.<\/p>\n<hr size=\"2\" \/>\n<h2>Presentation recommendations<\/h2>\n<p>The purpose of the end-of-semester presentation is to share with the class your impressions and lessons learned from carrying out the term project.\u00a0 The following format usually works well.<\/p>\n<p>2-4 mins: Describe the application (1-3 slides)<\/p>\n<p>2-4 mins: Describe the technology selected (1-3 slides)<\/p>\n<p>5-7 mins: Describe the design and outcome; use diagrams and screenshots where appropriate (1-3 slides)<\/p>\n<p>4-7 mins: Describe negative lessons learned (concentrate on your criteria and include scalability) (1-3 slides)<\/p>\n<p>4-7 mins: Describe positive lessons learned (concentrate on your criteria and include scalability) (1-3 slides)<\/p>\n<p>17-29 minutes total without questions.\u00a0 The actual time allowed will depend on the number of students presenting that evening since we will end class at 8:15.<\/p>\n<hr size=\"2\" \/>\n<h2>Warning concerning plagiarism<\/h2>\n<p>Please cite all references and uses of the work of other.\u00a0 All instances of plagiarism must be reported to the College for action.\u00a0 e-mail, see or call me if you have any doubts about the proper use of others\u2019 material. In any case, clearly acknowledge all sources in the context they are used, including code, of course.<\/p>\n<hr size=\"2\" \/>\n<h2>Topics and Class Dates<\/h2>\n<table border=\"1\" cellspacing=\"1\" cellpadding=\"0\" width=\"675\">\n<tbody>\n<tr>\n<td width=\"7%\"><strong><span style=\"text-decoration: underline;\">Class<\/span><\/strong><\/p>\n<p><strong><span style=\"text-decoration: underline;\">#<\/span><\/strong><\/td>\n<td width=\"6%\"><strong><span style=\"text-decoration: underline;\">Date<\/span><\/strong><\/td>\n<td width=\"67%\"><strong><span style=\"text-decoration: underline;\">Topic<\/span><\/strong><em> <\/em><\/td>\n<td width=\"6%\"><strong><span style=\"text-decoration: underline;\">Chap-ters<\/span><\/strong><strong> <\/strong><\/td>\n<td width=\"10%\"><strong><span style=\"text-decoration: underline;\">Project:<\/span><\/strong><\/p>\n<p>(See \u201chomework dates due\u201d section for final dates)<\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">1<\/td>\n<td width=\"6%\">Jan 19<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Introduction: Summary and Promise of Web Services; Installations<\/span><\/p>\n<p>Motivation, current state and future state of Web Services.<\/p>\n<p>Installation of Tomcat \/ Axis; .jws method.<\/td>\n<td width=\"6%\">Cpt 1<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">2<\/td>\n<td width=\"6%\">Jan 26<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Schemas, Web operation and HTTP for Web Services<\/span><\/td>\n<td width=\"6%\">Cpt 2<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">3<\/td>\n<td width=\"6%\">Feb 2<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">SOAP<\/span><\/td>\n<td width=\"6%\">Cpt 3<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">4<\/td>\n<td width=\"6%\">Feb 9<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">WSDL <\/span><\/p>\n<p>To make Web Services available, an interface definition language is defined, called Web Services Description Language.\u00a0 We\u2019ll investigate WSDL in detail.<\/td>\n<td width=\"6%\">Cpt 4<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">5<\/td>\n<td width=\"6%\">Feb 16<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Axis: <\/span>Axis will be our major tool for creating Web Services.<\/p>\n<p><span style=\"text-decoration: underline;\">Monitoring: <\/span>We describe tools for intercepting SOAP messages.<\/td>\n<td width=\"6%\">Cpt 5<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">6<\/td>\n<td width=\"6%\">Feb 23<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Security in Web Services<\/span><\/td>\n<td width=\"6%\">Cpt 9<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">7<\/td>\n<td width=\"6%\">March 2<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">WS Reliable Messaging<\/span><\/p>\n<p><span style=\"text-decoration: underline;\">WS Transactions<\/span><\/td>\n<td width=\"6%\">Cpt 10, 11<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">8<\/td>\n<td width=\"6%\">(note)<\/p>\n<p>March 23<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">UDDI<\/span><\/p>\n<p>Web Services are meant to be indexed and advertised so that an application can identify them at runtime.\u00a0 This can be performed through the Universal Description, Discovery and Integration facility.\u00a0 We will discuss the usage and deployment of UDDI.<\/td>\n<td width=\"6%\">Cpt 6<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">9<\/td>\n<td width=\"6%\">March 30<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Web services and J2EE<\/span><\/p>\n<p><span style=\"text-decoration: underline;\">Web Services and Stateful Resources<\/span><\/td>\n<td width=\"6%\">Cpt 7 &amp; 8<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">10<\/td>\n<td width=\"6%\">April 6<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">History of Internet Service Architectures<\/span><\/p>\n<p><span style=\"text-decoration: underline;\">Service-Oriented Architectures<\/span><\/td>\n<td width=\"6%\">Notes<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">11<\/td>\n<td width=\"6%\">April 13<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Choreography<\/span><\/td>\n<td width=\"6%\">Cpt 12<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">12<\/td>\n<td width=\"6%\">April 20<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Miscellaneous Topics <\/span><\/p>\n<p>Interoperability; Asynchronous services; attachments; application integration<\/td>\n<td width=\"6%\">Cpt 13<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">13<\/td>\n<td width=\"6%\">April 27<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">The Microsoft Approach<\/span><\/p>\n<p>How Microsoft integrates Web Services into their environments and strategies.<\/td>\n<td width=\"6%\">Notes<\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<tr>\n<td width=\"7%\">14<\/td>\n<td width=\"6%\">May 4<\/td>\n<td width=\"67%\"><span style=\"text-decoration: underline;\">Presentations<\/span><\/td>\n<td width=\"6%\"><\/td>\n<td width=\"10%\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Forums &#8212; past and present<\/h2>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Fall 2002<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Spring 2003:\u00a0 Group name :\u00a0 751Sp03 Group home page : http:\/\/groups.yahoo.com\/group\/751Sp03<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Summer 2003<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Fall 2003:<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Spring 2004<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Summer 2004 Group email: 751Su04@yahoogroups.com<\/p>\n<p>\u00a7\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Spring 2006 Group email: 751Sp06@yahoogroups.com<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Last updated April 21, 2006: Last few changes often in red font Attendance and Distance Option changed if this is red Learning Objectives changed if this is red Background of the Instructor changed if this is red Multiple Choice Quizzes changed if this is red Contacting Eric Braude changed if this is red Plagiarism Warning [&hellip;]<\/p>\n","protected":false},"author":2828,"featured_media":0,"parent":22,"menu_order":6,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"_links":{"self":[{"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/pages\/53"}],"collection":[{"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/users\/2828"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/comments?post=53"}],"version-history":[{"count":2,"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/pages\/53\/revisions"}],"predecessor-version":[{"id":94,"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/pages\/53\/revisions\/94"}],"up":[{"embeddable":true,"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/pages\/22"}],"wp:attachment":[{"href":"https:\/\/sites.bu.edu\/braude\/wp-json\/wp\/v2\/media?parent=53"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}