----------------------------------------------------------- New Message on BDOTNET
----------------------------------------------------------- From: ambatisreedhar Message 1 in Discussion First Topic:<o:p></o:p> Visual Studio 2005 Team Edition for Database Professional <o:p></o:p> <o:p> </o:p> Reason behind Microsoft provided this plugin:<o:p></o:p> Usually in any project developers or db guys will work on sample data.<o:p></o:p> On when it comes to production db all the woes comes into picture.<o:p></o:p> And it is tedious at that point to change the sps and tables ,columns ,datatypes and the null values.<o:p></o:p> <o:p> </o:p> So db changes should be tracked like code in VSS (here it is VS Team Suite) using Team Foundation Server.<o:p></o:p> Creating tables and generating with some sample valid data. ( u can put some regular expression on the data, max and min values ,etc etc conditions)<o:p></o:p> All the views ,triggers ,etc etc can be done here.<o:p></o:p> It will help in Database refactoring <o:p></o:p> We can unit test cases also.<o:p></o:p> After doing all the changes we can checkin the code.<o:p></o:p> All the object (tables,triggers, etc) will be generated as sql files <o:p></o:p> Finally DB person will review and run that sql file in production server.<o:p></o:p> It will help in Build/Deploy <o:p></o:p> <o:p> </o:p> Summary:<o:p></o:p> Integrate db professional job into vss and tracking his changes to improve overall performance.<o:p></o:p> This is a plugin in visual studio.Afer installing this you will get 4 templates in vs devenv<o:p></o:p> Sqlserver 2000,Sqlserver 2000 wizard, Sqlserver 2005,Sqlserver 2005 wizard<o:p></o:p> Finally the output is a sql file which contains the script.<o:p></o:p> Note: It wont do any changes in the developer code.<o:p></o:p> <o:p> </o:p> Refer: http://msdn.microsoft.com/msdnmag/issues/07/02/TeamEdition/default.aspx<o:p></o:p> <o:p> </o:p> Second Topic:<o:p></o:p> Creating Simple Custom Activities in WF<o:p></o:p> <o:p> </o:p> Every application contains some sort of workflow.Earlier we are writing our custom logic to handle long running applications.Now Microsoft found this gap and came up with Workflows.<o:p></o:p> <o:p></o:p> First point to understand workflows work in Asynchronous manner.<o:p></o:p> And it is nonpremptive (ie nobody can interrupt. When it completes then only others can take control).<o:p></o:p> <o:p> </o:p> Y we want custom activities?<o:p></o:p> If we want domain specific like graph like workflows (In WWF they provided sequential and State machine).<o:p></o:p> <o:p> </o:p> WF follows episodic execution means they are long standing processes.Thats why we cant block the other resources.We have to persist the state in a persisting store ( it may be db,filesystem or ur custom one)<o:p></o:p> <o:p> </o:p> The entire transaction will be performed in one thread.<o:p></o:p> There is no multithreading here.<o:p></o:p> <o:p> </o:p> <o:p> </o:p> Life Cycle:<o:p></o:p> Method used<o:p></o:p> Initialize CreateWorkflow<o:p></o:p> Execute Start<o:p></o:p> Uninitialize<o:p></o:p> <o:p> </o:p> In Initialize state if you overrrided createworkflow method for a custom activity then it is called synchronously..<o:p></o:p> <o:p> </o:p> We can create a.Custom properties <o:p></o:p> 1.Dependent (getting value for an activity from property of another activity)<o:p></o:p> 2. Independent<o:p></o:p> b. Custom Events<o:p></o:p> c. Custom Methods<o:p></o:p> <o:p> </o:p> Use queueing services to understand the asynchronous behavior better.<o:p></o:p> <o:p> </o:p> Cancel State: It can done by parent activity and at that time child activity should be in execution state<o:p></o:p> Faulting state: Exception handling( unhandled errors) should be performed here.<o:p></o:p> <o:p> </o:p> Compensatable Activity:<o:p></o:p> When we have to think about compensation in workflows?<o:p></o:p> Parent is success in its work but down the line its subsequent child activities may fail.Then think for compensation.<o:p></o:p> Compensate method is there and it will be for only successful closed activities.<o:p></o:p> <o:p> </o:p> How to configure the UI of workflows?<o:p></o:p> We can customize the UI of workflow as per our requirements.<o:p></o:p> We can add an image etc etc.<o:p></o:p> Extend Activity Component Model <o:p></o:p> Note: Write separate classes for extending designer, validation, serialization, code generator (use codedom), toolbox items.<o:p></o:p> <o:p> </o:p> Summary:<o:p></o:p> <o:p> </o:p> First understand the workflow life cycle (they differ logically from asp.net life cycle) <o:p></o:p> U can customize the look & feel of workflow UIs through Activity Component Model<o:p></o:p> <o:p> </o:p> We can expect creating composite activity in the next session.<o:p></o:p> <o:p> </o:p> Speaker id: [EMAIL PROTECTED]<o:p></o:p> <o:p> </o:p> RoadMap: Microsoft will extend this workflow into biztalk.<o:p></o:p> Now if u want internet based applications go for biztalk and if it is intranet then WWF.<o:p></o:p> <o:p> </o:p> Preffered book is Essential Workflow foundation by Dharma Sukla. This is meant for advanced concepts in workflows.People should have basic knowledge in the WWF. Final note to the audience: Dont miss the next sessions.They are very very useful. Thanks Sreedhar Ambati ----------------------------------------------------------- To stop getting this e-mail, or change how often it arrives, go to your E-mail Settings. http://groups.msn.com/bdotnet/_emailsettings.msnw Need help? If you've forgotten your password, please go to Passport Member Services. http://groups.msn.com/_passportredir.msnw?ppmprop=help For other questions or feedback, go to our Contact Us page. http://groups.msn.com/contact If you do not want to receive future e-mail from this MSN group, or if you received this message by mistake, please click the "Remove" link below. On the pre-addressed e-mail message that opens, simply click "Send". Your e-mail address will be deleted from this group's mailing list. mailto:[EMAIL PROTECTED]
