David Platt
Implementing ACORD XML on the Microsoft .NET Platform

 

Implementing ACORD XML Web Services on the Microsoft Platform using WCF

Detailed Syllabus

Day 1 Morning:   Architecture and implementation of basic web services using SOAP and WCF

Lecture: Need for programs (as opposed to humans) to interact over the Web. Need for universal Web-based function calls. Using XML and HTTP as a common denominator. Concept of a web service, a .NET object automatically made accessible to client through standard Web protocols. Generating a Web service project in WCF. Connection of incoming protocols to Web Service methods, examination of  SOAP. Advertising of the server-side contract in the WSDL file. Writing client applications in each supported protocol. Design considerations for web services – state management, chunkiness, security

Lab: Implement rudimentary web service

Day 1 Afternoon:  More complex infrastructural needs: Introduction to WS-* Standards and WCF

Lecture: Limitations of basic web service architecture.  Need for standards definition and prefabricated implementation of common infrastructural problems. Examination of WS-* architecture specs. Introduction to Microsoft WCF implementing WS-* standards.

Lab: Upgrade web service to implement WS-Security via WCF.

Day 2 Morning:  ACORD XML standards for web services, Introduction to Microsoft IVC ASF

Lecture: Examination of ACORD's AWSP profile, specifying the use of ACORD XML in web services. Comparison with other standards. Examination of contents of Microsoft IVC AFS. Building and running sample application.

Lab: Examine web service implementation from IVC ASF, compare to specifications in AWSP

Day 2 Afternoon:  Serialization Classes, Slimming the Schema

Lecture: Examination of classes that serialize to ACORD XML. Generation of classes from the ACORD XML schema. Removal of unneeded items from the schema using tools written by your instructor. Specification of namespaces. Handling of arrays. Performance considerations.  Handling of code lists. Pre-generation of serialization code.

Lab: Modify serialization classes and observe behavior.

Day 3 Morning:  Client-side proxy considerations when using ACORD XML web services

Lecture: Generation of client-side proxies for ACORD XML web services. Performance considerations, pre-generation of serialization code. When to instantiate a new proxy and when not to, when to cache the factory object and when not to. Usage of utility classes and extensions from IVC ASF, such as constructors. Additional client-side tools written by the instructor, such as the type code combo box.

Lab: Generate client-side proxy, observe behavior. Modify client-side proxy in an interesting way, observe behavior. 

Day 3 Afternoon:  Handling binary attachments in ACORD XML web services

Lecture: Need for binary attachments to ACORD XML messages. Examples from life and P&C. Soap with Attachments requirements of AWSP 1.0. Use of instructor's custom formatter for plugging into WCF. Sending messages with an attachment. Receiving messages with an attachment. Use of MTOM in WCF for customized scenarios. 

Lab:  Enhance functionality of client-server application using ACORD Messaging Service.

Day 4 Morning: Message security and integrity choices in ACORD XML  using WCF

Lecture: Review of security requirements and choices of AWSP.  Authentication of clients and servers. Data integrity and signatures. Non-repudiation and proof of receipt. Confidentiality of message, encryption techniques and keys. Applying these principles to both message body and to attachments.

Lab: Watch in awe as instructor quickly implements selected portions of this standard.

Day 4 Afternoon: Students' Requests

Lecture and Lab:  Exploration of topics chosen by the students based on their learning experiences during the class.

Day 5 (optional): Design Review of Students' Projects

Exploration of topics chosen by the students based on their learning experiences during the class.