Jogat - Business Proposition
Showcase Application
Status: Proposal
Version: 0.2
Author: Osman Mrzljak
Date: 5 september 2013
Table of Content
Table of Content ... 1
Introduction ... 2
Jogat Development Team ... 2
Showcase Application ... 3
Tour operator “Elephant Travel” bookings application ... 3
Mobile Application ... 3
Web Portal ... 5
Unified Trip Booking ... 5
Application architecture ... 7
View Layer ... 7
Service Layer ... 7
Data Layer... 7
Application design ... 8
View Layer ... 8
Web Portal ... 8
Mobile Application ... 8
Power Users Application... 9
Service Layer ... 9
Data Layer... 10
Deployment architecture ... 11
In house hosting ... 11
In cloud hosting ... 12
Introduction
This document describes the blue print of a showcase application “Elephant Travel”. This showcase application
demonstrates software solution developed by the Jogat Development Team of B-inIT b.v. It illustrates the type of solution and design principles used by Jogat
“Elephant Travel” is a fictional Tour Operator Company. ”Elephant Travel” existing booking system consists of a Web Portal and a few backend systems.
By reusing the current system, in cooperation with “Elephant Travel”, B-inIT has developed a new System Architecture and a multi-layer system design.
Also a new sales channel is added in the form of a native application for the mobile devices, which is integrated in the whole system as well. Through the integration of mobile devices into the sales and marketing strategy, “Elephant Travel”
ensures better services to its customers and a higher success aspect in sales.
The existing Web Portal was redesigned to make it HTML 5 compliant and easily accessible from new mobile devices.
The System Design and development is made by Jogat Development Team in Sarajevo, Bosnia and Herzegovina.
The Distributed project team is managed using Scrum Development Process and integrated project management tools.
Jogat Development Team
is a new business proposition of B-inITb.v. A detailed description about possibilities offered by this team can be found in the “Jogat – Business Proposition” document.
For any further question feel free to contact the team manager O. Mrzljak
Osman Mrzljak
B-inIT b.v.(www.b-init.nl ) [email protected] +31641645185
http://www.linkedin.com/in/mrzljak
Showcase Application
Tour operator “Elephant Travel” bookings application
The tour operator booking system in the basic view consists of:
Tightly integrated backend systems
Power Users application used by Employees to perform different tasks, from sales and marketing activities over call center activities to advanced system maintenance tasks.
Web Portal available on the internet is accessible from any device with an HTML 5 compliant browser
(Windows, Linux, iOS, Android, MacBook or other mobile devices). The Web Portal is designed as a self-service application where customers can browse, search and book holidays.
Native Mobile Application is installed on customer’s mobile devices. This application delivers more
personalized offers to every customer using integrated mobile services like GPS, Social Media, Audio and Video content, Customer Profile.
Figure 1 Bookings System
While using the already existing back-end system, the tour operator gets two very effective selling channels: a Web Portal and a Mobile Application. This well integrated system offers all channel specific features to customers with the cross channel advantage still in place. For example, while browsing destinations on their mobile device the customer has the option to call the sales department and get specific help on its booking. Bookings made using one channel are available to view on all channels.
Mobile Application
The mobile application is built on top of the existing system. With the addition of this new sales channel the tour operator
“Elephant Travel” is now able to deliver better services to its customers. By combining the power of a mobile device with unified sales activities through other channels, the tour operator can provide their customers with better services. This application integrates all possibilities and features of mobile devices to provide a unique user interface.
Main Screen
The mobile application’s unique features are:
- User authentication using Google++ , Facebook or other OAuth authentication provider.
- User profile with preferences and favorite destinations and searches.
- Location based search, and destination rating.
- Push notification with last minute offers based on location and the user’s travel behavior.
- Offline access to made bookings and downloaded information about destinations.
- Adding reviews anytime anywhere, even when traveling or staying at the destination.
Figure 2 Mobile app “Main Screen”
Destination Detail
After their search users can browse detail information in the “Destination Detail” screen. Great features delivered by the mobile app are:
- Calling “customer care center” (CCC) employee (just with one push). The CCC employee gets directly in “Power Users Application” the same destination view like the mobile app user.
- A calculated total price for the trip configuration specified in user preferences.
- Destination rating based on Facebook friends rating. (if Facebook account provided by user) - Directly booking and checkout using Google Play InApp billing (Paypal, Creditcard, etc supported).
- View destination in Google Maps View, with integrated destination coordinates.
- View ratings outside “Elephant Travel”, for example on Tripadvisor.
- View weather conditions.
- Save destinations in favorites to view it later (even when of-line).
- Browse and add photos and videos related to a destination.
Figure 3 Destination Detail Screen
Web Portal
“Elephant Travel” existing web portal is redesigned with an HTML 5 clean and simple design making it accessible from any device supporting HTML 5. The web portal features are usable on any iOS phone, tablet, android, windows phone, windows PC / tablet, Mac iOS etc.
An important addition to the portal is the awareness of the mobile application. The user’s behavior and changes made on the mobile device with the app are now visible on the portal as well. All bookings, ratings and searches the user made with the mobile app are accessible on the web portal. Using the strengths of browser on desktop the user experience is enriched by HD Video reviews, integration with Internet Banking and the upload, scanning and printing of travel documents.
Unified Trip Booking
Miss Brow gets a Whatsapp message from her friends on vacation in Spain saying “It is wonderful here in Spain and we miss you all.” with a picture of the beach linked to “Elephant Travel” destination finder.
When Miss Brow opens the link the Elephant Travel app opens the “Destination Detail” screen with a calculated total price for her family and favorite date. She gets a special offer “10% reduction if booking is shared on Facebook”.
When Miss Brown calls the customer support center of “Elephant Travel” to ask about the possibility of traveling with pets, the Customer Employee sees directly the destination in question and is able to read the extended information about the destination and then answer…“Yes, dogs and cats are permitted to stay in the destination hotel”.
After talking to her husband, Miss Brown decides to book this trip. She pays the total price with Google Checkout. After sharing this booking on Facebook, she gets 10% back on her bank account.
She gets a push notification (after a couple of minutes) with the booking confirmation. The booking confirmation with all the travel instructions is already in her bookings overview on the mobile app. She can check all the details on her phone.
She can explore the destination area with Google Maps or Tripadvisor to find a nice place to see or a good restaurant.
Because this destination is in a foreign country, “Elephant Travel” asks her to send them a copy of the travelers’
passports. All she has to do when she is at home is log onto the web portal on her PC, scan the passports and upload them to “Elephant Travel”, this is further processed by the “Elephant Travel” employees.
And of course she thanks her friend in Spain for sending her a nice booking opportunity.
Application architecture
The “Elephant Travel” booking system is a service oriented architecture divided into three layers: View Layer, Service Layer and Data Layer. The majority of the system is built on top of.Net architecture.
Figure 4 Application Architecture
View Layer
Web portal is redesigned to use ASP.NET MVC Framework, which makes it easy to deliver HTML 5 compliant views supported on many mobile and desktop devices. Mobile Services frontend layer handles mobile device specific aspects like device management, security, data caching, video encoding, services composition, battery consumption, lower screen resolution, etc.
Service Layer
Application Services bundled in “Service Layer” are accessible using open standards OData, RESTFull en SOAP services, which make them platform independent. The same services are used in the existing web portal and the new developed mobile application. This layer also integrates B2B backend services with internal services.
Data Layer
There is a number of backend systems, already existing systems. Without modifications these backend systems are used in the services layer for all frontend applications.
Application design
Application Design follows the nature of architecture. The main advantage of this service oriented architecture is its reusability and flexibility.
While the components in View Layer implement features needed in one frontend applications (web portal, mobile application of power user application), the services in Service Layer are generic and can be reused in any frontend.
View Layer
This layer consist of three frontend applications: web portal, mobile application and power user’s application.
Web Portal
Web Portal is redesigned to deliver HMTL 5 compliant views. Built on .NET MVC Framework this layer supports users running most popular browsers; IE, Mozila, Chrom, Safari, and their mobile versions.
Web Portal performs all communications with “Service Layer” through Windows Communication Foundation and SOAP distributed calls. This makes it easier to deploy this layer everywhere, even outside the IT Environment of “Elephant Travel”. This Layer can be easily deployed on Windows Azure which makes it very stable and scalable.
Figure 5 Application Design - Webportal
Mobile Application
Mobile Application is designed for Android platform which runs (according to statistics from May 2013) on more than 900 million devices. Although Apple’s iOS devices are supported with HTML 5 Web Portal we are working to deliver a native iOS application for “Elephant Travel”.
By using a native application on mobile devices we can make use of powerful features like more responsive and user friendly user interface, Location Services (GPS), sensors data (like movements, acceleration), authentication, cache data, offline usage, video playback, push notification etc.
There is also a “Mobile Services” application built in ASP.NET which supports a mobile application with server side features and connects with backend services. This offers following features used in the Mobile Application:
- Mobile device management – to ensure only registered devices can use services - Data caching – to avoid unnecessary retrieving data from backend multiple times.
- Validation of user input
- Asynchronous execution and error handling.
- Session management.
Power Users Application
This is an existing application with dedicated access to backend systems. This application is reused “as-is” without modifications.
Service Layer
This is the heart of the booking system. Using advanced integration possibilities of .NET architecture this layer ensures platform independent interfaces for any kind of frontends. It also integrates B2B partner’s backend to provide all the functionality necessary for the frontend applications.
This layer provides all application functionality through SOAP services using .NET WCF, which ensures a stable, scalable and very fast application.
Long running processes are implemented as composite services using Windows Workflow Foundation. High throughput transactional processing is supported by Windows Message Queuing. READ ONLY frequently retrieved data are stored in-memory storage.
Figure 6 Service Layer Design
Data Layer
Most of the data is stored on Windows SQL Server databases. However in some data integration scenarios we use XML files to export and import data from external data providers.
Deployment architecture
“Elephant Travel” booking system architecture guarantees a very flexible deployment strategy. This system is consistently divided into different layers integrated with SOAP and RESTful web services. This makes independent deployment and hosting choices of every layer.
In house hosting
This system integrates with existing backend systems of “Elephant Travel” hosted in an own “in house” environment. In that case the “View Layer” (see design of View Layer) is deployed in DMZ (Demilitarized Zone) to have a secure connection with the internet. Both the Web Portal and Mobile Services have to be accessible from the internet.
Other system layers integrate with the existing backend systems through ESB (Enterprise Service Bus).
Figure 7 Deployment Architecture
In cloud hosting
All three system layers can be also deployed in cloud, for example on Windows Azure Hosting. The “View Layer” can be deployed to Windows Azure without any modification of the application code.
Deploying the Service Layer in the cloud is possible and easy but requires that interfaces of backend systems and b2b partner systems are available over the internet.
Deploying the Data Layer in the cloud is not as easy because it integrates tightly with the existing systems of “Elephant Travel” which are not accessible from the cloud.
Figure 8 Deployment Architecture - Cloud