Individual Assignment Technology Park Malaysia: CT024-3-3-DCOMS Distributed Computer System NP3F1801IT
Individual Assignment Technology Park Malaysia: CT024-3-3-DCOMS Distributed Computer System NP3F1801IT
CT024-3-3-DCOMS
DISTRIBUTED COMPUTER SYSTEM
NP3F1801IT
Student Name: Rasmita Adhikari
Student ID: NP000053
HAND OUT DATE: 12 Feb 2018
HAND IN DATE: 6 May 2018
WEIGHTAGE: 50%
INSTRUCTIONS TO CANDIDATES:
Acknowledgement
1
Firstly, I would like to express my heartfelt gratitude to Asia Pacific University for providing
such a golden opportunity to work on a specific project and explore our theoretical knowledge
into practical world. Also, I want to convey my sincere gratitude to Lord Buddha Education
Foundation (LBEF) for making this project possible by providing with the proper learning
environment, guidance and required facilities.
In this project we are required to design and implement a library management system for Asia
Pacific University using java RMI technology which involves writing both the server and client
programs. I am feeling great to do project on this particular topic using Java RMI technology.
I extend my special gratitude to my subject teacher Mr. Jay Neupane for his continuous and
valuable guidance, suggestions, timely supervision and cooperation in completing this project
with in the given timeframe.
Above all, I glorify the Almighty God for the strength courage, wisdom, and inspiration
throughout the period of my studies.
Sincerely,
Rasmita Adhikari,
Student ID (NP000053)
BSc.IT (Semester-V)
2
Abstract
As per the prescription of the syllabus for BSc.IT 5th semester, it offers students like us an
opportunity to put forward the knowledge we acquired through the curriculum and syllabus in a
practical term and explore theoretical knowledge in technical skill. Here, this is the project
developed for Asia Pacific University in order to manage their Library system. The library
management system is developed using Java RMI technology. The Library Management System
will allow student to register an account with the Name, TP number, DOB, Course, Year and so
on. The students can be able to request a list of available “Distributed System Books” from the
Library Management System. Here I have built software based on object-oriented design.
Admin can manage the different parts of the system such as users, insert, update and delete
books. It has various facilities for administrators, librarians as well as guests such as login,
available books, viewing books, searching books and so on. This system software is the
complete package for the student of APU.
Since I have done a lot of research before starting this project to fill the basic requirement by
developing Library Management System using Java RMI technology. This project is an
opportunity to explore our theoretical knowledge in the practical term by developing this LMS
software. Here I have done much research on library management system through the internet
and also with the help of faculty members. This project seems to be very challenging but I am
able to overcome many problems and able to find solutions.
3
Table of Contents
1 Introduction..............................................................................................................................1
2 Problem Definition...................................................................................................................2
2.1 Aim and Objectives...........................................................................................................2
3 Introduction to Remote Method Invocation (RMI)..................................................................3
3.1 Architecture of an RMI Application.................................................................................3
3.2 Working of an RMI Application.......................................................................................4
4 Object Oriented concepts.........................................................................................................8
5 Distributed Systems..................................................................................................................9
6 Use case Diagram...................................................................................................................10
7 Readability of the program.....................................................................................................11
8 Testing....................................................................................................................................12
9 DCOMS Technologies............................................................................................................15
10 Virtualization and cloud computing....................................................................................18
10.1 Difference between virtualization and cloud computing.............................................18
11 Internet Communication Engine.........................................................................................20
11.1 Architecture.................................................................................................................20
11.2 Benefits........................................................................................................................21
11.3 Alternative...................................................................................................................22
12 Program User Guide...........................................................................................................23
12.1 User Registration.........................................................................................................23
12.2 User Login...................................................................................................................24
12.3 List of available books................................................................................................24
12.4 Admin panel for insert update and delete....................................................................25
12.5 Book Transaction.........................................................................................................26
12.6 Book Issue...................................................................................................................27
13 Hardware and Software Requirement.................................................................................28
14 Conclusion..........................................................................................................................29
15 References.............................................................................................................................i
4
List of Figure
Figure 1: Architecture of an RMI....................................................................................................3
Figure 2: RMI process.....................................................................................................................4
Figure 3: for client...........................................................................................................................5
Figure 4: implementation.................................................................................................................6
Figure 5: interface............................................................................................................................6
Figure 6: Server class.......................................................................................................................7
Figure 7: Use Case diagram...........................................................................................................10
Figure 8: folder of library Management System............................................................................11
Figure 9: Users Registration..........................................................................................................13
Figure 10: DCOM Architecture.....................................................................................................15
Figure 11: Different RMI layers....................................................................................................16
Figure 12: CORBA Architecture...................................................................................................17
Figure 13: Internet Communication engine Architecture..............................................................20
Figure 14: Registration Page.........................................................................................................23
Figure 15: Login Page...................................................................................................................24
Figure 16: available books.............................................................................................................24
Figure 17: Book.............................................................................................................................25
Figure 18: transaction of book.......................................................................................................26
Figure 19: Issue book.....................................................................................................................27
1
1 Introduction
Library Management System is the newly developed library Management System for APU which
runs major IT programmes for Diploma, Degree, Masters and Doctoral. For further reading and
for references APU facilitates various resources in online also direct in person. This library
Management system is developed and designed for the better use of books for their local and
international educational sectors using java RMI technology.
In this system client programs can use either a command line interface or a graphical user
interface. The system allows the student to register an account with the Name, TP Number, DOB,
Course, Year and so on. The users will receive system an acknowledgement using email when
they are newly registered in the application. If the username exists in the system, the system
should notify the user to enter a different username. The user can be able to request a list of
available “Distributed System Books” from the APU library information system. The system
returns a list of available books to the user. Based on the list of books given, the user is able to
lend book from the list. Implement secure communication between the user and the APU library
information system. Also, the system generates a report of the available books list by using RMI.
The communication between client and server are of use of RMI with Serialization and support
Multiple Threads and Socket programming. The whole transaction process follows the
Transaction Management methods.
1
2 Problem Definition
APIIT group is one of the famous educational sectors in Malaysia which has numerous branches
in local and international markets. Basically, under this group Asia Pacific University runs major
IT programmes for Diploma, Degree, Masters and Doctoral. But they want to provide further
reading and references facilities for their students within the world. APU has wants to share list
of available books for Distributed system books globally. Libraries allow people who cannot
afford a vast personal collection of reference materials and new writings a chance to explore any
topic they desire. Also, previously there was not secure communication between the user and the
APU library information system. So, this system has been developed to implement secure
communication between client and users. Also implement what happens if multiple users use the
APU library information system at the same time?
2
3 Introduction to Remote Method Invocation (RMI)
RMI stands for Remote Method Invocation. It is a mechanism that allows an object residing in
one system (JVM) to access/invoke an object running on another JVM. RMI is used to build
distributed applications; it provides remote communication between Java programs. It is
provided in the package java.rmi.
3
Transport Layer: This layer connects the client and the server. It manages the existing
connection and also sets up new connections.
Stub: A stub is a representation (proxy) of the remote object at client. It resides in the client
system; it acts as a gateway for the client program.
Skeleton: This is the object which resides on the server side. stub communicates with this
skeleton to pass request to the remote object.
RRL(Remote Reference Layer): It is the layer which manages the references made by the
client to the remote object.
1. When the client makes a call to the remote object, it is received by the stub which eventually
passes this request to the RRL.
2. When the client-side RRL receives the request, it invokes a method called invoke () of the
object remote Ref. It passes the request to the RRL on the server side.
3. The RRL on the server side passes the request to the Skeleton (proxy on the server) which
finally invokes the required object on the server.
4. The result is passed all the way back to the client. [htt31]The following illustration explains
the entire process
4
There are 6 steps to write the RMI program.
5
Figure 4: implementation
Figure 5: interface
6
Figure 6: Server class
7
4 Object Oriented concepts
Object Oriented Programming Concepts are very important in the Java Programming. Without
having idea about OOPS concepts, we will not be able to design systems in object oriented
programming model. There are various types of Object Oriented concepts in the Java
Programming. The core OOPS concepts are as follows
1. Abstraction: It is the concept of hiding the internal details and describing things in simple
terms. The method internal processing is hidden from outer world. There are many ways to
achieve abstraction in object oriented programming, such as encapsulation and inheritance. A
java program is also a great example of abstraction. Here java takes care of converting simple
statements to machine language and hides the inner implementation details from outer world.
2. Encapsulation: Encapsulation is the technique used to implement abstraction in object
oriented programming. Encapsulation is used for access restriction to a class members and
methods. Access modifier keywords are used for encapsulation in object oriented
programming. For example, encapsulation in java is achieved using private, protected and
public keywords.
3. Polymorphism: Polymorphism is the concept where an object behaves differently in
different situations. There are two types of polymorphism – compile time polymorphism and
runtime polymorphism. Compile time polymorphism is achieved by method overloading.
4. Inheritance: Inheritance is the object oriented programming concept where an object is
based on another object. Inheritance is the mechanism of code reuse. The object that is
getting inherited is called superclass and the object that inherits the superclass is called
subclass. We use extends keyword in java to implement inheritance.
5. Association: Association is the OOPS concept to define the relationship between objects.
Association defines the multiplicity between objects.
6. Aggregation: Aggregation is a special type of association. In aggregation, objects have their
own life cycle but there is an ownership.
7. Composition: Composition is a special case of aggregation. Composition is a more
restrictive form of aggregation. [Pan18]
8
5 Distributed Systems
A distributed system is a group of computers working together as to appear as a single computer
to the end-user. Distributed system as from its name is a network that consists of autonomous
computers that are connected using a distribution middleware. These machines have a shared
state, operate concurrently and can fail independently without affecting the whole system’s
uptime.
The requirement of a global clock is not required as distributed system can be spread across
different geographies. Distributed system helps in sharing different resources and capabilities to
provide users with a single and integrated coherent network. The components are concurrent, it
allows resource sharing, including different software by the system connected to the network at
the same time. There can be multiple components, but they will generally be autonomous in
nature. The most beneficial thing is that the distributed system has greater amount of fault
tolerance as compared to other network models.
If we have to understand the distributed system from the basic then, we have to go through the
database. As we know the traditional databases are stored on the file system of one single
machine, whenever we want to fetch/insert information in it thenwe
communicate with that
machine directly. Now, if we have to distribute this database system, we’d need to have this
database run on multiple machines at the same time. The user of the system must be able to
communicate with whichever machine he chooses and should not be able to tell that he is not
talking to a single machine. To understand more easily we can say that if he inserts a record into
node#1, node #3 must be able to return that record. Systems are always distributed by necessity.
The truth of the matter is managing distributed systems is a complex topic chock-full of pitfalls
and landmines.
It is a headache to deploy, maintain and debug distributed systems, but what a distributed system
enables us to do is scale horizontally. As the above example of the single database server, here
the only way to handle more traffic would be to upgrade the hardware the database is running on.
This is called scaling vertically. Scaling horizontally simply means adding more computers
rather than upgrading the hardware of a single one. The best thing about horizontal scaling is that
we have no cap on how much we can scale whenever performance degrades us we simply add
another machine, up to infinity potentially.[Sta181]
9
6 Use case Diagram
A use case diagram is a graphic depiction of the interactions among the elements of a system. A
use case is a methodology used in system analysis to identify, clarify, and organize system
requirements. In this context, the term "system" refers to something being developed or operated,
such as a mail-order product sales and service Web site. Use case diagrams are employed in
UML (Unified Modeling Language), a standard notation for the modeling of real-world objects
and systems. The system use case diagram for this Library Management system are given below.
10
7 Readability of the program
Sometimes we write code that gets used for a bit and then thrown away. Most of the time, we
aren’t so lucky. Eventually you have to go back and read it, or someone does. The syntax and
similar semantics used in the project i.e. Library Management System is easily readable.
In case of new developer as well there is no any stuck maintaining the code, or we want to be
able to show it to other people without changing our head in shame. There are a lot of factors go
into determining whether a language is readable. The most obvious is familiarity. The human
mind is very good at adaptation, and often it’s astonishing what the mind will perceive as
"normal." Familiarity only comes from constant exposure, though, which means that languages
with relatively simple syntax become familiar more quickly. Lisp is at one extreme, with only
one syntactic construct. It’s very easy to become familiar with Lisp, although grasping the large
Common Lisp standard library is another matter.
Another aspect of readability is the syntax itself. This is where Smalltalk-like languages tend to
win. Since Objective java allows the use of syntax that works for both java and Smalltalk.
[Dav06]
11
12
8 Testing
The world is full of technology. So, only the developing software randomly could not be
effective and efficient way. It is important to do testing in the software development phase.
Software testing is the process of executing a program or application with the intent of finding
the software bugs. Furthermore, software testing is the process of validating and verifying that a
software program or a developed application meets the business and technical requirements that
guided its design and development. It takes place throughout the software development lifecycle.
[htt32]
Types of testing
Unit Testing: In this section developers have tested all the individual unit or group of related to
Library Management. In LMS system software developers have tested the unit that has
implemented in LMS system and also checked all the requirements meet or not.
Integration Testing: Integration testing is done for LMS system. In this system a group of
components are combined to produce output. Developers have checked the interaction between
software and hardware components.
Functional Testing: LMS system software is tested to ensure that the specified functionality
required in the system requirements works
System Testing: The LMS software is tested by putting the developed software in different
environment. The LMS software is tested with full system implementation and environment. It
falls under the class of black box testing.
Stress Testing: LMS software is tested to evaluate how system behaves under unfavorable
conditions. The LMS software was conducted beyond the limits.
Performance Testing: The LMS software Performance is tested to assess the speed and
effectiveness of the system and to make sure it is generating results within a specified time as in
performance requirements.
13
Usability Testing: In this testing the LMS software is operate by various types of user whether it
is flexible, user-friendly or not. And the developed system results as it is user flexibility and the
interface is designed in such a way anyone can easily understand the whole system.
14
Here, Developers have taken the sample of registration form for testing registration form.
Developers have included sample test scenarios and test cases for registration form.
Preconditions
1. At first, developers check the behavior of the form by not filling up any data into the form.
2. Check the behavior of the form by putting random data.
3. Check the behavior of the form by filling other texts fields except email text field.
4. Check by not verifying password in confirm field.
15
1. Developer check the name text field without Prefix
2. Developer check TP number without adding special characters in prefix.
3. Developer check by adding numbers instead of string in the full name text field.
4. Developer check by putting password randomly
1. Check if all the text fields in the registration form are mandatory or not.
2. Check without adding nothing inside the registration field.
3. Check the TP Number by adding no data.
4. Check the year by adding no data.
5. Check the behavior of the course by selecting courses from drop-down menu.
6. Check the phone number with more than 10 digits.
7. Check whether the password and conformation password field whether match or not.
1. Check the email text field that has Email address without @ symbol.
2. Check by putting random string inside the email field instead of real email.
3. Check by putting email text field as name@gmail.com.
4. Check the email text field as name@192.67
Developers test all the test cases and scenarios for registration form. And all the requirements
meet without any error. [sam18]
16
9 DCOMS Technologies
1. DCOM (Distributed Component Object Model) is a set of Microsoft concepts and program
interfaces in which client program object s can request services from server program objects
on other computers in a network. DCOM is based on the Component Object Model (COM),
which provides a set of interfaces allowing clients and servers to communicate within the
same computer (that is running Windows 95 or a later version).[Mar172] DCOM is
Microsoft's approach to a network-wide environment for program and data objects. DCOM
can also work on a network within an enterprise or on other networks besides the public
Internet. It uses TCP/IP and Hypertext Transfer Protocol. DCOM comes as part of the
Windows operating systems. DCOM is or soon will be available on all major UNIX
platforms and on IBM's large server products. DCOM replaces OLE Remote Automation.
[Mar11]
17
2. RMI: The RMI (Remote Method Invocation) is an API that provides a mechanism to create
distributed application in java. The RMI allows an object to invoke methods on an object
running in another JVM. The RMI provides remote communication between the applications
using two objects stub and skeleton. RMI (Remote Method Invocation) is a way that a
programmer, using the Java programming language and development environment, can write
object-oriented programming in which objects on different computers can interact in a
distributed network. RMI is the Java version of what is generally known as a remote
procedure call (RPC), but with the ability to pass one or more objects along with the request.
[Mar05][Jav18]
18
3. CORBA: Common Object Request Broker Architecture (CORBA) is an architecture and
specification for creating, distributing, and managing distributed program objects in a
network. It allows programs at different locations and developed by different vendors to
communicate in a network through an "interface broker." CORBA was developed by a
consortium of vendors through the Object Management Group (OMG), which currently
includes over 500 member companies. Both International Organization for Standardization
(ISO) and X/Open have sanctioned CORBA as the standard architecture for distributed
objects (which are also known as components). CORBA 3 is the latest level.[Mar06]
19
10 Virtualization and cloud computing
From the definition virtualization is the creation of a virtual rather than actual version of
Virtualization and cloud computing overlap each other. Virtualization is one of the fundamental
technologies that make cloud computing are often use together in order to build private cloud
infrastructure. All these two technology will be deployed separately to gain measurable benefits.
20
get more use out of the servers you
already have
6. Storage virtualization pools all of the It gives company access to complex
computing resources from various applications and massive computing
storage devices into a single, shared resources via the Internet.
virtual storage repository that is
available to everyone on the network,
no matter where they’re located.[Jef11]
For the developed system library management system, the organization would prefer cloud
computing for their developed system. Since this Asia Pacific university is largest educational
provider for many students who are globally. cloud computing is a technology you’ll access
using the Internet rather than implementing it on your own network. You can choose from a
variety of cloud computing providers and cloud-based services all designed to meet small
business needs. With the cloud computing, the organization can implement an enterprise-grade
application, such as customer relationship management (CRM), or service, like hosted voice over
IP (VoIP), or off-site storage and the cost for which would typically exceed smallest business
budgets if it weren’t delivered using the cloud. Whether the organization choose an application
or a service, it’s hosted on the cloud provider’s servers and employees access it using a web
browser.
Furthermore, Cloud computing offers small companies some pretty compelling advantages,
including easier installation of applications and hardware; access to sophisticated software; and
the ability to try software before purchasing it.
21
applications that communicate over the Internet and includes functionality for traversing
firewalls.[Rev18][Mic10]
11.1 Architecture
Ice is an object-oriented middleware platform. Fundamentally, this means that Ice provides tools,
APIs, and library support for building object-oriented client–server applications. Ice applications
are suitable for use in heterogeneous environments: client and server can be written in different
programming languages, can run on different operating systems and machine architectures, and
can communicate using a variety of networking technologies. The source code for these
applications is portable regardless of the deployment environment.[Mic10][Rev18]
11.2 Benefits
The Ice architecture provides a number of benefits to application developers and they are as
follows:
1. Object-oriented semantics: Ice fully preserves the object-oriented paradigm “across the
wire.” All operation invocations use late binding, so the implementation of an operation is
chosen depending on the actual run-time (not static) type of an object.
22
2. Support for synchronous and asynchronous messaging: Ice provides both synchronous
and asynchronous operation invocation and dispatch, as well as publish–subscribe messaging
via IceStorm. This allows you to choose a communication model according to the needs of
your application instead of having to shoe-horn the application to fit a single model.
3. Support for multiple interfaces: With facets, objects can provide multiple, unrelated
interfaces while retaining a single object identity across these interfaces. This provides great
flexibility, particularly as an application evolves but needs to remain compatible with older,
already deployed clients.
4. Machine independence: Clients and servers are shielded form idiosyncrasies of the
underlying machine architecture. Issues such as byte ordering and padding are hidden from
application code.
5. Language independence: Client and server can be developed independently and in different
programming languages. The Slice definition used by both client and server establishes the
interface contract between them and is the only thing they need to agree on.
6. Implementation independence: Clients are unaware of how servers implement their
objects. This means that the implementation of a server can be changed after clients are
deployed, for example, to use a different persistence mechanism or even a different
programming language.
7. Operating system independence: The Ice APIs are fully portable, so the same source code
compiles and runs under both Windows and Unix.
8. Threading support: The Ice run time is fully threaded and APIs are thread-safe. No effort
(beyond synchronizing access to shared data) is required on part of the application developer
to develop threaded, high-performance clients and servers.
9. Transport independence: Ice currently offers both TCP/IP and UDP as transport protocols.
Neither client nor server code are aware of the underlying transport. (The desired transport
can be chosen by a configuration parameter.)
10. Location and server transparency: The Ice run time takes care of locating objects and
managing the underlying transport mechanism, such as opening and closing connections.
Interactions between client and server appear connection-less. Via IceGrid, you can arrange
for servers to be started on demand if they are not running at the time a client invokes an
operation. Servers can be migrated to different physical addresses without breaking proxies
held by clients, and clients are completely unaware how object implementations are
distributed over server processes.
23
11. Security: Communications between client and server can be fully secured with strong
encryption over SSL, so applications can use unsecured public networks to communicate
securely. Via Glacier2, you can implement secure forwarding of requests through a firewall,
with full support for callbacks.
12. Source code availability: The source code for Ice is available. While it is not necessary to
have access to the source code to use the platform, it allows you to see how things are
implemented or port the code to a new operating system.[Mic10][Mar03]
13. Overall, Ice provides a state-of-the art development and deployment environment for
distributed computing that is more complete than any other platform we are aware of.
11.3 Alternative
Ice is a modern alternative to object middleware such as CORBA or COM/DCOM/COM+. It is
easy to learn yet provides a powerful network infrastructure for demanding technical
applications. It features an object-oriented specification language, easy to use C++ and Java
mappings, a highly efficient protocol (including protocol compression), asynchronous method
invocation and dispatch, dynamic transport plug-ins, TCP/IP and UDP/IP support, SSL-based
security, a firewall solution, and much more.[OSD18]
24
12 Program User Guide
12.1 User Registration
This is the first phase of this project. It is the compulsory part to be a member of Library
Management system. To be an active member of library the users must fill up all the detailed
information of the user registration form. All the fields are mandatory to be filled. After filling all
the forms, the users must not forget to submit their data. The approval message will be sent to
their respective email address.
25
12.2 User Login
After the approval of their membership the user can login into the system with the valid
username and password. If they left blank or forgot to put their details, then the login would not
be possible.
26
Here, users can find list of available books which are found inside the library.
This is the admin panel for insert, update and delete books. After successful login into the system
the admin can view different categories of books and add book, delete book and update available
book information.
27
12.5 Book Transaction
This shows the detailed information of book transaction of the book inside the library
management system.
28
12.6 Book Issue
Users can issue book by entering Book ID, Book Title, Accession no. and member ID and issue
date and return date. All the fields must be filled up before issuing books.
29
13 Hardware and Software Requirement
Hardware requirement:
Software Requirement:
1. Java language
2. Net beans IDE 7.0.1 [17ht]
30
14 Conclusion
The given project was really changing for developers to produce a library management system
without any error. The Library system is developed and design by implementing java RMI
technology. Java RMI technology was totally new thing for us so I take maximum time to
understand the codes of RMI technology in java. Through continuous research and learning it is
easy to understand the techniques of Object oriented design and implementation of RMI
technology. From this project I learned many things and that would be helpful for my carrier as
well.
Furthermore, I learned about the distributed system and how to apply successfully into the
system. Designing tools such as use case diagram has make more easily to develop this working
software in a flow. The system was executed without errors and validation is done for each entry
from the users to avoid logical errors. With the implementation of all the codes the system
software has finally worked successfully and all the basic requirements are fulfill.
31
15 References
Anon., 2015. Multi-soft virtual Academy. [Online]
Available at: http://www.multisoftvirtualacademy.com/blog/advantages-of-java-object-oriented-
programming-oops-concepts/
[Accessed 29 october 2017].
Anon., n.d. [Online]
Available at:
http://www.answers.com/Q/What_are_the_objectives_of_library_management_system?#slide=1
[Accessed 2017].
Anon., n.d. [Online]
Available at: https://netbeans.org/community/releases/70/relnottes.html
[Accessed 2017].
Anon., n.d. [Online]
Available at: http://searchmicroservices.techtarget.com/definition/class-diagram
[Accessed 2017].
Anon., n.d. [Online]
Available at: https://www.tutorialspoint.com/java_rmi/java_rmi_introduction.htm
Anon., n.d. [Online]
Available at: http://istqbexamcertification.com/what-is-software-testing/
Barry Burd, P., n.d. Beginning Programming with JAVA. Fifth Edition ed. s.l.:s.n.
Beckham, J., 2011. Cisco Blogs. [Online]
Available at: https://blogs.cisco.com/smallbusiness/cloud-computing-vs-virtualization-the-
differences-and-benefits
[Accessed 2 june 2018].
Chisnall, D., 2006. [Online]
Available at: http://www.informit.com/articles/article.aspx?p=661370&seqNum=4
[Accessed 3 june 2018].
Habub, D. M., n.d. Feasibility Study-Marketing Financial and Operational Analysis. second ed.
s.l.:s.n.
Hass, A. M. J., n.d. Guide to Advanced Softwrae Testing. Second Edition ed. s.l.:s.n.
JavaPoint, n.d. javatpoint.com. [Online]
Available at: https://www.javatpoint.com/RMI
[Accessed 4 may 2018].
javatpoint, 2015. javatpoint. [Online]
Available at: https://www.javatpoint.com/RMI
[Accessed 2018].
1
Jung, K. Y. K. a. K. M., 2006. Activity Diagrams. second ed. Korea: Prime.
K.jlwin, D. M., 2015. Feasibility Studies in Construction Projects. second ed. s.l.:Practical
Construction Guides.
Kozlovski, S., 2018. A Thorough Introduction to Distributed Systems, s.l.: Hackernoon.
Kumar, N., 2012. Use Case Diagram. second ed. Nepal: s.n.
Laukien, M., 2003. The Internet Communications Engine, s.l.: ZeroC.
OSDN, n.d. osdn.net. [Online]
Available at: https://osdn.net/projects/freshmeat_internetcommunicationsengine/
[Accessed 3 may 2018].
Pankaj, 2017, November 3. File Handling In Java, s.l.: JournalDev.
Pankaj, 2018. JournalDev. [Online]
Available at: https://www.journaldev.com/12496/oops-concepts-java-example
[Accessed 4 june 2018].
Patterson, J., 2013. JAVA. second ed. s.l.:s.n.
Peter Mell, T. G., 2011. csrc publication. [Online]
Available at: https://csrc.nist.gov/publications/detail/sp/800-145/final#pubs-abstract-header
[Accessed 1 june 2018].
Revolvy, n.d. revolvy.com. [Online]
Available at: https://www.revolvy.com/main/index.php?s=Internet+Communications+Engine
[Accessed 1 may 2018].
Rouse, M., 2005. Remote Method Invocation (RMI), s.l.: The server siide.
Rouse, M., 2006. CORBA (Common Object Request Broker Architecture), s.l.: Sql Server.
Rouse, M., 2011. DCOM (Distributed Component Object Model), s.l.: Tech Target.
Rouse, M., 2017. whalts. [Online]
Available at: DCOM (Distributed Component Object Model) is a set of Microsoft concepts and
program interfaces in which client program object s can request services from server program
objects on other computers in a network. DCOM is based on the Component Object Model
[Accessed 2018].
Spruiell, M. H. M., 2010. Distributed Programming with Ice, s.l.: ZeroC, Inc. .
Stefanov, V. A. a. S., 2017. Object-Oriented JavaScript. third ed. s.l.:s.n.
testcases, s., 2018. onecore. [Online]
Available at: https://onecore.net/sample-test-cases-for-user-registration-form.htm
[Accessed 4 june 2018]
2
3