190 likes | 412 Views
Manufacturing WPF Library Proposal. Mike Michaels Tools & Servers Group – DPE MSMUG Meeting – October 3, 2007. Overview / Agenda. Draft (initial) proposal to support the Microsoft manufacturing vertical GISV community Nothing firm or committed at this time
E N D
Manufacturing WPFLibrary Proposal Mike Michaels Tools & Servers Group – DPE MSMUG Meeting – October 3, 2007
Overview / Agenda • Draft (initial) proposal to support the Microsoft manufacturing vertical GISV community • Nothing firm or committed at this time • Soliciting input and comments on the general concept • The “PROBLEM” as expressed to Microsoft by GISV community • A “PROPOSED SOLUTION” • One “APPROACH TO IMPLEMENT” • MS perceived Conclusions & Benefits • Open discussion & Q&A MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
The Problem • Virtually all MS manufacturing partners have some need to “model” the plant floor and/or process prior to adding their own IP subsequent value in applications! • Typically done by graphically building the plant/process by combining components • Each end customer has unique modeling need (plant/process specific model) • Each individual “component” of a given model has associated meta data needed by the application(s)! • Pumps, valves, vessels, etc. have a combination of both static and dynamic data associated with various “states” and “status” MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
The Problem (client issues) • Office Issues compound development • Need to address the ubiquitous user preference of “Excel-type” interface • New UX demands for a “rich” WPF type presentation • Users want BOTH Office and WPF in the UX • Office & WPF are not well suited for a tightly integrated UX • Office 2007 does not “support” direct WPF integration (some workarounds exist, but poor UX and difficult development model) • Office 2007 does not allow Office components to be “hosted” in a WinForm such as Office 2003 (also a difficult development model) • Most GISV’s have a need to support both the “thick/smart” and “thin” client interfaces … hence, how do we support BOTH the WPF and the Silverlight WPF in a common architectural model? MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
The Problem (summary) • Each GISV is “re-inventing” the same wheel • Really GOOD WPF code addressing all of the above is an expensive resource commitment • The individual GISV resource commitment often is either delaying or completely avoiding WPF/Silverlight adoption into new UX interfaces • Often there are completely missing 3rd party WPF or other GUI components and/or they lag behind use in newly released MS technology • Dependency that would be nice to remove as a community • Each 3rd party library is unique and often difficult/impossible to mix/match • Each GISV typically needs to extend such components with custom attributes and code! Ability & degree of difficulty to implement highly variable. • No “sharing” of “best practice” such as the MS PAG MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Proposed Solution • Microsoft drive a manufacturing vertical WPF/Silverlight specific program to “seed” a number of “generic” WPF “plant” objects into a public library. • Each basic object would have all the “cool” WPF animated/color coded graphics • Pumps that are turning when on and stopped when off, etc. • Vats, vessels, condensers that show volume – color coded by temperature, high/low volume, maintenance status, etc. • Etc. • Each individual “component” would have a “basic” set of associated attributes … but, each object would allow for inheritance such that ISV’s can expand the attributes, events, code and behavior by adding only the extensible code. • Build into each base WPF component attributes/code for a robust SECURITY model … e.g. how/who can access & alter attributes and how much/little a given user can see by role. MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Proposed Solution (cont. - attributes) • Build into each component some concept of connectivity … e.g. what a specific component can/cannot be connected to directly and the characteristics of such a connection: • Input(s) … number & types • Output(s) … number & types • State (running, shutdown, locked out for maintenance, etc.) • Status (% of normal/max capacity, normal/overheated, etc.) • Event firing for each of the above • Other plant components that can be connected to input/output • Perhaps a collection of other library components identified by “class” or “type” • Integrate Office2007 architecture/strategy (e.g. link to an Office “add-in” on the ribbon bar??) MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Proposed Solution (cont. – data & UX) • Integrate other key Microsoft technology interfaces for complete meta data exchange: • Explore use of BDC (Business Data Catalog used extensively in Office, MOSS, BizTalk, Dynamics, etc. as well as 3rd party interfaces such as SAP, etc.) as underlying object communication paradigm • Determine role for WCF technology • Use of XML to both store and push attributes/events to Silverlight UX • Examine how best to provide a “common” WPF/Silverlight default look and feel for all objects in the library • Provide a DAL layer & underlying “persistent” store architecture • RDBMS and/or XML based approach • Build off of a SQL based storage for future SQL RS & MOSS/PerformancePoint reporting and BI KPI integration MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Proposed Solution (cont. – Design Tool) • Consider the critical issue of how ISV’s might provide a “design tool” for their own use and use by their customers • Tool would not be developed at this time … only considered in the overall architecture of the library objects • Looking for a “drag and drop” type of interface for quickly connecting library objects • Involve the MS VS product team to see if a VSIP or BI type of tool could be provided in a future release or added in a PAG type document MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Proposed Solution (cont. – Library Maintenance) • Put all of these objects into a “public” library where ISV’s can download the base WPF objects/code as well as have provision for them to upload newly developed components that they wish to contribute to the library. • Provide a cost effective and appropriate means for the long term maintenance & growth of the library • Cultivate and grow a user community using public alias, blogs, etc. • Determine best way to let the community “manage” the library itself directly • Steering committee • Library submittal review process and committee • Uploaded submittals meet some basic level of acceptance and adherence to library “standards” • Quarantine status of new uploads until user community can test and comment on final adoption to library • Submittals of completely new or “enhanced” or “expanded” existing objects MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Implementation Approach • Small internal MS manufacturing team research & access business justification of such an effort • Approach the MSMUG for “vetting” need potential value of such an effort – solicit initial input & feedback!! • Form a manufacturing community “steering committee” • Solicit GISV’s for initial WPF contributions based upon their internal WPF work efforts which can be used to help set specifications • Help MS understand initial component priority & need • Solicit community “shell” or “draft” partial components (e.g. “Here is what I would like to see”.) • Participate in architectural reviews and review initial library object releases. Review & contribute to PAG type documentation. (We don’t want this to be “just another Microsoft only effort”! We see this useful only if the manufacturing community is willing to contribute and take any initial efforts forward.) MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Implementation Approach (cont.) • Assemble an internal MS team to discuss and address “general” technical approach & general program specifications • Product Group Participation • WPF • Silverlight • Office / MOSS / OBA / BizTalk • VS • SQL / PerformancePoint • Identify potential MS 3rd Party SP to do initial object library coding • Identify and initiate BIF funding for SP • Provide other resources to facilitate the effort (e.g. host steering committee meetings in Redmond or elsewhere) MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Conclusions&Benefits MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Who Benefits … and HOW? • GISV Community • 80/20 Rule … 80% of the majority of your models will be constructed by basic “generic” components … e.g. pumps, valves, vessels, etc. • Even “generic” components can be extensible for GISV AND End User customization • Quick start “template” of graphics and code for creation of GISV “unique” or highly custom WPF/Silverlight components! • Tightly coupled and architecturally reviewed model which will address issues like underlying meta data handling, inter object communication, 3rd party application communication, and SECURITY. • Builds off of only the “key” and strategic Microsoft technologies … most of which are on our DPE rhythm list for FY08 and beyond. • Levers valuable development resources allowing quicker “time to RTM” and market • Richer end-user (CUSTOMER) experience!!!! MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Who Benefits … and HOW? • Microsoft • Directly focuses on MS FY08 & beyond technology adoption and technology Tools & Servers group DPE technology rhythms. • Showcases the “best practices” of strategic Microsoft technology • Object “templates” and code with integrated security, etc. easily ported to other verticals for greater re-use of initial investment • Directly addresses GISV manufacturing community concerns and needs from the past two years • Fosters a closer working partnership with the GISV manufacturing community … proactive collaborative approach!! • Provides for a much easier (and faster) technology adoption path to MS based reporting, BI, and other MS products such as Dynamics, BizTalk, MOSS, and Office by our GISV’s and customers MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Type of Components (eventually included in the library) • From MS Visio • Go to “Engineering Templates \ Piping & Instrumentation Design” and look at some of the valves and pipes and vessels, etc. • Note that we have looked at Visio and determined it is insufficient for meeting the needs of the overwhelming majority of our manufacturing/engineering ISV’s … as Visio is more for documentation than for “modeling” from an API type architecture. • Some typical examples on the next slide • Envision these plant components as rich WPF/Silverlight representations in your plant models … MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Component Examples VESSELS: PUMPS: MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Component Examples HEAT EXCHANGERS: INSTRUMENTS: MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal
Q&A Open Discussion Feedback & Comments Mike Michaels Mike.Michaels@Microsoft.com MSMUG - Oct 3, 2007 - Mike Michaels WPF Proposal