-----------------------------------------------------------

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]

Reply via email to