Saturday, February 09, 2002
- 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.
- USC Center for Software Engineering's Software Architecture group is an excellent source of leading edge research and information.
- Gert Florijn's software architecture resources has links to all of the major architecture sites on the web.
Open Source. There are two open source Oracle tools I want to share:
- Oracletool, which is an interactive, web based application that runs as a CGI script using your web server.
- 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.
Friday, February 08, 2002
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:
- WebScripter - a tool that enables users to easily and quickly assemble reports extracting and fusing information from multiple, heterogeneous Web sources that use DARPA Agent Markup Language (DAML).
- SIM-TBASSCO - Semantic Interoperability Measures: Template-Based Assurance of Semantic Interoperability in Software Composition (from where do they get these names?). SIM-TBASSCO helps software developers engage in guided, efficient searches and evaluations of the set of alternative system implementations that can be built with the components available to them. It will let developers evaluate components' functional and data equivalence compatibility, find pertinent data conversion mappings, and predict performance (time, space, network) of a component architecture under specific usage situations and hardware/networking environments.
- Information Agent Research - intelligent techniques that enable heterogeneous information integration to be simple, powerful, and efficient.
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:
- Defect Prevention
- Defect Root Cause Analysis
- Life Cycle Testing
- SQC Peer Reviews (this is a ZIP archive that contains a document titled SQC Peer Reviews in PDF format, and MS Word files that support peer reviews (procedure, templates and forms).
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
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: Drupal.org, 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:
- Advanced Enterprise Middleware Group page, which features an impressive list of publications and some interesting projects.
- Web services: Articles, columns & tips
Wednesday, February 06, 2002
Earlier I was reading Doug Kaye's weblog and noticed a link to webservices.org. 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 webservices.org. 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:
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
- XML Directory is rich with XML resources, including Applications & Tools, vendor products, whitepapers and links to more resources.
- Top XML is more developer-focused and prides itself on haveing 160 zip files of working code, 78 PDF files of documents and 2,226 pages of articles and code snippets. In other words, a treasure trove for XML developers.
- IBM's XML Zone is my favorite. The articles and tools are consistently excellent, and it features columns that are written by knowledgeable professionals. One article that I particularly liked is XML at ibm.com, which shows how IBM uses XML in their own e-commerce infrastructure.
- Construction and Presentation of Information in the Visual Arts is a look at the practical use(s) of XML and XSL for information dissemination. If you're involved in knowledge management, portals or online publishing this page is a gem.
- Web Developer's XML page is for developers and leads to XML Resources, as well as sections on XSL (XSL-FO, XSLT, XPath), XLink and XPointer, XHTML, XML Schema, SOAP, VoiceXML and much more.
- The XML Club is an interesting collection of resources. It's smaller than some of the collections listed above, which makes it easier to navigate. It has articles that I haven't seen elsewhere, which makes it worth a visit.
- A two-part series on XML from Online Journalism Review underscores the power of XML in information management. The parts are:
- Sun's XML page is a source of information that is especially useful to Java developers.
- Programming in XML and Java is a university course from Rensselaer Polytechnic Institute. The materials are suitable for professionals as well as students.
- No list of XML resources would be complete without something from Oracle. Their technical note on Connecting Businesses with XML, XSQL, and AQ shows they have a great strategy and a compelling story to tell.
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
If you're involved in WAP or mobile commerce there are two PowerPoint presentations that are essential:
- 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.
- M-Commerce: Mobile Applications. All you need to know that's important is contained in this 36-slide presentation.
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
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:
- Issue management (problems, enhancements, change control)
- System configuration management
- Software configuration management
- Test summary reports (product acceptance/functional qualification, regression)
- Release management
- Integration of production and project issues
- Operations logs
- Status Reports (project progress, problem management, change management, weekly operations)
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.)
Subscribe to Posts [Atom]