Monthly Archives: March 2012

Why develop a website devoted to the world of art?

Anyone can be an artist, and I say that with no disrespect for anyone who calls them self an artist. To me an artist is someone who loves to create, and puts their whole heart into what they create, no matter what form the creation may take.  When this happens, a work of art is created, and the work of art is an expression of love. Love is the most powerful force in the universe.  After all, isn’t the universe itself  a work of art, and an expression of love?

My hope for the website, is for it to be a place where anyone can create something they love.

I hope this is an adequate answer to a compelling question.

 

Improving the Design

As previously posted, The artist content page has been added to The World of Art web app. The ASP.net Web Form Model was implemented as the foundation for developing this component of the application.

Using the ASP.net Web Form model, provided a stable architectural software development platform, along with off the shelf software components, which facilitated rapid development and deployment, of the artist content page. If you recall, I used the ASP.Net SQL Data Source Control, to query artist information from the database. However, after spending a little time studying the overall design of the artist page, I do have some concerns regarding the use of the SQL Data Source Control;

  • More consideration should be given to scale, as the size of the artist database is certain to grow much larger.
  • Using the SQL Data Source control is acceptable for small applications. However, as the application grows in size and complexity, we will find this approach is too tightly coupled with the user interface. The current approach will require each web page, that renders dynamic database content, to have its own unique interface to the data source. This introduces some vulnerability to the impact of change. With each web page developed, with this tight coupling to the data source, the impact of future changes to data access requirements increases . As the impact of change increases, so does the level of effort in code maintenance.

In my next post, I will discuss an architectural approach for extracting data access into a separate design layer of the application, thus eliminating this tight coupling with the user interface layer. We will also design and build an abstracted view of the data access domain, like we did with the World of Art Domain. We will then develop an interface to our data source domain. ASP.Net provides some off the shelf components, which make this more sophisticated design, surprisingly easy to implement.

Date Limitation in SQL Server Database

When you visit the Artist Page at the World of Art website. Notice how the artist from the Renaissance era, all have the same birthday. While building the database, I discovered a limitation in the Microsoft SQL Server Database. While the SQL Server Database Engine does support data types of date and time, the earliest date it can support is January 1, 1753. Isn’t that peculiar?

Since art work spans the know history of mankind, at some point in the development life cycle of this application, I’m certain we will encounter requirements dealing with the historical aspects of the art world domain. At that time we will need to formulate some kind of workaround to this problem.

Artist Content Added to The World of Art Web App

The artist page has been added to The World of Art web app. This iteration of development was performed to satisfy the requirements in my previous post. The Artist Page was developed using an ASP.NET WebForm conponent, in Visual Studio 2010. The ASP.NET Web Form model, along with all of the user interface controls integrated into the model, provides a stable platform for rapid appliation development.

Anyone developing on the ASP.NET platform, should join the Microsoft ASP.net community. This is a community of developers, who are contributing enormous amounts of knowledge, along with tutorials, based on ASP.net development. At ASP.net you will also find an entire section devoted to ASP.net Web Forms

Take a few minutes and see all of the technical details on how the artist content was added to the website.

Some New Requirments

Now that the The World of Art site is up and running, lets add some content from the artist database. Here is a list of requirements for the next iteration of development;

  • Add a page to the site called artist.
  • The artist page will render a list of artists names, and place of birth.
  • The list of artists will be rendered in a grid which can be sorted.
  • There should also be a detailed view of each artist, where visitors can page through information on each artist, one at a time.
  • Prior to rendering the artist page, an automatic request or query for data, should be made to the database server, so that the page is already filled with information when the user navigates to the artist page.

For now, it’s back to Visual Studio, to develop the artist page based on these new requirements. Come back soon to see the results.

First Iteration of the World of Art Web App

Today I published the first iteration of the World of Art web app. For now I simply used the default look & feel that comes with the Web App Template available in Visual Studio 2010.

The master page, which comes with the Web App Template, has some very simple tab based site navigation already built in. I created three pages which can be reached by clicking on their corresponding tab.

  • Home
  • About
  • Blog

The Blog tab will simply navigate the user to this blog site.

Deployment of the web app to WinHost is a very simple process.
Web app deployment

Website Project Template or Web App Project Template

Now that we have the first iteration of the World Of Art domain defined, along with  a supporting database, it’s time to develop a website where the world of art information can be made available for public consumption.

Visual Studio 2010 provides several website and web app templates, which are already built and tested. You can also select an empty project structure and build from scratch.  I prefer to start with a pre-built project template, designed for the type of application I have in mind. This provides a solid foundation to build on, and allows me to focus more on developing for the customer’s domain.  However, one must still be careful when selecting a pre-built template. I found an excellent article called Web Application Projects versus Web Site Projects at msdn.

I decided the web application project structure would be the best choice for the world of art app. Primarily because support of database access is a critical part of the application design. The web application project provides the most flexibility for database access. It also allows me to deploy a pre-compiled application which makes deployment more straight forward.
 
Selecting a Project Template in Visual Studio 2010

Web Application Template Example

The Database

I started off with a very simple set of interfaces and classes, as a small first step, in defining the domain of the application. Now that the artist object, and works of art object are defined in the World of Art domain, I though it would be a good time to develop the first iteration of the database. This is the data which will populate the world of art objects and their properties. In my opinion, it is the domain that must first be defined, then the requirements of the database can be derived from the domain.

World of Art Database – First Iteration

Defining the App Domain

In order to form an abstracted view of the World of Art domain, I created a class library and class diagram. In Visual Studio 2010, I first created a new project called “ArtWorldObjects”, from the Class Library template. I then added some very simple classes based on the current knowledge of the domain.

World of Art Class Diagram

World of Art Webb App