200 likes | 332 Views
Modifying the WCF Service Factory and Making It Work For You. Johan Danforth Eric Quist. Agenda. Introduction to Software Factories Web Services Software Factory Modifying the Service Factory Future of Software Factories. Software Factories.
E N D
Modifying the WCF Service Factory and Making It Work For You Johan Danforth Eric Quist
Agenda • Introduction to Software Factories • Web Services Software Factory • Modifying the Service Factory • Future of Software Factories
Software Factories • Helps developers build a specific kind of application or software • Helps developers follow certain architectural guidelines and design patterns • Generates repetitive boilerplate code and lets you concentrate on more difficult parts • May also help with the software development process
Software Factories • A typical Software Factory includes “stuff” like: • Architecture design guidance, patterns and walkthrough’s (written instructions) • Reference/sample implementations • Application blocks and reusable components • Guidance packages (automated wizards/tools) • Designers and DSLs
Guidance Packages inVisual Studio • Contains ”recipes” (wizards and tools) which are integrated with the IDE to help you produce and generate code • Introduced by the Microsoft Patterns & Practices team • Completely modifiable – you can make it work exactly the way you want it to through code changes and configuration
Web Services Software Factory • The WSSF (Service Factory) helps you build Enterprise Class Web Services • New solution templates • A number of wizards and guides • Guidance navigator • Integrated documentation • The WSSF ships with 4 guidance packages
WSSF Solution Structure • Initial solution structure may seem overly complex at first glance • Made to support enterprise class services • Can easily be customized by the architect to fit the size and needs of the project
Modifying a Software Factory • Simple – changing the solution structure and project responsibilities • Moderate – changing or adding code templates (scripts and XML) • Hard – changing or adding recipes and wizards. Understanding of GAX needed.
Sample Customizations We Did • Changed project types from Web Project to Web Application Project • Added references to external assemblies • Added custom web.config settings • Customized T4 templates (constructors, inheritance...) • Added custom recipes (Generate Data Contract from XSD...) • Customized existing recipes
Current Releases of Service Factory • December 2006 • WCF and ASMX Web Services in C# • July 2006 • ASMX Web Services in VB.NET • Version 3 Alpha • Latest bits available on Codeplex • Release 15 November
The Future of Software Factories • More work on models and designers (Domain Specific Language) • Better integration with existing tool-windows, editors, menu commands • Better integration with existing designers
The Future of Service Factory • Future versions of Service Factory will have better support for • modeling services and contracts • authoring and changing the Service Factory • management, deployment and integration with TFS, service aggregation (services calling services) • service agent generation
Software Factories Pros & Cons • Developers quickly up to speed • Things are (hopefully) built the same way and according to best practices • Higher production rate • Cargo Cult Coding? • Still waiting for good DSL and modeling support
Resources • Introduction to Software Factories (Greenfield & Short) • http://www.softwarefactories.com • Johan Danforth’s blog • http://weblogs.asp.net/jdanforth • Eric Quist’s blog • http://blog.irm.se/blogs/eric • Service Factory on Codeplex • http://www.codeplex.com/servicefactory
Resources • Service Factory on MSDN • http://msdn.microsoft.com/servicefactory • Introduction to Guidance Automation • http://msdn2.microsoft.com/practices/aa718948.aspx • Software Factory by Greenfield and Short • ISBN: 0-471-20284-3 • Clarius Software Factories Toolkit • http://softwarefactoriestoolkit.net