280 likes | 364 Views
SOA CoP LoB Demo. A Sample Service Oriented Architecture for Integrating Government Lines of Business. Cory Casanave, Data Access Technologies www.enterprisecomponent.com. SOA Demo Goals.
E N D
SOA CoP LoB Demo A Sample Service Oriented Architecture for Integrating Government Lines of Business Cory Casanave, Data Access Technologies www.enterprisecomponent.com
SOA Demo Goals • The SOA Community of Practice is sponsoring a demonstration of the business value and technical feasibility of SOA. This demonstration will encompass the full life-cycle of a multi-party SOA solution using multiple participants and multiple technologies collaborating via SOA standards in an architected community. • Goals; • To provide a concrete example of how the SOA approach provides business value to a community • To provide confidence that the approach and technologies are real – secure, reliable, performing and practical. • To validate that independently developed applications can interoperate using SOA standards
Sponsorship • Sponsored and supported as a U.S. Government effort • A Project of the Governance Subcommittee of the Architecture and Infrastructure Committee • Government Leaders: • Brand Niemann, EPA (Acting in a government wide role) • George Thomas, GSA • Joint participation by the IAC SOA committee
Participants • DynAccSys - Sonia Antypas (DynAccSys.com) • Metamatrix - Chuck Mosher (metamatrix.com) • Booz | Allen | Hamilton - Boyd Grant (bah.com) Sun Microsystems - John Landers (sun.com) • Data Access Technologies – Cory Casanave (enteprisecomponent.com)
SOA HR/Finance LoB Demo Government Lines of Business Working Together
Business Need • Following the lead of the Federal Transition Framework, The (Fictional) NEF program has outsourced both HR/Payroll and finance to other agencies lines of business. • Due to the time-critical nature of the program they need real-time updates of their program costs on a dashboard. • The program and the lines of business all use different technology stacks and have different systems. • NEF doesn’t want to get overly tied into these other agencies or their systems, as commercial providers may become less expensive in the future.
Approach • Using available standards the Lines of Business and NEF have agreed on a services oriented architecture to solve their problem. • They have agreed on each organizations roles and responsibilities and what services each will provide and use. • The service oriented architecture is defined generically, so that different systems, technologies, projects or lines of business can easily be substituted – this keeps both NES and the lines of business agile.
Business Intelligence (Reports/Dashboard) NEF Program (Manages Projects) Employee (Reports Time) HR/Payroll - LoB (Allocates Time to Projects) Finance LoB (Calculates Costs) Contractor (Produces Invoices) Federal LoB Community Agreed Roles and Responsibilities
Notional Sample Process • Project is established and registered with finance • Finance sends charge codes to HR & Contractor • Employee submits time sheet for project • HR submits time to finance • Contractor submits invoice to finance • Project gets cost info from finance • Project updates dashboard • Business intelligence asks for summary information about project
“Roll-Up” Protocol The protocols between discipline roles are composites that “roll up” the set of services provided by one discipline to another. The sub-protocols within a roll-up protocol model specific business services provided by a discipline.
Example XML Instance <ns0:ProjectRequest xmlns:ns0="http://gov.osera.bpel"> <ProjectRequest xmlns:q0="http://osera.org/bpel/establishProject"> <q0:Project_Description>description</q0:Project_Description> <q0:Project_Sponsor>sponsor</q0:Project_Sponsor> <q0:Project_Budget_Start_Date>2006-10-27</q0:Project_Budget_Start_Date> <q0:Project_Budget_End_Date>2006-10-27</q0:Project_Budget_End_Date> <q0:Project_Budget>100000</q0:Project_Budget> </ProjectRequest> <correlationId>123</correlationId> </ns0:ProjectRequest>
Model to Web Service • <?xml version="1.0" encoding="UTF-8"?> • <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:schema="http://osera.gov/xslt/functions/schema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http:/gov.osera.bpel" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:establishProjectCodes="http://osera.org/bpel/establishProjectCodes" xmlns:establishProject="http://osera.org/bpel/establishProject" xmlns:timeCostAssignment="http://osera.org/bpel/timeCostAssignment" xmlns:timesheet="http://osera.org/bpel/timesheet" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/" targetNamespace="http:/gov.osera.bpel"><wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLobEngine.edoc_1_0_b#148ab5c_10e56defc61_-706e</uuid> • </wsdl:documentation> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="TimeCostAssignment"> • <plt:role name="Finaince-LoB"> • <plt:portType name="tns:TimeCostAssignment.TimeCostAssignment"/> • </plt:role> • </plt:partnerLinkType> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="TimesheetEntry"> • <plt:role name="HR-Lob-Payroll"> • <plt:portType name="tns:TimesheetEntry.TimesheetEntry"/> • </plt:role> • </plt:partnerLinkType> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="EstablishProjectChargeCodes"> • <plt:role name="HR-Lob-Payroll"> • <plt:portType name="tns:EstablishProjectChargeCodes.EstablishProjectChargeCodes"/> • </plt:role> • </plt:partnerLinkType> • <bpel:property type="xsd:string" name="correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:timeCostAssignments" propertyName="tns:correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:timesheet" propertyName="tns:correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:EstablishProject" propertyName="tns:correlationId"/> • <wsdl:types> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLobEngine.edoc_1_0_b#148ab5c_10e56defc61_-706e</uuid> • </wsdl:documentation> • <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://osera.org/bpel/timeCostAssignment"> • <xsd:include schemaLocation="timeCostAssignment.xsd"/> • </xsd:schema> • <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"> • <xsd:include schemaLocation="addressing.xsd"/> • </xsd:schema> • </wsdl:types> • <wsdl:message name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7f06</uuid> • </wsdl:documentation> • <wsdl:part name="EstablishProject" type="establishProject:EstablishProjectType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7f06</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:message name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </wsdl:documentation> • <wsdl:part name="timesheet" type="timesheet:timesheetType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:message name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e9f</uuid> • </wsdl:documentation> • <wsdl:part name="timeCostAssignments" type="timeCostAssignment:timeCostAssignmentsType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e9f</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:portType name="TimeCostAssignment.TimeCostAssignment"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#2b7632_10e0a054e79_-7fe0p</uuid> • </wsdl:documentation> • <wsdl:operation name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f03</uuid> • </wsdl:documentation> • <wsdl:input message="tns:timeCostAssignments" name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f03</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • <wsdl:portType name="TimesheetEntry.TimesheetEntry"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#2b7632_10e0a054e79_-7fdcp</uuid> • </wsdl:documentation> • <wsdl:operation name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5efb</uuid> • </wsdl:documentation> • <wsdl:input message="tns:timesheet" name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5efb</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • <wsdl:portType name="EstablishProjectChargeCodes.EstablishProjectChargeCodes"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#19d36f1_10e0e93c502_-7fbep</uuid> • </wsdl:documentation> • <wsdl:operation name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f00</uuid> • </wsdl:documentation> • <wsdl:input message="tns:EstablishProject" name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f00</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • </wsdl:definitions>
Implementation Dashboard Client Data Access Executable Model Business Intelligence (Reports/Dashboard) Web Service NEF Program (Manages Projects) Web Service Sun MicroSystems Employee (Reports Time) Web Service HR/Payroll - LoB (Allocates Time to Projects) Web Service Finance LoB (Calculates Costs) Web Service Web Form Contractor (Produces Invoices) DynAccSys Data Access Executable Model MetaMatrix Data Services
Key Point This is not one application – it is 4 independently developed applications cooperating over an SOA
Standards Used • SOA Architecture • Model Driven Architecture • Enterprise Distributed Object Computing • Data • XBRL • Web Services Stack • XML, XML Schema, WSDL • Servers • J2EE, SQL
Web Services with XBRL • Map domain specific elements to standard XBRL-GL Taxonomy elements • Use SOAP Envelope to transmit XBRL Instance Documents • XBRL linkbases provide calculation and formula based validation
XBRL-GL Instance Document <gl-cor:entryDetail> <gl-cor:account> <gl-cor:accountMainID contextRef="now">B450098765</gl-cor:accountMainID> <gl-cor:accountSub> <gl-cor:accountSubDescription contextRef="now">Professional Fees</gl-cor:accountSubDescription> </gl-cor:accountSub> </gl-cor:account> <gl-cor:amount contextRef="now" decimals="2" unitRef="USD">5000.00</gl-cor:amount> <gl-cor:identifierReference> <gl-cor:identifierType contextRef="now">vendor</gl-cor:identifierType> </gl-cor:identifierReference> <gl-cor:documentType contextRef="now">voucher</gl-cor:documentType> <gl-cor:documentNumber contextRef="now">398670</gl-cor:documentNumber> <gl-cor:documentDate contextRef="now">2006-09-20T00:00:00-04:00</gl-cor:documentDate> <gl-cor:detailComment contextRef="now">SOA Demo Project hardware set up</gl-cor:detailComment> <gl-bus:jobInfo> <gl-usk:jobCode contextRef="now">SOA836D</gl-usk:jobCode> </gl-bus:jobInfo> </gl-cor:entryDetail>
Technologies Used • Sun – Seebeyond • Metamatrix Dimension • Data Access Technologies Component-X • jBoss application servers • MySQL • DynAccSys Xabra
Where is the demo going? • Ongoing resource to demonstrate SOA • Open spec, open process – new participants welcome • Show off your SOA technologies, as long as it relates to the demo scenario • Web resource – people will be able to run parts of the demo off the web • Demo will be a distributed web resource – hosted on multiple servers and technologies
MDA Generated Web Services Definition • <?xml version="1.0" encoding="UTF-8"?> • <wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:schema="http://osera.gov/xslt/functions/schema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:bpel="http://schemas.xmlsoap.org/ws/2004/03/business-process/" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http:/gov.osera.bpel" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:establishProjectCodes="http://osera.org/bpel/establishProjectCodes" xmlns:establishProject="http://osera.org/bpel/establishProject" xmlns:timeCostAssignment="http://osera.org/bpel/timeCostAssignment" xmlns:timesheet="http://osera.org/bpel/timesheet" xsi:schemaLocation="http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/wsdl/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/ http://schemas.xmlsoap.org/ws/2003/05/partner-link/" targetNamespace="http:/gov.osera.bpel"><wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLobEngine.edoc_1_0_b#148ab5c_10e56defc61_-706e</uuid> • </wsdl:documentation> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="TimeCostAssignment"> • <plt:role name="Finaince-LoB"> • <plt:portType name="tns:TimeCostAssignment.TimeCostAssignment"/> • </plt:role> • </plt:partnerLinkType> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="TimesheetEntry"> • <plt:role name="HR-Lob-Payroll"> • <plt:portType name="tns:TimesheetEntry.TimesheetEntry"/> • </plt:role> • </plt:partnerLinkType> • <plt:partnerLinkType xmlns="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" name="EstablishProjectChargeCodes"> • <plt:role name="HR-Lob-Payroll"> • <plt:portType name="tns:EstablishProjectChargeCodes.EstablishProjectChargeCodes"/> • </plt:role> • </plt:partnerLinkType> • <bpel:property type="xsd:string" name="correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:timeCostAssignments" propertyName="tns:correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:timesheet" propertyName="tns:correlationId"/> • <bpel:propertyAlias part="correlationId" messageType="tns:EstablishProject" propertyName="tns:correlationId"/> • <wsdl:types> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLobEngine.edoc_1_0_b#148ab5c_10e56defc61_-706e</uuid> • </wsdl:documentation> • <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://osera.org/bpel/timeCostAssignment"> • <xsd:include schemaLocation="timeCostAssignment.xsd"/> • </xsd:schema> • <xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://schemas.xmlsoap.org/ws/2004/08/addressing"> • <xsd:include schemaLocation="addressing.xsd"/> • </xsd:schema> • </wsdl:types> • <wsdl:message name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7f06</uuid> • </wsdl:documentation> • <wsdl:part name="EstablishProject" type="establishProject:EstablishProjectType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7f06</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:message name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </wsdl:documentation> • <wsdl:part name="timesheet" type="timesheet:timesheetType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:message name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e9f</uuid> • </wsdl:documentation> • <wsdl:part name="timeCostAssignments" type="timeCostAssignment:timeCostAssignmentsType"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e9f</uuid> • </wsdl:documentation> • </wsdl:part> • <wsdl:part type="xsd:string" name="correlationId"/> • </wsdl:message> • <wsdl:portType name="TimeCostAssignment.TimeCostAssignment"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#2b7632_10e0a054e79_-7fe0p</uuid> • </wsdl:documentation> • <wsdl:operation name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f03</uuid> • </wsdl:documentation> • <wsdl:input message="tns:timeCostAssignments" name="timeCostAssignments"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f03</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • <wsdl:portType name="TimesheetEntry.TimesheetEntry"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#2b7632_10e0a054e79_-7fdcp</uuid> • </wsdl:documentation> • <wsdl:operation name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5efb</uuid> • </wsdl:documentation> • <wsdl:input message="tns:timesheet" name="timesheet"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5efb</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • <wsdl:portType name="EstablishProjectChargeCodes.EstablishProjectChargeCodes"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#19d36f1_10e0e93c502_-7fbep</uuid> • </wsdl:documentation> • <wsdl:operation name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f00</uuid> • </wsdl:documentation> • <wsdl:input message="tns:EstablishProject" name="EstablishProject"> • <wsdl:documentation> • <uuid>platform:/resource/SoaLobModel/model/SoaLob.edoc_1_0_b#683e68_10e56984f16_-5f00</uuid> • </wsdl:documentation> • </wsdl:input> • </wsdl:operation> • </wsdl:portType> • </wsdl:definitions> We don’t expect you to actually have to read this!
Example Generated XML Document • <?xml version="1.0" encoding="UTF-8"?> • <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs2001i="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2001/XMLSchema" xmlns:establishProjectCodes="http://osera.org/bpel/establishProjectCodes" xmlns:establishProject="http://osera.org/bpel/establishProject" xmlns:timeCostAssignment="http://osera.org/bpel/timeCostAssignment" xmlns:timesheet="http://osera.org/bpel/timesheet" targetNamespace="http://osera.org/bpel/timesheet" elementFormDefault="qualified"><xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e5e</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:import schemaLocation="establishProjectCodes.xsd" namespace="http://osera.org/bpel/establishProjectCodes"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7edf</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:import> • <xsd:element type="timesheet:timesheetsType" name="timesheets"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e88</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:complexType name="timesheetsType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e88</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:sequence> • <xsd:element minOccurs="0" maxOccurs="unbounded" name="timesheet" type="timesheet:timesheetType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e89</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • </xsd:sequence> • </xsd:complexType> • <xsd:element type="timesheet:timesheetType" name="timesheet"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:complexType name="timesheetType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e79</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:sequence> • <xsd:element minOccurs="1" maxOccurs="1" name="employee_ID" type="timesheet:Employee_IDType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e85</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="Employee_Name" type="timesheet:Employee_NameType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e84</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="First_Date" type="timesheet:First_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fd0</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="Last_Date" type="timesheet:Last_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fce</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="unbounded" name="Time_Charge" type="timesheet:Time_ChargeType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcc</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • </xsd:sequence> • </xsd:complexType> • <xsd:element type="timesheet:TimesheetType" name="Timesheet"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e77</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="TimesheetType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e77</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:string"/> • </xsd:simpleType> • <xsd:element type="timesheet:Employee_IDType" name="Employee_ID"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e75</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Employee_IDType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e75</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:string"/> • </xsd:simpleType> • <xsd:element type="timesheet:Employee_NameType" name="Employee_Name"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e73</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Employee_NameType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e73</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:string"/> • </xsd:simpleType> • <xsd:element type="timesheet:DescriptionType" name="Description"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e69</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="DescriptionType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e69</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:string"/> • </xsd:simpleType> • <xsd:element type="timesheet:Time_startType" name="Time_start"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e67</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Time_startType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e67</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:time"/> • </xsd:simpleType> • <xsd:element type="timesheet:Time_EndType" name="Time_End"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e65</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Time_EndType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e65</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:time"/> • </xsd:simpleType> • <xsd:element type="timesheet:DurationType" name="Duration"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e63</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="DurationType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#-574544a2_10e4ad8fcd6_-7e63</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:float"/> • </xsd:simpleType> • <xsd:element type="timesheet:Time_ChargeType" name="Time_Charge"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe4</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:complexType name="Time_ChargeType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe4</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:sequence> • <xsd:element minOccurs="1" maxOccurs="1" name="Project_Charge_Number" type="establishProjectCodes:Project_Charge_NumberType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe3</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="Charge_Date" type="timesheet:Charge_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcb</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="Charge_Description" type="establishProjectCodes:Charge_DescriptionType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe2</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="0" maxOccurs="1" name="Time_start" type="timesheet:Time_startType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe1</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="0" maxOccurs="1" name="Time_End" type="timesheet:Time_EndType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fe0</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:element minOccurs="1" maxOccurs="1" name="Duration" type="timesheet:DurationType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fde</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • </xsd:sequence> • </xsd:complexType> • <xsd:element type="timesheet:ChargeStartType" name="ChargeStart"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fdd</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:complexType name="ChargeStartType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fdd</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:complexType> • <xsd:element type="timesheet:Charge_DateType" name="Charge_Date"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fca</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Charge_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fca</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:date"/> • </xsd:simpleType> • <xsd:element type="timesheet:First_DateType" name="First_Date"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcf</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="First_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcf</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:date"/> • </xsd:simpleType> • <xsd:element type="timesheet:Last_DateType" name="Last_Date"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcd</uuid> • </xsd:appinfo> • </xsd:annotation> • </xsd:element> • <xsd:simpleType name="Last_DateType"> • <xsd:annotation> • <xsd:appinfo> • <uuid>platform:/resource/SoaLobModel/model/SOA-Demo-Messages.edoc_1_0_b#683e68_10e56984f16_-7fcd</uuid> • </xsd:appinfo> • </xsd:annotation> • <xsd:restriction base="xsd:date"/> • </xsd:simpleType> • </xsd:schema>
Participation • SOA Community Wiki • Wiki Page: http://colab.cim3.net/cgi-bin/wiki.pl?SoaDemo • Mail list: soa-demo@colab.cim3.net (Participants should subscribe)
Follow on Presentations & Demonstrations • Monday 12pm-2pm – Table Top Show – live demo • Monday 3pm • Data Access Technologies – Cory Casanave (EnterpriseComponent.com) • Tuesday 1pm • Booz | Allen | Hamilton - Boyd Grant (bah.com) • DynAccSys - Sonia Antypas (DynAccSys.com) • Metamatrix - Chuck Mosher (metamatrix.com) • Sun Microsystems - John Landers (sun.com)