Menu

Bacem GHALI

TUNIS

En résumé

I hold an engineer degree in computer science.
I have more than 8 years experience in JAVA/JEE development.
I am certified Java (OCJP) and Agile (PMI-ACP).
I have good knowledge of software architecture, in particular SOA and microservices.
I have solid skills in software design and object oriented programming.
Strong knowledge of JEE technologies and frameworks including Spring, Spring boot, Spring MVC , Spring data jpa, Spring cloud, Spring batch, JPA, Hibernate.
Hands on web Frameworks including AngularJs 1.5, Angular 2, Bootstrap, Vaadin and JSF2.
Strong problem solving and troubleshooting skills.

Mes compétences :
OSGI
JEE
Hibernate jpa
Spring
Flex
JSF
JAVA
Hibernate
Maven
Eclipse
C# .net
Spring Framework
Apache Maven
Oracle
REST
MySQL
JUnit
SQL
Vaadin
Jetty
JavaScript
HTML
Spring data Jpa
Spring MVC Rest
Spring cloud
Spring boot
Bootstrap
Angular

Entreprises

  • Technical and vocational training corporation - Full stack developer

    2015 - maintenant Project1: POC microservice architecture
    Self-training on microservice architecture: Concepts, tools and technologies, best practices,
    frameworks, exploring Netflix oss, POC applications
    Project2: Training management system
    A platform for managing training sessions for multiple customers.
    The platform offers services such as managing training programs and training sessions, subscription requests, request approval workflow, authorities’ management, session evaluation, reports, invoices...
    Project3: Gym management system
    A web application to manage a Gym: subscriptions and subscriber’s management, weight statistics, reports, subscription card, payment, settings, authorities’ management.
    The system was developed in a microservices architecture style, and communicates with the HR legacy system through rest APIs.
    Project4: Clinic management system
    A system for managing medical clinics of all technical colleges and institutes of Saudi Arabia, in addition to the central administration clinic.
    The most important features are taking appointments, medical visit workflow, clinic management, drugs management and delivery, pharmacy and patient management, transfer to hospital, authorities.
    Project5: Integration of a payment solution
    Integration of an electronic payment solution into the training management system, supporting VISA and MasterCard.
    My responsibilities:
    • Project Analysis and requirements specification
    • Participate in software design and architecture
    • Frontend development (html, bootstrap, angular)
    • Backend development (services and Rest APIs)
    • Creation of jasper reports
    • Projects maintenance (bug fixing, new features)

    Technical environment (for all projects):
    Microservices architecture
    Netflix OSS (eureka, zuul, ribbon, hystrix)
    Spring, Spring boot, Spring cloud Netflix,
    Spring security, Spring MVC REST, Spring data JPA
    HTML, Angularjs 1.5, Angular 2, Bootstrap 3
    Oracle database, Redis, Tomcat
    Jhipster, Maven, Git, Eclipse, npm
    Jasper reports 6, Tibco jaspersoft studio
  • Tritux - Senior JAVA/JEE developer

    2014 - 2014 Project1: ttserv
    A set of SOAP web services configurable through web interfaces ensuring services for Tunisia telecom clients.
    My responsibilities:
    • Maintaining existing services and developing new features
    Technical environment:
    JAVA/JEE, JBOSS AS server, JBoss seam, Mysql
    Project2: Application for collection (10 months)
    Consultant at orange Tunisia company working with a team to develop and application for chasing past due receivables on customer account (called collection process).
    The application is developed based on Microservices architecture.
    My responsibilities:
    • Design and develop of a batch application using spring batch for the extraction of useful data from orange database.
    • Develop REST APIs and user interfaces
    Technical environment:
    JAVA/JEE, Vaadin, Spring, Spring mvc, Spring JDBC,
    Mysql, Tomcat, Maven, SVN, Eclipse
  • Trusttic - Senior JAVA/JEE developer

    2013 - 2014 Project 1: Performance monitoring module
    (6 months)
    A framework which allows to gather metrics about java application performance (minimal,
    average and maximum execution time, counters, fields evolution,..). Those metrics are then
    exposed in JMX or stored into files.

    My responsabilities:

    * Research about existing open source solutions and picking the most adequate one.

    * Implementation of the framework which uses `metrics-core' API

    * Write unit tests

    * API integration in few products (digital signature servers, validation servers and signature
    clients).


    Technical environment:

    JAVA 6/JEE

    Maven 3, Struts 2, Junit 4

    Ygg (proprietary dependency injection framework)

    Project 2 : Command line clients for signature servers administration

    The project consists in developing command-line clients all based on one framework for the
    administration of different types of signature servers.

    My responsabilities:

    * Development of a framework to be the base of developing the clients. It offers
    functionalities such as:

    * Store supported client commands

    * Command line parsing.

    * Authentication.

    * Proxy RPC creation

    * Definition and implementation of client commands

    * Development of each client based on the framework

    * Write javadoc and documentation.

    * Obfuscation and packaging.

    Technical environment:

    JAVA, Maven, Junit

    XML-RPC, Latex, Proguard
  • SUNGARD - JAVA/JEE developer

    Lognes 2010 - 2013 Project 1: Stream Fix
    An ESB (or a middleware) that ensures integration of different entities using different protocols
    and programming languages to communicate. The software warrants essentially the connectivity
    of FIX clients to SUNGARD products, the enrichment and routing of orders, the routing of
    execution reports, message filtering and protocol conversion (FIX, V5, XML, JMS..).

    My responsibilities:

    * Writing of functional and technical requirements for the new solutions.

    * Development of requirements and enhancements.

    * Product support: inquiry of client issues, bug fixing, performance issues and code refactoring.


    Technical environment:

    Multithreading, Sockets
    JAVA/JEE
    Spring 3, Spring integration
    JSF 2.0 (facelets + Mojorra + richfaces)

    JMS, Quickfix (framework open source de trading)
    SAX, Quartz
    Jetty server 6, ANT, Eclipse, Jenkins

    Clients: Brokers, banks

    Project 2: VALDI-BUS

    This is the revolution of Stream Fix to an OSGI environment with a lot of additional modules.
    VALDI-BUS is a Framework that eases the development of channels and routers between many
    endpoints using different protocols.

    The project is composed of a bunch of modules called bundles that interact between each other
    by exposing and consuming services. This approach allows a loose coupling between modules,
    better scalability and easy versioning.

    My responsibilities:

    * Writing of functional and technical requirements for the new solutions

    * Development of requirements and enhancements

    * Product support: inquiry of client issues, bug fixing, performance issues and code
    refactoring.

    Technical environment:

    Multithreading, Sockets
    OSGI (equinox), JAVA/JEE
    Spring 3, spring integration, spring DM
    JSF2 (Mojorra+richfaces), Eclipse
    Maven 3 , groovy, Nexus
    Jenkins (integration continue), perforce
    Jetty 6 (servlet container)

    Clients: Brokers, banks

    Projet 3: GL Stream audit

    This is a solution for executing audits on the orders database. It gives the user the possibility to

    search for orders according to many criteria like the mnemonic, the underlying, the type, the date

    and a couple of other criteria.

    Furthermore, it permits the generation of statistic diagrams and best execution reports which can

    be generated as a PDF file.

    My responsabilities:

    * Writing functional and technical specification documents

    * Development of new modules and enhancements

    * Bug fixing

    Technical environement:

    Framework .Net 3.5, C#

    Bibliothèque graphique Infragistics

    JAVA, web services (Xfire), Hibernate

    Spring, XML, XSLT

    Apache tomcat 6, Oracle 10g

    Clients: Brokers et banques.
  • Evatys - R&D engineer & consultant

    2009 - 2010 Project 1: consultant at Soft-maint Tunisia (Sodifrance group)

    Migration of an information system that was developed with a legacy proprietary language

    (NSDK) toward a distributed web application based on JEE technologie.

    My responsabilities:

    * Implementaion of new functionalities

    * Maintenance and code refactoring

    * Unit testing and bug fixing

    Technical environment:

    JAVA/J2EE, Spring

    Oracle 10g, Flex3

    Eclipse, Tomcat 6, SVN

    Client: VEOLIA France

    Project 2: Windows mobile application

    This application was developed for a computer hardware maintenance enterprise. It facilitates the

    task of stakeholders, allowing them to see their mission through their mobile and send mission

    reports.

    My responsabilities:

    * Modeling and development of the mobile front end using Dot Net C#

    * Development of web services using WCF

    * Implementing custom graphical components

    Technical environment:

    Visual Studio 2008, C#, RESCO, Compact Framework 3.5, Sync services for ADO.net, WCF,
    SQL server 2008

    Client: computer maintenance company
  • Telnet Holding - Trainee

    paris 2009 - 2009 My responsabilities:

    Conception and development of a web 2.0 module to handle the configuration of an access

    control system. The application let the user enable and disable , add and remove components in

    addition to supervise the system status.

    Technical environment:

    JAVA, J2EE, Flex, Cairngorm

    Oracle, Eclipse, Apache Tomcat
  • Soft-Maint Tunisie, Groupe Sodifrance - Développeur Flex/J2EE

    2009 - 2010 Migration et développement du système d'information de la compagnie VEOLIA du NSDK vers une architecture Flex/J2EE.
    langages: JAVA, Flex
    IDE: Eclipse
    SGBD: Oracle
    frameworks: Spring, blazeDS

Formations

  • National School Of Engineers Of Sfax (Sfax)

    Sfax 2006 - 2009 Diploma

Réseau

Annuaire des membres :