This article describes a new approach for managing software architectures. It uses inter-module dependencies to specify and manage the architecture of software applications. The technique, based on a matrix representation, is simple, intuitive, and appears to scale far better than the directed graph representations that are used currently. It enables specification and automatic enforcement of architectural intent such as layering and componentization. The article concludes by showing how this approach can be applied to a real application. We build a dependency model to represent the architecture of Ant, a popular Java build utility. We then examine how Ant’s architecture has evolved over several versions of the software.
Although many development teams use version-control systems to manage code changes, they can struggle when developers code off the same code base, in parallel. In this Automation for the people installment, automation expert Paul Duvall shows how to effectively tag, branch, and merge source code using the open source, freely available Subversion version-control system.
NuGet is a package manager for developers that puts the best .NET libraries just a click away. It provides acess to free developer libraries and supports a model where companies can set up a private “app store” to manage libraries in their company. Learn how to work with NuGet to streamline your projects.
This article examines the whys and wherefores of continuous integration, and examines two of the leading (open source) tools for providing this service: Draco.NET and CruiseControl.NET. You will see how to get each up and running, and compare their strengths and weaknesses to determine when each is a better fit for your organization.
In part one of this two part article, you will learn about five of the top ten "worst offenders" of misconfigurations of application security that can cause overall problems for ASP.NET Web-based applications. Learn more about how to secure the Web.config files of an ASP.NET application.
Installing software is often a painful chore for most users. The installation package you generate — the "last mile" of software development — can make the difference between user adoption and another product thrown into the virtual waste bin. In this installment of Automation for the people, automation expert Paul Duvall demonstrates how the freely available, open source IzPack tool for writing wizard-based installers can make installing your software a snap for users.
This article shows you how to use the open source Apache Maven build management tool to automate build and deployment projects on IBM® SmartCloud Enterprise. It demonstrates how to integrate the management of virtual machines on the cloud into the build and deployment life cycle by developing an Apache Maven plug-in that looks up and creates virtual machines that run a J2EE application server on the cloud.
There are a number of challenges that make the deployment task more difficult. Alex reviews the common techniques for deploying new databases and upgrading existing ones, and their flaws, and argues the advantages of an automated, incremental, script-based approach to deployments
In this second part of a two-part series, you will learn about application security issues related to authentication and authorization, as well as five vulnerabilities commonly found in ASP.NET web-based applications. Additionally, find out how to keep configuration files from being unintentionally modified by uninformed programmers or administrators, as well as why it is critical to never rely on default setting values.