Don't get me wrong, SOA and User Experience are very dear subjects to me. But we have other architecting needs, and one of them are the frameworks internal to our systems.
We have to decide how much of this framework is built in house, how much from outside components/frameworks, and finally how much we just give up using.
We have to decide if we use standard ADO.NET, CSLA.NET compliant components, simple Datatables, iBatis, dOOdads, EntitySpaces, NetTiers, NHibernate, LINQ To SQL, LINQ To Entities, SubSonic or the next to be persistance framework, remembering that on the past we have choose OlyMars, Gentle.NET or WilsonORMapper.
We have to choose a DI framework. We have to decide between Enterprise Library, Spring.Net or CastleProject. We have to choose between MVC, MVP or WebForms. We have to choose between using our our in house code generator, CodeSmith, myGeneration or T4 GAT/GAX.
We have to choose what our model is on MDD. We have to choose when to use SProcs and when not to.
We have to choose between SQLServer, Oracle and other databases.
We have to choose a workflow system and a middleware.
We have to choose a unit testing framework, a mockable framework, a source control and continuous integration system.
Yeap, we have a lot to architect. Why does SOA and Ux gets most of the attention?
Friday, December 07, 2007
Architecting for other than SOA and Ux
Posted by
Mário Romano
at
Friday, December 07, 2007
0
comments
Labels: architecture
Office 2.0
Here's a great list of Office 2.0 applications.
Hear about it at Scobleizer.
Posted by
Mário Romano
at
Friday, December 07, 2007
0
comments
Labels: Tools
Learning the Model View Presenter Pattern
Now that ASP.NET MVC is about to CTP, please don't forget the MVP. Uau, I've managed to write a phrase full of acronyms!
Bil Simser has just posted:
The guys over at Patterns and Practices got it right. They've put together a package (available via a CodePlex project here) on learning and understanding the Model View Presenter Pattern (MVP). It's kind of a "mini-guidance" package and not the big behemoth you normally see from these guys that:
- Provides guidance on how MVP to promotes testability and separation of concerns within the UI
- Illustrates how to implement MVP with standard ASP.NET
- Illustrates how to implement MVP with ASP.NET and the Composite Web Application Block
The package contains full documentation on the pattern, unit tests, and source code (for both WinForms and CAB) demonstrating it. Very nice and very easy to digest! Check it out here if you're just getting started and want to see what MVP is about.
Posted by
Mário Romano
at
Friday, December 07, 2007
0
comments
Labels: architecture, Education, Practices
Great F# arguments!
Came across this great post from Harry Pierson about F#. He gives us a series of arguments that explain in a very simple way what we can get out of F#. Brief and efficient. A must. Here's one most developers can relate to:
In F#, I wrote a function called CacheAndTrace that takes a parsing function as a parameter and returns a new function that adds the caching and tracing code. Since the new function has the same signature as the original parsing function, the caller can't tell the difference but it saves me having to write the boilerplate code over and over again.
Posted by
Mário Romano
at
Friday, December 07, 2007
0
comments
Labels: Language Trends
Thursday, December 06, 2007
Configuring a VMWare Server
For development servers we use a series of Dell PowerEdge 2950 to hold virtual machines. We pack each of this babies with 2 Quad Core CPUs, 16 GB of memory, a PERC 5i controller and a 6 disks bay.
Each time we setup such a systems there's always a great fuss about what disks to buy and how to configure them. Here are some sources to help us figuring out the solutions:
- SAS Hard Drives: 15,000 vs. 10,000 RPM
- RAID Scaling Charts, Part 1
- RAID Scaling Charts, Part 2
- RAID Scaling Charts, Part 3
Apart from the question raised on these articles, we have the following:
- The benchmarks targets:
- File Server;
- Web Server;
- Database Server;
- Workstation;
- What about virtual machines servers? What benchmark should we use? Should it depend on the guests, should we use one of these (for example, database) or should virtual machines be benchmarked on future tests?
- What should be the cluster size of the host where the virtual machines are? Does it really matter?
Posted by
Mário Romano
at
Thursday, December 06, 2007
0
comments
Labels: Operating Systems
Randy Patterson's 10 Development Podcasts
Here's 10 Podcasts Every Developer Should Listen To by Randy Patterson:
| Polymorphic Podcast | Craig Shoemaker brings insight into software development in the .NET platform along with interviews with industry luminaries. Good content, good quality but an inconsistent schedule. | |
| ARCast with Ron Jacobs | Ron Jacobs is a Microsoft employee and delivers a weekly podcast on Channel 9 that dives into some tough .NET architecture topics. | |
| Software Engineering Radio | Not specifically .NET related but contains a wide spectrum of Software topics from Dynamic Languages to Transactional Memory to Fault Tolerance. | |
| Software Quality Engineering Conferences Podcast | Interviews with speakers from the Agile Development Practices 2007 Conference | |
| OnSoftware | Weekly interviews with some of the software industry's leading developers about a wide range of programming and development issues | |
| WebDevRadio Podcast | Web Development Discussion | |
| Agile Toolkit Podcast | Topics covering all things Agile. | |
| .NET Rocks! | .NET Rocks! is a weekly talk show for anyone interested in programming on the Microsoft .NET platform. The shows range from introductory information to hardcore geekiness | |
| Hanselminutes | Scott Hanselman discusses utilities and tools, gives practical how-to advice, and discusses ASP.NET or Windows issues and workarounds. | |
| ASP.NET PodCast | The ASP.NET Podcast brings a technology focus to the area of podcasts. This podcast is geared towards developers with applications that scale to a large amount of data and users. |
I ear most of this while commuting, and will definitely try the remaining ones. Thanks for the link, André Lourenço :)
Posted by
Mário Romano
at
Thursday, December 06, 2007
0
comments
Labels: Development, Education
eBoostr brings ReadyBoost like technology to Windows XP
Tiago has just posted about this implementation of ReadyBoost on XP:
eBoostr allows you to use an additional drive (flash memory or hard disk) as another layer of performance-boosting cache for your Windows XP. There is no need to purchase a Vista upgrade to get the benefits of the Vista’s ReadyBoost technology. With the newly developed eBoostr, the booting of your OS and applications startup get much faster thanks to the smart caching mechanism.Here's the link. Please note that this is a commercial product.
Posted by
Mário Romano
at
Thursday, December 06, 2007
0
comments
Labels: Operating Systems, Tools
Volta: the promised land?
Here's a project I haven't heard about for long: Volta. Not a promise anymore, it reached CTP.
Here's a nice post about it:
Programmers write web applications using familiar .NET languages, libraries, and tools. Volta splits the application into multiple parts potentially running on different tiers, say, client and server. Client code needs only a minimal, JavaScript-enabled browser, though Volta will take advantage of additional runtimes that may be present.
Programmers simply refactor classes that need to run on tiers other than the client and Volta injects the boilerplate code for communication, serialization, synchronization -- all the remoting code. The developer enjoys all of the benefits of .NET: a great debugger, test tools, profiling, intellisense, refactorings, etc.
[update]
Posted by
Mário Romano
at
Thursday, December 06, 2007
0
comments
Labels: architecture
Wednesday, December 05, 2007
Re-enabling Hibernate on Vista
Let me start explaining how I found out this: 'Mister M' was afraid to hibernate his Ubuntu with a running VMWare guest mounted on an external USB drive. So I tried to do the same on my Windows Vista, explaining how confident I was on Vista reliability, only to find out my Hibernate option had vanished! More, I couldn't find the a way to re-enabling it on Power Options.
After some googling I found out:
If you've found that your Hibernate option is missing from Windows Vista, it might be from running the disk cleanup wizard and removing the hibernate files.
This is due to a known bug in Vista that might not have been hotfixed already.
It goes on:
Turning it back on is very simple, however. Type cmd into the start menu search box, and use Ctrl+Shift+Enter to open in administrator mode. You can also right-click the item in the menu and choose Run as Administrator.
Uau! Simple, ehm?...
From the command prompt, type in the following command:
c:\> powercfg /hibernate on
And if this wasn't good enough for 'Mister M', it ended up:
You'll have to restart your computer before it will take effect.
Oh, well, I deserved it. 'Mister M' had his revenge :)
Posted by
Mário Romano
at
Wednesday, December 05, 2007
0
comments
Labels: Operating Systems
As geek as I can get
Ok, I admit it, I'm a geek. Only a technologically disturbed geek would photoshop his picture as a form of art, faking playing an instrument he knows nothing about. Not only a geek, worse then that, a megalomaniac one! Wake up! Development is not an art! It was supposed to be an industry!
Having a bunch of computers at work didn't stop me. Using all USB ports was not enough. Neither having a datacenter at home, nor posting like hell on this pathetic little blog. I had to portrait myself playing the violin on a laptop! Worst of all, I even posted the darn picture! Arghhh!
Oh, well, this exercise of futile self-worship has got to stop :) Until then, this will probably be the next devcatharsis logo. Next logo? Like devcatharsis has ever had a logo...
Hey, and if you feel a sudden rush to help this poor blind violinist please don't hesitate to use my AdSense links :) Or in he words of a great advertisement genius I met begging on the streets of San Francisco: "Why lie, it's for beer. Help the beerless." In my case: "Why lie, it's for gadgets. Help the gadgetless."
PS: I haven't seen me in pictures for ages - boy am I fat!...
[Update]
Here's my next logo:
[update II]
On 2007.12.23, here's my next attempt:
Posted by
Mário Romano
at
Wednesday, December 05, 2007
3
comments
Labels: Fun
Backing up VMs
Nearly all of our development server environments are virtualized. One of the things VM technology provides us is the ease of maintenance. We use free VMWare server products, so we have to call for ourselves the maintenance responsibility. And for backup, we are using a script we found on the net that pauses the VM, copies the image and finally resumes it.
A colleague of mine, Sérgio Caliça, just proposed a smarter solution: why not use Shadow Copy?
Shadow copy as the following pros:
- works on opened files;
- is checkpointed (at least, I hope it is);
- doesn't have downtime;
- is fast;
- it's the simplest of the disaster recovery methods;
- when the VM is recovered, it will probably act like someone as pulled the plug - so what?
- we haven't test it yet;
I'll give it a try one of this days and let you tell how it run. Thanks for the tip, Sérgio.
Posted by
Mário Romano
at
Wednesday, December 05, 2007
0
comments
Labels: Operating Systems
SQL Server Reporting 2008 Reporting Services does not depend anymore on IIS
SQL Server Reporting 2008 Reporting Services does not depend anymore on IIS. Here's why:
- The first reason we moved away from IIS is for better configuration;
- The second reason for the change is a need for better resource management;
- A final motivation for the change was to remove adoption blockers;
Posted by
Mário Romano
at
Wednesday, December 05, 2007
0
comments
Labels: Database
