Raccontaci le tue esigenze. Al resto pensiamo noi!


Sviluppo custom software e applicativi: entriamo nei nodi vitali dei tuoi processi aziendali, ottimizzandoli con soluzioni software personalizzate

Sviluppo software custom

Soluzioni su misura

Le competenze Omnia permettono di supportare i clienti nella definizione, ingegnerizzazione, implementazione e mantenimento di architetture, anche complesse, che rappresentino le soluzioni software tecnologicamente più indicate per riflettere in tutto e per tutto le esigenze e le strategie specifiche della tua azienda. In questo modo forniamo soluzioni solide per realizzare i processi di business esattamente come li stai pensando.

Una consulenza a 360 gradi

  • Realizzazione di progetti software enterprise secondo i più moderni pattern di sviluppo;
  • Definizione di soluzioni basate su architetture a microservizi;
  • Sviluppo di componenti web, desktop, client/server;
  • Implementazione di applicazioni centralizzate, distribuite, o stand alone;
  • Realizzazione di scripting integrati per la gestione di pagine web dinamiche;
  • Sviluppo di componenti responsive multipiattaforma;
  • Realizzazione di reportistica client o integrata nelle web application;
  • Progettazione e realizzazione di modelli dato e oggetti su base dati;
  • Sviluppo di script e procedure per inserimento, modifica, gestione, controllo ed elaborazione di informazioni su database;
  • Realizzazione di applicazioni con interfaccia semi grafica in ambiente terminale;
  • Sviluppo di applicazioni mobile su app e tablet;
  • Migrazione di progetti client/server verso tecnologia JavaEE attraverso tool di conversione automatica.

E tanto altro!

Sviluppo Custom - Omnia Group

Cerchi maggiori informazioni?

Le nostre tecnologie

Java

  • Java EE: EJB, JPA, JSF, JAX-RS, JAX-WS
  • JSF Component: RichFaces
  • ORM: EclipseLink, Hybernate
  • Spring: Spring-batch, Spring Boot

Mobile

  • Google Lanterna
  • Android SDK

Sviluppo WEB

  • HTML, CSS, Javascript, Typescript
  • Jquery, Angular, AngularJS

DBMS

  • Oracle, Mysql, DB2, Postgres
  • SQL, PL-SQL

Microservizi

  • MVC Rest

.Net

  • C#
  • Asp, ASP.NET
  • ASP.NET MVC
  • VB
  • VB.NET

Platform

  • Docker

Analytics

  • Apache Spark
  • Penthao
  • Business Object

Devops

  • Git
  • Jenkins
  • SonarQube

I nostri casi di successo

Progetto Carburanti

Il progetto ha avuto come obiettivo la realizzazione di un sistema che permettesse il controllo completo del nuovo business “carburanti” per una grande azienda italiana che opera nel settore della grande distribuzione, dal punto di vista gestionale, contabile e finanziario.

Lo scopo principale era quello di acquisire i dati di erogazione dai piazzali, effettuare operazioni di quadratura e riconciliazione rispetto ai dati di incasso, fornire funzionalità di controllo e reportistica ed inviare nei vari sistemi di contabilità i dati del ciclo attivo e passivo.

Pertanto, è stata realizzata un’applicazione web multisocietaria, indipendente dal fornitore dei sistemi di piazzale, completamente parametrica rispetto alle codifiche in uso sui sistemi esterni ed interni da collegare, con funzionalità profilate e fruibili sia dalla sede che dai punti vendita della rete distributiva.

Il progetto è stato analizzato, realizzato, certificato ed avviato in 6 mesi solari.

Cerchi maggiori informazioni?

Focus sullo stack tecnologico

La scelta di uno stack tecnologico enterprise innovativo ma solido è fondamentale per la buona riuscita dei tuoi progetti. OmniaGroup investe continuamente nella ricerca di nuove soluzioni tecnologiche, per offrire ai propri clienti solo i migliori stack presenti sul mercato. Il principio che guida le nostre scelte è quello di mettere sempre l’informatica al servizio del business, così da soddisfare in pieno le esigenze dei nostri clienti.

  • Frontend
  • Angular
  • Angular Material
  • Angular CLI
  • NPM
  • Backend
  • Spring
  • Spring Boot
  • Spring Data JPA
  • Spring MVC Rest
  • Spring Cloud
  • Maven
  • Security
  • Spring Security
  • Spring JWT
  • Spring OAUTH2
  • Test Automatici
  • Unit Test
  • Integration Test
  • End2End Test

Stack tecnologico - Devops

In contesti business dinamici è sempre più importante poter velocizzare le fasi di test e deploy delle applicazioni: il Devops è un insieme di processi e tecnologiche che permette di automatizzare il ciclo di vita del software dalla fase di sviluppo a quella di test e deploy.

Tools di continuous integration e delivery definiscono delle pipelines che, tramite eventi triggerati, scatenano flussi di automazione per la build dell’applicazione, test e check di integrazione, deploy in svariati formati, integrazione con sistemi di change request.

  • Git – software di repository e versioning codice
  • Jenkins – strumento di continuous integration
  • SonarQube – strumento di controllo automatico della qualità del codice

Si tratta di un’architettura applicativa basata sulla realizzazione di più servizi autonomi con funzionalità circoscritte, formando un sistema informativo flessibile, scalabile, adattabile ed integrabile velocemente.

È la naturale evoluzione dei sistemi monolitici, caratterizzati da forte accoppiamento fra le componenti ed alti impatti di manutenzione e rilascio, verso ambienti applicativi con componenti disaccoppiate, dove gli interventi sono circoscritti ed i rilasci a caldo hanno bassi costi e disservizi minimi.

I vantaggi dei microservizi

Velocità dei rilasci e nelle risposte al business

Ogni servizio è autonomo e può raggiungere l’ambiente di produzione in maniera indipendente senza impatti sul resto del  sistema; la manutenzione è circoscritta a piccole porzioni di codice, minimizzando gli impatti trasversali e consentendo rollback o contenimento dei problemi. Un processo di deployment snello permette di aggiungere e modificare funzionalità al sistema in maniera efficace, diventando reattivo alle esigenze del business.

Resilienza e scalabilità

Se una componente non funziona non è automatico che l’intero sistema sia compromesso: in generale diventa possibile isolare il problema consentendo a tutto il resto di funzionare. È inoltre possibile scalare in maniera più efficace ed economica l’ambiente effettuando previsioning più accurate.

Performance, riusabilità e sostituibilità

L’utilizzo di linguaggi e tecnologie eterogenee consente di sfruttare gli stack più performanti per implementare specifiche funzionalità. Il riutilizzo dei servizi in modi e per scopi differenti permette di ottimizzare le logiche e risparmiare tempi e costi di sviluppo. Funzionalità concentrate in piccoli servizi permettono di manutenere, sostituire o dismettere servizi non più adeguati.

Stack tecnologico - Docker

Docker è un progetto open-source che automatizza il deployment di applicazioni all’interno di contenitori software, fornendo un’astrazione aggiuntiva che permette di impacchettare applicazioni e loro dipendenze in un container virtuale eseguibile su qualsiasi server.

Il concetto di microservizio si sposa con quello di container: entrambi sono componenti atomici e stateless permettendo un naturale incapsulamento.

La gestione di architetture modulari in ambiente virtualizzato permette di:

  • scalare orizzontale attivando istanze e risorse più opportune al momento;
  • rendere indipendente host e linguaggio/tecnologia di sviluppo;
  • orchestrare i container monitorando e manutenendo le istanze in maniera efficace.

Gli ultimi articoli dal nostro blog in tema di Sviluppo Custom