university program - upbdils.pub.ro/wp-content/uploads/2015/10/sgebs-university-program... ·...

12

Click here to load reader

Upload: doanhuong

Post on 11-Mar-2018

222 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

University Program

Subjects for license

22 October 2015

V 0.1

Page | 1

University Program

Short description Subjects proposed for students for license study

Date 22 October 2015 Document version 0.01

Author(s) Alin POPOVICI Classification

Synthesis

SGEBS Entity Tutor Subject Techno

1 DEMETER (1) Catalin Lazar Sonar and GIT HUB monitoring tool Java, JS, Spring, web

2 CASSIOPAE(2) Catalin Stoiovici Business travel @EBS

3 CASSIOPAE(2) Catalin Stoiovici Events @EBS

Java, Spring, Hibernate, AngularJS, Database

4 TESSA (5) Daniel Sotropa NOSQL Big Data Storage Service

5 TESSA (5) Daniel Sotropa

Application health monitoring and logging system

6 TESSA (5) Daniel Sotropa

SOA applications automated testing solution

7 TESSA (5) Daniel Sotropa

Scalable Relational Databases Based Data Service with CQRS

8 TESSA (5) Daniel Sotropa

User access management system with Single Sign On

9 TESSA (5) Daniel Sotropa

HR Open Positions and Candidates Management System

RDBMS SOA .NET WCF Angular & Node JS MVC Active directory Text search optimized Big Data KV Store NOSQL systems Parallel computing in .NET REST web services WPF Entity Framework Unity Framework .NET UI Automation

10 RTPOSE(2) Cristian Tudor Fix message validator

11 RTPOSE(2) Cristian Tudor MiniFIX

12 RTPOSE(2) Cristian Tudor Market simulator

13 RTPOSE(2) Cristian Tudor Financial Game (Alliens vs Traders)

Network communication (sockets) XML, C++, GUI toolkit

14 MSD(1)

Sebastian Andrasoni

Distributed Market Data Caches in Financial Services

15 MSD(1)

Sebastian Andrasoni

Data Encoding Protocols in Financial Technology

Java Core, Data Structures, Sockets, Multithreading Dependency Injection Containers, Distributed caches, REST Web Services

16 CASCADE Liviu Marinescu

REST services implementation to manage “Future” financial products

17 CASCADE Liviu Marinescu

Client Server application for FIX communication

Page 2: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

18 CASCADE Liviu Marinescu

Big Data analysis: real time monitor for online shops products prices

1. SonarandGITHUBmonitoringtool

1.1. Description

Code quality measurement is an important part of the software development lifecycle. Both managers and developers benefit from a fast automatic feedback loop that is provided by the static analyzers deployed using Sonar. In this project you will develop a web site which aggregates data spread over a period of time from Sonar and GitHub and provide meaningful measures of how a project’s quality evolved. The data will be displayed for users such as the developers and the project managers. The web site will be developed using Java 8, Spring boot and Angular JS. It will immediately become an integral part of the SG’s application ecosystem and continuous delivery pipeline and you will experience first-hand interaction with the end-users of the application.

1.2. Technologies

Basic programming skills (Java)

Basic Web programming (Javascript)

Web UI (CSS, responsive design etc.)

(optional) Spring framework

(optional) Angular JS

(optional) Continuous integration methodologies

2. BusinessTravel@EBS

2.1. Description

Having an easy to use tool to help employees when they make business travel should be a de facto in every organization. The purpose of the application is to offer the following business functionality:

‐ Allow employees to ask for a business travel approval and start a business workflow for this

‐ Add business travel information which is available to multiple levels of the organization before and after the actual trip

‐ Manage resources needed in a business travel

‐ Facilitate the extraction of reports which will be used to calculate financial obligations for employee or employees

Page | 2

Page 3: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

2.2. Technologies:

‐ Java

‐ Spring

‐ Hibernate

‐ Angular JS

‐ Database

2.3. Advantages

The student will get to know how the business expense process works in a large organization and will get to work with modern Java technologies.

3. Events@EBS

3.1. Description

The purpose of the application is to offer a possibility to manage events inside an organization, promote trainings, employee birthdays, local and online events. Application will facilitate:

‐ Define events and visibility of these to restricted users

‐ Manage events and attach resources when needed

‐ Newsletter capability to promote held events inside the organization

‐ Manage employee information (place in the organization matrix, roles and responsibilities, basic information)

3.2. Technologies

‐ Java

‐ Spring

‐ Hibernate

‐ AngularJS

‐ Database

3.3. Advantages

The student will learn about the usual events that happen inside an organization and will get to work with modern Java technologies.

4. NOSQLBigDataStorageService

4.1. Description

Big Data is a broad term used to refer to data sets that are too large and complex and for which traditional applications and methods of storing and processing are inadequate. NOSQL is a term that refers to databases systems that are usually of a different type than relational databases and that also have a SQL like set of instructions allowing for easy interaction with the data system, the term being an acronym for “not only SQL”.

Page | 3

Page 4: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

The project aims at creating an application that exposes one or several REST web services exposing basic data manipulation operations (creating, retrieving, updating, deleting) and sitting on top of a mix of KV store NOSQL database systems as well as text search optimized ones. The application provides:

REST web service exposing basic CRUD operations.

NOSQL data base control layer.

Socket communication capabilities and protocol for storing of large datasets.

Ability to plug in new data models and types.

Possibility to publish to relational databases for BI purposes as an optional feature.

Big data capabilities.

4.2. Technologies:

Network communication (sockets)

Relational Database Management Systems

KV Store databases

Text search optimized data systems (Mongo)

.NET parallel computing and multi-threading

Web services (WCF)

5. Applicationhealthmonitoringandloggingsystem

5.1. Description

Key to delivering quality software is testing, but testing can be often time consuming and resource intensive. As most of the regression and UAT testing activity is repetitive and relies on predefined scenarios, there is room for automation. The project aims at creating an application that exposes a framework for easily writing automated tests for SOA based applications as well as statistics and test management capabilities. The application provides:

Simplified automation framework.

Statistics for test runs.

Management for test cases, scenarios and test suites.

Ability to plug in new tests as already compiled libraries.

Possibility to publish stats to relational databases for BI purposes as an optional feature.

5.2. Technologies

Relational Database Management Systems

.NET parallel computing and multi-threading

Data structures

Web services (WCF)

Page | 4

Page 5: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

WPF

6. SOAapplicationsautomatedtestingsolution

6.1. Description

Key to delivering quality software is testing, but testing can be often time consuming and resource intensive. As most of the regression and UAT testing activity is repetitive and relies on predefined scenarios, there is room for automation. The project aims at creating an application that exposes a framework for easily writing automated tests for SOA based applications as well as statistics and test management capabilities. The application provides:

Simplified automation framework.

Statistics for test runs.

Management for test cases, scenarios and test suites.

Ability to plug in new tests as already compiled libraries.

Possibility to publish stats to relational databases for BI purposes as an optional feature.

6.2. Technologies

Relational Database Management Systems

.NET parallel computing and multi-threading

Data structures

Web services (WCF)

WPF

7. ScalableRelationalDatabasesBasedDataServicewithCQRS

7.1. Description

CQRS is a design pattern that dismisses the notion of a single shared domain model used across an entire application. It introduces separate models for state-changing operations versus operations that only inspect the state of the system. These operations are categorized as commands and queries, hence the acronym for the pattern. Simple applications that mostly perform CRUD operations can do well with a single domain model. However, as the complexity increases more requirements arise for both update logic as well as inquiring logic. Supporting all these - at one point competing requirements - becomes cumbersome as more and more differences get in the way. Relational database management systems are regarded as non-scalable. This is due to their need to guarantee the integrity of transactions. Employing CQRS adds a certain degree of freedom making horizontal scaling possible to some extent. The project aims at creating an application that exposes one or several REST web services exposing basic data manipulation operations (creating, retrieving, updating, deleting) that relies on RDBMSs and employs CQRS to allow implementation of multiple domain models . The application provides:

REST web service exposing basic CRUD operations.

A set of command handling components.

A set of event handling components.

Socket communication capabilities and protocol for storing of large datasets.

Page | 5

Page 6: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

Ability to plug in new domain models.

Horizontal scaling capabilities.

7.2. Technologies:

Network communication (sockets)

Relational Database Management Systems

.NET parallel computing and multi-threading

Web services (WCF)

.NET multi-threading and parallel computing

8. UseraccessmanagementsystemwithSingleSignOn

8.1. Description

According to Wikipedia, Single sign-on (SSO) is a property of access control of multiple related, but independent software systems. With this property a user logs in with a single ID to gain access to a connected system or systems without being prompted for different usernames or passwords, or in some configurations seamlessly sign on at each system. Such ability represents a game changer for most large scale organizations and their myriad of internal interconnected systems. In its simple implementation, there are a number of drawbacks as not all users are desired to have same level of access across the complete array of interconnected systems. To overcome this drawback a role based access management system easily configurable by an access rights matrix needs to be employed. To make the package complete and functional an API must be available taking the form of a REST web service. The project aims at creating an application that exposes one or several REST web services that allow both user and roles management capabilities as the SSO capabilities. This application must provide:

REST web service exposing user and roles management APIs.

REST web service exposing SSO APIs.

Kerberos based authentication.

Integrated Windows authentication.

Horizontal scalability capabilities.

Optional Web presentation.

8.2. Technologies:

Relational Database Management Systems

.NET parallel computing and multi-threading

Web services (WCF)

Angular & Node JS

MVC

Active directory integration

LDAP

Page | 6

Page 7: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

9. HROpenPositionsandCandidatesManagementSystem

9.1. Description

Fast growing modern day organizations are always in need of fresh talents and not only as industry established giants are always on the lookout for young and fresh talent. This adds pressure on HR departments and impacts their productivity as well as increasing the costs in those departments arising the need for internal applications and systems to ease up the management of positions, candidates and CVs. These tools need to be web based, comply with modern day security requirements as well as cope up with large amounts of data as well as be able to aggregate that data into various BI reports. The project aims at creating an application that allows easy management of opened positions, CVs and candidates profiles as well as offering various reports and statistics. This application must provide:

REST web service exposing APIs for front-end integration.

Integration with authentication service.

Storing of CVs and user related data.

Fast search through profiles and CVs by employing Mongo or similar technologies.

Reporting and statistics capabilities.

Possibility to create custom candidates groups and lists (e.g. blacklists, shortlists).

Automatic interview scheduling capabilities.

9.2. Technologies:

Relational Database Management Systems

.NET parallel computing and multi-threading

Web services (WCF)

Angular & Node JS

MVC

Active directory integration

Text search optimized Big Data technologies.

10. Fixmessagevalidator

10.1. Description

Fix (Financial Information eXchange) is a communications protocol for international real-time exchange of information related to financial data. The purpose of this project is to create an application that takes as input fix message/messages and:

Checks the validity of the envelope (header and tail)

Checks the validity of the checksum

Checks the validity of fields:

o Mandatory or optional

o Data length

Page | 7

Page 8: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

o Value(s)

o Relations between fields (eg: one field might be optional, but when it is present, then some other fields might become mandatory)

Decode each field from text-encoded to readable text

Decode each field value to readable text (when possible)

It should be possible to apply the operations described above to a message stream, with the possibility to filter/follow a specific communication stream (eg: a transaction, the login/logout process, market notifications, etc)

10.2. Desired skills:

Network communication (sockets)

XML

Programming (C++)

GUI toolkit

10.3. Acquired skills:

Network communication (sockets)

Programming (C++)

GUI toolkit

Interprocess Communications

Fix Protocol

Design Patterns

11. MiniFix

11.1. Description

Fix (Financial Information eXchange) is a communications protocol for international real-time exchange of information related to financial data. The purpose of this project is to create an application with a user interface that allows reception, decoding, generation and sending of FIX messages using an interactive method. This tool will allow the user to graphical fill different fields of a fix message, configure them, and when everything is set to send this message to a market(exchange).

11.2. Desired skills:

Network communication (sockets)

XML

Programming (C++)

GUI toolkit (eg: Qt, GTK)

Page | 8

Page 9: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

11.3. Acquired skills:

Network communication (sockets)

Programming (C++)

GUI toolkit

Fix Protocol

Design Patterns

12. Marketsimulator

12.1. Description

What is FIX? The most common used protocol in financial communications. (Financial Information eXchange ). It comprises a multitude of messages, each of them containing header, body and trailer. The purpose of this project is to implement a very simple market (exchange) that permits trading. For example London Stock Exchange is such a market. The resulting application needs to be a proof of concept, not all fully functional market. To be able to create a server type application that will receive trade requests from another client application using a certain protocol (possibly FIX) and to make trades on that instrument and to provide price updates. This is a multi process project and will involve interprocess communication.

12.2. Desired skills:

Network communication (sockets)

XML

Programming (C++)

GUI toolkit (eg: Qt, GTK)

(optional) interprocess communication

12.3. Acquired skills:

Network communication (sockets)

Programming (C++)

Interprocess Communications

Fix Protocol

Design Patterns

Distributed Architecture

Depending on the complexity of the project can be a task for 1 or 2 students.

Page | 9

Page 10: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

13. FinancialGame(AlliensvsTraders)

13.1. Description

Since there are members of the team that have extensive game programming experience with the Unity Game Engine, we are proposing another topic: a financial game based on the activity of a real trader. We want to base it on the actions a trader must take based on different events and news that he has to analyze, and how these news will impact his financial income of his instruments that he is trading. For example: If the aliens attack Fort Knox, and steal all the gold in there, then automatically the price of gold is expected to increase, therefore the trader is assumed to buy gold in order to capitalize on this price increase. We want to have a graphical interface that comprises of a GUI that shows a list of the instruments that the trader currently has in his portfolio, as well as a map of the locations that contain all these instruments (basically a world map with resources on top of it). This game can be developed on either Windows platform or Android.

13.2. Desired skills:

Network communication (sockets)

Programming (C++)

(optional) interprocess communication

13.3. Acquired skills:

Network communication (sockets)

Programming (C++)

Interprocess Communications

Unity gaming engine

Design Patterns

Distributed Architecture

Depending on the complexity of the project can be a task for 1 or 2 students.

14. DistributedMarketDataCachesinFinancialServices

14.1. Description:

The purpose of this project is to evaluate the performance of a distributed cache / in-memory data grid implementation (e.g. Hazelcast, Infinispan, Coherence, Gemfire, EhCache, Redis, Riak) in the context of a market data distribution service. We will have multiple reader and writer processes that access the data concurrently. Overall, we are interested in the stability of the distributed cache, the availability of the updates to the reader processes and also the API usage simplicity of the given cache implementation.

14.2. Technologies:

Java Core

Data Structures

Sockets

Page | 10

Page 11: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

Multithreading

Dependency Injection Containers (Spring/Guice/Weld)

Distributed caches

REST Web Services

14.3. Advantages:

The student will have the opportunity to learn the basics of financial markets and market data as well as some interesting technical subjects such as in memory data grids, web services, benchmarking and performance measurements.

15. DataEncodingProtocolsinFinancialTechnology

15.1. Description

The purpose of this project is to evaluate the performance of some structured data serialization frameworks (e.g. Google Protocol Buffers, Google FlatBuffers, Simple Binary Encoding, Apache Thrift, Apache Avro, Cap’n Proto, MessagePack) in the context of a market data distribution service. Data will be served by a Web service taken from an in-memory cache, serialized and sent to the client applications that will de-serialize and use the data for a simple computation. Overall, we are interested in the latency and the API usage simplicity of the given serialization framework.

15.2. Technologies:

Java Core

Data Structures

Sockets

Multithreading

Dependency Injection Containers (Spring/Guice/Weld)

REST Web Services

Object Serialization Frameworks

15.3. Advantages:

The student will have the opportunity to learn the basics of financial markets and market data as well as some interesting technical subjects such as object serialization frameworks, web services, benchmarking and performance measurements.

16. RESTservicesimplementationtomanage“Future”financialproducts

16.1. Description:

“Future” it’s a financial product that offer buyer protection : it’s a guarantee for the buyer that at specified time it will buy desired products with the now agreed price. The scope of the project is to implement micro-services to create, update, delete and interrogate of “Future” financial products. Skills needed: Java (8 if possible), Spring, SQL

Page | 11

Page 12: University Program - UPBdils.pub.ro/wp-content/uploads/2015/10/SGEBS-University-Program... · University Program Subjects for license ... (Java) Basic Web programming (Javascript)

Page | 12

Advantages: The student will familiarize himself with one of the most popular financial product on the market. From the technical point of view he/she will use one of the best frameworks (Spring) in order to implement the application.

17. ClientServerapplicationforFIXcommunication

17.1. Description:

Financial Information eXchange is the communication protocol for international real-time exchange of financial data. It’s a text based protocol. The Quickfix implementation will be used in order to exchange FIX messages.

17.2. Skills needed:

Java (8 if possible)

17.3. Advantages:

The student will familiarize himself with one of the most popular protocol used in the financial world. From the technical point of view he/she will have to master Java core.

18. BigDataanalysis:realtimemonitorforonlineshopsproductsprices

18.1. Description:

We all know that prices varies; especially in the online environment. The scope of the project is to monitor few online shops and register their products price variation

18.2. Skills needed:

Java (8 if possible), Selenium web driver, Java Script, Spring, SQL

18.3. Advantages:

The student will familiarize himself with Java technology and related frameworks and with one of the most popular tool used in crawling web sites or creating Integration Tests.