Mobile Trillium Engine
|
|
|
- Elinor Chrystal Sparks
- 10 years ago
- Views:
Transcription
1 Mobile Trillium Engine Thesis report by Muhammad Ahmed Ali SEDS Personal number: Master s in Software Engineering of Distributed Systems Thesis supervised by Mihhail Matskin Professor Royal Institute of Technology Stockholm, Sweden And Vincent Dollet CTO Appear Networks AB Stockholm, Sweden
2 Acknowledgements I am grateful to Prof. Mihhail Matskin for supervising my thesis and KTH for providing a great learning opportunity. I would also like to thank Appear Networks mobile development team, platform development team, SITA engineering team and especially Mr. Vincent Dollet for his guidance, technical feedback and encouragement.
3 Abstract Muhammad Ahmed Ali, Senior Software Engineer, Appear Networks AB Abstract of Master s thesis, submitted in September 2013 Mobile trillium engine development, integration and deployment in clustered environment The air transport industry has a constantly growing mobile workforce and a complex, dynamic workflow that requires workers to access and act on the real time information. Rapid mobilization and automation of the key workflow process will allow air transport industry to reduce business cost, better management and improved customer services. [1] The aim of this thesis is to develop a backend system that integrates an existing asset, incident and change management system which is widely used in air transport industry to a mobility platform. The solution enables the field engineers to do limited incident and change management on hand held devices using a mobile application. The business data required by the mobile application is extracted from the legacy incident management system and injected into the mobility platform which makes it readily available for the mobile application. Any updates made by field engineers using the mobile application are synchronized back to the incident management system via this solution.
4 Table of contents ACKNOWLEDGEMENTS ABSTRACT INTRODUCTION MOTIVATION PROBLEM STATEMENT GOAL PROPOSED SOLUTION REPORT STRUCTURE PRELIMINARY STUDY AND RELATED WORK APPEAR IQ MOBILITY PLATFORM Platform components Integration with other systems Key features used by MTE MTE DEVELOPMENT Web services Build tool (Apache Ant) Google protocol buffer SOAP UI SVN kit library Oracle database JBoss application server & clustering Spring framework ARCHITECTURE AND DESIGN INTRODUCTION OVERALL SYSTEM ARCHITECTURE Mobile layer Middleware layer Mobile services layer Enterprise layer
5 3.3 OVERALL SYSTEM DESIGN Introduction MTE ARCHITECTURE AND DESIGN IN DEPTH Major conceptual features Integration with Trillium and data extraction Model and store the data in MTE Integration with Mobility platform Integration with Trillium mobile application Use cases Clustering support MOBILE APPLICATION FE authentication View incident list and incident details View incident details and activity logs Create an incident Update an incident EVALUATION STRENGTHS Performance Reliability Availability Scalability LIMITATIONS Support for new airports Robust database initialization process RESULTS AND FUTURE WORK Results Future improvements BIBLIOGRAPHY
6 LIST OF FIGURES Figure 2-1: Client service class generated from WSDL Figure 2-2: MTE Ant build script integrated in a Java IDE Figure 2-3: Example address book proto Figure 2-4: Trillium WSDL imported into SOAP UI Figure 2-5: SVN Kit library big picture Figure 3-1: Overall architectural representation Figure 3-2: System design Figure 3-3: Trillium web interface Figure 3-4: Mobility platform admin interface Figure 3-5: Login SOAP request Figure 3-6: Extract data SOAP request Figure 3-7: Dynamic and semi static business data model (i) Figure 3-8: Static business data model (ii) Figure 3-9: Synchronize datasets using continues synchronization Figure 3-10: HTTP forwarding configuration Figure 3-11: Http forwarding mapping Figure 3-12: Dynamic data sync via HTTP forwarding Figure 3-13: Updates via messaging Figure 3-14: Message receiver configuration Figure 3-15: Static data proto schema Figure 3-16: Use case diagram Figure 3-17: FE authentication use case Figure 3-18: Update incident use case Figure 3-19: Create incident user case
7 Figure 3-20: Create incident SOAP request
8 LIST OF TABLES Table 3-1: Login SOAP request Table 3-2: Extract data SOAP request Table 3-3: Incident entity Table 3-4: Activity logs entity Table 3-5: Group Member entity Table 3-6: ServiceCI entity Table 3-7: Priority entity Table 3-8: Reporting method entity Table 3-9: Create incident SOAP request
9 Glossary AIQ ATI MTE ITSM Appear networks mobility platform Air transport industry Mobile trillium engine Information technology service management SITA MMS SITA mobile middleware solution HHT FE Handheld terminal, mobile devices Field engineers
10 1 Introduction 1.1 Motivation SITA 1 is the world leading specialist in air transport communication and information technology [2] and Appear Networks 2 provide end to end mobility solutions for enterprise [3]. AIQ mobility platform is offered by SITA as a hosted service (SITA MMS) and can reach 250 airports around the globe where SITA infrastructure already exists. The air transport industry has a constantly growing mobile workforce and a complex, dynamic workflow model, requiring workers to access and act on real-time information. In today s environment, however, many processes on the ground are still static, paper-based and nothing like as efficient as they could be since they are unable to leverage the power of the information locked in ATI applications and systems. The answer is a mobile workforce solution that can deliver the right information at the right time to mobile field workers using applications which can anticipate their needs and requirements based on a number of context parameters (location, time, staff certification, network-type, etc.) [4]. 1.2 Problem statement In today s world a small airport can hold hundreds of assets (check-in terminals, boarding card printers, computers etc.) and on a larger airport this number can easily reach thousands. SITA is a leading provider of these assets and provide active support to customers (mainly airlines using these assets), to meet the customer service level agreements its critical to have a system to keep track of all the assets, raise a ticket/incident if something goes wrong and assign it to the right field engineer who can resolve the issue. Unicenter Service Desk 3 product allows incident, knowledge and change management [5], SITA has customized and adapted this product for air transport industry and this SITA system is named Trillium which allows SITA personnel (e.g. field engineers, service desk staff) working on airports to perform asset, incident and change management. Trillium is a legacy web application with a complex web interface on the other hand FE s are moving around in the airport and needs instant information on finger tips in addition FE s are only interested in the information required to identify an asset and resolve the ticket which means a traditional backend system that requires a workstation is really not usable that is the reason why SITA wants to mobilize this ITSM thus enabling its field engineers to interact with Trillium system and carry on limited incident management activities using a mobile application
11 1.3 Goal To do incident management using a mobile application the mobile application needs to be integrated with the Trillium backend system. Considering the number of airports, the number of field engineers, the firewall issues and huge volume of data involved it is not feasible for this mobile application to talk directly to Trillium backend system a mobile device has limited resources (i.e. memory, computing power, network, battery) which means it can server as a user interface to the system but not an integration endpoint to the system. In addition, to manage the life cycle of a mobile application (i.e. install, upgrade and data synchronization) and to make sure that the device only gets the minimum user specific data a mobile application platform is required which provide the application management features and continues data synchronization. The goal of this thesis is to develop a backend system named Mobile Trillium Engine (MTE) that integrates this mobile application platform to Trillium system. This means there is only single point of contact for the Trillium system. MTE extracts the required business data from Trillium and injects it to the AIQ mobility platform. Mobility platform then synchronize this data to the mobile devices and makes it available for the mobile application. Any updates made by the user using the mobile application are synchronized back via AIQ to MTE and then all the way to Trillium thus enabling the field engineers located at airports to access Trillium using personal hand held devices over cellular or WiFi networks. Another challenge is the huge volume of data for different airports that is stored in the Trillium system and as MTE needs to extract it thus a data extraction mechanism needs to be developed that extract only the required subset of this data and always do incremental check for updates on this data. 1.4 Proposed solution The Trillium system exposes web services to integrate external systems. A thick backend application MTE is developed that is integrated to Trillium using web services and has following major features Extract large volumes of business data from Trillium system and store it locally in a database Inject data to the AIQ mobility platform that synchronize it to the mobile devices Expose web services to receive updates from AIQ mobility platform sent by mobile application and forward these updates to the Trillium system Look for new available data on Trillium at schedules intervals and synchronize as soon as its available Is scalable reliable and robust to handle large volumes of data and serve large number of users.
12 1.5 Report structure This thesis report is divided into 7 chapters. Chapter 1 mainly focuses on introduction to problem and defines the goals for this thesis. In chapter 2 the initial study conducted and selection of software and technologies is explained. In chapter 3 overall system design and architecture is discussed. In chapter 4 the mobile trillium application is explained. In chapter 5 we evaluate the solution and approach towards problem solution. In final chapter number 6 we focus on the results and future improvements and chapter number 7 include the list of references.
13 2 Preliminary study and related work To achieve the goals given in section 1.3 and to develop a backend application that bridges the Trillium system to AIQ mobility platform different existing tools and protocols are used which are explained in this section. 2.1 Appear IQ mobility platform Appear IQ mobility platform enables you to manage the entire lifecycle of mobile application deployment: from user management through to application distribution, troubleshooting, data synchronization and reporting. You can deploy and manage your own mobile enterprise applications. [3] Platform components AIQ architecture is modular and separates the system responsibilities into distinct components: back-end servers, one or more local network proxies and client software installed in the end-user devices. [6] Appear IQ mobility platform has following major components: 1. AIQ administration server is considered to be a component that is used by administrators to perform administrative tasks. The AIQ administration interface is a web based user interface. Admin server is used to configure AIQ modules. After the configurations are saved, administration server notifies currently connected AIQ proxies about configuration changes, so they can re-configure themselves to use new configurations. [6] 2. AIQ proxy component interacts with AIQ clients. It retrieves configurations configured by administrators from AIQ administration server and re-configures itself. It is the proxy responsibility to distribute all the required resources to clients and keep the data in sync. Proxies can be looked upon as more local components located near to end users, several proxies connecting to one central administration server. [6] 3. AIQ message/integration server provides the functionality to inject arbitrary messages into the system that will be delivered to clients. It is a core component for sending reliable messaging. [6] 4. AIQ client is an endpoint that an end-user can interact with AIQ system. It provides graphical user interfaces and can communicate with AIQ proxy by sending messages that comply to AIQ protocols. [6] Integration with other systems AIQ mobility platform can be integrated with any other third party system by writing a custom integration layer. This integration layer can extract data from and inject data to the mobility platform. For example MTE is a custom integration layer that bridges the mobility platform to the Trillium system Key features used by MTE The following key features of mobility platform that are used by MTE
14 1. Continuous data synchronization the mobility platform can transparently keep the data on the mobile handhelds in synchronization with a central subversion 4 repository [7]. MTE can publish updated data into a central repository. As soon as new data is published, all impacted proxies retrieve the updated data, and publish it silently to the mobile handhelds. Integration layer (MTE) will maintain an extract of Trillium database sufficient for the mobile users, for the different airports where the service will be available. Proxies serving specific airports will automatically retrieve updated data for these airports as soon as it changes. 2. Messaging the mobility platform provides reliable messaging capabilities and any updates between backend and mobile application are exchanges using messaging. 2.2 MTE development MTE is a scalable and fault tolerant custom web application that offers Trillium services to the mobile workforce it is Java EE application integrated with 7 th generation of Appear IQ mobility platform version AIQ 7.0. Following protocols and technologies have been used for MTE development, integration and deployment Web services Web services SOAP 7 and REST 5 enable communication between applications using the standard HTTP and HTTPS protocols over the internet. SOAP is more focused on exposing the named operations or business logic whereas REST is more focused on exposing the resources and performing CRUD 6 operations on those resources. [8] Trillium system exposes SOAP web services 7 and MTE integrates to Trillium using this SOAP interface. Trillium provides a WSDL (web service description language) document. In MTE Java source code is generated from this WSDL document using Apache CXF 8. The generated code includes client service classes that are used to call the available web service methods. The generated code is packaged to a jar file and included in MTE as a dependency. For example following is the client web service class in MTE and allowed operations
15 Figure 2-1: Client service class generated from WSDL AIQ mobility platform exposes REST web services 9 and MTE integrates to mobility platform using this REST interface. For example following is a REST web service expose for injecting messages into the mobility platform this web service exposes the message resource and allows HTTP CRUD operations HTTP GET on /integration-server/public/default/messages list all the messages HTTP GET on /integration-server/public/default/messages/{messageid} list a single message with a specific message id. HTTP POST /integration-server/public/default/messages with message XML document creates a new message HTTP DELTE /integration-server/public/default/messages/{messageid} deletes a message with a specific message id. MTE itself exposes some REST web services that are used by the mobile application to extract data and inject updates Build tool (Apache Ant) MTE is a Java EE application that involves various build steps (e.g. compile, wsdl2java, package war, package ear, ptoto2java, copy dependencies) and Apache Ant 10 is used as the build tool. [9] The build steps are written in an xml build script file, modern Java IDE (e.g. Eclipse, IntelliJ Idea) auto detects an ant build script in a Java project
16 Figure 2-2: MTE Ant build script integrated in a Java IDE The build script can be run from the command line or from within the Java IDE Google protocol buffer Google protocol buffer 11 is a very flexible, simple and efficient protocol to transfer data when compared to XML and JSON. The data contract is written in a simple.proto text file and then a utility program can be used to generate source code (Java, C#, C++). [10] Following is a sample proto for an address book class taken from [10] Figure 2-3: Example address book proto The proto files serve as the data contract between MTE written in Java and the Mobile application written in C#. The REST services exposed by MTE accept and returns the data in Google protocol buffer format SOAP UI SOAP UI 12 is an open source tool very popular among the developer community to test the SOAP web services. During the MTE development SOAP UI software is used extensively to test the complex SOAP queries before doing any actual implementation. 11
17 For example following is a SOAP UI project after importing the Trillium WSDL it list all the available methods and we can test the web service calls by filling in the method parameters in request xml. The server response when this request is sent is displayed as raw xml. Following screenshot is taken from [11] SVN kit library Figure 2-4: Trillium WSDL imported into SOAP UI SVN kit 13 library provide API for java applications to work with the subversion. By using this library java application can connect to a subversion server and can perform all the functinality that is normaly provided by a subversion client. For explanation please see the picture below taken from [12] Figure 2-5: SVN Kit library big picture To achieve continues data synchronization MTE and mobility platform uses SVN kit library extensively. The data that needs to be synchronized to devices is written by MTE to binary protocol buffer files and is committed to a central subversion repository. AIQ checks out a working copy of this repository and synchronize data to the device
18 2.2.6 Oracle database Oracle database 14 is an industry standard for scalable and robust applications. MTE supports oracle 10g database. The data extracted from Trillium by MTE is stored in the database. MTE uses oracle database driver to communicate with the database. The database connection configurations are configured in the web application server as a data source file and retrieved by MTE using JNDI 15. [13] Database creation scripts are provided with MTE installation package to create database JBoss application server & clustering MTE is a Java enterprise (J2EE) web application and requires a web container that supports EJB 16. JBoss 17 is an open source web application server that has full clustering support and features like automatic node discovery that require very little configuration effort. JBoss enterprise application server provides all means to develop large, scalable and robust applications. [14] MTE is deployed in JBoss 5 application server Spring framework MTE is a spring framework 18 based web application. The spring framework in MTE is used mainly for dependency injection 19 in addition the powerful abstraction provided by spring framework in form of templates for database access is extensively used. Spring security is used to protect the web services with simple web authentication and Spring MVC is used to develop the REST web services
19 3 Architecture and design 3.1 Introduction The software architecture of the Mobile Trillium solution is based on SITA MMS platform. The focus is set on enhancing mobile experience while optimizing infrastructure costs. Given the nature of the operations, it is designed to be highly available and scalable to support ever growing business. 3.2 Overall system architecture This section describes the proposed software architecture of the system and explains how the mobile application, mobility platform, MTE and Trillium backend work together and are integrated. In section 1.3 and section 1.4 the approach to solve the problem (given in section 1.2) is explained briefly. To achieve the goals and build a system on top of this approach the overall system can be divided in to four layers Mobile layer This layer consists of components running on mobile device. These components mainly include Trillium mobile application which provides the user interface for the FE to do incident and change management activities The AIQ client provided by mobility platform this is mainly a container application and provide essential infrastructure i.e. connection management when the FE starts the AIQ client the connection management starts and establishes a connection to the mobility platform backend authentication to access the trillium mobile application FE needs to authenticate with a username and password after successful connection to the mobility platform backend the authentication process starts and FE is prompted for the credentials the provided username and password are sent to the mobility platform backend for authorization synchronization of business data starts after the successful authentication and data is downloaded by the client and written to the file system on the mobile device services container the Trillium mobile application executable are downloaded by the mobility client and presented to the FE as a service/application icon from where the FE can start the mobile Trillium application and do the incident and change management activities integration end points when FE makes any updates using the Trillium mobile application these updates are submitted to the mobility client which forwards it to the mobility platform backend that forwards it to MTE and from there they are sent to the Trillium backend
20 3.2.2 Middleware layer This layer (AIQ mobility platform backend) provides the foundations to the mobile solution the core components explained briefly in section 2.1 include Administration server is the administration interface for administrators and can be considered as the configuration store [6]. The configurations are stored in a database. Proxy components connect to the administration server to download the following configurations Authentication configurations the configurations to connect to LDAP and authenticate based on username and password and extract the FE profile (e.g. name, , phone number) from LDAP Provisioning configurations uploaded Trillium mobile application executable and other resources for example the name of the application, icons for the application Device management configurations the AIQ client installed on FE device can be upgraded centrally and the new AIQ client package can be uploaded to the administration server Synchronization configurations the URL and connection configurations of the central SVN repository server where datasets (data required by the Trillium mobile application and committed by the MTE) is located Message server configurations the message or integration server configurations where proxy needs to look for the messages and message routing configurations (i.e. a key value pair which says message received with a header value INCIDENT_UPDATE should be routed to a REST end point on MTE e.g. /mte/api/incidentupdate) Integration or messaging server is the component that stores all the messages and expose REST interface for operations on the messages [6]. The messages are stored in the database. Proxy component retrieve the messages for a client using this interface and external systems e.g. MTE submit/inject messages into the system using this interface Proxy is the component where the configurations made in administration server is executed, on startup the proxy connects to the AIQ administration server and downloads all the configurations given above. The AIQ client only talks to the proxy component which is a single point of contact in the system for the client from where client can authenticate by using the authentication configurations for LDAP the FE request to authenticate is processed download application/service by using the provisioning configurations the application for FE (e.g. Trillium mobile application executable) is downloaded by the client synchronize data by using the sync configurations the datasets (data required by Trillium mobile application) are downloaded by the client retrieve and submit messages by using the message server configurations the messages are retrieved by the client and updates are sent to MTE using the message routing configurations Mobile services layer This layer (MTE) mobilizes the Trillium system. It abstracts Trillium by presenting a mobilefriendly REST API for Trillium mobile application. It is in charge of extracting data from Trillium and stores it in a database and transforming complex business data into data easily use-able by the mobile application. It is also responsible for converting light mobile data into
21 Trillium's complex format (e.g. an incident update made by an FE when received from mobile application on MTE needs to be enriched with some more business data that is only available on or calculated by the MTE backend without this data Trillium system might reject this update.) This layer bridges the mobility platform and the trillium backend system. It exposes the web services for clients to extract data a request to fetch a list of FE incidents arrives at Proxy which forwards this request to MTE and the response (i.e. list of incidents) is returned back to the client. The advantage to proxy these requests via AIQ proxy is that on one component i.e. AIQ proxy is open to the mobile application over internet. If new data is available or an error report (e.g. failed incident update) is required to be sent to the mobile application then MTE injects this to the AIQ integration/message server as a message. As there are large number of FE s using application on many airports a heavy load is expected on the MTE so it is load balanced and a cluster of MTE servers is available to serve the mobile application requests Enterprise layer This is where the existing legacy or conventional systems are located namely the Trillium and SITA Domain Controller (LDAP). The Trillium system exposes web services and MTE integrates it to the mobile application. LDAP is used by mobility platform for user authentication. Users (FE s) are created by SITA administrators in the LDAP and FE s uses these credentials to authenticate on the AIQ client. Following is an overall representation of the system architecture explained above; the figure is taken as is from [15] Figure 3-1: Overall architectural representation
22 3.3 Overall system design Introduction The AIQ mobility platform, MTE and Trillium are deployed in SITA datacenter managed by the SITA engineering teams. Field engineers are mobile users and they use the mobile application at different airport over 3G and wifi networks. Following diagram explains the high level system design which is explained below Figure 3-2: System design The Trillium system is provided by SITA which stores all the business data (e.g. assets, incidents, incident update logs) in an oracle database it has a web interface for service desk supervisors to do knowledge management (i.e. add remove assets) and do incident/ticket management. It also provides the SOAP interface for integration with external systems and all operations (i.e. data extraction, incident management) can be performed via the SOAP interface. Following is the web interface of Trillium system available for administrators, the screenshot is taken from [16] Figure 3-3: Trillium web interface
23 The Mobile trillium engine (MTE) integrates Trillium and mobility platform. It is deployed on a dedicated web server. MTE communicates to Trillium using SOAP client. It extracts business data and incidents from Trillium and stores it locally in the database. It writes data to the SVN repository which is synchronized to mobile devices via the platform continues synchronization feature. The updates made by FE using mobile application are sent to Trillium. MTE inject messages to integration server if new data is available for mobile application or any update made by an FE is rejected by Trillium. MTE constantly write errors to log files (e.g. failure to send updates to trillium, failed sync with trillium) this may interrupt daily operations and engineers frequently monitor these log files to address any issues. The domain controller LDAP is provided by SITA here FE users along with credentials and user profile are created. FE s are informed about their credentials and they use these credentials to login into the mobility platform. Mobility platform authenticates FE s against this LDAP. The Mobility platform include Administration server which has a web interface used by operation engineers to configure the system. The configurations are stored in the database and are fetched by the Proxy and Message server component. Proxy components periodically checks the SVN repository for any updates and if any updates are detected the data is downloaded by the clients. All the mobility platform components expose REST interfaces for communication and each mobility platform component is deployed on a dedicated web server. [6] Following is the web interface of administration server available for administrators; the screenshot is taken from [17] Figure 3-4: Mobility platform admin interface FE uses the AIQ client mobile application to login and to access the mobile trillium application and do incident management. The AIQ client only talks to the AIQ proxy and all the communication to external systems e.g. MTE is done through proxy.
24 Following is the AIQ client application used by FE to login and start the mobile trillium application after successful authentication. The screenshots below are taken from [18] The mobile application is explained in detail in section MTE architecture and design in depth The overall system architecture and design is explained above, the goal of this thesis as mentioned in section 1.3 and 1.4 is MTE development and in this section we focus on MTE architecture and design Major conceptual features Following is a list of major features or use cases that have been developed in MTE to achieve the thesis goals 1. Integration with Trillium system using web services and extract the required business data and do continues synchronization for the updates on business data 2. Model and store the data locally in MTE 3. Integration with AIQ mobility platform and Trillium mobile application and serve data in a mobile application friendly format 4. Handle incident updates sent from the Mobile trillium application via AIQ mobility platform and send them over to Trillium system The three major features given above are explained in detail in the following section Integration with Trillium and data extraction The Trillium system in the Enterprise tier holds master data required by the Trillium mobile application. To provide a mobile solution of the Trillium system, the Mobile Trillium Engine extracts a subset of key Trillium data, relevant for mobile users such as assets and contacts to its local data storage. The engine also replicates incidents to the local data storage to improve response time to requests from handhelds. Only the attributes that are relevant to the mobile users are extracted.
25 Trillium business data Trillium business data refers to data required or created when field engineers use the Trillium mobile application. This data mainly consists of 1. Global data (static & semi-static data) or common data required by all users and data which is shared by all users working in the same airports (e.g. system wide codes priority flag, cause codes, resolution codes etc). Static data (e.g. assets, contacts, contact groups information) is the data which hardly ever changes and volume of static data is small. Semi-static data is the data which does not change often during a given 8hrs window. Semi-static data is large in volume. 2. Dynamic data which is specific to individuals (e.g. incident, activity logs). This is the data which changes often during a given 8hrs window. Dynamic data is large in volume Trillium web service authentication MTE integrates with Trillium system using SOAP web services. Trillium requires all web service call to be authenticated which means to extract data first MTE should login into Trillium system and gets a session id. MTE on startup starts a session manager that handles the authentication process with Trillium. For example following is a sample SOAP request used by MTE to login [19] Figure 3-5: Login SOAP request Following are details of above given login SOAP request Web service method Name Parameters Name Type Value loginservicemanaged Policy String Name of the policy or login name encrypted_policy String Encrypted policy string, base 64 encoded password string Table 3-1: Login SOAP request
26 Trillium system returns a session id if the credentials are valid. This session id has a inactivity timeout configured to 60 minutes on Trillium. The session id is store by MTE in memory and later used in all web service calls made by MTE. On successful authentication MTE starts a scheduled service that run every 15 minutes to query session status, so that it doesn t expire due to inactivity and incase it is expired make a new login request and get a new session Data extraction After successful authentication with Trillium system MTE triggers the data extraction process. The data extraction process can be divided into two major phases. 1. Database initialization phase 2. Continues data synchronization phase Following is the detail explanation of the above given data extraction phases. Database initialization phase The database initialization phase is run only once when the MTE is run for the first time and not data has been synchronized with Trillium yet. The database schema is created using a SQL script bundled with the MTE distribution. The database initialization phase can be further divided into following three sub phases: Static and semi-static data initialization phase Static and semi-static data are defined in section To extract data MTE calls the Trillium web service multiple times with parameters that include type of data requested (e.g. priority, cause code, assets, contacts), the requested attributes of that object and where clause with incremental minimum and maximum last modified dates. Each call requests for an amount of data in one month period. The start minimum last modified date is default to January 1 st, :00:00 UTC. This phase will stops when the maximum last modified date has passed today s midnight in the MTE server. Dynamic data initialization phase Dynamic data is defined in section The MTE calls web service with parameters that include type of data request (e.g. incidents, activity logs), the attributes required and a where clause containing a minimum last modified data and a maximum last modified date, as shown in the table below, to extract relevant business data. The MTE calls web service multiple times with incremental minimum and maximum last modified dates. Each call requests for an amount of data in one day period. The start
27 minimum last modified date is default to January 1 st, :00:00 UTC. This phase stops when the maximum last modified date has passed today s midnight in the MTE server. When the database initialization is done, the MTE updates a database initialization fag in the database to true. This prevents the database initialization process to be executed when starting the MTE next time. Following is a SOAP request from [19] to extract priority data from Trillium Figure 3-6: Extract data SOAP request Web service method Name Parameters doselect Name Type Value Sid Number Session id retrieved from the login request Object type String Data to query (e.g. priority, assets, incidents) Where clause String Condition to filter the query data (e.g. delete_flag=0 will give all data where delete flag is not true) (last_modified_date > timestamp1 AND last_modified_date < timestamp2) will return data between timestamp1 and timestamp2. Attributes Array of String Similar to an SQL query where clause The attributes to query for a data only these attributes will be returned in the result. If left empty all attributes will be returned, same as a select * from a table SQL query. Number of rows Number Total number of records to return (e.g. -1 means all, 1 means only one record) Table 3-2: Extract data SOAP request
28 Continues data synchronization phase Once the database init is successful MTE starts the periodic data extractors which periodically sends requests to Trillium to ask for updates on each business object type using conditions. Requests are sent every four hours, one hour and one minute for each static data object type, semi static data object type and dynamic data object type, respectively. A condition that filters data on the last modified date field, is constructed programmatically and dynamically. The MTE reads the maximum last modified date of each business object type from the database table. In other words, when the MTE starts synchronization, it only asks for data that have changed since the last synchronization. The synchronization process consists of: Insert new data into database Update existing data in database Remove data from tables if the master data have been deleted (delete_flag = 1), become invisible (zvisible = 0) or become inactive (active = 0) Model and store the data in MTE The subset of Trillium data extracted by MTE is modeled into entity classes. The Diagram below shows structure of static, semi-static and dynamic business data in MTE database. The foreign keys are used between tables but there are no constraints (e.g. delete constraints) as data e.g. the incidents should never be removed from the database. In Trillium data is never removed from the system it can become inactive. Figure 3-7: Dynamic and semi static business data model (i)
29 Following is the description of incident entity Incident The incident entity Field name Type Description ID String Unique id assigned by Trillium system SUMMARY String Description of the problem ASSIGNEE String UUID of the assigned FE, Contact id (fk) STATUS String Current status of the incident e.g. Open, close SEVERITY String Severity of the incident e.g. Low, medium, high PRIORITY String Priority of the incident e.g. Low, high AFFECTER RESOURCE String UUID of the asset effected, ServiceCI or HardwareCI id (fk) RESOLUTION CODE String The resolution code if resolved OPEN DATE Number Date when created LOG AGENT LAST MODIFIED DATE Number UUID of FE who reported, Contact id (fk) Date when last updated Table 3-3: Incident entity Following is the description of Activity logs of an incident Activity log Log of any changes or updates (changed status, added comment, updated description) made to an incident Field name Type Description ID String Unique id assigned by Trillium system CREATED BY String The FE, or the log agent INCIDENT ID String Incident id for which the log is created LAST MODIFIED DATE Number Last update data time of this log entry LOG TYPE String Type of the log (Creation, update, status changed) LOG DATE TIME Number Log create data time Table 3-4: Activity logs entity Following is the description of Group member entity, the FE (a contact) and customers are divided into groups and one customer (a contact) or FE (a contact) can belong to multiple groups Group member Entity links the contacts and the group they belong to, a contact can belong to more than one group Field name Type Description GROUP ID String Group id (fk) MEMBER ID String Contact id (fk)
30 Table 3-5: Group Member entity The asset is identified by two entities the HardwareCI and the ServiceCI, several HarwareCI s can belong to one parent ServiceCI asset e.g. a boarding pass printer terminal as a whole is can be considered as ServiceCI but its components e.g. input, printer as HardwareCI s that belong to one parent ServiceCI. ServiceCI Service CI represents an asset Field name Type Description ID String UUID assigned by Trillium system NAME String Name of the asset ASSET FAMILY String Family of the asset (fk) to Asset Family static data ASSET CLASS String Class of asset (fk) to Asset Class static data LOCATION NAME String The location of asset, which airport DESCRIPTION String The description of the asset STATUS String The current status of the asset Table 3-6: ServiceCI entity HarwareCI has the same fields as ServiceCI with an extra parent filed which is a ServiceCI id. The diagram below shows the database model for static data taken from [19]. Figure 3-8: Static business data model (ii) Following is description of the priority static data entity and Reporting method rest of static data entities has similar fields. Priority The priority of an incident e.g. High, medium, low
31 Field name Type Description ID String Unique id assigned by Trillium system DESCRIPTION String Name or description e.g. High SYM String Numeric value e.g LAST MODIFIED DATE Number Last updated time stamp Table 3-7: Priority entity Following is the description of reporting method data entity Reporting method The method or means of reporting incident e.g. mobile app, service desk Field name Type Description ID String Unique id assigned by Trillium system SYM String Numeric value e.g. Mobility LAST MODIFIED DATE Number Last updated time stamp Table 3-8: Reporting method entity Integration with Mobility platform As given in section 3.2 MTE integrates the AIQ mobility platform to the Trillium system. The business data extracted by MTE section is converted to a mobile application friendly format and injected into the mobility platform Data synchronization The MTE use continues synchronization feature explained in section A central subversion repository is provided and both Mobility platform and MTE are configured with the URL to this subversion repository. Any data committed to this repository by MTE is synchronized to the Trillium mobile application.
32 Figure 3-9: Synchronize datasets using continues synchronization After successful completion of database initialization phase section MTE check out a working copy of dataset from the subversion repository. The static and semi-static data is written into the protocol buffer files and committed to the central subversion repository. AIQ proxy detects the changes in the working copy and synchronizes the updates to the AIQ client. AIQ client saves the data set files to the mobile file system. The trillium mobile application can now read these files and have access to the Trillium business data. The dynamic data changes very often and is extracted by mobile application via direct HTTP calls. MTE exposes some REST web services to expose the dynamic data. These web services are never accessed directly by the mobile application but via HTTP request forwarding feature of the mobility platform (the request is send to an endpoint on AIQ proxy which dispatches it to a configured MTE URL). Following is the HTTP forwarding configuration configured on the AIQ administration server, the screenshot is taken from [17] Figure 3-10: HTTP forwarding configuration All forwarding requests will be routed to this MTE URL.
33 Figure 3-11: Http forwarding mapping A pattern is configured which means all forwarding requests from the client having pattern trillium/{url}/ will be forwarded to the above configured URL. For example, if the client sends a request to the HTTP forward plugin will forward this request to Figure 3-12: Dynamic data sync via HTTP forwarding MTE on receiving the request reads required data from the database and sends back the response containing data in compressed protocol buffer format. This data is returned to the mobile application which processes the data and presents it to the user Receive updates from the mobile application FE using the mobile application can do various updates e.g. create new incidents, update an existing incident. The mobile application uses the reliable messages described in section
34 Figure 3-13: Updates via messaging As illustrated in the above diagram Mobile application submits update messages to the AIQ client and the client will send messages to the AIQ Proxy. On Proxy a message receiver is configured, proxy on receiving the messages from client it will Post the message to the configured external message receiver URL (MTE REST web service in this case). Following screenshot is taken from [17] Figure 3-14: Message receiver configuration The accepted code in above is the HTTP codes that are considered as success it means once the proxy get once of the success code it will not retry. The unaccepted code in the above diagram is the HHTP codes that are considered as error codes and on receiving this error code proxy keeps on retrying the message unless it gets a success response code. Once MTE receives the update message it checks if it is an incident create request, or an incident update request. This is specified by the mobile application by setting a HTTP header. MTE validates the request and enriches it if required with business data and send it using the SOAP client to the Trillium system.
35 3.4.5 Integration with Trillium mobile application Trillium mobile application is used by the FE to view list of incidents and do incident management. The Mobile application is integrated to MTE via the mobility platform the application consumes the business data extracted by MTE from the Trillium system Data contract Trillium mobile application requires the data to be in protocol buffer format. Both MTE and mobile application uses Google protocol buffer (explained in section 2.2.3) schema as the data contract. For example following is a sample protocol buffer schema used by MTE and mobile application for static data [19] Figure 3-15: Static data proto schema When source code is generated from this protocol buffer schema it generates an AssetClassList class that holds a list of type static data. The static data type has three fields Id (is required and can t be null) Name (is optional and can be null) Description (is optional and can be null) The protocol buffer data files are read from the file system as stream and then un-marshaled into protocol buffer objects. For example to get a list of all AssetClass mobile application will read the assetclass.proto file downloaded via continues synchronization and un-marshal it to C# AssetClassList object. In case the any of the required field is missing the marshaling process will fail and throw an exception.
36 3.4.6 Use cases Use case identification Some conceptual use cases are given in section in this section lists some more functional use cases or scenarios which depict significant central functionality of the MTE system are given. These use cases or concrete and have been identified based on the most important functionality required by the field engineers Use case diagram, details and implementation Figure 3-16: Use case diagram Following is description and details of use cases given in the use case diagram 1. Login/authentication Name Summary Dependencies Login/Authenticate To access the mobile trillium application the field engineer logins into the mobility platform using the AIQ client application. The user credentials are validated by mobility platform against the LDAP and user profile information (e.g. user full name, trillium user id, trillium contact id) LDAP is configured with the correct FE information and profile attributes
37 Mobility platform is configured with correct LDAP server information MTE is setup and database initialization is complete Actors FE/AIQ Client/AIQ Mobility platform The diagram below taken from [15] shows the logical relationships of the main components used to implement the authentication use case. Figure 3-17: FE authentication use case 1. The Authentication module requests for username / password information, which is sent to the AIQ proxy 2. The proxy verifies the username / password upon the Trillium AD. If the authentication is successful, the proxy extracts profile information from the AD. 3. If the authentication is successful from Trillium AD, the proxy sends a request with a Trillium user ID to the MTE. The MTE uses the given Trillium user ID to register the user to the MTE if the user has not existed, and returns user s groups and full name to the proxy. At this point the proxy has built a user context (session with attributes e.g. full name, user groups, trillium contact id) containing a Trillium user ID, full name and user s groups. 2. MTE registers the login user Name Summary Dependencies Actors MTE registers the login user On successful authentication mobility platforms sends a request to MTE to register this user and user profile (e.g. user full name, trillium user id, trillium contact id). The profile attributes are later used to map a user logged in on mobile device to a user in Trillium system. Login/authentication use case is complete MTE is running setup and database initialization is complete FE/AIQ Client/AIQ Mobility platform/mte 3. View incident list
38 Name Summary Dependencies Actors View the incident list After successful authentication FE uses the mobile trillium application to view the list of existing incidents. User can access details of an incident in his list by selecting an incident. Login/authentication use case is complete FE/AIQ Client/AIQ Mobility platform/mte The diagram below taken from [15] shows the logical relationships of the main components used to implement the use case. 1. The incident application sends a request to the AIQ proxy 2. The request is handled by an Http forwarding which forwards the request to the MTE 3. The MTE looks up for data from the local storage 4. The looked up data is returned all the way to the incident application 4. View incident activity logs Name Summary Dependencies Actors View incident activity logs After successful authentication FE uses the mobile trillium application to view the list of existing incidents. User can access details of an incident in his list by selecting an incident. While view the details user can view the activity logs an incident. Login/authentication use case is complete View incident list user case is complete FE/AIQ Client/AIQ Mobility platform/mte Similar as the view incident use case the selected incident number is sent to the MTE and activity logs for the selected incident are fetched by the mobile application. 5. Update an incident Name Update an incident
39 Summary After successful authentication FE uses the mobile trillium application to view the list of existing incidents. User can access details of an incident in his list by selecting an incident. User can update details of an incident Change status Update summary, description, add comment Assign incident to himself or to some other contact Dependencies Actors Login/authentication use case is complete View incident list user case is complete FE/AIQ Client/AIQ Mobility platform/mte/message server The diagram below taken from [15] shows the logical relationships of the main components used to implement the use case. Figure 3-18: Update incident use case 1. The user updates an incident details. This delegates the responsibility of delivering the information to the AIQ client messaging framework. 2. The AIQ proxy posts the incoming message to the MTE 3. The MTE is in charge of making the necessary calls to Trillium to update incident details. 4. If the response from Trillium is successful MTE updates the incident in database, thus the changes are visible to other clients even if the data synchronization has not completed yet 5. Afterwards MTE downloads the updated incident back as part of its business data synchronization process. 6. The incident application checks out the latest list of incidents, via the HTTP proxy 7. The HTTP proxy forwards the request to the MTE, and delivers the updated list back to the mobile application If the update on Trillium fails, the MTE sends an error message to the user. This message includes error information returned by Trillium System.
40 6. Create an incident Name Summary Dependencies Actors Create an incident After successful authentication FE uses the mobile trillium application to create an incident. FE selects the faulty asset and input incident details (e.g. Summary, description, priority, urgency) he selects an assignee or assignee it to himself or leave it open. Login/authentication use case is complete Datasets is downloaded and device has all the required business data to create an incident. FE/AIQ Client/AIQ Mobility platform/mte/message server The diagram below taken from [15] shows the logical relationships of the main components used to implement the use case. Figure 3-19: Create incident user case 1. User creates a new incident using the mobile application. It delegates the responsibility of delivering the message to the MTE via the AIQ messaging framework 2. The Proxy dispatches the incoming message to the MTE 3. The MTE makes a call to Trillium in order to create the incident. Once the incident is created, the MTE downloads it back 4. The mobile client fetches the list of incidents matching the registered users' context, by requesting them from the Proxy 5. The proxy forwards the request to the MTE If the creation of incident on Trillium System fails, the MTE sends an error message to the user. This message includes error information returned by Trillium. Following is a sample SOAP request and parameter details to create and incident [19]
41 Figure 3-20: Create incident SOAP request Web service method Name Parameters Name Type Value createrequest Sid Number Session id retrieved from the login request Status String Status code of the created incident (e.g stands for open incident) any one can take it and start working on it. Priority String Priority code of the created incident (e.g. 500 stands for High) Zreport_method String Means of reporting the incident (e.g means mobile application) Urgency String Urgency code of the created incident Impact String Impact code of the created incident Affected_resource String UUID of the affected asset (e.g. id of an printer asset) Category String Category code of the incident (e.g. hardware error, software error) Description String Free text description of the problem Type String Type code of the incident (e.g. it s an
42 incident) Group String Group information of the user creating this incident (MTE has a mapping of group and group members) this field is enriched by MTE. Customer String UUID of the customer for this issue Table 3-9: Create incident SOAP request Clustering support MTE needs to be saleable and robust which means the application needs to be designed in such a way that it supports the clustering. During development following approach is taken so that MTE supports clustering Detect the master node among the cluster and execute the database synchronization and continues data synchronization only on the master node No data is stored in memory or session all data is written into the database (e.g. before successful database initialization the flag in database is false, after successful initialization this flag is set to true) The services exposed by MTE are all REST API and all the operations are asynchronous which make it easy to cluster JBoss configurations MTE is bundled with a JBoss application server and the startup scripts are configured such that if several MTE instances are started in the same network they are ready to cluster and can detect each other and form a cluster. Following are the clustering configurations that needs to be configured [19] # Clustering settings MTE_BIND_ADDRESS=" " MTE_PARTITION="MTE-SERVER" MTE_MULTICAST_ADDRESS=" " MTE_PEER_ID="1" #Set the clustering variable CLUSTERING_OPTIONS="-g $MTE_PARTITION -u $MTE_MULTICAST_ADDRESS - Djboss.messaging.ServerPeerID=$MTE_PEER_ID -b $MTE_BIND_ADDRESS - Djgroups.udp.ip_ttl=1" #Start Jboss with clustering options $JBOSS_HOME/bin/run.sh -c all $CLUSTERING_OPTIONS Following is the description of clustering configurations Configuration MTE_BIND_ADDRESS MTE_MULTICAST_ADDRESS Description Machine s IP address to allow communication with other nodes in the cluster Multicast address in your network, should be same on all
43 MTE_PEER_ID MTE_PARTITION jgroups.udp.ip_ttl nodes in the cluster. Node identifier. It must be unique in a cluster. Similarly on the other node it will be set to e.g. 2 Used to identify a set of nodes. Meaning that nodes with same portions name are for same purpose and they should make a cluster Clustering use UDP for discovery and communication and this sets a time to live on a UDP packet. UDP packet with TTL value 1 means that it will not travel out of the same subnet or the number of network hops this packet is allowed to travel. This Setting is important to reduce the network flooding MTE detects the master node As soon as multiple JBoss instance start with same portion name and different peer id they will form a cluster and one of the JBoss nodes will become a master node. As MTE run the database initialization and continues synchronization only on the master nodes it checks before running these task if it is a master node or not. MTE uses the singleton service approach 20 to detect if the node is a master node or not. [20] The code snippet below [19] shows a singleton service registered with JBoss. Only one instance of this service exists and Master info provider bean can be used to check if the current node is a mater node or not. 20
44 4 Mobile application This section explains the Trillium mobile application. The mobile application development is not in the scope of this thesis but is closely related to achieve the thesis goals. In all the use cases give in section FE is the main actor and is using the mobile application to trigger the user cases supported by MTE. The screenshots below are taken from [18] FE authentication FE starts the mobility client and login (see authentication use case in section 3.4.6). If the use case is successful user is presented with the applications provisioned by the mobility platform. Following is the list of applications provided to the FE My incidents application list the incidents assigned to the FE who has logged in My Groups incident application list the incident which are not assigned to an FE but rather his group. (An FE belongs to more than one group) Create incident application is used by the FE to create an incident Become unavailable application is used by FE to set this availability Sign out application is used by an FE to sign out of the mobility client application The information displayed to FE on mobility client is following
45 4.1.2 View incident list and incident details To see the list of incidents FE starts the incidents application (see use case view incident list in section 3.4.6). This application provides a list view of all the incidents, with indication of how high priority is the incident, the assignee of the incident, status if it is open or in progress. To view details of an incident FE select an incident in the list and is present with more details of that incident. Basically the information while creating an incident is presented here View incident details and activity logs FE can select the activity logs tab in the incident detail view to see the activity logs of an incident activity logs are fetched from backend on the fly (see use case view activity logs in section 3.4.6) Activity logs can be large in number for an incident and FE can navigate between the activity logs using the next and previous buttons.
46 4.1.4 Create an incident To create an incident FE start the create incident application (see the create incident user case in section 3.4.6) which takes the FE through a wizard where he fills in information related to an incident. FE selects the asset that has a problem and inputs the summary and description of the incident then selects the impact level and urgency. FE then selects the category of the incident and inputs the customer for this incident. FE can assign this incident to himself or allow someone else to work on it by assiging it to the default group. A summary view is presented on wizard completion and on tapping the check button incident creation request is sent to MTE.
47 Mobile application will submit the create request as a message to the mobility client which delivers it to the MTE backend application. MTE will forward the incident create request will all the attributes to the Trillium system (see the create incident user case SOAP request in section 3.4.6) Update an incident FE can update an existing incident details (see the use case update incident in section 3.4.6). FE while viewing details of an incident taps the settings button and is presented with a menu from where he can choose what information he wants to update. Mobile application will submit the update request as a message to the mobility client which delivers it to the MTE backend application. MTE will forward the incident update request with all the updated attributes to the Trillium system.
48 5 Evaluation In this section the approach to solve the challenges faced during MTE development is evaluated, the advantages and drawbacks of the approach and possible alternatives are discussed. 5.1 Strengths Performance Mobile Trillium solution is designed to ensure high performances. Good user experience is critical to the success of a mobile solution. High performance in this context is defined as the capability to reduce the time taken to respond to incidents and customer requests. The Trillium mobile application needs a subset of business data (described in section ). On the back-end, such data is stored in a database that can be locally accessed by the MTE. The data is prepared in a format that it is ready to serve needs of a Mobile application. To improve performances, the solution is based on two key concepts: - Optimized data exchange between mobile device and Proxy. Trillium business data is transferred in a protocol buffer format 2.2.3, which is subsequently compressed (gzip). This reduces significantly the size of the data. - Continuous data synchronization. The solution is based on the AIQ continuous data synchronization. This allows back-end systems to push new data, to be synchronized on the mobile devices in the background Alternative approach Large volume of business data is extracted from Trillium system using SOAP services over the wire. This is a slow and cumbersome process that required lot of development effort. Another approach could be to get a database dump of the Trillium database and MTE just use or extract the required data from database. But this approach is not feasible as it can require a lot of system administration for creating database replicas and keeping databases in sync state. Then MTE doesn t only need read only view of the data it updates the data as well this can cause inconsistent data between the systems that will be hard to troubleshoot and maintain in long term. [15] Database initialization is slow and cumbersome but at the same time it s a onetime process it needs to be run once the system is being run for the first time or is being initialized and not something that is done very frequently Reliability The nature of the business requires that the solution is highly reliable. The Mobile Trillium architecture relies on the Messaging framework when sending messages between mobile application, Proxy and MTE. This ensures that the update message is never lost due to connectivity issues. While using a mobile application due to limited network coverage
49 CO (client-originated) messages are published by the mobile applications on the AIQ Client. If the AIQ Client has proper connectivity with the AIQ Proxy, messages are sent directly in the order they are received. If the AIQ Proxy has connectivity with the target back-end system, messages are sent directly in the order they are received. [6] If the AIQ Client has no connectivity with the AIQ Proxy, messages are stored in a file on the mobile device, and sorted by submission date. The AIQ Client sends the queued messages to the AIQ Proxy, by order of submission, as soon as the connectivity is recovered. If the AIQ Proxy has no connectivity with the target back-end system, messages are stored on the file system, and sorted by submission date. The AIQ Proxy sends the queued messages to the target back-end system, by order of submission, as soon as the connectivity is recovered. SO (server-originated) messages are posted by 3rd party back-end applications (e.g. MTE sending a new data available message) to the AIQ Message Server. All proxies connected to this Message Server retrieve the message. [6] Availability MTE is designed to be highly available. High availability here is defined as the ability for the system to continue functioning after failure of one or more of the servers. A part of high availability is failover, which we define as the ability for client connections to migrate from one server to another in the event of a server failure, so that client applications can continue to operate. To achieve this quality attribute, the JBoss server, in which the Mobile Trillium Engine is deployed, is configured to offer the following services 1. Clustered JNDI services HTTP services Clustered JNDI services assure that when a HA-JNDI service on a particular JBoss instance fails, the HA-JNDI client can transparently fail over to another JBoss instance. A client can also connect to the HA-JNDI service running on any node in the cluster and find objects bound in JNDI on any other node. [21] HTTP session replication is used to replicate the state associated with web client sessions to other nodes in a cluster. Thus, in the event one of the server nodes crashes, another node in the cluster recovers Scalability Mobile Trillium is designed to scale up as usage grows. Scalability here is defined as the ability to increase resources to increase the capacity of the Trillium Mobile services. This will make it possible to handle an increasing number of requests coming from the mobile application. 21
50 To achieve this quality attribute, the system harness JBoss clustering services. Multiple nodes (MTE application deployed in JBoss) of MTE are started, these nodes are configured to make a cluster. Which means that request from mobile application can be forwarded to any node on the cluster. The current architecture relies on external load balancers. With the external load balancer, the client sends in requests and receives responses directly over the wire using the HTTP or HTTPS protocol. In this case, all requests coming from the client will be forwarded to an external load balancer. Then, the load balancer reroutes the requests to Mobile Trillium service nodes in the cluster. This architecture requires a pair of external load balancers which can be achieved by using either hardware or software load balancer. If the hardware load balancer is used, how the load balancer distributes load depends on load balancing method or strategy which can be different from vendor to vendor. There are many strategies available, for example, round robin, least number of connections, weighted, to name a few. In addition redundancy of the load balancers is required in order to prevent single point of failures Alternative approach The default configuration of JBoss clustering bundled with MTE uses UDP for discovery and clustering these packets are multicast between the cluster which means a JBoss cluster can create huge volume of network traffic and can affect the other systems sharing the same network. TCP and point to point clustering strategy can be used the advantage is that there would be less network traffic. But the drawback is that the nodes need to be manually added on each server in the configuration files and JBoss nodes can t discover automatically (as multicast is disabled) if new nodes are added to the cluster. [22] 5.2 Limitations Support for new airports MTE only extracts a subset of data required for the airports that the FE s will work. The list of airports is configured in the database. MTE during the database initialization process will query data only for these airports. Now if a new airport is to be supported or added the whole db initialization process needs to run again and extract data from the start for all the airports in the list. This is not very user friendly and in the situation where new airport needs to be added the service will be down for database initialization Robust database initialization process The database initialization process is not so robust. A large volume of data is extracted during the process and in case there is a read timeout or the Trillium system goes down. The process will not restart from the point of failure rather it will start again from the first record.
51 6 Results and future work This thesis report has explained the importance of mobile workforce and the challenges involved in mobilizing an existing legacy system that were never designed for this purpose. It also highlights how Appear IQ mobility platform simplifies the software integration with these legacy systems and forms the backbone of an enterprise mobility project Results In short the wider goal of the project is to mobilize an existing system (Trillium) by bridging it to a modern mobility platform via a scalable, robust and reliable integration layer (MTE). In the thesis I presented the challenges and the solutions for this integration and managed to achieve. Following is the list of results achieved or work done as part of this thesis. Integration with Trillium system over SOAP Design and implement of the MTE data model Design and implement of the MTE database initialization phase and continues data synchronization phase Design and implement MTE features for all the use cases given in section Integration with AIQ mobility platform and mobile trillium application Design and implement MTE clustering support, deployment and configuration of clustered JBoss servers Future improvements MTE covers the minimum requirements to mobilize the Trillium system but there is a great room for improvements. Following are some of the future improvements that will have great impact on MTE. Database initialization process can be improved as currently if there is any failure during the initial database initialization it will not resume from the point of failure it will rather restart. Keep in mind that database initialization is a process that is very long and expensive on resources ability to resume will be a great plus. If MTE fails to send any query/update to Trillium there is no retry those updates and error are logged and error message is sent back to the mobile application. Ability to store failed updates in a queue and retry mechanism will greatly improve system reliability. Business data written by MTE and synced via continues synchronization provided by mobility platform is not encrypted and is on mobile devices file system ability to encrypt this data will greatly improve system security. REST web services exposed by MTE are protected by basic web authentication the security can be greatly improved by implementing a single sign on, or token based authentication mechanism. Current solution is not enforcing any restriction on what data users may or may not be able to view. This requires all mobile users to be field engineers with the same data partition (same set of data is downloaded via continues synchronization).
52 7 Bibliography [1] SITA, "SITA Group Activity," Brussels, [2] SITA, "About Us: SITA.aero," August [Online]. Available: [Accessed August 2013]. [3] Appear, " Appear Networks AB, September [Online]. Available: [4] Appear, "Support BYOD: Appear Networks," Appear Networks AB, August [Online]. Available: [Accessed August 2013]. [5] C. Technologies, "CA Unicenter," CA Technologies, September [Online]. Available: [6] Appear, AIQ internal product documentation, Stockholm: Appear Networks, [7] A. Subversion, "Apache. Subversion," Apache, September [Online]. Available: [8] S. Francia, "Spf13," September [Online]. Available: [Accessed September 2013]. [9] Apache, "Apache Ant," Apache, September [Online]. Available: [Accessed September 2013]. [10] Google, "Google protocol buffer developers resource," Google, Septemeber [Online]. Available: [Accessed September 2013]. [11] Appear, "Appear Networks SOAP UI Project," Stockholm, [12] SVNKit, "Documentation: Svn kit library," SVN Kit, August [Online]. Available: [Accessed August 2013]. [13] Wikipedia, "Wekipedia JNDI," Wikipedia, September [Online]. Available: [Accessed September 2013]. [14] JBoss, "JBoss Clustering," JBoss, September [Online]. Available: [Accessed September 2013]. [15] Appear, "Trillium design document," Stockholm, [16] C. s. Desk, "CA Service desk system," Stockholm, [17] Appear, "Appear admin interface," Stockholm, [18] Appear, "Trillium Mobile application," Stockholm, [19] Appear, "MTE source code," Stockholm, [20] JBoss, "JBoss HASingleton," JBoss, September [Online]. Available: [Accessed September 2013]. [21] JBoss, "Jboss clustering: JBoss," JBoss AS, August [Online]. Available: [Accessed August 2013]. [22] Stackoverflow, "Stackoverflow JBoss clustering," September [Online]. Available:
53 5-as-cluster. [Accessed September 2013].
IBM SPSS Collaboration and Deployment Services Version 6 Release 0. Single Sign-On Services Developer's Guide
IBM SPSS Collaboration and Deployment Services Version 6 Release 0 Single Sign-On Services Developer's Guide Note Before using this information and the product it supports, read the information in Notices
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016. Integration Guide IBM
IBM Campaign Version-independent Integration with IBM Engage Version 1 Release 3 April 8, 2016 Integration Guide IBM Note Before using this information and the product it supports, read the information
Oracle Service Bus Examples and Tutorials
March 2011 Contents 1 Oracle Service Bus Examples... 2 2 Introduction to the Oracle Service Bus Tutorials... 5 3 Getting Started with the Oracle Service Bus Tutorials... 12 4 Tutorial 1. Routing a Loan
Architecture and Data Flow Overview. BlackBerry Enterprise Service 10 721-08877-123 Version: 10.2. Quick Reference
Architecture and Data Flow Overview BlackBerry Enterprise Service 10 721-08877-123 Version: Quick Reference Published: 2013-11-28 SWD-20131128130321045 Contents Key components of BlackBerry Enterprise
Chapter 1 - Web Server Management and Cluster Topology
Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management
Configuration Guide. BES12 Cloud
Configuration Guide BES12 Cloud Published: 2016-04-08 SWD-20160408113328879 Contents About this guide... 6 Getting started... 7 Configuring BES12 for the first time...7 Administrator permissions you need
Configuration Guide BES12. Version 12.3
Configuration Guide BES12 Version 12.3 Published: 2016-01-19 SWD-20160119132230232 Contents About this guide... 7 Getting started... 8 Configuring BES12 for the first time...8 Configuration tasks for managing
BlackBerry Enterprise Service 10. Version: 10.2. Configuration Guide
BlackBerry Enterprise Service 10 Version: 10.2 Configuration Guide Published: 2015-02-27 SWD-20150227164548686 Contents 1 Introduction...7 About this guide...8 What is BlackBerry Enterprise Service 10?...9
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2. Feature and Technical Overview
BlackBerry Enterprise Server for Microsoft Exchange Version: 5.0 Service Pack: 2 Feature and Technical Overview Published: 2010-06-16 SWDT305802-1108946-0615123042-001 Contents 1 Overview: BlackBerry Enterprise
Tableau Server Security. Version 8.0
Version 8.0 Author: Marc Rueter Senior Director, Strategic Solutions, Tableau Software June 2013 p2 Today s enterprise class systems need to provide robust security in order to meet the varied and dynamic
FileMaker Server 11. FileMaker Server Help
FileMaker Server 11 FileMaker Server Help 2010 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc. registered
Setup Guide Access Manager 3.2 SP3
Setup Guide Access Manager 3.2 SP3 August 2014 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE
Oracle Identity Analytics Architecture. An Oracle White Paper July 2010
Oracle Identity Analytics Architecture An Oracle White Paper July 2010 Disclaimer The following is intended to outline our general product direction. It is intended for information purposes only, and may
BlackBerry Enterprise Service 10. Universal Device Service Version: 10.2. Administration Guide
BlackBerry Enterprise Service 10 Universal Service Version: 10.2 Administration Guide Published: 2015-02-24 SWD-20150223125016631 Contents 1 Introduction...9 About this guide...10 What is BlackBerry
Administration Guide. BlackBerry Enterprise Service 12. Version 12.0
Administration Guide BlackBerry Enterprise Service 12 Version 12.0 Published: 2015-01-16 SWD-20150116150104141 Contents Introduction... 9 About this guide...10 What is BES12?...11 Key features of BES12...
Using EMC Documentum with Adobe LiveCycle ES
Technical Guide Using EMC Documentum with Adobe LiveCycle ES Table of contents 1 Deployment 3 Managing LiveCycle ES development assets in Documentum 5 Developing LiveCycle applications with contents in
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013
www.novell.com/documentation Policy Guide Access Manager 3.1 SP5 January 2013 Legal Notices Novell, Inc., makes no representations or warranties with respect to the contents or use of this documentation,
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications
Comparing Microsoft SQL Server 2005 Replication and DataXtend Remote Edition for Mobile and Distributed Applications White Paper Table of Contents Overview...3 Replication Types Supported...3 Set-up &
Managing Your Workflow System
SUNGARD SUMMIT 2007 sungardsummit.com 1 Managing Your Workflow System Presented by: Michael Brzycki, SunGard Higher Education March 20, 2007 A Community of Learning Introduction Topic: Learn how to leverage
vcloud Air Platform Programmer's Guide
vcloud Air Platform Programmer's Guide vcloud Air OnDemand 5.7 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition.
Migrating to vcloud Automation Center 6.1
Migrating to vcloud Automation Center 6.1 vcloud Automation Center 6.1 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a
Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft
5.6 Copyright 2014 Jaspersoft Corporation. All rights reserved. Printed in the U.S.A. Jaspersoft, the Jaspersoft logo, Jaspersoft ireport Designer, JasperReports Library, JasperReports Server, Jaspersoft
Configuration Guide. BlackBerry Enterprise Service 12. Version 12.0
Configuration Guide BlackBerry Enterprise Service 12 Version 12.0 Published: 2014-12-19 SWD-20141219132902639 Contents Introduction... 7 About this guide...7 What is BES12?...7 Key features of BES12...
Best Practices: Extending Enterprise Applications to Mobile Devices
Best Practices: Extending Enterprise Applications to Mobile Devices by Kulathumani Hariharan Summary: Extending enterprise applications to mobile devices is increasingly becoming a priority for organizations
Onset Computer Corporation
Onset, HOBO, and HOBOlink are trademarks or registered trademarks of Onset Computer Corporation for its data logger products and configuration/interface software. All other trademarks are the property
Implementation Guide SAP NetWeaver Identity Management Identity Provider
Implementation Guide SAP NetWeaver Identity Management Identity Provider Target Audience Technology Consultants System Administrators PUBLIC Document version: 1.10 2011-07-18 Document History CAUTION Before
www.novell.com/documentation Jobs Guide Identity Manager 4.0.1 February 10, 2012
www.novell.com/documentation Jobs Guide Identity Manager 4.0.1 February 10, 2012 Legal Notices Novell, Inc. makes no representations or warranties with respect to the contents or use of this documentation,
OnCommand Performance Manager 1.1
OnCommand Performance Manager 1.1 Installation and Setup Guide For Red Hat Enterprise Linux NetApp, Inc. 495 East Java Drive Sunnyvale, CA 94089 U.S. Telephone: +1 (408) 822-6000 Fax: +1 (408) 822-4501
Enterprise Service Bus
We tested: Talend ESB 5.2.1 Enterprise Service Bus Dr. Götz Güttich Talend Enterprise Service Bus 5.2.1 is an open source, modular solution that allows enterprises to integrate existing or new applications
Building and Using Web Services With JDeveloper 11g
Building and Using Web Services With JDeveloper 11g Purpose In this tutorial, you create a series of simple web service scenarios in JDeveloper. This is intended as a light introduction to some of the
NetIQ Identity Manager Setup Guide
NetIQ Identity Manager Setup Guide July 2015 www.netiq.com/documentation Legal Notice THIS DOCUMENT AND THE SOFTWARE DESCRIBED IN THIS DOCUMENT ARE FURNISHED UNDER AND ARE SUBJECT TO THE TERMS OF A LICENSE
MarkLogic Server. Reference Application Architecture Guide. MarkLogic 8 February, 2015. Copyright 2015 MarkLogic Corporation. All rights reserved.
Reference Application Architecture Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-1, February, 2015 Copyright 2015 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents
BlackBerry Enterprise Service 10. Secure Work Space for ios and Android Version: 10.1.1. Security Note
BlackBerry Enterprise Service 10 Secure Work Space for ios and Android Version: 10.1.1 Security Note Published: 2013-06-21 SWD-20130621110651069 Contents 1 About this guide...4 2 What is BlackBerry Enterprise
Use Enterprise SSO as the Credential Server for Protected Sites
Webthority HOW TO Use Enterprise SSO as the Credential Server for Protected Sites This document describes how to integrate Webthority with Enterprise SSO version 8.0.2 or 8.0.3. Webthority can be configured
Configuration Guide BES12. Version 12.1
Configuration Guide BES12 Version 12.1 Published: 2015-04-22 SWD-20150422113638568 Contents Introduction... 7 About this guide...7 What is BES12?...7 Key features of BES12... 8 Product documentation...
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015. Integration Guide IBM
IBM Campaign and IBM Silverpop Engage Version 1 Release 2 August 31, 2015 Integration Guide IBM Note Before using this information and the product it supports, read the information in Notices on page 93.
Introduction to the EIS Guide
Introduction to the EIS Guide The AirWatch Enterprise Integration Service (EIS) provides organizations the ability to securely integrate with back-end enterprise systems from either the AirWatch SaaS environment
FileMaker Server 10 Help
FileMaker Server 10 Help 2007-2009 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker, the file folder logo, Bento and the Bento logo
Configuration Guide BES12. Version 12.2
Configuration Guide BES12 Version 12.2 Published: 2015-07-07 SWD-20150630131852557 Contents About this guide... 8 Getting started... 9 Administrator permissions you need to configure BES12... 9 Obtaining
Pervasive Software + NetSuite = Seamless Cloud Business Processes
Pervasive Software + NetSuite = Seamless Cloud Business Processes Successful integration solution between cloudbased ERP and on-premise applications leveraging Pervasive integration software. Prepared
Release 6.2.1 System Administrator s Guide
IBM Maximo Release 6.2.1 System Administrator s Guide Note Before using this information and the product it supports, read the information in Notices on page Notices-1. First Edition (January 2007) This
Integrating VoltDB with Hadoop
The NewSQL database you ll never outgrow Integrating with Hadoop Hadoop is an open source framework for managing and manipulating massive volumes of data. is an database for handling high velocity data.
Meister Going Beyond Maven
Meister Going Beyond Maven A technical whitepaper comparing OpenMake Meister and Apache Maven OpenMake Software 312.440.9545 800.359.8049 Winners of the 2009 Jolt Award Introduction There are many similarities
Oracle WebLogic Server 11g Administration
Oracle WebLogic Server 11g Administration This course is designed to provide instruction and hands-on practice in installing and configuring Oracle WebLogic Server 11g. These tasks include starting and
EMC XDS Repository Connector for ViPR
EMC XDS Repository Connector for ViPR Version 1.8 Installation Guide EMC Corporation Corporate Headquarters Hopkinton, MA 01748-9103 1-508-435-1000 www.emc.com Legal Notice Copyright 2014-2015 EMC Corporation.
Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.
Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company
About This Document 3. Integration and Automation Capabilities 4. Command-Line Interface (CLI) 8. API RPC Protocol 9.
Parallels Panel Contents About This Document 3 Integration and Automation Capabilities 4 Command-Line Interface (CLI) 8 API RPC Protocol 9 Event Handlers 11 Panel Notifications 13 APS Packages 14 C H A
Integrating Remedyforce
White Paper Integrating Remedyforce Robert Monton (BMC Software) Shikha Jaiswal (Persistent Systems) 06 March 2015 Welcome to the Getting Started with BMC Remedyforce Series Today s IT departments must
Developing Web Services with Eclipse and Open Source. Claire Rogers Developer Resources and Partner Enablement, HP February, 2004
Developing Web Services with Eclipse and Open Source Claire Rogers Developer Resources and Partner Enablement, HP February, 2004 Introduction! Many companies investigating the use of web services! Cost
WEBLOGIC ADMINISTRATION
WEBLOGIC ADMINISTRATION Session 1: Introduction Oracle Weblogic Server Components Java SDK and Java Enterprise Edition Application Servers & Web Servers Documentation Session 2: Installation System Configuration
Skynax. Mobility Management System. System Manual
Skynax Mobility Management System System Manual Intermec by Honeywell 6001 36th Ave. W. Everett, WA 98203 U.S.A. www.intermec.com The information contained herein is provided solely for the purpose of
Multi Factor Authentication API
GEORGIA INSTITUTE OF TECHNOLOGY Multi Factor Authentication API Yusuf Nadir Saghar Amay Singhal CONTENTS Abstract... 3 Motivation... 3 Overall Design:... 4 MFA Architecture... 5 Authentication Workflow...
CA Nimsoft Service Desk
CA Nimsoft Service Desk Configure Outbound Web Services 7.13.7 Legal Notices Copyright 2013, CA. All rights reserved. Warranty The material contained in this document is provided "as is," and is subject
Apigee Gateway Specifications
Apigee Gateway Specifications Logging and Auditing Data Selection Request/response messages HTTP headers Simple Object Access Protocol (SOAP) headers Custom fragment selection via XPath Data Handling Encryption
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1
Application Discovery Manager User s Guide vcenter Application Discovery Manager 6.2.1 This document supports the version of each product listed and supports all subsequent versions until the document
Crawl Proxy Installation and Configuration Guide
Crawl Proxy Installation and Configuration Guide Google Enterprise EMEA Google Search Appliance is able to natively crawl secure content coming from multiple sources using for instance the following main
CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS
CHAPTER 1 - JAVA EE OVERVIEW FOR ADMINISTRATORS Java EE Components Java EE Vendor Specifications Containers Java EE Blueprint Services JDBC Data Sources Java Naming and Directory Interface Java Message
AquaLogic Service Bus
AquaLogic Bus Wolfgang Weigend Principal Systems Engineer BEA Systems 1 What to consider when looking at ESB? Number of planned business access points Reuse across organization Reduced cost of ownership
Spectrum Technology Platform. Version 9.0. Spectrum Spatial Administration Guide
Spectrum Technology Platform Version 9.0 Spectrum Spatial Administration Guide Contents Chapter 1: Introduction...7 Welcome and Overview...8 Chapter 2: Configuring Your System...9 Changing the Default
SECURITY DOCUMENT. BetterTranslationTechnology
SECURITY DOCUMENT BetterTranslationTechnology XTM Security Document Documentation for XTM Version 6.2 Published by XTM International Ltd. Copyright XTM International Ltd. All rights reserved. No part of
About Network Data Collector
CHAPTER 2 About Network Data Collector The Network Data Collector is a telnet and SNMP-based data collector for Cisco devices which is used by customers to collect data for Net Audits. It provides a robust
Oracle Access Manager. An Oracle White Paper
Oracle Access Manager An Oracle White Paper NOTE: The following is intended to outline our general product direction. It is intended for information purposes only, and may not be incorporated into any
DEPLOYMENT GUIDE Version 1.2. Deploying F5 with Oracle E-Business Suite 12
DEPLOYMENT GUIDE Version 1.2 Deploying F5 with Oracle E-Business Suite 12 Table of Contents Table of Contents Introducing the BIG-IP LTM Oracle E-Business Suite 12 configuration Prerequisites and configuration
Sisense. Product Highlights. www.sisense.com
Sisense Product Highlights Introduction Sisense is a business intelligence solution that simplifies analytics for complex data by offering an end-to-end platform that lets users easily prepare and analyze
The full setup includes the server itself, the server control panel, Firebird Database Server, and three sample applications with source code.
Content Introduction... 2 Data Access Server Control Panel... 2 Running the Sample Client Applications... 4 Sample Applications Code... 7 Server Side Objects... 8 Sample Usage of Server Side Objects...
Data processing goes big
Test report: Integration Big Data Edition Data processing goes big Dr. Götz Güttich Integration is a powerful set of tools to access, transform, move and synchronize data. With more than 450 connectors,
Contents About the Contract Management Post Installation Administrator's Guide... 5 Viewing and Modifying Contract Management Settings...
Post Installation Guide for Primavera Contract Management 14.1 July 2014 Contents About the Contract Management Post Installation Administrator's Guide... 5 Viewing and Modifying Contract Management Settings...
Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5
Course Page - Page 1 of 5 WebSphere Application Server 7.0 Administration on Windows BSP-1700 Length: 5 days Price: $ 2,895.00 Course Description This course teaches the basics of the administration and
SOA, case Google. Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901.
Faculty of technology management 07.12.2009 Information Technology Service Oriented Communications CT30A8901 SOA, case Google Written by: Sampo Syrjäläinen, 0337918 Jukka Hilvonen, 0337840 1 Contents 1.
CA Spectrum and CA Service Desk
CA Spectrum and CA Service Desk Integration Guide CA Spectrum 9.4 / CA Service Desk r12 and later This Documentation, which includes embedded help systems and electronically distributed materials, (hereinafter
CA Nimsoft Service Desk
CA Nimsoft Service Desk Web Services Guide 7.0.6 Legal Notices Copyright 2013, CA. All rights reserved. Warranty The material contained in this document is provided "as is," and is subject to being changed,
Integrating Siebel CRM with Microsoft SharePoint Server
Integrating Siebel CRM with Microsoft SharePoint Server www.sierraatlantic.com Headquarters 6522 Kaiser Drive, Fremont CA 94555, USA Phone: 1.510.742.4100 Fax: 1.510.742.4101 Global Development Center
Customer Bank Account Management System Technical Specification Document
Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6
Introduction to Directory Services
Introduction to Directory Services Overview This document explains how AirWatch integrates with your organization's existing directory service such as Active Directory, Lotus Domino and Novell e-directory
MEGA Web Application Architecture Overview MEGA 2009 SP4
Revised: September 2, 2010 Created: March 31, 2010 Author: Jérôme Horber CONTENTS Summary This document describes the system requirements and possible deployment architectures for MEGA Web Application.
1z0-102 Q&A. DEMO Version
Oracle Weblogic Server 11g: System Administration Q&A DEMO Version Copyright (c) 2013 Chinatag LLC. All rights reserved. Important Note Please Read Carefully For demonstration purpose only, this free version
Configuration Worksheets for Oracle WebCenter Ensemble 10.3
Configuration Worksheets for Oracle WebCenter Ensemble 10.3 This document contains worksheets for installing and configuring Oracle WebCenter Ensemble 10.3. Print this document and use it to gather the
Remote Authentication and Single Sign-on Support in Tk20
Remote Authentication and Single Sign-on Support in Tk20 1 Table of content Introduction:... 3 Architecture... 3 Single Sign-on... 5 Remote Authentication... 6 Request for Information... 8 Testing Procedure...
Copyright 2013 Consona Corporation. All rights reserved www.compiere.com
COMPIERE 3.8.1 SOAP FRAMEWORK Copyright 2013 Consona Corporation. All rights reserved www.compiere.com Table of Contents Compiere SOAP API... 3 Accessing Compiere SOAP... 3 Generate Java Compiere SOAP
Siebel Web UI Dynamic Developer Kit Guide. Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013
Siebel Web UI Dynamic Developer Kit Guide Siebel Innovation Pack 2013 Version 8.1/8.2 September 2013 Copyright 2005, 2013 Oracle and/or its affiliates. All rights reserved. This software and related documentation
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide
WebSpy Vantage Ultimate 2.2 Web Module Administrators Guide This document is intended to help you get started using WebSpy Vantage Ultimate and the Web Module. For more detailed information, please see
FileMaker Server 12. FileMaker Server Help
FileMaker Server 12 FileMaker Server Help 2010-2012 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker is a trademark of FileMaker, Inc.
Application Performance Management for Enterprise Applications
Application Performance Management for Enterprise Applications White Paper from ManageEngine Web: Email: [email protected] Table of Contents 1. Introduction 2. Types of applications used
Introduction to the Mobile Access Gateway
Introduction to the Mobile Access Gateway This document provides an overview of the AirWatch Mobile Access Gateway (MAG) architecture and security and explains how to enable MAG functionality in the AirWatch
CERTIFIED MULESOFT DEVELOPER EXAM. Preparation Guide
CERTIFIED MULESOFT DEVELOPER EXAM Preparation Guide v. November, 2014 2 TABLE OF CONTENTS Table of Contents... 3 Preparation Guide Overview... 5 Guide Purpose... 5 General Preparation Recommendations...
Integrating Online Banking and Top-up Card into Payment Gateway
Internship Report Master of Software Engineering (2012-2014) Integrating Online Banking and Top-up Card into Payment Gateway Author: DAO Nguyen Vu Supervisor: HO Hoang Thuong January 11, 2015 Acknowledgment
There are more security levels in ARCHIBUS, as described bellow.
Glossary: VPA = Virtual Private ARCHIBUS restriction SSO = Single Sign-On LDAP = Lightweight Directory Access Protocol WebCentral = ARCHIBUS Core Engine IIS = Internet Information Services (IIS, formerly
EMC Documentum Composer
EMC Documentum Composer Version 6.5 User Guide P/N 300 007 217 A02 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com Copyright 2008 EMC Corporation. All rights
SuperOffice Pocket CRM
SuperOffice Pocket CRM Version 7.5 Installation Guide Page 1 Table of Contents Introduction... 3 Prerequisites... 3 Scenarios... 3 Recommended small scenario... 3 About this version... 4 Deployment planning...
Oracle EXAM - 1Z0-102. Oracle Weblogic Server 11g: System Administration I. Buy Full Product. http://www.examskey.com/1z0-102.html
Oracle EXAM - 1Z0-102 Oracle Weblogic Server 11g: System Administration I Buy Full Product http://www.examskey.com/1z0-102.html Examskey Oracle 1Z0-102 exam demo product is here for you to test the quality
docs.hortonworks.com
docs.hortonworks.com Hortonworks Data Platform: Administering Ambari Copyright 2012-2015 Hortonworks, Inc. Some rights reserved. The Hortonworks Data Platform, powered by Apache Hadoop, is a massively
SharePoint Integration Framework Developers Cookbook
Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook Rev: 2013-11-28 Sitecore CMS 6.3 to 6.6 and SIP 3.2 SharePoint Integration Framework Developers Cookbook A Guide
EMC Documentum Content Services for SAP Repository Manager
EMC Documentum Content Services for SAP Repository Manager Version 6.0 Installation Guide P/N 300 005 500 Rev A01 EMC Corporation Corporate Headquarters: Hopkinton, MA 01748 9103 1 508 435 1000 www.emc.com
CloudCERT (Testbed framework to exercise critical infrastructure protection)
WP2. CONCEPTUAL MODELLING AND ARCHITECTURE CloudCERT (Testbed framework to exercise critical infrastructure protection) With the financial support of the Prevention, Preparedness and Consequence Management
This training is targeted at System Administrators and developers wanting to understand more about administering a WebLogic instance.
This course teaches system/application administrators to setup, configure and manage an Oracle WebLogic Application Server, its resources and environment and the Java EE Applications running on it. This
Working with Structured Data in Microsoft Office SharePoint Server 2007 (Part1): Configuring Single Sign On Service and Database
Working with Structured Data in Microsoft Office SharePoint Server 2007 (Part1): Configuring Single Sign On Service and Database Applies to: Microsoft Office SharePoint Server 2007 Explore different options
Chapter 3: Data Mining Driven Learning Apprentice System for Medical Billing Compliance
Chapter 3: Data Mining Driven Learning Apprentice System for Medical Billing Compliance 3.1 Introduction This research has been conducted at back office of a medical billing company situated in a custom
FileCloud Security FAQ
is currently used by many large organizations including banks, health care organizations, educational institutions and government agencies. Thousands of organizations rely on File- Cloud for their file
