Professional Documents
Culture Documents
UNIT 1
Intersystem Communications
Using tools like APIs, middleware and other resources, engineers cobble together
workable architectures that successfully integrate their many parts. When applied to
business, this is often called enterprise application integration, and is done to
support
key business goals.
C. M. D. Hamo-ay
2
1 | Integrative Programming & Technologies 2
System Integration refers to the process by which multiple individual subsystems or sub-
components are combined into one all-encompassing larger system thereby allowing the
subsystems to function together. In other words, the symbiosis created through system
integration allows the main system to achieve the overarching functionality required by the
organisation.
In most organisations that use system integration there is a need to improve efficiency and
thereby productivity and quality of their operations. The objective is usually to get the
company’s various IT systems to communicate with each other in the background so as to
avoid the time and effort spent manually sharing information with other
departments/components of the organisation including upper management. Through
system integration, the organisation will experience increase in information flow speeds as
well as reduced operational costs.
Furthermore, system integration connects the organisation with third parties such as
suppliers, customers and shareholders. Each of which have their own unique interests in
information generated by your company. System integration allows suppliers keep track of
raw material levels, allows customers to keep track of finished goods inventory and
shareholders to view the company position at a glance in a dashboard style in real time. All
of these conditions can be met very simply through the use of system integration supplied
by a reliable systems integrator.
Given the zone of utilization and sort of utilization, integration administrations can be
separated into three classifications:
1. Enterprise Application Integration (EAI)
2. Data Integration (DI)
3. Electronic Document Integration/Interchange (EDI)
Enterprise Application Integration is a help based integration. It’s an interaction that speaks
with various administrations, assembles information and afterwards continues with
additional means dependent on wanted activity or a work process. The cycle can be set off
with uncovered help.
C. M. D. Hamo-ay
3
1 | Integrative Programming & Technologies 2
Various information bases and administrations for the board announcing or any child of
revealing. Get-together information from all city benefits, amassing and changing them into
focal spots for intuitive announcing.
At the point when you need to merge your administrations into one main issue of access,
you need information integration. For the most part, there are loads of various information
sources (or data sets) and you need them in one spot of access, all merged.
In very simple terms, a Customer Relationship Management (CRM) system helps organise,
manage and, at the end of the day, use customer data. A CRM is a form of system
integration that keeps your business up to date on each customer’s contact details,
transaction history, accounts as well as communication. In other words, your company’s
entire ‘relationship’ with customer is available at a glance and the primary objective of the
system is to help you improve sales.
Determining an appropriate systems integration solution is not a simple task by any means.
You must select the correct subsystems, the correct locations and the correct nature of the
relationship. For this it is very important that you as a company understand exactly what
processes are involved, how they interact with all the stakeholders as well as the business
objectives. If you are clear about why and where the business requires harmony in
operations, the systems integration will go smoothly.
Point-to-Point integration / connection is not system integration in its truest sense. In that
the complexity of the functions that can be performed is limited despite the systems
functioning as a whole. Typically, such forms of systems integration handle one business
function at a time and are ideal for a 1:1 relationship. i.e. one system to another system. The
C. M. D. Hamo-ay
4
1 | Integrative Programming & Technologies 2
more the number of systems in play, the greater the number of connections and therefore, a
point-to-point systems integration quickly becomes unmanageable.
Vertical systems integration differs from the other types of systems integration in the
structure that is formed. Basically each sub-system is linked to the other on the basis of how
closely they are related in the function that is performed. This leads to a ‘silo’ like structure
with the bottom being the most basic function and the rest getting progressively more
complex. This type of systems integration is fairly simple and involves a small number of
systems but on the other hand, this system integration model can be inflexible. Adding any
new functionality means adding its very own ‘silo’ which, in the long run, makes things
difficult to manage.
Let us consider for example that the Point-Of-Sale (POS) system tracks orders and records
sales transactions while another software generates the invoices. This is where the term
“silo” comes into play since the system is tightly integrated to serve a specific and narrowly
defined business function, holding the data in one place without coordinating with other
silos.
Star integration is very simply a collection of point to point system integrations. In other
words, a larger set of simple connections come together to create a star connection. The
C. M. D. Hamo-ay
5
1 | Integrative Programming & Technologies 2
more the number of sub systems connected, the more the points on the start and
subsequently lines in between.
Furthermore, when this system integration method interconnects each system to the
remaining subsystems, the series of connections can look like a star polyhedron at the best
of times. More likely the actual diagram of the system integration will look like a plate of
spaghetti (hence star integration is also known as spaghetti integration). In other words, the
ideally neat and tidy IT infrastructure quickly becomes jumbled and difficult to map if a
company approaches system integration using this method. Because as you can imagine,
this will provide far more functionality than the individual point to point connection but
the management of the integrations becomes very demanding.
Some of the most common examples of horizontal integration can be found in the
healthcare sector in achieving a simplified method for medical systems integration.
Furthermore, through a customized approach to development of the software, an ESB
integration interface can efficiently and effectively mesh with current, on premises systems.
C. M. D. Hamo-ay
6
1 | Integrative Programming & Technologies 2
Existing subsystems that are generating data or require data movement and integration will
only need to be linked to the ESB. In order to ease the transfer, transformation and
integration of data coming in from multiple sources, it would be a good idea to also
implement technology such as Electronic Data Interchange (EDI), Managed File Transfer
(MFT), and application connectors.
The pros of system integration might be clear for some entrepreneurs. In any case, it’s
critical to comprehend the full picture.
1. Expanded profitability
The main benefit of system integration is that it supports the organization’s efficiency
massively. Working with various systems and projects takes up a significant measure of
time, compelling the representatives to zero in on tedious manual activities instead of on
projects within reach.
A high number of projects makes it intense to dissect just how an organization works.
Therefore, running various investigations for each program isn’t simply tedious, it’s
regularly pointless.
You can’t look into such an examination; you need to sort out some way to get to a higher
perspective. With various projects working freely, it’s practically unthinkable.
3. Lower cost
The expense of keeping up various systems can be fairly high. Each program requires
certain support, which may be done on various occasions. Planning support and overhauls
can be tedious and exorbitant. Hours spent on all-out help may surpass the hours the whole
system is working.
System integration permits you to accomplish better consumer loyalty by diminishing the
time you spend on giving your items and administrations. Whereas, working with different
systems and projects can take up a huge chunk of your time.
Even though system integration is by all accounts an astounding answer for some issues
identified with utilizing various software, it has a few disadvantages.
1. Security problems
C. M. D. Hamo-ay
7
1 | Integrative Programming & Technologies 2
With regards to security matters, having a few projects is superior to one incorporated
system. When you go through system integration, any hack or misrepresentation could
gain admittance to the entirety of your information instead of one piece of it.
System integration makes your data more defenceless than it used to because of the
channels through which information streams starting with one program then onto the next.
2. Complex updating
With regards to redesigning the system, your IT group is probably going to make some
extreme memories. Integration doesn’t transform a few projects into one, it simply
integrates them. Then, they actually should be overhauled independently. The interaction is
unpredictable and tedious.
3. Significant expense
Even though you can get a good deal on system support, you need to pay for each program
independently. Once in a while, costs are high to the point that an entrepreneur may begin
contemplating custom program advancement instead of system integration.
Some languages make it easy to write in some paradigms but not others.
Declarative: Programming by specifying the result you want, not how to get it.
C. M. D. Hamo-ay
8
1 | Integrative Programming & Technologies 2
Array: Programming with powerful array operators that usually make loops
unnecessary.
Paradigms are not meant to be mutually exclusive; a single program can feature multiple
paradigms!
One of the more visible aspects of the more pure-ish OO languages is that conditionals and
loops become messages themselves, whose arguments are often blocks of executable code.
In a Smalltalk-like syntax:
C. M. D. Hamo-ay
9
1 | Integrative Programming & Technologies 2
Many popular languages that call themselves OO languages (e.g., Java, C++),
really just take some elements of OOP and mix them in to imperative-looking
code. In the following, we can see that length and toUpper are methods rather
than top-level functions, but the for and if are back to being control structures:
result = []
for p in people {
if p.name.length > 5 {
result.add(p.name.toUpper);
}
}
return result.sort;
The first object oriented language was Simula-67; Smalltalk followed soon after as
the first “pure” object-oriented language. Many languages designed from the
1980s to the present have labeled themselves object-oriented, notably C++, CLOS
(object system of Common Lisp), Eiffel, Modula-3, Ada 95, Java, C#, Ruby.
C. M. D. Hamo-ay
10
1 | Integrative Programming & Technologies 2
Middleware
Web Services
• Aims to address both of these issues
– Its protocol is layered on HTTP
• So it can flow through a firewall
• This “cheat” raises security and other concerns, but ones that need to
be addressed in any case
– It uses XML to format messages
• So both sides can accept this as a “neutral” formatting approach
3 uses of Web Services
• Inter-enterprise communication
C. M. D. Hamo-ay
11
1 | Integrative Programming & Technologies 2
SOAP
1.2.4 Network programming
The term network
CORBA
programming refers to writing programs that execute across multiple
devices (computers), in which the devices are all connected to each other using a network.
message
The java.net package of the J2SE APIs contains a collection of classes and interfaces that
provide the low-level communication details, allowing you to write programs that focus on
solving the problem at hand.
C. M. D. Hamo-ay
12
1 | Integrative Programming & Technologies 2
The java.net package provides support for the two common network protocols −
TCP − TCP stands for Transmission Control Protocol, which allows for reliable
communication between two applications. TCP is typically used over the Internet
Protocol, which is referred to as TCP/IP.
UDP − UDP stands for User Datagram Protocol, a connection-less protocol that
allows for packets of data to be transmitted between applications.
This chapter gives a good understanding on the following two subjects −
Socket Programming − This is the most widely used concept in Networking and it
has been explained in very detail.
URL Processing − This would be covered separately. Click here to learn about URL
Processing in Java language.
If the ServerSocket constructor does not throw an exception, it means that your
application has successfully bound to the specified port and is ready for client
requests.
Following are some of the common methods of the ServerSocket class −
C. M. D. Hamo-ay
13
1 | Integrative Programming & Technologies 2
When the ServerSocket invokes accept(), the method does not return until a client
connects. After a client does connect, the ServerSocket creates a new Socket on an
unspecified port and returns a reference to this new Socket. A TCP connection now
exists between the client and the server, and communication can begin.
The java.net.Socket class represents the socket that both the client and the server
use to communicate with each other. The client obtains a Socket object by
instantiating one, whereas the server obtains a Socket object from the return value of
the accept() method.
The Socket class has five constructors that a client uses to connect to a server −
C. M. D. Hamo-ay
14
1 | Integrative Programming & Technologies 2
public Socket()
5 Creates an unconnected socket. Use the connect() method to connect this socket
to a server.
When the Socket constructor returns, it does not simply instantiate a Socket object
but it actually attempts to connect to the specified server and port.
Some methods of interest in the Socket class are listed here. Notice that both the
client and the server have a Socket object, so these methods can be invoked by both
the client and the server.
C. M. D. Hamo-ay
15
1 | Integrative Programming & Technologies 2
This class represents an Internet Protocol (IP) address. Here are following usefull
methods which you would need while doing socket programming −
C. M. D. Hamo-ay
16
1 | Integrative Programming & Technologies 2
String getHostAddress()
4
Returns the IP address string in textual presentation.
String getHostName()
5
Gets the host name for this IP address.
String toString()
7
Converts this IP address to a String.
C. M. D. Hamo-ay
17
1 | Integrative Programming & Technologies 2
1.3 References
https://digitalfellows.commons.gc.cuny.edu/2018/03/12/an-introduction-to-
programming-paradigms/#orgheadline2
A Brief History of Programming Languages.”
http://www.byte.com/art/9509/se7/artl9.htm. Cited, March 25, 2000.
“A Short History of the Computer.” http://www.softlord.com/comp/. Jeremy
Myers. Cited, March 25, 2000.
Bergin, Thomas J. and Richard G. Gibson, eds. History of Programming Languages-II.
New York: ACM Press, 1996.
https://java-programming.mooc.fi/part-7/1-programming-paradigms
1.4 Acknowledgment
The images, tables, figures and information contained in this module were
taken from the references cited above.
C. M. D. Hamo-ay