Home >> Blog

iHwy Development Blog

The iHwy team shares their musings about their development experiences.

WCF Security Guidance

Posted on May 27, 2008 18:08 by Team

The Pattern & Practices group has released a new set of security guidelines. The WCF 3.5 Security Guidelines are for Web services created with Windows Communication Foundation (WCF) 3.5. They are based on principles where possible. The recommendations are also as contextual as possible, but abstracted for reuse. Use them as a starting point, but you will likely need to tailor for your scenario.

 

Currently rated 3.5 by 2 people

  • Currently 3.5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Yahoo! Design Pattern Library

Posted on May 10, 2008 09:10 by Team

When creating user interface we rely on a common set of controls to solve common problems. Hopefully, the controls are common enough to use again and again and they provide a consistant interface for interaction with our web applications.  

A pattern describes an optimal solution to a common problem within a specific context.

From the IAWiki:

Patterns are optimal solutions to common problems. As common problems are tossed around a community and are resolved, common solutions often spontaneously emerge. Eventually, the best of these rise above the din and self-identify and become refined until they reach the status of a Design Pattern.

Each pattern has four primary components:

  1. a title
  2. a problem
  3. a context
  4. a solution

Yahoo! has created a common pattern library where they give visual examples of each pattern.

Currently rated 3.0 by 1 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

AJAX driven financial reporting

Posted on March 15, 2008 11:33 by Team
For the last 12 months or so the amount of AJAX and javascripting work we've been doing has significantly increased, even though we've been doing it since before the name "AJAX" was even coined. One of the snazziest things we've developed lately is a financial reporting system that uses some really nice technologies to create a speedy UI for our users...who wanted something "like quickbooks" (but of course, better).

After logging into a private part of the site, a user searches for orders (the data is from a POS (point of sale) system) and selects a set of reports that they want to view. A set of tabs appears, each tab with a report name on it. Clicking the tab makes an AJAX call to the server and fetches the reporting data in json format (we chose json because speed is of the essence and json data is very compact). After successfully grabbing the data, another quick AJAX call is made to fetch a reporting template (we use TrimPath Templates) and then the data and the template are used to render the report to the screen, under the tab that the user selected. No page reloading... the report just pops onto the screen in the selected tab.

If the user would like another report, they simply click another tab and that report gets rendered using the same method. Clicking any tab that is already loaded will show the report without having to refetch it from the server. That makes it very easy for an analyst to review the results of various reports by quickly flipping back and forth between them. There's no page reloading, the data is just "there".

To speed the development of this project, we used jquery and a number of jquery plugins extensively. We've been using jquery for quite a "while" (in javascript-library years) now and love it. We're also active members in the jquery community.

The reporting engine does some really neat stuff with the TrimPath templates, fixed table headers and footers (so reports can be scrolled without having to scroll the whole page) and some smooth animation (for hiding/showing report criteria) supplied by the Interface jquery plugin. We're continuing to add more reports to the system, providing a very sophisticated, but really easy to use, financial reporting system, with solid technologies and a really speedy architecture.

Currently rated 4.0 by 1 people

  • Currently 4/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5