Project Management
Project Oversight
IV&V
Quality Assurance
Business Continuity
Disaster Recovery Planning
Requirement Definition
Business Process Analysis
Strategic Planning
Feasibility Studies
Acquisition Support
Enterprise Architecture
Systems Integration
Technical Writing
HIPAA & Regulatory Compliance



Systems Integration
Infiniti's technologists have hands-on experience implementing systems and in particular in integration between systems. Infiniti's technologists are experienced at integrating all forms of system (mainframe, web, client/server) using many forms of integration methods (services, RPCs, file transfer, data sharing).  They have a deep understanding of the pros and cons of all forms of system integration.

Infiniti's technologists seek to first understand the integration between systems within terms of the business transactions before addressing technical integration.  We have found that this approach leads to simpler interfaces that perform better, are more secure and reliable, and are easier and less costly to maintain. When integrating systems we focus on eliminating redundancy, maximizing integration, promoting simplification and increasing reuse.  We attain agility and flexibility by keeping system components simple, decoupled, narrowly scoped, and cohesive.  This allows for re-use of system components for purposes not envisioned when the components were initially developed.

When integrating systems we follow a key architectural philosophy of separation of concerns.  We strive to keep concerns separate, which means that changes in one part of the system do not propagate to other parts of the system, so that if there is a need to extend the architecture, the impact is minimized. Everything that already works continues to work.  We seek to separate concerns in several dimensions:
  • Separation of functional requirements - In general, it is better to keep functional requirements (use cases) separate from each other. Use cases address different end-user concerns and will evolve separately.
  • Separation of nonfunctional and functional requirements - Nonfunctional requirements usually specify the desired quality attributes of the system: security, performance, reliability, and so forth. These are provided by some infrastructure mechanisms—for example, you need some authorization, authentication, and encryption mechanisms to achieve security; you need caching and load-balancing to achieve performance. Frequently, these infrastructure mechanisms require small bits of behavior that must be executed within many components. This means that a change in the realization of an infrastructure mechanism often implies huge repercussions, so it is better to keep these separate.
  • Separation of platform specifics - Today’s systems need to execute on top of many technologies. Even for a single infrastructure mechanism such as authorization, there are still many technologies to choose from. These technologies are often platform- and vendor-specific. When a vendor upgrades its technologies to a new and better version, it is not easy to upgrade a system accordingly if the implementation has been tightly coupled with the previous version of that technology.


Infiniti's technologists are skilled at model driven design which helps us understand and decouple integrated components within a complex system.  We use models as a fundamental tool for creating and documenting architectures because model is a simplification of reality that describes a system from a particular perspective (a view).  We build models so that we can better understand the system we are modeling; we build models of complex systems because we cannot comprehend such systems in their entirety.     Modeling is important because it helps the project team visualize, specify, construct, and document a systems architecture and design.  Using standard modeling languages, such and the UML (Unified Modeling Language) helps communicate models in a precise manner.  In the end, the specific modeling language is less important than creating a model that communicates between architects, analysts, designers, developers, network administrators, database administrators, and business users – so we use whatever form of picture that helps convey a message and improve communication.

Copyright Infiniti Consulting Group Inc., 2011