Extending applications to new business areas
4 Tasks
30 mins
Scenario
Front Stage acquires a company named Opera. Both companies have similar business models of helping customers book and host guests for events. However, Opera manages only indoor events and does not perform parking or weather preparation tasks. Like Front Stage, Opera must also be able to reserve hotel rooms for events.
Front Stage wants to reuse its existing assets to support and promote Opera's business model. At the same time, Front Stage does not want to restrict its outdoor event hosting business model.
Detailed Tasks
1 Identify design options
A solution must enable Opera to reuse Front Stage’s ability to reserve hotel rooms.
Option 1
Create a new Opera application that is built on the existing Hotel application. Class names within this new layer begin with FSG-OPRA-.
Option 2
Create a new Opera application that is built on the existing Event Booking application. You define Opera as a new division of Front Stage. Class names within this new layer begin with FSG-OPERA-OPRA.
2 Evaluate design options
Design |
Pros |
Cons |
---|---|---|
Build on the Event Booking application. Opera is a division. |
|
|
Build on the Hotel application. Opera is not a division. |
|
|
3 Recommend the best design option
Building the Opera application on the Hotel application provides flexibility. The Opera application is affected only by the release cycle of the Hotel application, which is less complex than the Event Booking application. This approach avoids defining Opera as a division, which lengthens class names. The Opera organization is free to create a ruleset similar to the FSG ruleset that every Opera-related application utilizes.
4 Identify required design and configuration tasks
Design and compare possible solutions to determine an optimal approach that satisfies the business scenario. First present a summary of the analysis results, followed by a detailed discussion and comparison of each proposed solution. Implement the proposed solution.
The Room Request case type is the child case to Opera Event in Opera application. Create a Hotel stage in the OperaEvent case type life cycle that instantiates the Rooms Request.
You can make the OperaEvent case type self testable by including an initial Enter Test Data stage to capture the initial values that are required to create a Rooms Request child case.
Copy any rules that need to be overwritten from the FSG-Hotel-Work sub classes to the appropriate FSG-Opera-Work sub classes, for example:
- pySetFieldsDefaults of the FSG-Hotel-Work-RoomsRequest class
- InitRoomsRequest flow action, data transform, and section
- PreSaveHotel data transform
- AddHotelInfo flow action and section
- SearchHotel flow action and section
Available in the following mission:
Want to help us improve this content?