Web Service Software Factory Introduction

Download Report

Transcript Web Service Software Factory Introduction

A Web Service Software
Factory Introduction
Don Smith
Product Manager
patterns & practices
Agenda
•
•
•
•
•
•
Software Factories
Guidance Packages
Helping Communication
Challenges Addressed
Demonstration
Resources
Software Factories
• Help you build a specific kind of application
(smart client, service, etc)
• Incorporate a variety of guidance content types
and form factors
– Readable/Printable: Architecture guidance,
patterns, instructions, etc.
– Executable: Reference implementations
– Reusable: Application blocks
– Actionable: Guidance packages
• Encourage a process
Guidance Packages
• Open
– Documentation describes manual and
automated tasks
– Result of the automation is exposed
• Configurable
– Key configuration settings can be
captured within Visual Studio
– Automated guidance is defined
using XML
• Extensible
– Guidance can be tailored to meet
specific requirements
• Verifiable
– Generated code can be verified for
compliance within a standard
•
Additive Guidance
• Industry
• Microsoft
• Patterns &
Practices
• Organization
• Solution
Modifying a Guidance Package
• Types of modifications
– Level 1: Common and not many resources
• Guided using a recipe
– Level 2: Less common and more resources
• Code template and XML changes
– Level 3: Least common and most resources
• Requires an understanding of the GAX framework
• Helpful exercise in hands-on lab
• Nature of modifications
– Horizontal factory
Vertical factory
Helping Communication
Architect
Developer
Two Collaboration Scenarios
• Architects modify the guidance packages
– Encode organization and solution-specific guidance
– Developers use recipes to complete solution
– Architects validate the solution
• Architects use recipes to baseline
– Encode organization and solution-specific guidance
– Developers complete solution from the baseline
– Architects validate the solution
Service Factory Contents
• Designing messages and
service interfaces
• Applying exception shielding
and handling
• Designing business entities in the
domain model
• Translating messages to and from
business entities
• Designing, building, and invoking the
data access layer
• Planning for the migration to WCF
The Service Factory In Action
A Scenario for how Boeing might use it
for Supply Chain Management
• Service Design
• Security Patterns
• Code Analysis Validation
Boeing Supply Chain Management
• MaterialMgmtService
• Parts for existing planes are in
the ERP system
• Parts for engineering planes
are all over the enterprise
• This service aggregates onhand levels across all systems
• VendorGatewayService
• All vendors have
implemented a specific
contract
• This service manages calls to
specific vendors
Pseudo Contracts for Boeing.ScmServices
MaterialMgmtService (ServiceContract)
• GetRequirementDemand (OperationContract)
• DemandRequest (MessageContract)
• StatementOfWorkId: int?
• PartNumber: string
• DemandResponse (MessageContract)
• PreferredVendor (DataContract: Vendor)
• VendorName: string
• PoInPlace: boolean?
• OnHandLevel: int?
• IncomingLevel: int?
• DemandNotEstablishedFault (FaultContract)
• ModuleManager: string
VendorGatewayService (ServiceContract)
• GetPartAvailability (OperationContract)
• PartAvailabilityRequest (MessageContract)
• PartNumber: string
• Quantity: int?
• BillingInformation (DataContract)
• ContractId: int?
• PONumber: int?
• PartAvailabilityResponse (MessageContract)
• LatestShipDate: DateTime?
• OrderTotal: decimal?
• ShippingTotal: decimal?
Feature Themes for Next Version
•
•
•
•
•
Security
Management
Service Agents
Service Lifecycle
Service Interaction
Release date: November 15th, 2007
• Modeling
• Authoring
Call to Action
• Download, install, and evaluate it
• Use the hands-on labs during evaluation
• Use the community site to:
– Ask questions
– Influence the next version
Releases and Details
•
•
December 2006 Release
• Build WCF & ASMX Web services in C#
July 2006 Release
• Build ASMX Web services in VB.NET
Resources
• Service Factory Release
– http://msdn.com/servicefactory
• Service Factory Community
– http://codeplex.com/servicefactory
• Don’s contact information
– E-mail: [email protected]
– Blog: http://blogs.msdn.com/donsmith
Frequently Asked Questions
• Re-entrancy?
• Round-tripping?
• Team development?
• Data Access Guidance Package?