Modeling for System Integration

Today most of the enterprise-wide systems are comprised of myriad of software applications. Typically these applications don't communicate with each other, which results in the information silos. These types of silo systems introduce many problems, such as duplicate data and information falling through the cracks. Lack of automated communication between these systems also leads to inefficiencies and overall slow business process. Due to this fact System Integration that was one of the least considered areas in IT is now receiving a lot of attention.

Types of Integration

All the applications in the enterprise are part of some business process. To integrate the IT Systems we need the knowledge of surrounding business processes, which can be modeled using IDEF0, BPMN, UML, etc. As System Integration is about communication between software systems, it can be done at below different levels.

Data Integration

The integration of systems is done at the data layer. There are many tools available today that do the schema mapping between different databases.

Functional Integration

It integrates systems at the logical layer and is accomplished by implementing Service Oriented Architecture (SOA), messaging middleware or distributed computing model.

Presentation Integration

This is done using screen scrapers. The application is integrated through User Interface; a screen scraper reads the screen output and user actions are automated programmatically.

Standard Formats

System Integration may include IT systems that span different organizations and there are many industry standards used in communication between these inter-organizational systems. These standards are basically the technical representation of data that is exchanged between them. Below is the set of main standards used in the industry.

UN/EDIFACT

UN/EDIFACT has been developed under the United Nations to provide a standard for administration, commerce and transport. It has replaced TRADACOMS, which was one of the oldest EDI standards. XML/EDIFACT standard allows using the XML syntax to represent the EDIFACT messages so that they can be used by the XML systems. UN/EDIFACT has been adopted by ISO as the ISO standard ISO 9735.

ANSI ASC X12

ANSI ASC X12 is the standard from US national standards body under ANSI for health care, insurance, government, transportation, and many other industries.

SWIFT

SWIFT is a cooperative under Belgian law. It has established common standards for financial transactions. SWIFT operates a worldwide financial messaging network which exchanges messages between banks and other financial institutions.

ODETTE

ODETTE is the standard for automotive industry and consists of over thirty messages. It is managed by ODETTE International in association with Society of Motor Manufacturers and Traders (SMMT).

ACCORD

ACCORD is a nonprofit standards development organization serving the insurance industry and related financial services industries. ACCORD standards describe various aspects of the life, health annuity, and insurance industries.

XML

Modeling for System Integration

Modeling in UML

Many of the industry standards have their own modeling languages. But the direction that we all are moving towards is to have a modeling language that is independent of any standard or technology and that is where UML fits in. The advantage of neutral message specification in UML is the much easier conversion of messages from one format to another.

Communication between different IT systems occurs through interfaces. Through an interface system sends a message to another system. The sender initiates an activity and receiver responds to the event. The messages that are exchanges are self-contained and coherent. There is also metadata in the messages referred to as reference data, which with other data also contains the information of sender and receiver.

In UML the whole process of system integration can be modeled using four diagrams: Deployment, Activity, Sequence and Class diagrams. Deployment diagram can be uses to show interfaces. Activity and Sequence diagrams are used to show the dynamic flow of the system, how messages flow in the system. Class diagram is used to depict the structure of the messages.

To illustrate this, let's take an example of an electronics company that outsources its manufacturing to a vendor; let's name the electronics company and its vendor as Khanyar and Nowhatta respectively. The Sales application of Khanyar sends the order list to Order Receiving system of Nowhatta, which processes the orders and sends the updated order list back to the Khanyar.

Deployment diagram

This will be used to show the interfaces between the IT systems.

[Deploy.png]

Activity diagram

The activity diagram depicts the process; it is used to show the interaction between the IT systems.

[Activity.png]

Sequence diagram

The focus of the sequence diagram is to illustrate the chronological sequence of message exchange between the IT systems.

[Sequence.png]

Class diagram

This represents the static view that describes the structure of business objects that are sent in the messages. The structure and purpose of the objects should be clear and reusable.

[Class.png]

Sajad Deyargaroo



About the Author

Sajad Deyargaroo

Sajad, MCTS, MCP, started his career developing applications in VB 4.0 and C++. His interest in programming has spanned many languages but is now focused on .Net. Nowadays, he works with AIS on Microsoft technologies and has published many articles in several magazines and web. You can send an email to sajad@programmer.net.

Comments

  • There are no comments yet. Be the first to comment!

Leave a Comment
  • Your email address will not be published. All fields are required.

Top White Papers and Webcasts

  • With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with ease (both locally and remotely), and ultimately spend more time coding instead of waiting for the dreaded application redeploy to finish. Every time a developer tests a code change it takes minutes to build and deploy the application. JRebel keeps the app server running at all times, so testing is instantaneous and interactive.

  • Live Event Date: April 22, 2014 @ 1:00 p.m. ET / 10:00 a.m. PT Database professionals — whether developers or DBAs — can often save valuable time by learning to get the most from their new or existing productivity tools. Whether you're responsible for managing database projects, performing database health checks and reporting, analyzing code, or measuring software engineering metrics, it's likely you're not taking advantage of some of the lesser-known features of Toad from Dell. Attend this live …

Most Popular Programming Stories

More for Developers

Latest Developer Headlines

RSS Feeds