Friday, September 12, 2003

KB Research - Polyphonic C#

Polyphonic C# extends the C# programming language with new asynchronous concurrency abstractions, based on the join calculus. The language presents a simple and powerful model of concurrency which is applicable both to multithreaded applications running on a single machine and to the orchestration of asynchronous, event-based applications communicating over a wide area network.

Friday, September 05, 2003

KB .NETDevelopment - MEIF

The Microsoft Enterprise Instrumentation framework provides unified management, eventing, and diagnostic tracing services for enterprise applications in a production environment. Enterprise Instrumentation enables developers to consistently instrument enterprise applications, which are increasingly decoupled and distributed, and enables support staff to use a "white-box" approach to monitoring and diagnosing application health, faults, or other internal conditions.

Every released software application, regardless of size or complexity, imposes a common requirement on the business that the application serves: it must be managed to ensure that the application provides its services correctly and reliably during its operational lifetime. Instrumentation plays a key role in application manageability, allowing a particular software or hardware element to publish — or be queried for — relevant information. Examples of common instrumentation mechanisms include performance counters, event logs, Windows 2000 Event Trace, and Windows Management Instrumentation (WMI). These mechanisms are often complementary, as in the example of querying an event log through a WMI provider.

Achieving consistent instrumentation across all enterprise applications is a difficult task. Today, enterprises that build applications on Microsoft platforms must instrument their applications by directly writing to event logs, performance counters, third-party instrumentation APIs, or their own common instrumentation wrappers and libraries. Implementing and supporting the various forms of instrumentation brings additional challenges, given the distributed nature of today's n-tier, Web-enabled applications.

Operations staff must be able to trace specific paths through the system, not just monitor individual events and event sources. Logically related events from physically different servers need to be correlated. The instrumentation itself must be suitable for a production application; instrumentation overhead must minimally effect application throughput. Finally, organizations must be able to leverage as many existing management tools and infrastructure as possible, to monitor and troubleshoot the enterprise applications they support.

Key features of this framework are:

* Unified programming model, suitable for both enterprise developers and system developers.
* Structured WMI event schema, which acts as a supportability contract between Development, Test, and Operations teams.
* Scriptable configuration layer, allowing operations teams to configure how events are raised or logged from an application.
* Support for raising or logging events through WMI, Windows Event Log, and Windows Event Tracing, a high-speed kernel-
mode tracing system.
* Correlation of events to business processes or operations with Request Tracing, which allows operations staff to
troubleshoot requests across a distributed application.

Monday, September 01, 2003

KB Definition - Adaptable Process Model (APM)

APM is to provide you with a software process that you can customize and adapt to local needs. The APM includes a detailed process flow implemented as a hypertext document, descriptions of many key software engineering tasks, document templates, and checklists. Acquiring the APM can significantly reduce the time required to develop your company's software process description.

Because the complete APM is provided in hypertext format within the RSP&A Web site, you and your colleagues review the complete generic process. If you think it has merit for your organization, the complete hypertext version can be acquired for an extremely reasonable price. You can then build a local website for Internet or intranet application, while at the same time making the adaptations necessary to mold the APM to local requirements. In most cases, large portions of the APM can be used as is, but in every case, you have the capability to modify terminology and process content to meet your needs and better reflect your local information technologies or engineering environment.