Friday, October 29, 2004

A Beach

Going to be writing a trip report of my latest trip soon enough, but here's an early indication.

Anybody know the beach?

Thursday, October 28, 2004

Novel in November

As I wrote in a previous post about things I'd like to do in my lifetime, I'd like to write a novel or two.

It turns out that there is an entire community that is focused on doing such a thing in a public setting. If you go to the National Novel Writing Month site you'll see that people write an entire novel in one month.

Blogger has gotten into this and has a similar program where you'll write your novel in stages in a blog format.

I'm really thinking about this. Doing 50,000 words in November will entail about 6-7 pages a day, but maybe that's the kick-start I need to get going.

I'll keep you updated on whether or not I do it.

Wednesday, October 27, 2004

A New Phone/PDA

Looking to replace my BlackBerry 6750 with a newer model. The 6750 is fine, and at the time I got it last year I was very pleased with one device for phone and email, but it's just gotten stale.



So I'm just now getting into the swing of things, but the two leading contenders are:

BlackBerry 7100t:



PalmOne Treo 650:




I'll keep this updated as I choose. The BlackBerry has a huge advantage since email is very important to me and phone cameras and the like are not. But that Treo is sharp.

Tuesday, October 19, 2004

Workflow in BizTalk

Check out this helpful document to see a very concise listing of your workflow options in BTS 2004.

I haven't done a lot of this yet with BizTalk, but my bias would be to use one of the separate products mentioned in the document. I've looked at both K2 and Teamplate before and they both seem very complete.

Monday, October 18, 2004

BPEL

The more I think about software architecture and the new wave to SOA, the more I like the thought of graphically designing business processes and exposing them as Web Services. A big part of this now is the use of BPEL, or the Business Process Execution Language. The full name of the standard is actually BPEL4WS, but most folks are going with BPEL now.

If you've done any BizTalk work at all you'll be used to Orchestrations, which are BizTalk objects for process execution. An example from a BizTalk orchestration is below:



I'm doing some exploratory work now in creating a reference application architecture to use BPEL Web Services as a services layer. BizTalk isn't really the product to use for this because it's a bit heavy and it's more of an EAI tool than a pure process engine. It seems there are a few Java engines out there though...




Sunday, October 17, 2004

More on Architecture and CRUD

In answer to the Anonymous Commenter on the last post: a fair enough point I suppose, but it's hard to argue against poor programming.

If you'll allow me to suggest that an application might be more service-based instead of data-based then we might have something. If we use something like LLBLGen to generate a data access layer, and allow that layer to use dynamic SQL to access the database, we can depend on the database engine's core optimization techniques to execute the queries. We then build a business-objects layer above this data access layer for any business logic we need, then expose everything as a collection of services. Maybe we even use some BPEL orchestration and expose them as Web Services.

The time you save in getting as quickly as possible to the important parts of a project--actual functional coding of business use cases--more than makes up for any time you might have to spend later optimizing some queries for poor performance. At that point, once a competent database analyst has run traces on the running code and spotted some issues, some hand-written stored procedures can be added to the mix. LLBLGen is cool because you can hit stored procedures as well and it will generate methods for them.

Again, a good comment.

Friday, October 15, 2004

LLBLGen Pro

To answer a comment from my post on CRUD a few days, I'd suggest a look at LLBLGen Pro.



The name might not be so hot, but it's the best tool I've used in several years of looking for .NET data access. It's a complete object-relational mapping tool that dynamically generates SQL against the database of your choice. Though it's currently limited to SQL Server, Oracle, Firebird and Interbase, I believe MySQL and DB2 drivers are in the works.

One potential problem for some people will be the use of dynamic SQL instead of stored procedures. I used to be in the SP-only camp, but I've definitely come around to the other point of view due to the supreme ugliness of maintaining stored procedures. There is nothing worse that going into a project where a lot of the business logic is written in Transact-SQL or PL/SQL.

So check it out. At this point in the software development world we don't need to be spending time on code that sets up parameters to a stored procedure, calls the stored procedure, and then maps the values returned from the procedure to an object. We can generate that. Since we're all moving to SOA anyway we need to consider this sort of programming as low level as we do hash tables and linked lists now.


Thursday, October 14, 2004

Software I'm Using Today

I've upgraded to Trillian Pro finally, and I'm glad I've done it. I think it's the best IM client out there, and the Pro version has some nice extras. For $25 you can't go wrong.

I'm working with a client today on a new build and deployment process for a couple different software teams. I'm looking into Visual Make, Visual Build, and Nant. More details to follow on the tool selection and process we design.

Wednesday, October 13, 2004

An MSDN article on CRUD

Interesting take in this MSDN article on some architecture stuff.

It's still amazing to me the amount of time we software developers spend on simply reading from and saving to a database. I've swung around to the "generate it and then use an ORM" model myself. At least this week.

ESB vs. EAI vs. ETL

I'm pretty interested in the integration space, working across the application, data, and process boundaries.

Since my work is mostly in the Microsoft .NET world, I've predictably got a good bit of experience with Microsoft BizTalk Server 2004. It's a traditional hub-and-spoke EAI system, and I enjoy using it.

However, I've recently finished reading Enterprise Service Bus by Dave Chappell of Sonic Software and it's an intriguing way to go about the problem of integrating many disparate applications, data sources, and business processes. I'm doing some work now investigating the different products in this space. One site I've found that's interesting is Loosely Coupled, which focuses on the concept of loosely coupled software. SOA of course. Got to get the buzzword in there.

Interesting stuff though right now with Web Services, the WS-* standards, and integration in general. I think it's where a good deal of the action is now. There's also a big spot open in the market I think on the Microsoft side, since their Indigo messaging subsystem won't be around until 2006 at the earliest.

Tuesday, October 12, 2004

Las Vegas Again

So another bachelor party in Las Vegas. This time we stayed at the Bally's Las Vegas, which was fair I suppose.

Some things I think about Las Vegas:

  1. The Strip really is fantastic at night, but kinda riDONKulous during the day.
  2. The Bellagio poker room is still tops, but I've played at the Mirage, the Mandalay Bay, and now at Bally's also. They're all good really. I like the $2-$4 Hold 'Em game at Bally's.
  3. The Bally's pool is just not in the same league as the Mandalay Bay or the Mirage. My vote is still with Mandalay as the place to stay during the warm months, followed by either the Bellagio or Mirage. The Venetian is just too...I don't know. But it's too much of that.


Thursday, October 07, 2004

Google AdSense

So now on the left side of this page you'll see the advertisements from Google. Clearly my traffic on this page will never be high enough to earn any real revenue from the ads, but I think they're cool so they stay.

Google makes it easy too. Simply to go the Google AdSense page and create an account. A short time later they'll approve your site, and you simply insert their HTML somewhere in your page. The ads are then matched to your content and everybody is happy.

The only problem is that I'm not supposed to click on the ads, since that would help me earn click-through rates and therefore money. So if I see something cool I have to open a new browser and go from there. Still good stuff though.

Wednesday, October 06, 2004

Vonage, It Just Keeps Getting Better

So I get an email from Vonage today. They've reached another milestone in their subscriber base and their costs are lower.

So far so good. Good to see a company with a good product succeed.

The best news though is that they're lowering the price on their unlimited long distance plan from $30/month down to $25/month. Everybody that was at the previously fantastic deal of $25/month for unlimited local and 500 long distance minutes automatically gets upgraded to the long distance plan.

Again, check out Vonage. Unless you are using a dial-up modem or the like from your house I can't see why it wouldn't work for most folks.