Towards a Web application architecture role

08 December 2006 » Web architecture

I attended a class last week on “Mastering Object-Oriented Analysis and Design with UML 2.0.” This training gave me a chance to step back from Web site development and instead focus on the vocabulary and diagram standards which model software requirements and design.

This is a skillset I’ve wanted to cultivate for some time and the class happened to coincide with three other events:

So, with these new resources and milestones in tow I intend to take some real steps away from an IT Specialist role towards an IT Architect career path.

Wish me luck :)

Four great IBM locations

20 November 2006 » Travel

My job responsibilities don’t normally call for travel, but I had the good fortune to visit several IBM facilities over the past year.

There’s something about a few of these places that contributes enormously to my productivity. IBM is a unique company whose size and age have led to interesting architecture and inspirational workspaces in diverse locations.

I’ve created Google Earth placemarks for my favorites to provide a sense of the building and environs. If you’re an IBM employee, you should stop by and see the place in person. If you’re not an IBMer, visit someone who is :)

590 Madison Avenue, New York, New York

IBM’s flagship location in New York City is primarily used for customer-facing events and training. New York PHP holds its monthly meetings on the 12th floor.

  • Environment
    This facility is in the heart of midtown Manhattan, located adjacent to the Trump Tower just south of Central Park. There’s always something going on, and the sounds of the city seep into each floor, particularly when there are parades going down Fifth Avenue. While serenity complements the other locations, the din here provides a motivating soundtrack.
  • Atrium
    The glass-enclosed public atrium is home to a rotating art collection, coffee stand and tables, bamboo shoots, a handful of birds, and the odd concert. The Dahesh Museum also has an entrance here.
  • Floor plan
    Each of the floors are triangular and sheathed in glass. On the long edge, this gives an open, airy feel to the place. At the opposite corner, conference rooms overlooking Madison Avenue and 57th Street are bright. The large entry way on the first floor is also home to vibrant, oversized artwork.

Almaden Research Center, San Jose, California

The Almaden Research Center is considered the birthplace of the relational database and many innovations in hard drive technology.

  • Environment
    ARC is set in the hills next to Santa Teresa County Park and is accessed from the Santa Clara valley via a winding mountain road supplemented by a bicycle path. Signs warn the visitor to watch for resident wildlife. On a wet day, you might catch a rainbow on the way home from the facility.
  • Hall of Fame
    Near the entrance is a hallway lined with plaques honoring the many Distinguished Engineers and IBM Fellows who occupy the building.
  • Library
    There is something odd about a work location which has a library, though this is common to all research facilities, I suppose. This one has a collegiate feel, and has a broad view of Japanese Flowering Crabapple trees and the mountains to the west. A surreal hailstorm occurred during one visit here.

Watson Research Center, Yorktown Heights, New York

Yorktown Heights is one of the three sites comprising the Thomas J. Watson Research Center, the headquarters of IBM’s research division.

  • Architecture
    Eero Saarinen, of St. Louis Gateway Arch fame, designed this research facility in New York state. A curtain of glass stretches for three floors and spans nearly a half-mile of hallway on the long edge of this crescent-shaped building.
  • Library
    The library and its furniture were also designed by Saarinen. It’s dated, and reminiscent of an airport terminal, but at the same time a great place to get work done.
  • Environment
    Yorktown overlooks scenic Westchester county near the Taconic Parkway. The foliage in fall makes for a dramatic backdrop.

Silicon Valley Laboratory, San Jose, California

SVL is the home of the group developing DB2 and other Information Management software.

  • Environment
    This facility is near the Almaden Research Center and also shares a border with the Santa Teresa County Park. There are orchards and recreational facilities surrounding its location in Coyote Valley.
  • Architecture
    The laboratory was designed by the same firm that designed ARC. The distinguishing features of this location are the brightly-colored, cross-shaped buildings with offices designed by Gerald McCue to best suit the work habits of software developers.
  • Server rooms
    SVL houses one of the largest server rooms west of the Mississippi, at close to an acre. It occupies the lower level of the facility below the courtyard and the hardware is visible from the glass hallways which surround it. In the winter, the entire facility is actually warmed by the heat generated by the computers.

Mobile Metro-North

27 October 2006 » Travel, Web development

Update: You can download NYC North Trains for free, over-the-air. I’ve tested it on OS 5 and 6 devices such as the Curve, Style, Storm 2, Bold, Tour and Torch. Like the simple Web interface I’ve provided for nearly five years, the native app offers an interface to the MTA schedule data optimized for mobile devices. However, it also offers some features that make the experience quite a bit more convenient for BlackBerry users.

I travel to New York City from the Connecticut and New York suburbs on a regular basis. Most of the time I use the MTA Metro-North Railroad. It’s easy to look up the train schedule from a regular computer before I head in, but often times I don’t have a set return time and am not near a PC when I make plans to come home.

I’ve tried accessing mta.info from the browser on my BlackBerry, but the UI is pretty painful on a wireless device. For some reason the MTA doesn’t supply an interface for gadgets like this, nor does it provide a Web service to provide results to third parties. So instead I created my own tool to provide a text-only interface to the Metro-North schedules.

At some point I intend to mash it up with a map, but for now, enjoy.

Broadband I can live with

At last, I am free of DSL hell. I’ve moved to a new house, and now have a cable broadband connection for the first time.

The package I got is faster than the standard cable offering and, most importantly, doesn’t block ports so I can continue to host my own mail and Web servers (which is the reason I’ve had to put up with DSL for so long). If you live in the Cablevision service area, do yourself a favor and check out Optimum Online Boost.

I’ve moved the remainder of my sites over to the server at home now, including this blog and the Civet Networks site. Good times for all (as long as the paint fumes, sawdust, cat hair and frost don’t get to the machine before you do).

Keith Olbermann rules

25 September 2006 » Media, Politics

Oregon

25 August 2006 » Photos, Travel

Cat and I spent a few days in Oregon for a wedding last weekend. Beautiful place, great weather, stellar seafood.

Options for using PHP with WebSphere

I’m often consulted about adding PHP support to an IBM environment. Methods for connecting PHP to DB2, Informix and Cloudscape databases are covered pretty well, but it seems there’s a lot of understandable confusion about how to integrate PHP with WebSphere.

Just as you can communicate with DB2 from your PHP applications via three distinct interfaces – Unified ODBC, ibm_db2, and PDO – there are several approaches to adding PHP support to WebSphere Application Server, each with benefits and drawbacks.

As a disclaimer, I don’t claim to represent IBM or provide IBM’s viewpoints on this, but I’m offering this list as a general overview about what options are available as IBM continues to encourage the use of PHP in enterprise environments.

  • Build PHP as an Apache module and connect to WAS via the Web server plugin
    Essentially, any application server which uses an HTTP server (like Apache) on the front end can be configured as-is to support PHP, and has likely had this capability for years.

    When used in this configuration, it is only the HTTP server that needs to be configured to recognize patterns in the URL and to delegate requests accordingly. WAS and PHP know nothing of each other’s existence, but can share data via client-side cookies or a database (MySQL, DB2).

    HTTP Request
          | 
          v
    Apache / IBM HTTP Server
          |            |
          |            |	  
        .php         .wss
          |            |
          v            v
         PHP          WAS
    

    This method is described by resources listed under section 4b in the Recommended PHP reading list.

  • Use the PHP Integration Kit to add PHP support to WebSphere Application Server Community Edition
    This option is probably the most straightforward and supported by IBM, but unfortunately it doesn’t apply to regular WebSphere Application Server, only the offering provided under the WAS name built on Apache Geronimo: WAS CE.

    This method uses a servlet filter within a preconfigured Java Web application to intercept requests for PHP scripts, and calls out to PHP via CGI. I haven’t experimented with this yet, though it is appealing because all the components are free and integration is done for you. I suspect there may be a performance bottleneck by using PHP as a CGI (in contrast to as an Apache module as described above). This method is also fairly new, by virtue of being an alphaWorks offering.

  • Use the PHP / Java Bridge
    I haven’t looked into this option yet, though it appears the focus here is actual application level interaction between Java and PHP, instead of separate, mutually exclusive PHP and Java applications which share a data store and web server.

    The communication between Java and PHP in an application server like WAS or Geronimo is managed by a Java library available from SourceForge. Like the second method above, communication with PHP is done via CGI.

    I’ll post an update once I explore this option in depth. The strength here seems to be the ability to share session data. A downside is that you have to intermingle Java with PHP code and vice versa.

  • Use an implementation of a PHP interpreter in Java
    OK, this option doesn’t actually exist for WebSphere, but it may be something that IBM decides to do in the future. All speculation, of course, since I don’t work in the Software Group and have no idea what they’re up to. Personally, I *wouldn’t* like to see it happen although other JEE vendors – BEA and Caucho – have taken this path.

    In this case, some Java code has been written to interpret code written in the PHP language. What this does is move away from the PHP interpreter source code (and its extensions!) which has been written in C and replaced them with Java. The perceived benefit here is that a 100% Java library to process PHP scripts can now be included with your JEE enterprise application.

    In my opinion this doesn’t make too much sense, since in this case vendors are trying to emulate the PHP interpreter as a new code base. Because PHP is modular and relies on many third party extensions which are also built in C, this would seem a maintenance nightmare and would always lag behind the official PHP interpreter.

    The “coolness” factor of this is what BEA and Caucho are probably weighing over the practicality of it. This appears to be more of an embedded option, which may be OK for providing core PHP language support, similar to how JME is a stripped down version of Java for mobile devices.

So there are four three options. The first option seems to be the most robust and flexible, but the second is probably the easiest to set up and maintain. Explore the options for yourself, and please post any other options here that I may have missed.

The world is flat

26 June 2006 » Photos, Politics, Travel

I’m in Närpes, Finland working from my grandmother’s house for 10 days. It’s a very rural area, and as kids this place seemed so remote that after spending 6 summer weeks here it felt like you were coming home to an entirely different world. Your friends had changed, a season full of events had passed and you were an outsider when you returned.

It’s been a completely opposite experience this time. My grandmother’s 200 year old farm house has a 10 megabit fiber connection – twice as fast as the top-of-the line DSL package in the New York metropolitan area – and voice over IP lets me join conference calls with better comfort and clarity than my cell phone.

All this coincides with observations about the world of business and communications in the book I’ve finally gotten around to reading, The World Is Flat, by Thomas Friedman. Unless I explicitly remind my friends and coworkers, they can’t really tell where I am.

I have some pictures posted, but will spend more time making them presentable when I return.

Update: I’ve returned and posted my pictures in a better thumbnail format.

Next page »