Australia’s First MCT Summit is coming to town…

Hi you hard working (non-surfing, bbq-ing) MCTs who dedicate a good portion of your
life ensuring that your classes run smoothly; no one runs out of the room crying;
all labs are do-able with work arounds when needed; notes have your scribble all over
them; some courses (of late) you may teach saying one thing on the title, only to
have an entirely different course between the covers 🙂

…. all in all as we all know, people in the class never get to see the work that
goes on in the ‘background’ (unless you’re prepping for a first teach each night of
the course and your eyelids are being held open by matchsticks 🙂

So come along and meet the others in MCT land.
Meet:
(a) the dinosaurs… who start off every sentence with “I remember when…”
(b) those that are passionate about the MCT program and have big voices.. (Steve did
I say that? 🙂
(c) other MCTs teaching MODL courses.
(d) and even more MCTs doing ‘secret squirrel’ stuff in Europe that could be a ‘new
form of learning’….(Kyle – I swear that was the truth serum working from my current
interrogators)
(e) other MCTs who find beds on top of grand pianos in lobbies…….I’m not going
there 🙂

What ever your reasons – it’s Christmas (or a little after), it’s holidays and Santa’s
been and gone.

See you there,

Mick.

Microsoft have announced a MCT summit

(from the Horse’s mouth)

….. For the very first time, Australia  will be hosting its very own MCT Community
gathering to gain and share knowledge!

This exciting Event is from Jan 29 – 31st 2008.

For more information, https://www.local.microsoft.com.au/australia/events/register/home.aspx?levent=993019&linvitation

New Co-Worker Blog

One of my brightest co-workers decided to set up a blog this week, and I encourage you to check him out.

The first post for Victor Fehlberg’s Tech Postings (about Victor) goes over the process of setting up Terminal Services access to a shared BizTalk environment. Besides being a newly minted BizTalk guru, Victor’s our […]

MsgBoxViewer 9.20

MsgBoxViewer 9.20

I just released a new major build (9.20) displaying now in the SUMMARY REPORT a third column which contain, for most of the entries, a button to go directly the corresponding Detailed Report and sometimes a URL link to an MS KB or Tech Article avail on the Net. It should very fast so now to make the link between an entry in the Summary Report and the corresponding Detailed Report and access to some KB or tech articles can be done by one click.


 


 


Version 9.20


 


New features :


 


 


– The SUMMARY REPORT display now a third column containing, for most of the entries, a link to the corresponding Detailed Report


and sometimes a URL link to MS KB or Tech Article on Internet.


 


– Add now the Server Domain, Server Domain role, and Server Model in the Topology Report


 


– Raise a warning if a server found in the Topology is running in MS Virtual Machine


 


– Raise a warning if a “AutoClose” prop  is set for a Biztalk DB


 


– Collect all the registry values  under each Biztalk host Svc reg key  of all BTS and raise a yellow warning if some Throttling ones are found


 


 


Fixes:


 


No bugs reported since 9.10


 



 



JP

Generic custom configuration elements collection based on ConfigurationElementCollection

Simple trick thatsaves me some time and coding when writing custom configuration objects is to define generic collection for them. Let’s say Icreated several custom configuration elements derived from my CustomConfigElementBasewhich in turninheritsfrom System.Configuration.ConfigurationElement. Instead of defining collectionsfor each type (derived from ConfigurationElementCollection) I can simply define class:

public class GenericConfigElementCollection<T> : ConfigurationElementCollection

where T : CustomConfigElementBase, new()

{

public T this[int index]

{

get

{

return base.BaseGet(index) as T;

}

set

{

if (base.BaseGet(index) != null)

base.BaseRemoveAt(index);

base.BaseAdd(index, value);

}

}

protected override ConfigurationElement CreateNewElement()

{

returnnew T();

}

protected overrideobject GetElementKey(ConfigurationElement element)

{

return ((T)element).ElementKey;

}

}

Note, that base custom configuration element has property ElementKey to satisfy GetElementKey method implementation. If your custom elements have different keys, you canoverride this property.

Now, when we defineconfiguration section we just return generic collection of appropriate type:

public class MyCustomConfigSection : ConfigurationSection

{

[ConfigurationProperty(“myCustomSettings”, IsRequired = true)]

public GenericConfigElementCollection<MyCustomConfigElement> MyCustomSettings

{

get

{

return this[“myCustomSettings”]

as GenericConfigElementCollection<MyCustomConfigElement>;

}

}

}

And then just use it in anapplication code:

GenericConfigElementCollection<MyCustomConfigElement> configCollection = configSection.MyCustomSettings;

MyCustomConfigSection configSection = (MyCustomConfigSection)ConfigurationManager.GetSection(“mySection”);

BizTalk – Data-driven application host server (?)

Now the BizTalk is recognized and advertized mostly as an Integration server.
There is an architectural pattern for using BizTalk. It is used:
* as an integration engine, as an integration layer between applications (usuallyand as a data transformation layer);
* for the workflow applications (including the long-running workflows);
* as a host for Business Rule Engine applications.
I think the BizTalk Server is more then that.

Let’s think of BizTalk Server as a genericApplication Server.
Now we have the Windows Server OS as an Application Server. We have the IIS as the Application Server.
Windows can host the standalone applications and Windows service applications. We can start the applications by hand, schedule its start by the Scheduled Task utility, setup the special developed applications as the Windows Services.
IIS hosts the Web applications.

Let’s look at the BizTalk Server as a genericApplication Server. Application Server for our usual standalone applications.

The .NET applications can easily start from the Expression shape of the simple Orchestration. There is little redundancy in development.

What the advantages we have using the BizTalk as an Application Server for standalone applications?

Data-driven applications:
Somewhere in the system the data appears. It can be a new file copied in a folder, new file received by FTP, new data in SQL database, new messages in the message queue, new data in the SAP/R3 application, new e-mail. Those data triggered the BizTalk application.
Data is appeared and this starts the appropriate application.
Say a hundred new files appears in the folder (or a hundred rows appeared in the SQL database). And this starts a hundred appropriated applications to concurrently process this data.
This is not easy to implement this data-driven application managementin the usual standalone application.
BizTalk implements many transport and application adapters to transfer data to/from BizTalk applications, like File, FTP, MSMQ, SAP/R3, JD Edwards, etc.

Long-running applications; data correlations:
Say our application sent data to the remote partner then after several minutes or days the partner modified data and sent it back. How can we facilitate the application to wait this response? How can the application survive the server restarts? How can we facilitate the situation when thousand applications are waiting the responses and flooding the server memory? How can we correlate the response data with appropriate application?
BizTalk by design works all these cases.

Scaling up and scaling out:
Having BizTalk as an Application Server the developers can redesign the architecture from big, monolithic application to the small, isolated business-unit application set. BizTalk helps to transfer data between those small applications, helps to correlate data. This ways to high scalable application. Moreover the BizTalk has the intrinsic functionality to manage the high availability and high performance requirements by the special host mechanism.

Yes, it’s true that the data-driven applications get the well-organized data which definitely is the output from other applications. Is that mean we’ve returned to the point where we have gone because it means the old paradigm, the integration level where the BizTalk always was positioned?
The integration tool is the intermediate level tool. It is not the self-independent tool.
But seems the BizTalk is the self-independent Application Serverfor our usual standalone applications.

Any ideas?
Best regards,