Passion * Technology * Ruthless Competence

Monday, September 22, 2003

First Day on the New Job

Not much accomplished, but it was only my first day. I hear this rumble of the coming avalanche of stuff to do but it's not here yet. We had a team meeting where we did introductions. The team is pretty much evenly split between people who I knew before today and people who's names I haven't learned yet. First meeting with the boss is tomorrow so I'm guessing that's when I'll get buried in work.

One of my new teammates is Simon Guest, who gave me a shout on his blog today and added me to his very exclusive blogroll. I'm making some big changes to my blog tool (more on that later) but I'll return the favor soon. In the meantime, check out Simon's new book: .NET and J2EE Interop Toolkit. Everyone on this team seems to have a niche, Simon's is .NET/J2EE interop. Not sure what mine will be yet (other than community, natch).

Over the weekend, I had an email discussion with Jimmy Nilsson that started when he asked if I'll be working more with application architecture or interop architecture. As far as I understand, I'm responsible for fostering community for all types of architects. This would include at least strategic, applicaiton, interop, data, infrastructure and security architects with others added as appropriate. (For example, do we need to call out a unique messaging architect or is that just part of infrastructure?) However, we got a little confused over the use of the term "application".

I'm going to try and use the terms from our Application Architecture Conceptual View (written by two more of my new teammates Maarten Mullender and Mike Burner). Part of the issue is the overloading of terms like "service" and "process". In particular, I'll be using the following terms from the Application section of the conceptual view:

  • Business Service - A service exposing mission critical enterprise data. In crude terms, take a typical three tier architecture, and replace the presentation layer with a service façade. I've been known to call this a "data-oriented" service.
  • Process Service - A service that ties together other services into a larger business process. These services could be business services or other process services. I've been known to call this a "task-oriented" service since business process is typically tied to business tasks.
  • User Interface - A system that is designed to interact with a user and leverages one or more services on the back end. I'd like to call this an application, but I'm worried people will think I'm talking about a tightly coupled system rather than a UI on top of a set of loosely coupled services.

Maybe, as a community, we can come up with standard definitions or even better names for some of these elements.

BTW, just because I'm avoiding the use of the word "application" doesn't mean that application architecture goes away. If you look at books like P of EAA, there are patterns for building user interfaces (such as web presentation and session state) and patterns for building business services (such as domain logic and data source). Even if the business services and user interfaces are separate and loosely coupled, these patterns are still entirely relevant.

Posted By at 5:28 PM Pacific Daylight Time
Comments are closed.

SoCal Code Camp

PDC08

patterns & practices
Summit 2008

Change Congress
Recent Bookmarks
Tags .NET Framework (2) ADO.NET (5) Agile (7) AJAX (3) Architecture (284) Guidance (6) Interop (2) Modelling (61) Patterns (7) Process (4) SOA (93) Web Services (5) ASP.NET (24) Battlestar Galactica (3) BI (2) BizTalk (4) Blogging (115) dasBlog (11) Podcasting (4) BPM (1) C# (10) C++ (4) Capitals (5) CardSpace (3) CLR (2) College Football (10) Comedy Central (1) Community (81) Concurrency (6) Consumer Electronics (1) Database (13) Dependency Injection (2) Development (117) C Plus Plus (1) Embedded (5) Lanugages (37) Media (2) P2P (11) Rotor (1) SharePoint (6) SOP (3) DIY (1) DLR (16) Domain Specific Languages (13) Durable Messaging (5) Dynamic Languages (10) Dynamic Silverlight (1) Education (3) Enterprise 2.0 (1) Entertainment (14) ETech (15) F# (51) Functional Programming (17) Game Development (2) Guidance Automation (3) Hardware (8) HawkEye (3) Hockey (29) Home Electronics (1) Home Network (5) Humor (5) IASA (1) Idempotence (3) infrastructure (5) Instrumentation (4) Integration (2) IronPython (44) IronRuby (12) Java (2) Job (3) LINQ (22) Live Mesh (2) Lost (1) Master Data Management (1) Media 2.0 (6) Microsoft (30) MIX06 (2) Mobile Phone (1) Monads (5) Morning Coffee (172) Object Oriented (4) Office (5) Open Source (5) Open Space (2) Operations (3) Other (135) Art (1) Books (1) Family (31) Games (18) General Geekery (26) Home Theater (1) Movies (23) Music (20) Politics (3) Society (1) Sports (37) Working at MSFT (15) Parallel Programming (3) Parsing Expression Grammar (16) patterns & practices (2) PDC08 (5) Politics (47) PowerPoint (2) PowerShell (34) Presentation (5) Projects (1) HawkWiki (1) Python (4) Quote of the Day (4) Refactoring (1) Research (2) REST (18) Reuse (5) Robotics (2) Rock Band (3) Rome (5) Ruby (23) Ruby on Rails (1) Sci-Fi (2) Scripting (4) Security (3) Service Broker (14) SharePoint (2) Silverlight (18) Social Software (1) Software + Services (2) Software Design (1) Software Factories (11) Software Industry (1) Spark (1) SQL Server (2) Stephen Colbert (1) TechEd (7) TechEd06 (1) TechRec League (1) Television (6) Travel (6) Unified Client (1) Unit Testing (4) USC (1) UX (1) Virtual PC (2) Visual Basic (1) Visual Studio (20) Volta (2) Washington Capitals (34) WCF (31) Web 2.0 (65) Web Services (5) WF (21) Windows Live (23) WPF (7) Xbox (1) Xbox 360 (53) XML (10) XNA (14) Zune (3)
Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion.