The Proof of Concept case study
You are a developer with DMC Solutions, an IT company selling a system for Destination Management Companies (DMC). A DMC is a specialized travel agency, sometimes called an "incoming" agency, and works with clients in the country where it is based.
Tip
Running DMC
On an average packaged tour, you will probably not enjoy the services of a DMC. But if you manage to qualify for a company-paid trip to some exotic location, your company is likely to engage the services of a DMC at the destination. If you have ever participated in a technology conference, a DMC will normally be taking care of transfers, dinners, receptions, and so on.
The system that DMC Solutions is selling today is based on Oracle Forms, and the sales force is saying that our competitors are offering systems with a more modern look and a more user-friendly interface. Your mission, should you choose to accept it, would be to prove that ADF is a valid choice for a modern enterprise application, and if so, set up a project to build the next generation of destination management software (the XDM project).
Note
The rest of this chapter shows you how to build the Proof of Concept application implementing two use cases. You can simply read through it to get a feel of the tasks involved in creating an ADF application, or you can use it as an ADF hands-on exercise and perform each step in JDeveloper on your own.
Use cases
Your manager has dusted off the specification binder for the existing system and has asked you to implement "Use Case 008 Task Overview and Edit". Additionally, he wants you to implement the newly specified "Use Case 104 Person Task Timeline".
These two use cases represent the application's basic functionality (the ability to search and edit data), as well as a graphical representation of time data, something new that wasn't possible in Oracle Forms.
UC008 Task Overview and Edit
The UC008 Task Overview and Edit screen allows the user to search for tasks by the responsible person, program, or a free-text search, as shown in the following screenshot. Data can be updated and saved back to the database.
DMC Solutions is a British company, so they use the British English term "programme". This term is used because British English makes a distinction between "programme" (a set of structured activities) and a "program" (something that runs on a computer). The screen is not a dialog box, but uses OK to accept changes and save data, and Cancel to cancel any changes and revert to the saved data. For simplicity, we will not implement the application menu, but just have a button labeled Timeline that invokes UC104 instead.
UC104 Person Task Timeline
Your manager would like something like the Gantt charts he uses to track projects, showing the tasks assigned to each person on a timeline, such as the one shown in the following screenshot:
Again, we will not have a menu, just a button called Overview for returning to UC008.
Data model
The destination management system starts with events, such as "Oracle OpenWorld 2014". Within each event, there will be a number of programmes (for example, "VIP Pharma Customers"). One person is responsible for each programme. Within a programme, there will be a number of tasks that point to standard elements from the element catalog. Examples of elements could be a limo transfer, a dinner, an excursion, and so on. Each task will be assigned to exactly one person.
The following figure shows just the parts of the (much larger) existing data model that we need for the Proof of Concept:
If you want to follow along with the Proof of Concept, building it in JDeveloper on your own workstation, you can download SQL scripts for creating the relevant part of the data model from the book companion website at www.enterpriseadf.com. This script also contains some anonymous data.