Friday, May 10, 2002
The quick and dirty list:
- SEI essays on software architecture.
- ISO TC 184 SC 5 WG1 Page on international standards regarding enterprise modeling and architecture.
- Documenting Software Architectures: Organization of Documentation Package, also available in PDF format. This document is the basis for a forthcoming book to be published by Addison Wesley on 5 July 2002 titled Documenting Software Architectures: Views and Beyond. The authors of the paper are the same authors of the book.
- Proceedings from Component-Based Software Engineering Workshop.
- Packaging Predictable Assembly with Prediction-Enabled Component Technology and the related document, Predictable Assembly from Certifiable Components.
Thursday, May 09, 2002
What is the essence of architecture? One of the best descriptions of software architecture is provided by Bredemeyer Consulting's Software Architecture Page. Despite the use of the dreaded word, architecting, the definitions provided capture the essence. My personal view is to consider architecture in its traditional form, which is the development of a high level design - the big picture. That is what those folks who design buildings for a living do. However, there are some marked differences between the original architects and software architects, which can be summarized in these three comparisons:
- Those who design buildings are have stringent education requirements and are licensed. There are legal definitions as to who can proclaim themself to be an architect. In software anyone can claim that he or she is an architect - and they frequently do just that. No credentials other than a proclamation and, perhaps, some references that will support the claim that they actually functioned as a software architect.
- Architects who design buildings are held to legal and engineering standards to which their designs must comply. Software architects can do pretty much anything they can get away with without legal or professional oversight.
- Building architects blend design with engineering constraints. They use both creativity and a good deal of science and math. Software architects may or may not employ either - and they are not compelled to do so in order to claim to be an architect.
Resources that I recommend include:
- Introduction to Software Architecture
- Software Architecture: A Roadmap
- Discipline of Software Architecture
- Architecture Blueprint: the 4+1 model
- Software Architecture: Foundation of a Software Component Marketplace
- Object-Oriented Software Architecture A Practitioner's Approach
- USC's Software Architecture Page
- UCI's Software Architecture Research Page (also see their ArchStudio 3 architecture development tool page).
- Software Architecture Resource Sites
- The Three "R's" of Mature System Development: Reuse, Reengineering, and Architecture
- A Two-phase Process for Software Architecture Improvement
- Don't Let Architecture Astronauts Scare You, an interesting and opinionated essay by Joel Spolsky
- Java resources related to architecture
- Redundant Arrays of Independent Components(RAIC)
- xADL 2.0 Architecture Description Language
- xArch XML Representation of Architecture
- A Formal Architecture-Based Approach to Software Integration Testing
Plans to withold from public disclosure? Yeah, and we need to destroy this villiage in order to save it, right?
Wednesday, May 08, 2002
Shedding Light. What are web services, and why is there so much debate about a definition? I subscribe to a large number of news services and this question arises, debate ensues, issues become murky and the process repeats itself. I go with the definition that is set forth in the W3C Web Services Architecture Requirements that states:
A Web service is a software application identified by a URI, whose interfaces and binding are capable of being defined, described and discovered by XML artifacts and supports direct interactions with other software applications using XML based messages via internet-based protocols.That wasn't too difficult. We have a definition that is sanctioned by an internationally respected body, and until a better definition comes along why not go with it? It certainly cuts through the hype spewing forth from Microsoft, Sun and the industry experts.
If you're interested in web services architecture the following resources are essential reading:
- W3C Web Services Architecture Working Group. Yes, the W3C is a politically-charged organization, but they are respected and set standards to which the squabbling factions (a.k.a., Oracle, Microsoft, Sun, etc.) pay close attention. Ignore their standards and what is happening within their working groups at your peril. It's also interesting to note that the W3C cites the Architecture Trade-off Analysis (ATAM) approach supported by the Software Engineering Institute as an influence. I have a few papers on ATAM in the December 2000 issue of my old Information Technology Newsletter. If you want solid information about ATAM and related approaches read Evaluating Software Architectures: Methods and Case Studies, which I reviewed on Amazon.
- IBM is another reliable source of information. I have long admired their objectivity, which I've witnessed firsthand in numerous consulting engagements where they have played a role (they have no problem recommending products that compete with what IBM sells, and will not hesitate to provide professional support for those products as well). In the web services domain they publish some of the best information that is available from a commercial vendor. One such document is Web Services Architecture Overview, which is entirely consistent with the W3C views cited above. I also like their PDF document titled Web Services Conceptual Architecture, which is packed with information and describes architecture in both abstract and practical terms. Introduction to Web Services Architecture is a more generic paper published by IBM, and is well illustrated (a picture is worth a thousand words in this case). Web Services and UDDI look beneath the architecture at some of the moving parts, and related whitepapers complete the picture.
- Web Services Architectures: How they stack up, also available as a PDF document, is an interesting comparison of different approaches to web services architectures.
- Yet another source of information (and viewpoint) is the O'Reilly Web Services FAQs, which address the technical underpinnings more than the architecture. Their book titled Web Services Essentials, and another book (published by Addison Wesley) titled XML, Web Services, and the Data Revolution are worth reading.
- Architecting Web Services by William L. Oellermann Jr. is a still valid early work that attempts to do the right thing: define an architecture that is traceable to business requirements. Although this book goes into technical details, it remains at a high enough level of abstraction to be a book about architecture. I especially like the book's web site, which provides a test environment that allows you to test your web services, and other resources. While this book is not strictly about architecture, it comes the closest to addressing web services architecture in the real world than any other I've read (or read about).
- Doug Kaye's Web Services Strategies weblog, which contains news, opinions and trends.
Bright Light. When Kate does return I promise that I'll make sure she stays around, and her place will never be filled until that time.
Tuesday, May 07, 2002
XML Update. One of the themes I've started this month has been web services, with a focus on some of the common building blocks such as VoiceXML, and specifications such as the Web Services Flow Language. I'm going to provide a few updated links on ebXML, which is in a constant state of change and is emerging as an important standard.
Technical specifications, white papers and reference materials are available at ebXML.org's specification page. This is a primary source of up-to-date information, work in progress documents and deliverables related to ebXML. If you're unclear about what ebXML is and why you should be paying attention to it, the site's FAQ will answer any basic question and provide the business and technical reasons for ebXML.
Another source of information is Sun's online whitepaper titled Overview of ebXML Specifications. This paper sorts our the specifications and their relationships to one another.
Monday, May 06, 2002
- Los Angeles Oracle User Group has always been a great source of information, especially since I live nearby. Their site has an extensive library of presentations from past meetings and other useful info.
- Ari Kaplan's page is one of those content-rick pages off the beaten path. Highlights are the extensive collection of Oracle tips and an equally extensive collection of links. In addition, he has six informative PowerPoint presentations that you'll want to download:
- Steve Rea has an impressive collection of tips and scripts
- Oracle Power is a portal dedicated to Oracle, and contains an impressive amount of information and content.
- DBA Support is another Oracle-oriented portal that is worth bookmarking. Yet another Oracle portal, and one that impressed me, is Oracle Base.
- If you're looking for free Oracle and UNIX scripts and/or free and inexpensive tools, you'll like Oriole Corporation.
- DB Domain has a large listing of Oracle freeware and shareware utilities that are worth checking.
- If you're learning Oracle, do bookmark Teach Yourself Oracle 8 in 21 Days. This is the online version of the popular paper book of the same title.
- Two commercial sites that sell innovative and/or inexpensive utilities that DBAs will love are:
- Expand Beyond which sells DBA and admin tools that run on PDAs (both WIN CE and PalmOS), that allow DBAs to reach their instances over wireless connections. This is an excellent approach for Tier 2 and 3 DBAs, and the ROI can be significant for mission-critical databases.
- Benthic Software, which sells some of the best, cost-effective tools I've used. When I was roped into DBA chores a few years ago I purchased the full suite of tools, most of them in the USD 20.00-35.00 range. If you write SQL queries I highly recommend Golden, and if you write a lot of PL/SQL scripts you'll find the $35.00 USD cost of PLEdit to be a bargain.
Loose Ends. A few other documents and presentations tie any loose ends left from last week's entries. My descriptions are terse, but each is interesting and worth downloading and reading:
- Software Engineering Processes at Start-Ups (interesting presentation to say the least!)
- System Success Models
- High Dependability Computing in a Competitive Environment
Subscribe to Posts [Atom]