Thursday, May 21, 2009
The second webcasts looks at the Flowchart workflow designer, and how it can be used to implement a simple electronic flight check in scenario.
I found the Flowchart workflow designer very easy and intuitive to work with, the flight check in workflow was the first flowchart workflow I have built, and it only took about 15 minutes to get it running. The flowchart designer has improved considerably since the PDC release, there are still a few things that can be improved upon, but it’s looking like it will be a very nice tool to work with when Visual Studio 2010 is released.
Tuesday, May 19, 2009
I’ve just posted the first in a series of webcasts on
BloggersGuides.net looking at WCF and WF in Visual Studio 2010 and .NET 4.0 Beta one. Watch this space for more...
This webcast will look at the new Windows Workflow Foundation (WF) designer in Visual Studio 2010. It is the first in a series of webcasts looking at the WCF/WF functionality available in Visual Studio 2010 and .NET Framework 4.0.
The webcast will take an introductory tour of the new design experience, focussing on the Sequential workflow designer, and look at workflow variables and flow control activities. It will also introduce the concepts of XAML and take a quick look at the Flowchart workflow model.
Thursday, April 30, 2009
I never really “got” the idea of the need to build a textual DSL when I was first introduced to MGrammar. The light really switched on when I looked into developing a DSL that would make it easier for developers to create BAM activities.
The BAML language only took a couple of hours to develop. I had experimented with simple text based DSLs before, so this was my first “real” language.
I have recorded a
20 minute webcast showing how the language works, and how it can be used. If you want to experiment with it yourself, the language is here.
|
module BloggersGuides
{
language BAML
{
syntax Main = Activity;
syntax Activity =
ActivityToken
n:NameToken
'{'
p:List(PKI)
'}'
=> { activity { n,{ p }} };
syntax PKI = Milestone | Integer | Decimal | Text;
syntax Milestone = t:MilestoneToken n:NameToken ';'
=> { t, { n } };
syntax Integer = t:IntegerToken n:NameToken ';'
=> { t, { n } };
syntax Decimal = t:DecimalToken n:NameToken ';'
=> { t, { n } };
syntax Text = t:TextToken n:NameToken ';'
=> { t, { n } };
syntax List (Element) =
e:Element => { e } |
list:List(Element) e:Element => { valuesof(list), e };
token NameToken = ('A'..'Z' | 'a'..'z')+;
@{ Classification ["Keyword"] }
token ActivityToken = "activity";
@{ Classification ["Keyword"] }
token MilestoneToken = "milestone";
@{ Classification ["Keyword"] }
token IntegerToken = "integer";
@{ Classification ["Keyword"] }
token DecimalToken = "dec";
@{ Classification ["Keyword"] }
token TextToken = "text";
interleave Whitespace = ' ' | '\r' | '\n' | '\t';
}
}
|
This is the sample input file I used on the webcast.
|
activity ConferenceBooking
{
milestone BookingDate;
text ConferenceName;
text AttendeeCity;
text HotelName;
dec Price;
integer Days;
}
|
You will need the command line compiler to get the BAM activity created, if you contact me I can email it to you.
Regards,
Alan
Saturday, April 25, 2009
A week ago
Brian Loesgen was in town presenting at the Developer Summit here in Stockholm. Brian was kind enough to present at the
BizTalk User Group in Sweden, and we pulled our resources to deliver a joint session on BizTalk Server Development best practices and BizTalk Server Administration best practices. The presentation was recorded and should be available on Channel 9 shortly. The next evening we had a second BizTalk User Group meeting with Paolo Salvatory who is a BizTalk Ranger (I know they have changed that title but “BizTalk Ranger” sounds way too cool to deprecate).
On the Saturday we took the boat to Waxholm for lunch, together with
Julie Lerman and my wife. I hit upon the idea of adding some interviews to
BloggersGuides.net, so I popped into the local tech shop and got a video camera for 599 SEK ($75) and recorded a short interview with
Brian Loesgen.
Among the subjects we discussed are BizTalk ESB Guidance 2.0, Oslo, and also some tips for creating and maintaining a successful user group. The quality is not that great, mostly due to my camera skills, I hope to get better results when
Stephen Thomas is in town in June. (I have to admit the interview idea was heavily inspired by Richard Seroter’s excellent
Four Questions series on his blog.)
Friday, April 03, 2009
I’ve just uploaded the second in a series of webcasts looking at calling web services from an orchestration in BizTalk Server 2009 to
BloggersGuides.net. This one will start were the last webcast left off, and will look at improving the performance and lowering the latency of the orchestration. The correct use of parallel actions and atomic scope shape will be demonstrated, as these shapes are often misused by developers.
Thanks to the BizTalk people in Redmond I’ve got links to these webcasts added to the
BizTalk Server Developer Centre. Despite moving to the Connected Systems Developer MVP track, BizTalk is still my favourite server product.
The link to the webcast is
here.
I’ll be back after my vacation with another webcast, stay tuned...
Sunday, March 29, 2009
As BizTalk Server 2009 is due for release in the not too distant, I thought I’d take the time to run off a few more BizTalk webcasts. I’ll be starting with a basic one looking at calling WCF services from an orchestration using the Service Aggregator pattern, and then look at improving the design to make it more efficient and reliable in future webcasts.
This webcast will look at implementing a service aggregator pattern to call three WCF services that will book a hotel, flight and conference for attendees of a conference. The design will be kept simple for now, and will be optimized and made more reliable in future webcasts.
Level: 200
In this webcast you will see
· Adding WCF service references
· Creating a service aggregator
· Calling WCF services from an orchestration
· Creating WCF send ports
The link to the webcast is
here.
More BizTalk webcasts are
here.
Sunday, March 22, 2009
I’ve just added a new webcast to
BloggersGuides.net, on an introduction to MGrammar. I have another one in the pipeline which I hope to get out next week that will look at a more real-world example of using MGrammar.
I found MGrammar confusing at first, and thought it would be one of the least used features of Oslo, but after having had the time to experiment with it a bit and get to know how it works I can think of a lot of scenarios where I will consider using it. At the MVP summit I met up with a few of the other MVPs who were finding some very creative uses for MGrammar.
So it seems you don’t need to have a big gray beard to develop a programming language anymore...
If you want to try it at home, here is the input...
|
Alan will do a presentation on Dublin at 16:00.
Johan will do a demo of Oslo at 17:00.
Dag will do a lab on Azure at 18:00.
|
And here is the MGrammar...
|
module BloggersGuides.Demos
{
language DemoLang
{
syntax Main = Session+;
syntax Session =
name:NameToken "will do a"
type:SessionTypeToken
OnOfToken
subject:SubjectToken "at"
time:TimeToken "."
=> Session { name, subject, time, type };
token OnOfToken = "on" | "of";
token NameToken = ('A'..'Z' | 'a'..'z')+;
token SessionTypeToken = "presentation" | "demo" | "lab";
token SubjectToken = ('A'..'Z' | 'a'..'z' | '0'..'9')+;
token TimeToken = (
"00" | "01" | "02" | "03" | "04" | "05" | "06" | "07" | "08" | "09" |
"10" | "11" | "12" | "13" | "14" | "15" | "16" | "17" | "18" | "19" |
"20" | "21" | "22" | "23"
) ':' '0'..'5' '0'..'9';
interleave Whitespace = " " | "\r" | "\n";
}
}
|
Have fun!
Wednesday, January 07, 2009
The “Yull” vacation has finally given be the chance to start digging into Windows Azure. There’s quite a few services in the Azure platform and as I’ve already spent some time looking at “BizTalk Services” before it was re-branded to .net Services I thought I’d take a look at SQL Data Services (SDS).
SDS is very easy to work with if you know a bit about WCF and choose to take the SOAP road. I labbed a bit with the REST stuff and found it more complex than SOAP, so I stuck with the SOAP client.
Sunday, November 23, 2008
I’ve posted a couple of webcasts on Dublin on
BloggersGuides.net. They are based on the PDC08-CSD image, so things may well change going forward, but they provide a good intro as to how to get started exploring hosting services in Dublin, and the configuration options.
This webcast will look at hosting declarative services in the Dublin application server. The webcast will start with a basic WCF declarative service and demonstrate the procedure to host the service in Dublin.
The configuration features in Dublin will be explored, including tracking, persistence, and throttling. The tracking data will be queried using SQL Server Management Console, and the DublinER tool.
This webcast will take a quick tour of the DublinER tool, showing how it can be used to display query results from the Dublin tracking database.
The link to the DublinER tool on codeplex is
here.
Saturday, November 15, 2008
I’ve just published a couple of webcasts looking at Workflow Foundation 4.0.
This webcast takes a look at the new designer in WF 4.0 and features simple workflows to input and output data. It also focuses on the new DbUpdate activity and shows how it can be used to insert data to a SQL database (modelled in “M” of course :-) from a workflow.
This webcasts focuses on developing custom activities for WF 4.0 and also at using the new WPF activity designer. We start off with a simple WriteLine activity, then add a WPF based designer to allow properties to be edited in the workflow designer. We then look at creating a custom While activity that can be used to create a loop in a workflow (actually quite useful as there is no while activity in the toolbox at present.
Thursday, November 13, 2008
I’ve just published version 1.0 of “
Bloggers Guide to Connected Systems”, which will be covering the Oslo, WCF/WF 4.0, Dublin and Azure technologies. The first version has 24 articles from some of the leading developers working with Connected Systems technologies, including members of the “Oslo” team.
It is expected that the guide will grow on a monthly basis as more people start working and blogging about the new technologies, and should be a valuable resource for newbies and experienced developers.
The bloggers that are included so far are Darren Jefford, Charles Young, Andreas Erben, Imran Shafqat, Don Box, Brian Losegen, Aaron Skonnard, Jeff "Pinkey" Pinkston and Martin Fowler. If you have been blogging about Connected Systems technologies, and would like to be included, feel free to contact me via the blog. There’s no additional work involved form your part, and all contributions are acknowledged.
Monday, November 10, 2008
Switching MVP tracks form “BizTalk Server” to “Connected Systems” doesn’t mean I will stop working with BizTalk. BizTalk Server is still my favourite server product by a long way and, apart from the messaging and orchestration engines, my favourite feature is BAM.
Last week I taught the QuickLean “BizTalk Expert Series BAM” course for the first time in Stockholm, it was actually the first delivery ever. As usual, I have taken a couple of the demos that I run in the class, and recorded them as webcasts, they are available at
BloggersGuides.net. The
first one looks at creating a simple BAM activity, and viewing the data in real time using a WPF application. The
second one looks at creating a view and using the BAM portal to query the business data. The sample application I use is the “
Sequential Convoy Sushi Server”, which has its own webcast if you want to see how it works.
If you really want to get into BAM, you could attend the QuickLean “BizTalk Expert Series BAM” course. In the US, the best location is the
QuickLean training centre in Redmond. If you are in Europe, I will be delivering the course (in English) at
Informator in Stockholm in January. The course is also available for onsite deliveries.
Monday, November 03, 2008
“M” is a great language for modelling data. In many of the presentations and articles about “M” it has been mentioned that “M” is used for creating models that will be stored in the repository database. But it can also be used for modelling regular databases.
This webcast will show how “M” can be used to create tables in a standard relational database. Some of the basic language features will be used to create types and extents. The model will then be enhanced to add constraints and relationships.
The great thing about data modelling in “M” is that even though the Oslo SDK is still pre-alpha, there is nothing to stop you from using “M” as a modelling language for databases in your projects, as the SQL generated can be imported to SQL Server 2008. There is a slight chance that changes in the language specification may affect the “M” compilation, but this should be minimal.
The webcast is available here on BloggersGuides.net.
Thursday, October 30, 2008
I’ve just posted article reviewing the deliverables from the Microsoft Connected Systems Division (CSD) on
BloggersGuides.net. The article gives a high level overview of the technology present on the image, and provides tips on getting the image running efficiently.
The article is a complement to the webcast I posted on Tuesday.
Tuesday, October 28, 2008
13:00 Tuesday saw the public availability of the virtual image congaing the “Bits” from the Microsoft Connected Systems Division (CSD). The image contains early builds of a lot of the technology that is being demoed at the PDC, and also a set of hands-on labs that will walk you through some examples of using the technology.
The “Oslo PDC-08 CSD Bits Review” webcast will take a quick tour of what is available, and give you some tips on learning about all the new goodies.
The main components that are installed on the image are as follows:
· The preliminary release of software for code name “Oslo” and code name “Dublin”, including:
o “Oslo” repository
o “Oslo” SDK
o “Quadrant”
o “Dublin”
o XAML Import/Export tool
· Documentation for code name “Oslo” and code name “Dublin”, including:
o Help
o Hand-On Labs
· Windows Server® 2008 Standard operating system without Hyper-V, including:
o Internet Information Services (IIS) 7.0
o .NET Framework 3.0 (includes ASP.NET)
o Windows® Communication Foundation
o Windows Communication Foundation Test tools
o Windows Workflow Foundation
· Microsoft® Visual Studio® 2010 Workflow Designer
· Microsoft .NET Framework 4.0
· Microsoft SQL Server® 2008 Enterprise Evaluation
· Microsoft .NET Framework 3.5 with Service Pack 1 (SP1)
· Microsoft Visual Studio 2010 Team System
· Administration Pack for IIS 7.0 CTP2
You will need a pretty fast box to run the image as it’s based on Server 2008 and really needs about 4G ram, a fast proc, and fast drives to run efficiently. If you are stuck with an old laptop you can always download the ”Oslo” SDK and run that on bare metal. “M” and “Mg” will keep you busy for a few days.
I hope you guys can download it in less time that it took me to upload it.