When you design on-the-job-training opportunities for your employees to become proficient in .NET platform development, you should focus on three major areas:
- Web site rewrites with XML
- Internal implementations of SOAP
- Investigation into Application Integration opportunities with BizTalk.
Most existing intranet and Internet sites make assumptions about browsers and then send users down specific trees of code based on the detected browser. One of the best ways to learn about XML (and its associated technologies like schemas, style sheets, etc.) is to rewrite existing internal or external Web sites to allow different XML-generated views of a site based on the device accessing the site (HTML 3.2, DHTML, or WAP).
Using this approach, you can have a single-code tree that gets rendered using site information stored in XML format and rendered using an XSL style sheet designed to emit the proper code formatted for the device. The demand for WAP-enabled sites may be enough justification to put a team on the project to re-code the site using XML to add WAP support.
Simple Object Access Protocol
SOAP (or the Simple Object Access Protocol) is a submitted W3C specification coauthored by companies like Microsoft, IBM, Sun Microsystems, and UserLand. The idea behind SOAP is to allow applications on different operating systems to talk to each other at the object invocation level and to do so on port 80, allowing these communications to take place through corporate firewalls.
In order for Microsoft’s Web services vision to become a reality, protocols like SOAP will have to be adopted widely. Developing .NET services is an exercise in futility if the services can’t be called from objects on other, non-Microsoft systems and can’t be deployed securely. Unfortunately, a lot of the security issues surrounding SOAP deployment have yet to be resolved.
Until all of the security and authentication issues are settled, companies can begin using SOAP as an internal protocol to bridge Web systems in different departments or as a mechanism for Web and production systems to talk. If you have objects or systems that can be deployed using either DCOM or SOAP, then use SOAP in some of your on-the-job training projects.
Once you've been able to connect to your own systems via SOAP, then you can work with outside companies and allow them to access your systems as well.
The Microsoft BizTalk technology preview is one of the most compelling pieces of technology ever posted on the Web. Though most Microsoft marketing is focused on convincing companies that BizTalk is the heir apparent to the EDI throne, companies who focus on this message will miss one of the most compelling uses of the technology.
In fact, most companies can use the BizTalk technology out of the box for internal Enterprise Application Integration projects. Look around your company for projects that require your developers to pass data between two systems. Instead of writing data conversion code by hand, use BizTalk to define a common schema and then use the mapping editor and functoid features to accomplish the same conversion.
Using these kinds of projects to train your developers not only gives them experience with new technologies that they couldn’t get from reading or classroom training, but also allows you to get projects launched that would be difficult or impossible to tackle without access to newer technologies.
Sometimes it’s easier to learn from someone else
Reading allows your developers to learn at their own pace, and on-the-job training allows them to learn by doing in a familiar environment. Unfortunately, both of these methods tend to take more time than ILT.
There are times when the best way to get your staff up to speed quickly is by putting them in a room with a qualified instructor and quality courseware and letting them work through the more complex aspects of a technology with someone who has the experience to help them avoid the pitfalls.
Developers can typically learn basic VB and C++ skills on their own. But learning the nuances of developing multitier VB or C++ applications is difficult and time-consuming.
Microsoft’s MSDN Training team has produced some excellent courses—which are available now—for developing enterprise applications and writing COM+ applications in VB and C++.
Preparing for .NET systems starts with making sure your programmers know how to develop objects that can be called from other applications using COM and COM+ today in order to prepare for using XML as the transport in the future.
Part of moving from .COM to .NET involves learning how to develop programs that talk asynchronously as well as synchronously. In addition to learning the protocol (XML), your developers need to learn how to use the transport—Message Queuing. Microsoft provides Message Queuing (MSMQ) technology as part of Windows 2000 in both the Server and Advanced Server versions.
In addition to training from Microsoft, companies like Developmentor also provide advanced training in technologies like MSMQ. You should also provide advanced COM and COM+ internals courses for your developers.
Your developers could study and write code for years and never discover how not only COM and COM+ but also Windows 2000 work “under the covers.” But having this understanding allows your developers and architects to optimize production systems.
This knowledge and the techniques to apply it are only available from a few organizations that specialize in delivering it in ILT situations, typically boot-camp style training sessions. These vendors include Richard Hale Shaw's COM+ BootCamps, Developmentor’s Guerilla COM+ series, and Step Technology’s advanced COM+ training seminars.