@@ -10,7 +10,8 @@ existing movies. Customers can discuss the movie in a chat room. Total
1010sales from each showing are calculated at the end of the day. Customers
1111also accrue points for watching movies.
1212
13- image::2.0-problem-statement.png[title="Architecture diagram"]
13+ .Architecture diagram
14+ image::2.0-problem-statement.png[]
1415
1516This figure shows the key components of the application. The User
1617Interface initiates all the flows in the application. Show Booking,
@@ -23,35 +24,36 @@ various Java technologies and web standards in their implementation. The
2324following figure shows how Java EE technologies are used in different
2425flows.
2526
26- image::2.0-technologies.png[title="Technologies used in the application"]
27+ .Technologies used in the application
28+ image::2.0-technologies.png[]
2729
2830The table below details the components and the selected technology used
2931in its’ implementation.
3032
31- [cols="2,8", options="header" ]
33+ [cols="2,8"]
3234|===
33- | Flow | Description
35+ |Flow | Description
3436
35- | User Interface
36- | Written entirely in _JavaServer Faces_ (JSF)
37+ |User Interface
38+ |Written entirely in _JavaServer Faces_ (JSF)
3739
38- | Chat Room
39- | Utilizes client-side JavaScript and JSON to communicate with a _WebSocket_ endpoint
40+ |Chat Room
41+ |Utilizes client-side JavaScript and JSON to communicate with a _WebSocket_ endpoint
4042
41- | Ticket Sales
42- | Uses _Batch Applications for the Java Platform_ to calculate the total
43+ |Ticket Sales
44+ |Uses _Batch Applications for the Java Platform_ to calculate the total
4345sales and persist to the database.
4446
45- | Add/Delete Movie
46- | Implemented using RESTful Web Services. JSON is used as on-the-wire data format
47+ |Add/Delete Movie
48+ |Implemented using RESTful Web Services. JSON is used as on-the-wire data format
4749
48- | Movie Points
49- | Uses _Java Message Service_ (JMS) to update and obtain loyalty reward
50+ |Movie Points
51+ |Uses _Java Message Service_ (JMS) to update and obtain loyalty reward
5052points; an optional implementation using database technology may be
5153performed
5254
53- | Show Booking
54- | Uses lightweight _Enterprise JavaBeans_ to communicate with the database
55+ |Show Booking
56+ |Uses lightweight _Enterprise JavaBeans_ to communicate with the database
5557using Java Persistence API
5658|===
5759
@@ -85,16 +87,19 @@ While you are copy/pasting the code from this document into NetBeans,
8587here are couple of tips that will be really useful and make your
8688experience enjoyable!
8789
88- * NetBeans provides capability to neatly format the source code
90+ Source Code Formatting::
91+ NetBeans provides capability to neatly format the source code
8992following conventions. This can be done for any type of source code,
9093whether its XML or Java or something else. It is highly recommended to
9194use this functionality after the code is copy/pasted from this document
9295to the editor. This keeps the code legible.
93-
96+ +
97+ --
9498This functionality can be accessed by right-clicking in the editor pane
9599and selecting “Format” as shown.
96100
97- image::2.1-format.png[title="Format code in NetBeans"]
101+ .Format code in NetBeans
102+ image::2.1-format.png[]
98103
99104This functionality is also accessible using the following keyboard
100105shortcuts:
@@ -112,18 +117,23 @@ shortcuts:
112117|kbd:[Alt+Shift+F]
113118|Linux
114119|===
120+ --
115121
116- * Copy/pasting the Java code from this document in NetBeans editor does
122+ Automatic Imports::
123+ Copy/pasting the Java code from this document in NetBeans editor does
117124not auto-import the classes. This is required to be done manually in
118125order for the classes to compile. This can be fixed for each missing
119126import statement by clicking on the yellow bulb shown in the side bar.
120-
121- image::2.1-server-endpoint.png[title="ServerEndpoint import"]
127+ +
128+ --
129+ .ServerEndpoint import
130+ image::2.1-server-endpoint.png[]
122131
123132Alternatively all the imports can be resolved by right-clicking on the
124133editor pane and selecting ``Fix Imports'' as shown.
125134
126- image::2.1-fix-imports.png[title="Fix Imports in NetBeans"]
135+ .Fix Imports in NetBeans
136+ image::2.1-fix-imports.png[]
127137
128138This functionality is also accessible using the following keyboard
129139shortcuts:
@@ -146,6 +156,7 @@ The defaults may work in most of the cases. Choices are shown in case a
146156class is available to import from multiple packages. If multiple
147157packages are available then specific packages to import from are clearly
148158marked in the document.
159+ --
149160
150161=== Estimated Time
151162
@@ -162,31 +173,36 @@ pre-requisite for <<json>>.
162173
163174Here is an approximate time estimate for each section:
164175
165- [cols="4,2" options="header" ]
176+ [cols="4,2"]
166177|===
167- | Section Title | Estimated Time
178+ |Section Title |Estimated Time
168179
169- | <<walk-through>> | 15 - 30 mins
180+ |<<walk-through>>
181+ |15 - 30 mins
170182
171- | <<websocket>> | 30 - 45 mins
183+ |<<websocket>>
184+ |30 - 45 mins
172185
173- | <<batch>> | 30 - 45 mins
186+ |<<batch>>
187+ |30 - 45 mins
174188
175- | <<jaxrs>> | 30 - 45 mins
189+ |<<jaxrs>>
190+ |30 - 45 mins
176191
177- | <<json>> | 30 - 45 mins
192+ |<<json>>
193+ |30 - 45 mins
178194
179- | <<jms>> | 30 - 45 mins
195+ |<<jms>>
196+ |30 - 45 mins
180197
181- | <<jsf>> | 30 - 45 mins
198+ |<<jsf>>
199+ |30 - 45 mins
182200|===
183201
184-
185202The listed time for each section is only an estimate and by no means
186203restrict you within that. These sections have been completed in much
187204shorter time, and you can do it too!
188205
189206TIP: The listed time for each section also allows you to create a custom
190207version of the lab depending upon your target audience and available
191208time.
192-
0 commit comments