Tuesday, August 12, 2003

Data Access Patterns: Messages or Data?

Layer: Architectural unit. (Presentation is equivalent to Facade)
Tier: Deployment unit.
Service: Functional unit.

- It used to be one service per tier.
- Tiers used to blend architecture and deployment.

That’s all going to change.
- Database is the least flexible in most architectures.
- Presentation is the most flexible.

- Presentation service - public interface whether its COM or presentation or GUI...

- Application logic sits in between.

- Near services or far services have different characteristics.

o Near Services (closely related machines, same organisation, reliable connection, trust domain, interoperable)

o Far services (Larger, less frequent messages, more interoperable, decoupled app logic, only related through contract, less common)

- The .NET Dataset is a very powerful mechanism, as it shifts loads away from data source.

- Identify tables that are updated {almost never, hardly ever, time to time, and pretty often} and whether it’s a read/only or read/write operation.

- The general rule of thumb is to minimize updates... whenever possible.

R/O Pattern.
Easy to replicate, multiple instances..


Deploying Visual Studio.NET Applications (incl. BizTalk 2004!)

- Microsoft has removed ‘dll hell’, although this may now have been replaced with ‘version hell’.

When deploying à Add a new project to system à Setup and Deployment Projects ("Web Setup Project") in Visual Studio.NET à Add Project Output à specify (Project name) includes compiled code, aspx, asmx files, etc.

- Visual Studio will detect Dependencies (i.e. .NET assemblies, COM, dll, etc.) that also need to be added...

- Creates a setup.exe, setup.ini, .msi (setup.exe only needed for pre-Win2k machines that don't have the auto-installer).

- All Visual Studio.net applications uses the app.config XML file. [Automatically created by Visual Studio]

- Visual Studio allows programmatic component properties to be mapped to the app.config configuration file, therefore allowing these properties to be modified during run-time!

Global Assembly Cache (GAC)
- Only deploy to GAC if you have something to share.

- Assemblies must have a strong name (i.e. they must be digitally signed.) [particularly when you have multiple versions.]

No comments: