Assignment of Software Design and Architecture: Numbe R Name ID
Assignment of Software Design and Architecture: Numbe R Name ID
ARCHITECTURE
Numbe Name ID
r
1) Dot NET
.NET is a set of Microsoft software technologies for connecting information, people, systems, and
devices
It is a device and platform independent distributed computing model based on Web Services
(which are in turn based on open XML communication technology), and consists of
o a software platform for building .NET experiences
o a programming model and tools to build and integrate XML Web services
o a set of programmable XML Web services
o a way to enable users to interact with a broad range of smart devices via the Web, while
ensuring that the user, rather than the application, controls the interaction
1
o a way to provide a user with applications, services, and devices that are personalized,
simple, consistent, and secure
.NET is all about creation, consumption and delivery of Web Services
.Net web services can be integrated into existing distributed object technologies today by
replacing their RPC wire protocol with SOAP.
Large-scale distributed application development and deployment become possible on a level that
presents major difficulties today.
Stricter versioning policies help to ensure greater stability during upgrades, even in shared
libraries.
The .NET Security Framework Architecture consists of the following five core elements:
o Evidence Based Security - At runtime, the CLR determines permission requests by
evaluating the assembly’s evidence.
o Code Access Security - allows code to be trusted to varying degrees, depending on where
the code originates and on other aspects of the code's identity.
o Verification - during JIT, the CLR ensures memory type safety.
o Role Based Security - .NET applications can make authorization decisions based on
identity and role membership.
o Cryptography - The .NET Framework provides Random Number Generation and other
Cryptographic services.
Removes distinction between a program element and a software component. Thus it provides
significant benefits over technologies like CORBA and COM.
.Net gets rid of the IDL - we can use a .Net assembly directly as a component.
Uses interface documentation already present in the source code. Compliers for .Net supported
languages retain this information as metadata - self documented components.
Metadata is also available in XML format, any application whether it is a part of .NET or not can
obtain information about components.
.NET Services
2
o First set of XML Web Services developed are called .NET My Services (“HailStorm”)
o .NET Enterprise servers are Microsoft's comprehensive family of server applications for
building, deploying, and managing scalable, integrated, Web Services and applications
o Designed with machine critical performance
NET Tools
o Microsoft Visual Studio .NET and Microsoft .NET Framework supplies complete
solution for developers to build, deploy and run XML services
o Visual Studio .NET is the next generation of Microsoft’s popular multi-language
development tool built especially for .NET
o Enhances existing languages like Visual Basic with new OO features
o Introduces C#
2) EJB
An EJB is a specialized, non-visual JavaBean that runs on a server.
EJB technology supports application development based on a multiplier, distributed object
architecture in which most of application’s logic is moved from the client to the server.
The EJB architecture provides an integrated application framework.
An EJB server automatically manages a number of tricky middleware services on behalf of the
application components.
EJB component-builders can concentrate on writing business logic rather than complex
middleware
Enterprise JavaBeans component model logically extends the JavaBeans component model to
support server component.
Server components are reusable, prepackaged pieces of application functionality that are designed
to run in an application server.
EJB can be assembled and customized at deployment time using tools provided by an EJB-
compliant Java application server.
Enterprise JavaBeans is a framework for building and deploying server-side Java components
3
o The responsibility of locating object implementations falls on JVM.
o RMI is a Java-specific technology
o It uses Java interface for implementation
o RMI objects are garbage collected automatically.
o RMI programs can download new classes from remote JVM’s
o RMI passes objects by remote reference or by value
o RMI uses the Java Remote Method Protocol as its underlying remoting protocol.
o The remote objects are accessed by the references.
o Implements object to object implementation among different java objects to implement
distributed communication model
o RMI passes the objects as parameters to remote methods.
o RMI invokes the remote methods from the objects.
RPC:
DCOM
o It was introduced by Microsoft
o This focus on Desktop first and then Enterprise
o It is available with Windows NT and Full support with all versions of Windows, Unix
and Macintosh
o Interface at Client side is proxy and Server side is stub
o Supports multiple inheritance when object implements I Unknown interface
o It provides general purpose Distributed Garbage Collection through pinging the wire
o It is available via single vendor
4
o It uses Object Remote Procedure Call as its underlying remoting protocol
o The mapping of an object name to its implementation is handled by the Registry.
CORBA
o CORBA has implementation for many languages.
o It uses Interface Definition Language (IDL) to separate interface from implementation
o CORBA objects are not garbage collected because it is language independent and some
languages like C++ does not support garbage collection
o CORBA does not this code sharing mechanism
o CORBA passes objects by reference
o CORBA is a peer-to-peer system.
o CORBA use Internet Inter- ORB Protocol as its underlying remoting protocol
o The responsibility of locating an object implementation falls on Object Adapter either Basic
Object Adapter or Portable Object Adapter
o It does not provide general purpose
o Distributed Garbage Collection
o Supports inheritance with interface level when every interface is inherited from CORBA
object.
o The care is taken by Exception objects
o It is available by multiple vendors
o Interface at Client side is stub and Server side is skeleton
o This focus on Enterprise first and then Desktop
o It is available on Unix, Windows and Macintosh.
Disadvantages of RMI:
- Less efficient than Socket objects.
- Assuming the default threading will allow ignoring the coding, being the servers are thread- safe and
5
robust.
- Cannot use the code out of the scope of java.
- Security issues need to be monitored more closely.
Advantages of RPC
- Server independent.
- Process-oriented and thread oriented models supported by RPC.
- The development of distributed systems is simple because it uses straightforward semantics and
easier.
- Like the common communications between the portions of an application, the development of
the procedures for the remote calls is quite general.
- The procedure calls preserves the business logics which is apt for the application.
- The code re-writing / re-developing effort is minimized.
- Enables the usage of the applications used in the distributed environment, not only in the local
Environment.
Disadvantages of RPC:
DCOM advantages:
Strong tool and system support.
Microsoft is very strongly committed to DCOM.
Lower cost of DCOM-compatible networks.
Easier interfacing to object-oriented languages than DCE.
DCOM supports programming objects.
Good separation of interfaces and implementations.
DCOM disadvantages:
Platform dependence.
Only operating systems on which DCOM is strongly supported is Windows 95 and NT.
Complicated non-intuitive programming style for objects and interfaces.
6
CORBA advantages:
- The services are non-platform and non-language dependent.
- Encourages various implementations based on the same interface.
- Supports for primitive data types and data structures as parameters.
- Provides easy ways to link between objects and systems.
CORBA disadvantages:
- Interface Definition Language mapping needs writing for one language may not support the another
language.
- New changes in the existing system / code may not integrate with the IDL language tools.
- Data transfer or objects is not supported by CORBA.
- If CORBA specifications fails for adoption by the industry, then it became legacy system.