Redesign and Development of

Web-Based Middle-Tier Database

Student D

Computing & Software Systems

Master of Science

Institute of Technology

University of Washington, Tacoma, WA

Project Type: TCSS 701 Internship in Computing and Software Systems

Committee Chair: Smith, Ph.D.

Committee Member: Jones, Ph.D.

Date of Submission: May 19, 2004

Abstract

The Adapter Development Group (ADG) within CompanyA Information Technology is responsible for adapter programs that enable applications to interact with other middleware components. The Adapter Requirements Document (ARD) is a database and Web service tool used to document customer requirements for ADG adapters. The ADG team employs the database to record adapter requirements, track work load processes, identify reuse opportunities, and maintain other critical information about adapter functionality, corrections, and operating environments. Although the database has been an efficient project management tool, recent added functionality has made it difficult to use and non-scalable. The project goal is to redesign and develop the ARD database and Web service tool, creating a scalable, accessible solution.

Technical Proposal

The project proposal is summarized under the Project Objective subheading. Background information, the Project Overview, and Resources are then detailed.

Project Objective

The project seeks to redesign and develop the Adapter Requirements Document (ARD) database and Web service tool for CompanyA’s Data Interchange Services Adapter Development Group. The project covers the full cycle of software engineering, including requirement gathering, system design, testing and development, validation, documentation, and maintenance planning. The solution will implement Web development and database design and require a comprehensive understanding of middletier technologies.

Background

CompanyA Company is a Fortune 200 forest products company with roughly 57,000 employees in 18 countries ( The CompanyA Information Technology Intern Program is designed to develop interns into highly valued IT professionals. Interns gain professional experience with current technology while contributing to significant projects, learning while performing meaningful work ( ).

CompanyA has a multiyear strategy of n-tier application development using an object-oriented, component based engineering approach to software delivery and integration. The Integration and Web Services - Data Interchange Services (DIS) department implements middle-tier solutions for inter-system integration using CompanyA-developed components. The Adapter Development Group (ADG) is responsible for construction of component-based software, using Microsoft COM/DCOM (VB, C++) or UNIX, and adapter programs that enable applications to interact with other middleware components. CompanyA Integration Architecture (WIA) is a corporate standard for enterprise-wide inter-application messaging. WIA is a collection of tools, technologies, and processes that include IBM MQSeries, MSMQ, and Mercator software for message-brokering and data mapping. WIA activities include the enhancement of the WIA infrastructure and implementation of WIA on specific projects using Microsoft COM technologies, XML, SQL Server, Perl, C++, C, and Visual Basic for construction of application interfaces. (Source: internal assignment description).

Project Overview

The Adapter Requirements Document (ARD) is a database and Web service tool used to document customer requirements for ADG adapters. The ADG team employs the database to record adapter requirements, track work load processes, identify reuse opportunities, and maintain other critical information about adapter functionality, corrections, and operating environments.

The database has been a timesaving project management tool, but functionality added over time has made it more complex and difficult to use. Numerous patches have made ARD a non-scalable, burdensome device.

Resources

Although this project is primarily the responsibility of the intern, it will be accomplished with the support of a team of approximately five Information Technology professionals. The work will require use of standard computing equipment in an office environment, to be furnished by the sponsoring organization for the duration of the internship. Anticipated software tools include SQL Server 2000, SQL Analyzer, Microsoft Message Queuing (MSMQ) Visual SourceSafe and Visual Studio (Visual C++ and Visual Basic), Mercator, and IBM Websphere MQSeries. Microsoft COM/DCOM is used for constructing component-based software. Platforms used are HP-UX 11, including aCC and CORBA, and AS/400 and/or RS/6000.

Additional resources may be employed subsequent to research conclusions, and subject to availability. After completion of the internship, the system will continue to reside on sponsoring company’s computing equipment.

Related Work

The project features Web-based database design in a middle-tier technologies environment. These are both broad areas, rich in supporting research. The project’s research focus will necessarily be guided by the sponsoring organization, and narrowed during requirement gathering.

The different classes of middleware products, their overlapping functionality, and proposals for consolidation are discussed in [1] and [11]. The systematic reuse of middleware to provide standardized solutions to programming tasks is the topic of [10], with special emphasis on the interrelationships of patterns, frameworks and middleware. Reusable domain-specific middleware has shown significant potential to improve quality and cycle-time for application software [10]. The benefits of an object-oriented approach to network programming and CORBA technology are discussed in [7].

A methodology for Web-based database application development proposes three phases: structural design, detailed design, and implementation [8]. Design methodologies for data-intensive web sites are proposed by [3], [6] and [9]. Integrated Web-database environments are under study with research prototypes Araneus, AutoWeb, Weave and Strudel, and the commercial product Oracle Designer [3, 4, 5, 6, and 9]. Prototyping Web applications is central to the development strategy of [2], which describes a methodology and a set of online software tools for fast-prototyping.

References

[1]Bernstein, P., “Middleware: A Model for Distributed System Services,” CACM, Feb. 1996.

[2]Bochicchio, M., Fiore, N., “WARP: Web Application Rapid Prototyping,” Proc. 2004 ACM Symposium on Applied Computing (SAC 04) (Nicosia, Cyprus), pp.1670 – 1676.

[3]Ceri, S., Fraternali, P., Paraboschi, S., “Design Principles for Data-Intensive Web Sites,” SIGMOD Record, vol. 28, no. 1, Mar. 1999, pp. 84 – 89.

[4]Fernandez, M., Florescu, D., Kang, J., Levy, A., and Suciu, D., “Catching the Boat with Strudel: Experiences with a Web-Site Management System,” Proc. ACM SIGMOD Int’l Conf. Management of Data (SIGMOD 98) (Seattle), pp. 414 – 425.

[5]Fernandez, M., Florescu, D., Levy, A., and Suciu, D., “Declarative Specification of Web Sites with Strudel,” Very Large Data Bases (VLDB) Journal, vol. 9, no. 1, 2000, pp. 38 – 55.

[6]Fraternali, P., “Tools and Approaches for Developing Data-Intensive Web Applications: A Survey,” ACM Computing Surveys, vol. 31, no. 3, Sep. 1999, pp.227– 263.

[7]Griffin, I., Donnelly, M., and Nelson, J., “CORBA: The Software Bus,” Linux Journal, vol. 1998, issue 48es, Apr. 1998.

[8]Hsieh, S., “Software Engineering for Web Application Development,” Journal of Computing Sciences in Colleges, vol. 19, no. 1, Oct. 2003, pp. 10 – 19.

[9]Merialdo, P., Atzeni, P., and Mecca, G., “Design and Development of Data-Intensive Web Sites: The Araneus Approach,” ACM Transactions of Internet Technology, vol. 3, no. 1, Feb. 2003, pp. 49 – 92.

[10]Schmidt, D., Buschmann, F., “Patterns, Frameworks, and Middleware: Their Synergistic Relationships,” Proc. 25th Int’l Conf. Software Eng.(ICSE 03), (Portland), pp. 694 – 704.

[11]Stonebraker, M., “Too Much Middleware,” ACM SIGMOD Record, vol. 31, no. 1, Mar. 2002, pp. 97 – 106.

Validation of Project (criteria of success)

The project will be evaluated against supervisor and user satisfaction. The intern assignment supervisor will measure effectiveness of the system based upon solution appropriateness, timeliness of delivery, ease of use, maintainability, and overall degree of suitability. The supervisor will provide written performance evaluations to document what has been accomplished, how it has been accomplished, and recommendations for future growth and improvement. Feedback may be solicited from team members and customers. The Final Performance Feedback form will summarize intern performance (source: professionalDev.asp).

Potential Barriers to Success

The most apparent threat to project success is competing workload requirements. Redeveloping the database and Web tools has been a high priority with the department, but it has been consistently displaced by other, higher priority projects. Management has raised the priority on this project and designated a specific individual (the intern) to be responsible, indicating an increased commitment to successful project completion.

A second possible barrier to success is that project requirements are unrealistic or too far reaching. This appears to be unlikely, as the prototype database tool has already been developed. However, if unreasonable project specifications are uncovered during requirement gathering or implementation, it will be critical to keep the team members informed and revise project requirements accordingly.

Written Deliverables

Documentation provided to the sponsoring organization will include, but not be limited to, source code, process flow diagrams, and adetailed user manual. Prior to delivery to the Graduate Committee, proprietary documentation will need to be edited and generalized so as to maintain company confidentiality. Deliverables to the Committee will include a final report detailing:

  1. the analysis and selection criteria for tools and methodologies utilized in the system design,
  2. an overview of the system design,
  3. challenges encountered in the implementation, and their resolution, and
  4. a summary of system effectiveness and user satisfaction.

Oral Deliverables

Results will be demonstrated and presented at the autumn 2004 quarter CSS Colloquium, held in December. The presentation will include a summary of the tools used in the implementation, rationale for their inclusion, and analysis of the system effectiveness.

Educational Statement

The project’s heavy emphasis on database design will reinforce concepts learned in Database Systems Design. Software Development andQuality Assurance Techniques presented a foundation in software engineering tools, OOAD, and testing methodologies. Concepts of networking, message-brokering, and middle-tier components learned in Applied Distributed Systems will be extended. The design patterns learned in Advances in Object Oriented Design construct a groundwork for middleware pattern reuse.

Participation in this project will develop a comprehensive understanding of middle-tier technologies used in building practical and robust business solutions. The intern will learn critical hands-on aspects of software engineering including industry-standard tools, models, and methodologies.

Professional Development (source:

professionalDev.asp)

IT Interns typically prepare an Individual Development Plan (IDP) with the support of their mentor and/or supervisor. Common development objectives for interns are to:

  • Gain a career focus
  • Develop specific technical competencies
  • Develop a specific non-technical competency.

These objectives are achieved by applying learnings from the different development opportunities available in IT and the intern program:

  • Weekly developmental activities
  • Mentoring relationship. Each IT intern is matched with a mentor who pays attention to the intern's professional development. This is in addition to the intern's supervisor, who focuses on the intern's job duties and performance.
  • Coaching and counsel from intern program staff and supervisor
  • Instruction from team members
  • Learning from work experience
  • Discussion groups
  • Education/training opportunities such as CBT (Computer-based Training) and classes
  • Informational interviews and job-shadowing.

Timeline and Milestones

Weeks 1 – 3:Evaluate current system’s features and assess deficiencies. Gather user requirements.

Weeks 4 - 6:Research available tools and methodologies for solutions.

Weeks 7 - 9:Design system.

Weeks 10 - 12:Develop using development mode.

Weeks 13 - 15:Launch in test environment, reengineering as needed.

Weeks 16 - 18:Continue testing and reengineering. Evaluate system effectiveness. Begin documentation for user manual. Identify, plan, and document maintenance requirements.

Weeks 19 - 22:Release. Make necessary final system refinements. Complete system documentation and related diagrams, and prepare final report.

Weeks 23 - 24:Prepare for colloquium presentation.

1