Saturday, August 31, 2002
Beginnings of a Flexible .NET Architecture: A Simplified Config Service
Every application needs to read configuration information at run time. This need is well recognized under .NET, which provides a unified XML-based configuration file. For ASP.NET, this file is called web.config. Your application will be able to read the contents of this file at run time. .NET provides a series of calls making this process fairly simple; nevertheless you will need to write some C# code to accomplish this. My proposed solution simplifies this process further, and provides a layer of abstraction largely independent of the XML format of your file(s).#
Friday, August 30, 2002
The Mozilla SOAP API
Thursday, August 29, 2002
XML Web Services: Means to an End
Box said XML Web services are a means to an end. "We have to get the plumbing sorted out," he said. "We have a couple more years of plumbing work, but after that we move on to applications," he said. Box said the "protocol work is starting to wind down, the infrastructure is catching up with protocols and it's time to start thinking about applications."
I just thought that was pretty amusing. #
An Introduction to Object Prevalence
Persisting state and data has always been a problem with object-oriented software. Over the years, developers have stored object data in many ways, including relational databases, flat files,and XML. None of these approaches really managed to keep the software purely object-oriented. The Prevayler team is changing this with the object prevalence concept. This article introduces object prevalence.#
Struts 1.1: Should I Upgrade?
Built on the success of Struts 1.0, Struts 1.1 beta was released in March this year and showcased at JavaOne 2002 and the latest Struts 1.1 beta-2 was released just two weeks ago. The immediate question existing Struts users or evaluators will have is "Should I now consider to migrate my existing applications to Struts 1.1 and start to develop my new project on Struts 1.1?"#
Object Component Desktop
The Object Component Desktop (OCD) provides a platform and desktop environment for network enabled applications to be downloaded and run on client machines on the fly. OCD uses the Java Network Launching Protocol (JNLP) to facilitate application launching in the environment and provides a flexible UI framework for interacting with the OCD Desktop.#
Replace those Shared Drives with Space Drives
Space drives provide an alternative or complementary technology to shares. They reflect the flow of information within your departments. Simply stated, a space drive is an index to content on the network, wherever it resides. It follows the natural flow of information from user to user; however, it does not attempt to force location or permanent ownership of content on a single entity. Space drives can go far beyond simply knowing where information is. They can be used to generate events and proactively alert you to changes in information or critical moments in the life cycle of a project or initiative. They are more "active" than simple shares. They create the foundation for building a collaborative workspace.#
Transporting Binary Data in SOAP
XML doesn't handle embedded binary data very well. Naive developers first try to embed the data directly into their document, reasoning that since Unicode uses all possible byte values, they'll be able to do this. They realize their mistake as soon as their embedded content has a byte with a special value like 0x3C (less than) or perhaps 0x26 (ampersand). The clever naïf might try to fix this by wrapping their content in a CDATA construct, but that only makes the problem less likely, rather than removing it. Suppose the content is a SAX library -- it's quite possible that the CDATA terminator string, "</XMLCDATA>", will show up.#
Wednesday, August 28, 2002
Advanced Jython Embedding
>I need to use embedded Jython for markup language template#
Automation Samples for Visual Studio .NET
Microsoft has invested heavily in Visual Studio .NET extensibility. This is an important part of Visual Studio .NET because it lets customers easily tailor the tool to their personal working style and enables them to accommodate team practices. You can simply capture several steps in a regular process (for example, for check-ins, creating new projects or forms, or updating code) and make that process available as a single command to invoke. Independent software vendors (ISVs) can implement entirely new features (including groupware, profiling tools, work flow, or life-cycle tools) that fit into Visual Studio .NET as seamlessly as if they were built into the shipping Visual Studio .NET product.#
Tuesday, August 27, 2002
How to write good Javadoc
The Java language takes an integrated approach to API documentation through the Javadoc comment convention. The Javadoc tool can help generate pretty API documentation, but the vast majority of Java API documentation out there is simply awful. Because it is part of the source code, the responsibility for the documentation of APIs falls squarely on the engineer. In this article, Brian rants about the current state of Java documentation practices and offers some guidelines on how to write more useful Javadoc.#
Monday, August 26, 2002
XSLT Processing in .NET
This article is meant to help XML developers understand the different ways XSLT transformations can be performed using the .NET framework. It alsos describe how to use various input sources for an XSLT transformation. In .NET, the System.Xml.Xsl.XslTransform class is used for transforming XML data using an XSLT stylesheet. System.Xml.Xsl.XslTransform supports the XSLT 1.0 syntax, using the http://www.w3.org/1999/XSL/Transform namespace.#
The Strange Pleasures of J2ME
Armed with a brand-new Palm m125 and a copy of Kim Topley's excellent J2ME in a Nutshell, I set out to build a very simple SVG viewer and an interface for collecting information in the forest. I'm not nearly there yet, but I'm surprised to find myself enjoying what sounded like a difficult environment.#
Top Ten Tips to Using XPath and XPointer
XPath and XPointer allow XML developers and document authors to find and manipulate specific needles of content in an XML document's haystack. From mindful use of predicates, to processor efficiency, to exploring both the standards themselves and extensions to them, this article offers ten tips -- techniques and gotchas -- to bear in mind as you use XPath and XPointer in your own work.#
Sunday, August 25, 2002
How to NNTP in C#
This is the third in a series of articles on Internet programming with Microsoft's new C# programming language. In the first two articles, I wrote two simple TCP/IP classes for SMTP and POP3 clients. In this article, I'm going to write a simple NNTP class.
How to SMTP in C#
The first killer applications on the Internet were email and netnews. Email on the Internet was developed using two simple Internet protocols, SMTP and POP3. The first two articles in this series, I'll present to you two classes for implementing SMTP and POP3 clients. In the third article in this series, I'll present to you one class for implementing a NNTP client.
How to POP3 in C#
This is the second in a series of articles on Internet programming with Microsoft's new C# programming language. In the first article, I wrote a simple SMTP class. In this article, I'm going to write a simple POP3 class. The SMTP class that I wrote was not very useful, except maybe as an exercise, as there already exists a similar SMTP class in the Web.Mail namespace of the dot-NET framework called SmtpMail. Our POP3 class in this article will be a little more useful as it doesn't already exist in the dot-NET framework. I have encountered many POP3 C# classes in my searches of the Internet and most were sufficient to begin programming email clients.