180 likes | 412 Views
Role of Software Factories in Framework development Customer Care Framework – A Case. Arul Prasad Software Dev Engineer | Microsoft arulp@microsoft.com. Dipankar B Consultant | Microsoft dipabh@microsoft.com. Venkat Sriraman Development Manager | Microsoft
E N D
Role of Software Factories in Framework development Customer Care Framework – A Case Arul Prasad Software Dev Engineer | Microsoft arulp@microsoft.com Dipankar B Consultant | Microsoft dipabh@microsoft.com Venkat Sriraman DevelopmentManager | Microsoft venkats@microsoft.com
Agenda • Software Factories – The Concept • Software Factories - Technologies • Guidance Automation Toolkit • Domain Specific Language Tool kit • Software Factories – A case study • Microsoft Customer Care Framework • DEMO
What is a Software Factory Software Factory Schema Software Factory Template Tools Assemble Adapt Software Product Development Automated Process Configure Contents Product facility for a product family
Software Factory – contd… • Software Factory Schema – Recipe of a product • Describes the artifacts • A Graph – Node=Viewpoints, Edge=Mapping • Provides a multi dimensional separation of concerns • Synchronizes artifacts • Software Factory Template • Collection of assets • Code and Metadata
Software Factory Technologies • The following technologiesof Patterns & Practices at Microsoft addresses the concept of Software Factories • Guidance Automation Tool kit • Domain Specific Language Tool kit • Built on top of Visual Studio
Guidance Automation Toolkit • Select Template • GAT calls Recipe • Template is “unfolded” • Actions are executed to further transform solution items • Software Factory • Highly customized instance of Visual Studio • Reusable code & patterns, available in Visual Studio • Guidance Automation • Tool to customize the Visual Studio • Build upon Visual Studio SDK • Visual Studio Templates • Visual Studio Object Model • Automate repetitive tasks and complex processes • Provide guidance right inside the Visual Studio solution • Generate code with the powerful T4 engine • Wizard collects arguments
GAT Components Guidance Package T4 Templates Action Wizard Recipe Framework VS Templates VS SDK Visual Studio
Guidance Life Cycle Guidance & Experience Author (Architect) Guidance & Experience Consumer (Developer) End User builds GuidancePackage generates Guidance Automation Toolkit (GAT) Source Code compiles to Guidance Automation eXtensions (GAX) Application Visual Studio 2005/2008
SF Technologies • Guidance Automation Tool kit • Domain Specific Language Tool kit
Domain Specific Language (DSL) • Create a specialized language that describes a user interface, a business process, a database, or the flow of information • Build designers, graphical language for modeling the system. • Generates code through the user defined models. • Domain Specific Development should have the following feature Artifact generation • Serialization • Integration with Visual Studio • Domain model • Notation
DSL Tools: What is GeneratedvsCustomization Custom code T4 Templates Coherence and validation rules Modeling Validation Diagram ShapesConnector Classes, Relationships, enums, validation of multiplicity, properties, Serialisation Directive processor Maps Modeling Diagram Modeling Text Templating
DSL Lifecycle DSL Author (uses DSL Tools to create DSLs) Enduser Developer creates Package VS 2008 DSL for Specific domain generates Framework VS 2005/2008 SDK Code, Doc config files DSL Tools builds Framework Final Product FW Visual Studio 2005/2008
DEMO - 1 How to create a DSL Package
Case study –Microsoft Customer Care Framework The Microsoft Customer Care Framework is a software solution that supports the rapid, flexible, and cost-effective development and deployment of customer care solutions. CCF aggregates the information agents need, automates the tasks and processes for faster resolution of customer requests and accelerates training and service resolution time resulting in profitable customer care operations CCF Product Team CCF Solution Developer Call center Agent creates • MCE Solution • Pacakge • Navigational WF • Packages • (Work unit, • Logical view • & Physical view) MCE Framework generates VS 2005/2008 SDK Code, Doc config files DSL Tools GAT builds CCF Framework CCF Framework Final Product CCF FW Visual Studio 2005/2008
DEMO - 2 How a Created DSL package is put in use in CCF
References • Software Factories http://msdn.microsoft.com/en-us/architecture/aa699360.aspx • Patterns & Practices at Microsoft http://msdn.microsoft.com/en-us/practices/default.aspx • GAT/DSL http://msdn.microsoft.com/en-us/vsts2008/aa718948.aspx http://msdn.microsoft.com/en-us/library/bb126235.aspx • Customer Care Framework www.microsoft.com/ccf
Feedback / QnA • Your Feedback is Important! Please take a few moments to fill out our online feedback form at: << Feedback URL – Ask your organizer for this in advance>> For detailed feedback, use the form at http://www.connectwithlife.co.in/vtd/helpdesk.aspx Or email us at vtd@microsoft.com • Use the Question Manager on LiveMeeting to ask your questions now!