Saturday, February 09, 2002

Architecture. One of this entry's topics is architecture. There are three starting points that I recommend:
  1. Jan Bosch's home page. Mr. Bosch is the author of Design and Use of Software Architectures, which I reviewed on Amazon on 30 April 2001. I recommend Mr. Bosch's page and the book because it extends the Software Engineering Institute's Architecture Trade-off Analysis Analysis (ATAM) approach in ways that fill gaps that I feel are in the ATAM. This is not criticism of ATAM itself, because it will assure consistency and realism in defined architectures. That I prefer Mr. Bosch's approach reflects my preference, but does not exclude other methods and approaches that are equally valid. Remember, there is no such thing as a perfect model or approach, but some are more useful than others.
  2. USC Center for Software Engineering's Software Architecture group is an excellent source of leading edge research and information.
  3. Gert Florijn's software architecture resources has links to all of the major architecture sites on the web.
In addition, I recommend Kevin J. Sullivan's page at the University of Virginia, especially his Learning Java page, which has architecture-related papers and resources. You will also find a few documents and links in the December 2000 issue of the Infrastructure Management Newsletter that Linda and I published before we discovered weblogs.

Open Source. There are two open source Oracle tools I want to share:

  1. Oracletool, which is an interactive, web based application that runs as a CGI script using your web server.
  2. TOra, which is a cross platform toolkit for Oracle which features an SQL worksheet with PL/SQL block parsing, PL/SQL debugger and editor with syntax highlighting, Schema browser, UNICODE support, printing and a full suite of DBA management tools.
Parting Note: In my 9 February Postcards from the Revolution entry I discussed security issues and made a number of recommendations. Among them was a recommendation to incorporate security testing for shrink-wrap and developed software. One source of security testing information that is complete is Donald Firesmith's security testing resource page. Another source of information on the subject is SEI's Engineering Practices page, which is a gateway to survivable systems information, commercial-off-the-shelf software (COTS) considerations, performance-critical systems and other topics that tie into security and architecture.

Friday, February 08, 2002

Opening note: If you've been following the UCITA dicsussion that Linda and I started in our 27 January entry, I just added more information in today's entry in Postcards from the Revolution.

My adventures in Aspect-Oriented Software Development (AOSD), or more specifically, learning about AOSD, have given me a basic understanding of the method, and has led me to some interesting information that is scattered about the web.

What is it and why should you care? The heart of the method is separation of concerns. In other words, AOSD recognizes that those who have requirements, those who elicit and document the requirements, and those who write specifications have concerns that are often uniquely different for each stakeholder or role player. Of course, developers have their own set of concerns. From my still new view of AOSD (I only discovered it existed a few days ago) the method synthesizes the different concerns (aspects).

What is remarkable, though, is the influence that AOSD appears to have over a number of projects. For example, it has been adapted to components, which is evidenced by the Aspect-oriented Component Engineering page that is maintained by Dr John Grundy at the University of Auckland, NZ. It is also embraced by Concurrent Programming Research Group at the Illinois Institute of Technology, and has influenced a number of projects at USC's Information Science Institute. Some specific projects that employ or reference AOSD include:

These projects have two things in common: (1) a connection to AOSD, and interesting implications for knowledge and/or information management on an ambitious scale. That aside, the reason these projects were cited is because I was led to them as I drilled down into AOSD references.

It doesn't end there, however. My quest also took me to Xerox's PARC, where I found a paper titled Why are Black Boxes so Hard to Reuse?, subtitled Toward a New Model of Abstraction in the Engineering of Software. This paper was a part of the Open Implementation Group, which appears to have started the AOSD movement in the first place. I may be wrong about that, but it does appear to be the case.

I'm still researching AOSD and will share any interesting tidbits in future entries.

Shifting gears: a site with the improbable name, Coyote Valley Software, has valuable tools (Product Life Cycle, Software Requirements and design specification templates), and models (Satir Change Model and Requirements Mind Map) that are valuable and indicative of Brian Lawrence's generosity. Mr. Lawrence has had this site up since 1998 and his helpful spirit and willingness to freely share has greatly influenced me.

I've been corresponding with Manisha Saboo about software quality for months. Manisha has graciously given her time to assist another friend, Tanya Vinta who is pursuing certification as Certified Software Quality Engineer. Tanya and I first met on a project that started in Bethesda, MD and migrated to Kansas City. The following documents are for Manisha, Tanya and anyone else who is serious about quality:

I also have a document titled Component Scalability that architects and developers involved with component-based software engineering will find useful.

Tomorrrow's entry will address architecture, refactoring and design patterns. I also have two open source Oracle tools to share. Until then it's goodnight from Tustin, California.

Thursday, February 07, 2002

More on web services: a ZDNet news item dated 6 February, Software Giants Unite for Web Services, reported that Bea Systems, Microsoft, Intel and IBM are expected to launch a new industry consortium aimed at promoting Web services. The group is called the Web Services Interoperability Organization, which bodes well for the future of compatible and interoperable web services - if the consortium does not fall apart.

That news led to a weblog I discovered today called VoidStar. The author is Julian Bond and the content is excellent. He augments his weblog with essays which are well-written and carefully thought out. The essay that led me to his site in the first place (I was searching for Web Services Interoperability Organization) is titled Web Services Are .... That led me to the Syndic8 Project, which in turn led me to an article by Mr. Bond titled Content Syndication: The Syndic8 Project. It doesn't end there. I clicked back to VoidStar only to discover another tidbit that has Mr. Bond's touch:, which is the official website of an open source engine called Dupral. This engine is designed to power content management and discussion applications. The project's mission is to develop a leading edge open-source content management system that implements the latest thinking in community publishing, knowledge management, and software design. Chalk one more up for the open source movement.

A significant item from the open source movement was reported in The Register titled DARPA funds open-source bug hunt. You can be sure that when the Defense Advanced Research Projects Agency cuts loose funds with the goal of hardening open source software that open source has become mainstream.

SAP AG has also joined the open source movement with the release of SAP DB as an open source database. See SAP DB Database Tools for what the release encompasses. If you're new to open source be sure to visit (and bookmark) Open Source Development Network.

I'm going to end with two IBM resources that impress me:

  1. Advanced Enterprise Middleware Group page, which features an impressive list of publications and some interesting projects.
  2. Web services: Articles, columns & tips
Tomorrow I'll share the fruits of my investigation of Aspect-Oriented Software Development that I mentioned in yesterday's entry. The preliminary research has led to some interesting information - come back tomorrow and read about it.

Wednesday, February 06, 2002

In today's Postcards from the Revolution entry I addressed risks from project and operational perspectives. For software engineering professionals the MJY Team's Software Risk Management Site is a goldmine of papers and other resources on software risk management. Most of the material is in both HTML and MS Word formats. If you want to see how software project planning should be done you should also see their Project Documents page, which is a real life example of project management best practices.

Earlier I was reading Doug Kaye's weblog and noticed a link to I clicked on the link and was rewarded with a weblog that covers every aspect of web services, and a site that web architects and developers will want to bookmark. While looking around I also discovered Web Services Architect, which nicely complements and augments If you're interested in the topic of web services architecture I recommend Architecting Web Services by William L. Oellermann Jr. and visiting the book's companion web site. Linda reviewed this book on Amazon on December 17, 2001 and I wrote a review on December 13, 2001.

Component-based software engineering is related to web services. This topic is important to me because I work closely with Unmesh Laddha who is the CEO of Thinking Minds, Inc. Unmesh's company has a hybrid business model in that it specializes in component-based software development as well as system integration. Two documents that will be interesting to anyone who works with or is considering components are:

  1. Component Evaluation Process
  2. Component Assessment Using Specification-Based Analysis and Testing
An excellent book on the topic is Component Based Software Engineering: Putting the Pieces Together (see my review on Amazon dated September 11, 2001 - an easy date to remember).

An excellent source of information for developers and architects, regardless of paradigms, methods or frameworks, is ArsDigita Systems Journal. The stated mission of this publication is to distribute knowledge acquired during the construction and operation of Web-based information systems. Among the resources from the site is SQL for Web Nerds, which is a quick, but complete, overview of SQL. The example environment is Oracle, and it addresses SQL*Plus and PL/SQL. If you need to brush up on either SQL*Plus or PL/SQL I found two 21-lesson tutorials: SQL*Plus and PL/SQL. In addition, there is a well written tutorial titled Introduction to Javascript if you want to get up-to-speed and functional in Javascript programming.

A more complete database resource is Christopher R. Baker's database links that cover Interbase, MySQL, Oracle and PostgreSQL. This site also has an interesting page on open source.

End note: I just discovered a method called aspect-oriented software development, which is a new technology for separation of concerns (SOC) in software evelopment. The techniques of AOSD make it possible to modularize crosscutting aspects of a system. I now have something to occupy me while I learn more about it and determine if it's worthwhile or the method du jour. I'm sure you'll be reading more from me in future entries--good or bad--as my opinions form (and I always have opinions and am not shy about expressing them).

Tuesday, February 05, 2002

On 3 February I was waxing enthusiastic about XML and its many possibilities. Today I'm going to provide some of the sites where I've been spending time:I'll end with a site for Java developers called Java Boutique. This site is organized into Applets, Articles, Forums and Other Resources.
Here's a piece of little-known trivia: the FAA was one of the driving forces behind SEI's CMMI initiative. While SEI makes a large number of the CMM documents available free of charge, they are in PDF format and difficult to tailor. On the other hand, the FAA provides their version, called FAA-iCMM version 2.0, in PDF, HTML and MS Word formats. A caveat: the FAA iCMM and SEI's CMMI are not identical. Either read Mapping Table Supplement to the FAA-iCMM online or download it in MS Word format to see how the FAA iCMM maps to SEI's CMMI and other source standards (including ISO9000).

If you're a developer who wants soft copy reference material you'll be happy to know that Bruce Eckel has made his books available in HTML and MS Word formats - and they're free. Who is Bruce Eckel and what did he write? Read about the who and take the time to express your appreciation to this remarkable and generous man. The what: he wrote Thinking in Java and Thinking in C++, both of which may be freely downloaded. Notice that he also has a work-in-progress titled Thinking in Patterns that can also be downloaded in Word format.

An excellent online security resource is the IT Security Cookbook. If you're interested in IT security you might also want to bookmark our infosec page, which contains topics on general IT security, business continuity planning/disaster recovery, and information warfare. One of the best links to a single source of security information that I've found is the Computer Security Resource Center. If I need to research any IT security topic that is the first URL to which I go.

Before ending I have to share one last resource called 1 SQL Street. If you use SQL, want to learn SQL or are a master who does not impress easily this site will have something for you. It covers the ANSI standard, as well as the vendor-specific versions, such as SQL*Plus.

Monday, February 04, 2002

I just floated an idea in my 4 February 2:42 PM entry in Postcards from the Revolution weblog. If you're implementing operational processes and procedures please read that entry and let us know what you think.
Earlier today I was looking at one the web pages that Linda and I have up: Software Reliability and Testing Resources. Even though I helped design the page and gather the content I was surprised by some of the documents that we'd placed there because they represent the cream of the materials that she and I had gathered over the past two years. I can immodestly say that if you're seeking reliability or testing information this should be one of the first places to look.

If you're involved in WAP or mobile commerce there are two PowerPoint presentations that are essential:

  1. Wireless Application Protocol. The 100 slides in this presentation cover WAP in great detail. Regardless of whether you're designing, developing or managing WAP applications you should grab this presentation and study it.
  2. M-Commerce: Mobile Applications. All you need to know that's important is contained in this 36-slide presentation.
Both presentations are from Sridhar Iyer's page, which I mentioned in my 2 February entry. The more I explore this site the more gems I dig up.

SEI's Software Technology Review resource has an excellent overview of Java from a software engineering perspective. A more specific paper is Building a Java Software Engineering Environment. Software Methods & Tools is a more general resource that is also augmented by a quarterly newsletter to which I've subscribed for the past four years. If you're an advocate of software engineering process improvement you should explore the site and sign up for the free newsletter.

Sunday, February 03, 2002

Harshal Laddha has once again shared some interesting links. These are to an open-source project dedicated to providing development tools for processing biological data. The project encompasses BioPerl, BioPython, BioXML, BioCORBA and BioDAS. The last is distributed annotation system (DAS). DAS is a client-server system in which a single client integrates information from multiple servers. It allows a single machine to gather up genome annotation information from multiple distant web sites, collate the information, and display it to the user in a single view.

If you are in the bio technologies industry and these links are of interest, also check out the O'Reilly Bioinformatics Technology Conference and the Bioinformatics Open Source Conference pages.

My interests are not in specific development tools as much as in the almost limitless potential of XML. One personal project that Linda and I have been discussing is developing IT service and applications delivery DTDs. We initiated a disucssion of DTDs that has stalled. Although there appears to be little interest in discussing this topic, I'm convinced that such DTDs have possibilities. Consider the value of DTDs for the following:

Some of the resources we've been using as primary research for this include: O'Reilly's XML page, XML Times and Perfect XML. Of course we also closely follow the W3C XML page.

Althought not directly related to XML, I frequently refer to Developing Quality Systems: A Methodology Using Structured Techniques as a sourcebook of ideas for the data structures that would feed the applications and service delivery DTDs. This out-of-print book is worth tracking down because, in addition to providing metrics and dataflow diagrams for a quality and project management system, it provides a data dictionary. Another book that is related to XML to which I frequently refer is Metadata Solutions: Using Metamodels, Repositories, XML, and Enterprise Portals to Generate Information on Demand.

Final note for the day: If you're interested in CMMI then the February issue of CrossTalk is essential reading. The entire issue is dedicated to capability maturity model integration and the articles are outstanding.

I'm off to enjoy what's left of the Tustin, California sunshine. (Linda, by the way, is in Hawaii on vacation all week.)

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]