Describe and Contrast Comprehensively The Different Types of Architectures For Integrating Systems
Describe and Contrast Comprehensively The Different Types of Architectures For Integrating Systems
Distributed – Computing and storage are in separate system blocks orchestrated separately and
connected through networks. System upgrade is through replacing component blocks. System
growth is through adding blocks. The architecture is designed to enable growth and scale out of
multiple workloads.
Pooled – Computing, storage and networks are in separate resource pools consisting of blocks
and orchestrated separately. System upgrade is through replacing blocks within a pool. System
growth through adding blocks to a pool. The architecture is designed to enable efficient scaling
and growth of multiple workloads.
Converged – Computing, storage and networks are in separate resource pools jointly orchestrated
and in a single chassis. System upgrade is through swapping components within the chassis.
System growth is through adding components to empty chassis slots. The architecture is designed
to support rapid deployment of multiple workloads. Within converged infrastructures the
pendulum swings back to the integrated system architecture with vendors also offering fit for
purpose versions for specific workloads. Case in point is IBM Pure Systems that offers Pure Flex
as the generic flavor and Pure Application for cloud and pattern workloads and Pure Data for big
data analytics.
CORBA relies on a protocol called the Internet Inter-ORB Protocol (IIOP) for
remoting objects. Everything in the CORBA architecture depends on an Object Request
Broker (ORB). The ORB acts as a central Object Bus over which each CORBA object
interacts transparently with other CORBA objects located either locally or remotely. Each
CORBA server object has an interface and exposes a set of methods. To request a
service, a CORBA client acquires an object reference to a CORBA server object. The
client can now make method calls on the object reference as if the CORBA server object
resided in the client's address space. The ORB is responsible for finding a CORBA
object's implementation, preparing it to receive requests, communicate requests to it and
carry the reply back to the client. A CORBA object interacts with the ORB either through
the ORB interface or through an Object Adapter - either a Basic Object Adapter
(BOA) or a Portable Object Adapter (POA).
Marshalling – serializing and deserializing the arguments and return values of method calls
"over the wire".
Distributed garbage collection – ensuring that references held by clients of interfaces are
released when, for example, the client process crashed, or the network connection was lost.
It had to combine Hundreds/Tens of Thousands of objects held in the client's browser with a
single transmission in order to minimize bandwidth utilization.
One of the key factors in solving these problems is the use of DCE/RPC as the underlying RPC
mechanism behind DCOM. DCE/RPC has strictly defined rules regarding marshalling and who
is responsible for freeing memory.
DCOM was a major competitor to CORBA. Proponents of both of these technologies saw them
as one day becoming the model for code and service-reuse over the Internet. However, the
difficulties involved in getting either of these technologies to work over Internet firewalls, and
on unknown and insecure machines, meant that normal HTTP requests in combination with web
browsers won out over both of them. Microsoft, at one point, attempted and failed to head this
off by adding an extra http transport to DCE/RPC called ncacn_http (Network Computing
Architecture connection-oriented protocol). This was later resurrected to support a Microsoft
Exchange 2003 connection over HTTP.
DCOM is supported natively in Windows NT 4.0, Windows 2000, Windows XP, and Windows
Server 2003, as well as Windows 7, Windows 8, Windows 10, Windows Server 2008, Windows
Server 2008 R2, Windows Server 2012, Windows Server 2012 R2 and Windows Server 2016.
A stub program in the client side of the client/server relationship, and a corresponding
skeleton at the server end. The stub appears to the calling program to be the program being
called for a service. (Sun uses the term proxy as a synonym for stub.)
A Remote Reference Layer that can behave differently depending on the parameters passed
by the calling program. For example, this layer can determine whether the request is to call a
single remote service or multiple remote programs as in a multicast.
3. Describe how the following web service architectures are used to integrate
disparate applications in an organization by describing their role in creating
and using web services:
WSDL
SOAP
UDDI