Göm menyn

TDP024 Enterprise Systems

Ht1 2023


LAB1 - Java Persistence API

In this lab you will create a standard Java project and implement the persistence layer of your application using Java Persistence API.

Tasks

  • Create a standard Java project in Eclipse or Netbeans
  • Setup the project to use Java Persistence API (include the necessary jar's)
  • Create and configure the persistence.xml file
  • Create all entity classes and their relations based on the given class diagram (Class diagram)
  • Specify the validation rules for entities and create validation classes if required
  • Create facade classes to use entities
  • Create test classes for your facade classes


See the "Links" section of this website for help with the tasks.

Deadline: To finish all labs in time we recommend finishing this lab at: Wednesday, September 14. Final deadline for all labs is: Monday, October 10 Monday, October 31
MySQL Connector:: You need to add MySQL connector to your project to connect to MySQL database.
Database Setup:: Run database setup script in MySQL to create some sample countries, cities and product types.
Tip: Make sure you test your configuration before trying to implement the entire layer.
When your done: Email all your code to the assistant with your group number (from WebReg).

LAB2 - Business Logic and RESTFul Web Service

In this lab you will create two Java projects.

In the first project you will implement the business logic of the application. Make sure you have all the necessary logic in place to implement the web service API presented later. Also make sure that the logic is well tested.

In the second project you will create a RESTFul webservice project and implement the web interface for your business logic, which you will use later on in your frontends. The webservices should also be well tested.

Tasks

  • Create a new project for the business logic layer, and link your JPA layer to this project
  • Design and implement your business facade classes
  • Create test classes for your facade classes
  • Create a new project for the webservice layer (Dynamic Web Project in Eclipse), and link your JPA and business facade projects to this project
  • Implement your webservices according to the given WebService Specification
  • Create test classes for your webservices
  • Deploy your application on Glassfish server

See the "Links" section of this website for help with the tasks.

Deadline: To finish all labs in time we recommend finishing this lab at: Friday, September 30. Final deadline for all labs is: Monday, October 10 Monday, October 31
External Services API::To send email and use logger service look at External Services API.
When your done: Email all your code to the assistant with your group number (from WebReg).

LAB3 - Frontend with JSP and Servlets

In this lab you will create the frontend layer of your application using JSP. You need to implement the following features:
  • Register a new user
  • Login and logout
  • Create an auction
  • Bid for an auction
  • View all available auctions with their details (products, bidders, ...)
  • View all registered auctions by current user
  • Delete or modify registered auctions if no bidding has registered for them
  • View all auctions that the current user has won and must pay for them
  • View all auctions that current user has bid for them
  • Search auctions
  • Update current user information (name, phone, address, ...)
  • Change current user password
  • Pay for an auction

See the "Links" section of this website for help with the tasks.

Deadline: Final deadline for all labs is: Monday, October 10 Monday, October 31
When your done: Email all your code to the assistant with your group number (from WebReg).You need also to demonstrate the code individually to the assistant.

LAB4 - Third-party Service

In this lab you will create a third-party service with the following features:
  • An interface for users to register keywords that they are interested on
  • Check new auctions frequently and compare new auctions with users keywords and send email to them if they are matched
  • Log all matched auctions and interested users in an appropriate format

Since it s a third-party service you do not have access to auction database directly and you can only use the web services that you have developed in LAB2 to search or get information about auctions.

See the "Links" section of this website for help with the tasks.

Deadline: Final deadline for all labs is: Monday, October 10 Monday, October 31
External Services API::To send email and use logger service look at External Services API.
When your done: Email all your code to the assistant with your group number (from WebReg).You need also to demonstrate the code individually to the assistant.

LAB5 - Frontend for Android/iOS or Admin Panel

In this lab you can develop a frontend application for Android or iOS with same features as you did in LAB3.

Or you can use your web services to develop a web based admin panel by using GWT, JSF or C#. The admin panel should have the following features:
  • Create, view and delete countries
  • Create, view and delete cities
  • Create, view and delete product types
  • View, delete and modify users
  • For each user view all registered, bid, must pay and paid auctions and their details
  • View and delete all auctions

See the "Links" section of this website for help with the tasks.

Deadline: Final deadline for all labs is: Monday, October 10 Monday, October 31
Hint: The number of iOS workstations are limited, and so you need to ask your assistant if there is room for you. Also there will be no assistant for you to ask questions about iOS development. As such, if you choose to develop for iOS, your on your own.
When your done: Email all your code to the assistant with your group number (from WebReg).You need also to demonstrate the code individually to the assistant.


Sidansvarig: Anders Fröberg
Senast uppdaterad: 2021-08-23