Distributed Systems Course Material Home
There are many ways to build enterprise wide applications. Even within a single programming language like Java there are multiple ways. In this course we will focus on high level concepts that apply to all, or most, methods to build such applications. Then we will see an example and you will do a similar project.
But before we begin we need to understand the problem that enterprise wide applications solve for.
You will need to know some networking basics to understand where in our application it could be split between different computers.
Here are the technologies and products that we will use to build our application.
Installation
Here are installation steps to set up everything that you will need. Install the following software in this order.
- Java JDK 17. https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
- Java JDK 1.8. https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html
- NetBeans 12.6. https://netbeans.apache.org/download/index.html
- Open NetBeans
- Install GlassFish.
- If you don’t see a Services tab, click Windows | Services.
- Right click on Servers and click Add Server.
- Select GlassFish. If you get a message to enable something, go ahead and do it.
- On the Server Location screen select GlassFish Server 5.1.0.
- Check the “I have read …” checkbox.
- Click Download Now button.
- When done downloading click Next.
- On Domain Location screen do not change anything. Just click Finish button.
- Go to Tools | Java Platform Manager. Click Add Platform. Add our 1.8 installation.
- To test is right click on GlassFish Server and click on Start.
Turtle Tracking System (TTS) – High Level Requirements
The sample application will be called the Turtle Tracker System. An environmental non-profit, Sheldon Environmental Science Center, catches and releases turtles throughout the United States. They take basic measurements of the each turtle. This information is used by researchers for various purposes.
The application needs the following requirements.
- Locations: The system needs to be able to add, update, delete locations. Each location will have code, latitude, longitude and a description. For example DCL is Deep Creek Lake. Its’ latitude is 129 and longitude is 152.
- Breeds: The system needs to be able to add, update, delete turtle breeds. Each breed will have a code and description. For example DB is Diamondback.
- Specimen: The system needs to be able to add and update turtle specimens. Each turtle that is caught is a specimen. For each specimen we need to be able to track length, weight, health, location and breed.
- The application will be hosted on the servers at the Sheldon Environmental Science Center. Users here would like:
- A nice desktop interface.
- The ability to add, update and delete locations and breeds. These are the only users that are allowed to do this.
- Some users will record their specimen data on paper. Then when they go back to their offices, they would like a web interface to enter the data.
- Some users will have a mobile device with them in the field. They would like a mobile interface.