SOUTHWEST RESEARCH INSTITUTE

Information Systems Engineering

 

Technical Expertise

 

Search SwRI

   

SwRI Home | Print Version


Staff

Accomplishments


Full Life Cycle Development

Business Process Reengineering

Flexible Teams

Systems Integration


Systems Engineering Process

Technical Expertise









 

 

 

image illustrating the benefit of having the right tool for the right job

 

Right toolright job

"Right Tool — Right Job"

The old adage, "Use the right tool for the right job," definitely applies at Southwest Research Institute (SwRI). Although we utilize the latest cutting-edge technological advancements in software development, we adhere to the standard of using the right technology as dictated by our customers and their projects.

 

The Information Systems Engineering Department at SwRI consists of more than 80 technically degreed staff and support professionals who hold degrees ranging from bachelor to doctorate in computer science, mathematics, and a variety of engineering disciplines.

 

As one of the premier technology sectors of SwRI, we are here to provide you with service, experience, and the peace of mind that comes with working with the best professionals in software development. Many different technologies are used by our staff in providing solutions to customer needs and, although the specific technologies may differ from project to project, each selection is carefully and critically reviewed to ensure that it is appropriate.

 

The utmost attention to detail is placed on using the right tool for the right job or, in our case, the right technology. Selecting the improper technology solution can cost in time, resources, and your confidence. For example, when choosing a programming language, we focus on some of the following factors:

  • What is the impact the language has on the entire software development lifecycle — not just the ease of use when developing programs?

  • Does the language provide support to prevent certain classes of error?

  • What is the ease of use for maintenance and analysis for proposed changes?

  • Does the language support a methodology to address efficiency concerns?

At SwRI, we strive to work with all of our customers to aid in the proper technical solutions selection, but we also understand that often software and tools are previously determined. In those cases, we use the technology specified by you, the customer. We will not only utilize the right tools, but we will also provide enhanced support to enable the more efficient and effective usage of any previously selected technologies. Some of the technical services offered by SwRI include:

  • Service-Oriented Architecture

  • Database technologies

  • Programming languages and technologies

  • Project management

  • Software development lifecycle

Service-Oriented Architecture (SOA)

What is SOA?

SOA is a collection of software components that encapsulates business logic within services that interact via a common communications protocol for legacy and enterprise cross-application integration. Services are software components that are created with well-defined interfaces that are implementation-independent. SOA provides for the separation of the service interface or "the what" from its implementation, "the how." Services are consumed by clients who are not concerned with how the services will execute their requests. This decoupling, or separation, allows for the flexibility to create composite services from aggregates of other services.

image of SOA graph - OA is a collection of software components that encapsulate business logic within "services" that interact via a common communications protocol for legacy and enterprise cross-application integration.

SOA is a collection of software components that encapsulate business logic within "services" that interact via a common communications protocol for legacy and enterprise cross-application integration.

In SOA, the software components can be exposed as services on the network, which allows reuse for applications. SOA is not a technology in a traditional sense, but a software architectural style for building software applications.

Why SOA?

Some of the benefits of using SOA include:

  • Ability to streamline process to improve business efficiency

  • Ability to provide a high level of flexibility

  • Reusability of components for different applications

  • Ability to maintain code — interfaces hide low-level implementation details

  • Ability to maintain platform independence

  • Ability to reduce time spent in developing new applications

  • Ability to save cost

Data Management Technology

Our data management technology solutions are focused on technologies that provide clients with timely access to relevant data with a minimum amount of wait time. Data management includes the persistence of data on permanent media and the transformation of data between disparate information systems.

 

SwRI has a group of employees dedicated to researching and expanding our capabilities to meet the ever-increasing demand for warehousing and other advanced database solutions. Our Data Management Section serves as the central source for the majority of knowledge and experience with respect to techniques and methodologies to store, secure, recover, maintain, administer, and retrieve persisted electronic data — especially as these relate to disparate database technologies.

 

At SwRI, we also utilize current technologies and incorporate new technologies to address the data transformation issues that need to be solved to move data across different systems.

image of interface diagram utilizing current technologies and incorporating new technologies to address the data transformation issues that need to be solved to move data across different systems

SwRI utilize current technologies and incorporate new technologies to address the data transformation issues that need to be solved to move data across different systems.

Challenges include:

  • Data duplication

  • Performance

  • Wait time

  • Transportation costs

The process of data transformation and transportation is controlled by thorough investigation of the systems and the development of an interface control document. SwRI staff use modern interface methodologies, design patterns, and various data exchange mechanisms.

Current and past projects consist of challenging database and interface development efforts to modernize legacy systems. The database management systems (DBMS) utilized predominantly in support of our projects include:

  • Oracle® 9i

  • Oracle 10g

  • Microsoft® SQL Server 2005

  • Intersystem's Cache 5.2

Programming Languages and Technologies

SwRI uses cutting edge technology, including several of today’s most popular programming languages, frameworks, and architectures. The list includes:

  • Java® 2 Enterprise Edition (J2EE) environment

  • C-#®, Microsoft® .NET, C++®

  • Common Object Request Broker Architecture (CORBA)

  • Web services

Java, More than Just Another Term for Coffee?

Java is a third-generation language (3GL) specifically designed to be used in a distributed environment like the Internet. It enforces an object-oriented model of programming, can be used to create complete applications, and can run as a stand-alone application or can be distributed on servers and clients in a network.

In today's distributed environment, Java has become one of the most popular and widely used programming languages and is often requested by our customers to be used as the primary development language on their projects. Some of Java's advantages and benefits include:

  • Versatility

  • Efficiency

  • Abstraction

  • Reusability

  • Portability, allowing creation of software on one platform and execution on virtually any other platform

  • Creation of programs to run within a web browser and web services

  • Development of server-side applications for online forums, stores, polls, HTML forms processing, and more

  • Combination of applications or services using the Java language to create highly customized applications or services

  • Creation of powerful and efficient applications for mobile phones, remote processors, low-cost consumer products, and practically any other device with a digital heartbeat

  image of schematic of Java application
 

Java is a third-generation language (3GL) specifically designed to be utilized in a distributed environment like the Internet.

What is Microsoft .NET?

.NET is a software technology that is available with several Windows® operating systems. The framework includes:

  • A large library of pre-coded program modules and solutions to common programming problems

  • A run time or virtual machine that manages the execution of programs written specifically for the framework

  • A set of tools for configuring and building applications

.NET is intended to be used by most new applications created for the Windows platform.

image of chart showing Dot Net, a software technology that is available with several Windows operating systems

.NET is a software technology that is available with several Windows operating systems.

Some of .NET's advantages and benefits include:

  • Provides environment for building, testing and deploying web services and other applications

  • Provides environment that is tightly integrated into the Microsoft Windows environment

  • Provides and manages much of the plumbing involved in developing software

  • Enables developers to focus on core business logic

CORBA

Common Object Request Broker Architecture, or CORBA, is an enterprise application technology created by the Object Management Group.  CORBA allows computer applications written in different languages and running on different machines to communicate.

image of chart showing CORBA, an enterprise application technology created by the Object Management Group that allows computer applications written in different languages and running on different machines to communicate

CORBA is an enterprise application technology created by the Object Management Group that allows computer applications written in different languages and running on different machines to communicate.

CORBA applications are composed of objects, or individual units of running software that combine functionality and data, and that frequently (but not always) represent something in the real world. Typically, there are many instances of an object of a single type.  For example, an e-commerce web site would have many shopping cart object instances, all identical in functionality but differing in that each is assigned to a different customer, and each contains data representing the merchandise that its particular customer has selected. For other types, there may be only one instance. When a legacy application, such as an accounting system, is wrapped in code with CORBA interfaces and opened up to clients on the network, there is usually only one instance.

Web Services

A web service is a self-describing, self-contained, modular unit of application logic that provides business functionality to a potentially heterogeneous set of client applications through standardized web protocols, such as service-oriented architecture protocol (SOAP).

  • Architectures based on web services are more readily capable of integrating wireless, data, and voice communication systems.

  • These types of architectures are sometimes referred to as context-based adaptive architectures.

image of chart showing web service, a self-describing, self-contained, modular unit of application logic that provides business functionality to a potentially heterogeneous set of client applications through standardized web protocols such as SOAP

A web service is a self-describing, self-contained, modular unit of application logic that provides business functionality to a potentially heterogeneous set of client applications through standardized web protocols such as SOAP.

Project Management

Project management is the careful planning and organization to accomplish a specific effort, like the construction of a building or the creation and implementation of a new computer system. At SwRI, project management is one of the keys to success.

Project management includes, but is not limited to:

  • Defining the project

    • Goals

    • Objectives

    • Baseline deliverables

    • Cost

    • Schedule

    • Work breakdown structure

    • Stakeholders

  • Planning the project

    • Staffing

    • Training

    • Risk management

    • Stakeholder involvement

    • Change management

    • Security

    • Tracking metrics

  • Monitoring the project

    • Activities

    • Cost and schedule variance

    • Known risks

    • Corrective actions

  • Facilitating communication

    • Project team

    • Management

    • Customers

It also includes implementing the project plan, along with careful controls to stay on the critical path; that is, to ensure the project is being managed according to plan.

The Information Systems Engineering Department at SwRI is staffed with fifteen certified project management professionals (PMP). The PMP certification is one of the most valued and respected credentials in project management. Earning and maintaining this certification demonstrates a solid foundation of experience in effectively managing projects. The training includes the management of:

  • Communications

  • Cost

  • Human resources

  • Integration

  • Procurement

  • Quality

  • Risk

  • Scope

  • Time

  • Social and professional responsibilities

At SwRI, these certifications, combined with years of experience, give our project management staff the knowledge and ability to plan and organize the software development process to a successful completion.

Software Development Lifecycle (SDLC)

 

image showing model of the waterfall method, which was the original SDLC method

 

The waterfall method is an original SDLC method.

Staff at SwRI will help you understand where you are going and, using the prescribed SDLC method selected for your particular project, will make sure you get there.

At SwRI, we have successfully implemented and utilized different software development lifecycle methodologies. Adhering to these methods has aided in the scheduling and strategically staging areas of our projects. This, in turn, has enabled us to deliver our services and products on time and within budget.

For further information on SwRI's implementation of the SDLC please navigate to the Full Life Cycle Development Process page.

For more information about information systems engineering technologies and capabilities at SwRI or how you can contract with SwRI, please contact Steven H. Rodgers at srodgers@swri.org or (210) 522-3772.

 

Contact Information

Steven H. Rodgers

Information Systems Engineering

(210) 522-3772

srodgers@swri.org

Related Terminology

software engineering

information systems

information system development

information systems engineering

full life cycle development

BPR

business process re-engineering

systems integration

SOA

service-oriented architecture

database

data warehouse

data mining

data management

information systems project management

PMP

Java

SQL

.NET

C#

C++

Oracle

MySQL

J2EE

SQL

CORBA

SQL Server

software development

| Systems and Software Engineering Organization | Automation and Data Systems Division | SwRI Home |

Southwest Research Institute® (SwRI®), headquartered in San Antonio, Texas, is a multidisciplinary, independent, nonprofit, applied engineering and physical sciences research and development organization with 12 technical divisions.

April 23, 2009