0% found this document useful (0 votes)
55 views7 pages

Assignment of Software Design and Architecture: Numbe R Name ID

The document discusses several topics related to software design and architecture: 1. It provides an overview of .NET, including its components, services, security framework, and tools. 2. It summarizes Enterprise JavaBeans (EJB) as a framework for building server-side Java components. 3. It compares RMI, RPC, DCOM, and CORBA in terms of their underlying protocols, object passing mechanisms, and other features. 4. It lists some advantages of RMI such as being simple to implement, allowing distributed systems while decoupling client and server objects, and not requiring client installation beyond a Java-capable browser.

Uploaded by

Yaikob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views7 pages

Assignment of Software Design and Architecture: Numbe R Name ID

The document discusses several topics related to software design and architecture: 1. It provides an overview of .NET, including its components, services, security framework, and tools. 2. It summarizes Enterprise JavaBeans (EJB) as a framework for building server-side Java components. 3. It compares RMI, RPC, DCOM, and CORBA in terms of their underlying protocols, object passing mechanisms, and other features. 4. It lists some advantages of RMI such as being simple to implement, allowing distributed systems while decoupling client and server objects, and not requiring client installation beyond a Java-capable browser.

Uploaded by

Yaikob
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 7

ASSIGNMENT OF SOFTWARE DESIGN AND

ARCHITECTURE

Numbe Name ID
r

1 DANIEL FAYERA 017/10

2 YAIKOB BIRATU 055/10

3 NAHOM FEQADU 039/10

4 MESERET ABEBE 034/10

5 MURAD ABDURAZAQ 038/10

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 allows cross-platform development to an extent not before possible.

 .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.

 "Software as a service" - a subscription model for application deployment - becomes a feasible


option.

 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.

 Offers developers an component model directly based on OO.

 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

o XML Web Services

o Offer a direct means for applications to interact with other applications

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

o Examples of .NET Servers:

 MS Commerce Server 2000


 MS Exchange Server 2000

 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) Similarities and differences among RMI, RPC, DCOM and


CORBA
RMI:
o In RMI every server object implements java.rmi.Remote interface
o It uses JRMP as its underlying remoting protocol.
o The mapping of an object name to its implementation is handled by the RMI Registry

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:

o RPC is a library and OS dependent platform.


o RPC supports procedural programming.
o RPC is less efficient in comparison of RMI.
o RPC creates more overhead.
o The parameters which are passed in RPC are ordinary or normal data.
o RPC is the older version of RMI.
o There is high Provision of ease of programming in RPC.
o RPC does not provide any security.
o Its development cost is huge.
o There is a huge problem of versioning in RPC
o There is multiple codes are needed for simple application in RPC.
o The remoteness is not exactly transparent to the client
o Calls a procedure remotely like invoking the methods
o Proxy server is involved in processing the procedure calls
o The process is through methods / functions.

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.

4) Advantages and dis-advantages of RMI, RPC, DCOM,


CORBA
Advantages of RMI:
- Simple and clean to implement that leads to more robust, maintainable and flexible applications
- Distributed systems creations are allowed while decoupling the client and server objects simultaneously
- It is possible to create zero-install client for the users.
- No client installation is needed except java capable browsers
- At the time of changing the database, only the server objects are to be recompiled but not the server
interface and the client remain the same.

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:

- Context switching increases scheduling costs


- RPC is not a standard – it is an idea that can be implemented in many ways
- RPC does not solve the most of the distribution creation problems
- RPC is only interaction based. This does not offer any flexibility in terms of hardware architecture.

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.

You might also like