Notes From a Full-Stack Developer

Kevin Raffay's WordPress Blog

Basic CRUD Development With ORM/Telerik/WCF – Intro

leave a comment »

I recently finished up an engagement at a client where I had to build a fairly basic but robust application to manage landing pages.  Landing pages are are exactly what they sound like – pages that a web users “lands” on if they are searching for a site.

In this project, the company had over 50 landing pages, and all of them were distinct sets of static HTML with their own set of CSS/JS and images.  They were hosted on the web, and it was a nightmare to make to changes to all sets of landing pages because a developer would have to pull down the content, edit it, and the upload it back to the website.

One of the problems the company was having was that the pages weren’t entirely static.  Many had dynamic content that had to be “injected” when the pages were rendered.  Some of this data was content like interest rates, which change frequently.  In addition, this company had many different lines of business, and each had their own phone numbers, some of which changed frequently.

I will demonstrate in the next series of posts how I built a distributed ASP.NET MVC application to manage these landing pages.  The goal was to be able to tokenize the content that changed frequently, and use the power of MVC to render the landing pages with a mix of static and dynamic content.

None of this was rocket science, but there were some constraints.  Of course, it had to be a distributed SOA application, for scalability reasons, and besides, tightly coupled monolithic applications are just bad.  Also, the company had a very onerous build and release process, and standing up intranet sites was essentially impossible.  There was just too much push back from DevOps to let us setup up a project that required much ops support, even it was an internal app.  Also, it couldn’t require much environmental-specific configuration settings.

It just had to work, without ops getting involved.

Normally, for a project like this, I would create a website, setup a WCF service tier, and expect to host both on IIS.  But this was not your typical company 🙂

I also wasn’t going to get a dedicated DBA to write my stored procedures, and in any event, I didn’t want to use any.  This was a place where they still wrote tons of procs for basic CRUD applications, and expected the devs to write tedious ADO.NET code.

Really?  Hey – the 90’s called, they want their application development process back 🙂

So I had to, and wanted to, use an ORM.

And it wasn’t going to be Entity Framework.  EF is a nice, free ORM, but you get what you paid for.  I prefer a world class ORM, like LLBLGen Pro.

I also didn’t want to deal with a ton of WCF ServiceModel configurations – ops would not help when we had to change endpoints as we moved from DEV to QA to PROD.  So I explored some WCF self-hosting options that I scrounged up on the internet.  BTW, ServiceStack would have been great for a project like this, but an elegant, basically config-less,  endpoint-ignorant, and dependency-free service architecture would have been a bold and revolutionary concept at this company.

Finally, I wasn’t about to re-invent the UI wheel and handcraft my own client-side grids and write tedious javascript to input and render data.  I would use a 3-rd party component suite that was responsive and robust.  That would be Telerik Kendo UI.

I know, I hear you purists out there…

“WHAT IS THIS SORCERY YOU SPEAK OF?  BLASPHEMY!  THOU SHALL WRITE EVERY PIECE OF CODE IN AN APPLICATION!  NO EXTERNAL DEPENDENCIES!  NO ORMS!  NO 3-RD PARTY COMPONENTS!  NOT EVEN F-ING JQUERY!”

Yeah, right.  This is an internal CRUD app, not FACEBOOK or even GOOGLE.  I don’t need to write yet another JSON parser, logging component, tabular grid, or my own responsive CSS framework, service bus, or inversion of control container.  I make a living writing robust business applications quickly and efficiently, not indulging my hacker ethos.

Any way, I’ll go through the process in a few posts and upload the source to  GutHub.

Here’s a screenshot (I know, I told you it was basic):

LPA1

 

 

 

Advertisements

Written by Kevin Raffay

August 16, 2015 at 1:16 am

Posted in Microsoft

Tagged with , , ,

Slashdot: What Portion of Developers Are Bad At What They Do?

leave a comment »

– Link

I would say that at any given time, 100%.  What developer has not been horrible at some new technology that they were trying to get their head around?  I look at some of my first jQuery or angular.js code snippets, and they were bad

But the key question is what portion of developers stop sucking at what they do?  I would like to think most improve, or abandon the technology they are bad at.  For instance, I suck at Sharepoint.  I am bad at it.  So I don’t do it.  I turn down positions involving Sharepoint.

However, the OP at /. is appalled that some of the people he interview are clueless about public/private key encryption.  But does that make them bad developers?  Or could they be awesome client-side ninjas, hate dealing with security protocols, and try to leverage oAuth as much as possible without knowing the implementation details?

I would have to agree that if you don’t have a general concept about public/private keys, that may be a clue to dig deeper into your overall level of competence, especially if you are pitching yourself for an architect role.

BTW, some great architects are horrible developers 😉

Written by Kevin Raffay

February 14, 2015 at 6:04 pm

Posted in Uncategorized

The 25 costliest tech screw-ups of all time

leave a comment »

All organizations depend on IT to keep operations up and running. That means tech mistakes – even seemingly minor ones – can have a huge impact on the organization and its bottom line.

 

http://www.itmanagerdaily.com/the-25-costliest-tech-screw-ups-of-all-time/

Written by Kevin Raffay

July 2, 2013 at 9:45 pm

Posted in Uncategorized

My Favorite Things To Do In Huntington Beach

leave a comment »

1. Sunday brunch at the Black Bull: come hungry, come often

2. Tuesday night downtown street fair: always something new

3. Dinner at Cucina Alessa: at least twice a month, and you’ll probably run into the HB mayor, Joe Carchio.

4. Karaoke at Killarney’s on Monday nights: OK, I only did this once, and found it surprisingly fun to watch.  Watch, not sing 🙂

5. Any day at the Doggy Beach.

Written by Kevin Raffay

January 21, 2012 at 10:53 pm

Posted in Uncategorized

Like Facebook? You’ll Love the Facebook Book

leave a comment »

A new Facebook application is bringing the famous social-networking site full circle.

The tool lets people take Facebook literally, creating hardcover versions of Facebook profiles — think "Facebook in a book." The idea came from creative director Siavosh Zabeti, when French telecommunications company Bouygues Telecom recruited his ad agency DDB Paris to help launch the company’s Facebook platform.

Read more: http://www.foxnews.com/scitech/2010/11/29/like-facebook-youll-love-facebook-book/#ixzz16hdCNsdR

Written by Kevin Raffay

November 29, 2010 at 7:49 pm

Posted in Uncategorized

Microsoft IE browser share dips below 50%

leave a comment »

Microsoft’s Internet Explorer, which has dominated the Web browser market since blowing by Netscape in the late 1990s, last month fell below the 50% market share level for the first time in years.

IE’s share of the worldwide market fell to 49.87% in September, down from 51.3% in August and 58.4% a year ago. It is followed by Firefox, which increased its share slightly from 30.09% to 31.5% and Google Chrome, which grabbed 11.54% share, more than triple its September 2009 share, according to market watcher StatCounter.

http://www.networkworld.com/news/2010/100510-microsoft-ie-browser-firefox-chrome.html
FYI, I am really diggin’ Chrome…

Written by Kevin Raffay

October 6, 2010 at 4:48 pm

Posted in Uncategorized

Oracle database design slowed Chase online banking fix

leave a comment »

Computerworld – The outage last week JPMorgan Chase’s online banking site is an example of how pushing to maintain absolute data integrity could end up creating big problems for companies, a veteran database analyst cautioned yesterday.

The financial services firm suffered through intermittent problems on the site for three days earlier this month. At one point, Chase customers could not carry out any online banking transactions for a period of more than 24 hours.

The bank initially blamed the disruption on a ‘technical issue,’ but later said the problems were tied to a third-party database product used to authenticate customer log-ins.

Curt Monash, an analyst at Monash Research, said a source with knowledge of the incident told him that the outage was traced to an Oracle database used by Chase to store user profiles and authentication data. Monash said the source, who he wouldn’t identify, said that four files in the Oracle database were corrupted and that the error had been replicated in the mirror copy of the database that Chase maintained for backup and recovery purposes…

Written by Kevin Raffay

September 27, 2010 at 9:27 pm

Posted in Uncategorized