Notre offre de services Our service offering

Architecture de Systèmes d'Information IT Systems Architecture

  Conception Design
Dans un Système d'Information moderne, la réflexion sur le choix des technologies et des outils n'est pas sans conséquences. Utiliser les compétences des personnes qui ont une énorme culture d'Architecture de Systèmes d'Information et la connaissance de la majorité des outils du marché actuel, que ce soit des outils Open Source ou propriétaires, peut contribuer de façon significative au succès de la réalisation. . High Tech Zone peut vous apporter son expérience pour vous aider à sécuriser le design de votre SI. In a modern IT system, the brainstorming about technologies choice and tools has a real impact. Using the competencies of people that have a huge IT Architecture culture and a deep knowledge of today's major tools available, whether Open Source or proprietary, can significantly contribute to projects success. High Tech Zone people can provide their experience and knowledge to help you secure your IT system design.
  Middleware Middleware
L'infrastructure software est également très importante pour le design d'un système. Connaissant les bénéfices et les limites de chaque technologie, High Tech Zone peut vous aider à choisir le jeu de middleware qui vous permettra de construire un système efficace. The software infrastructure is also crucial for IT design. Knowing each technology benefits and limits High Tech Zone can help you choose the set of middleware that will allow you to build an effective IT system.
  EOA et SOA EOA and SOA
Les architectures orientées services, complétées par l'architecture orientée événements permettent de définir des contrats de service propre au SI qui pourront être exposés à tous les consommateurs potentiels, internes ou externes au système. L'urbanisme et la "servicisation" des SI est un passage nécessaire pour l'ouverture des SI. High Tech Zone peut vous accompagner sur la mise en oeuvre de ces thèmes majeurs. Service oriented architecture, extended by event oriented architecture allow you to define the IT system services contracts. Those contracts can be exposed to all possible service consumers, whether internal or external to the system. Urbanism and "servicization" of IT systems is a necessary move for opening them. High Tech Zone can help you to achieve those major changes.
  Le monde de l'Open Source Open Source resources
Le monde de l'open source est une jungle où les pépites côtoient parfois le médiocre. Parmi les meilleurs il y a un certain nombre de frameworks, librairies et middleware de référence qui peuvent être intégrés dans vos systèmes et peuvent vous économiser des développements spécifiques. High Tech Zone connait tous les acteurs majeurs de l'Open Source et a souvent contribué à en corriger des bugs. The open source world is a jungle where the gold nuggets sometimes sit next to the mediocre. Among the best there is a large set of reference frameworks, libraries or middleware that can be quickly integrated into your systems and can reduce the amount of specific code. High Tech Zone knows all major Open Source actors and did often contribute by fixing bugs.
  Transformation digitale Digital transformation
  Processus Métiers Business Processes
  Infrastructure et dimensionnements Infrastructure design
Le choix de la topologie du système, du hardware, de la virtualisation, du stockage, des liens réseau, dépend des besoins du SI. Mais les choisir correctement demande de l'expérience. Egalement, il faut une bonne connaissance des matériels pour résoudre des problématiques particulières comme les transferts ou le stockage très rapides. Choosing the system topology, hardware, storage, virtualization, network links, depends on the system needs. But choosing them right requires some experience. Also it requires a good set of knowledge to address some particular needs such as very fast links or storage.

En savoir plus Learn more

Méthodologies de développement utilisant une approche moderne Software design and development using modern approach

  Développement agile Agile developments
Les développements agiles permettent de développer de façon incrémentale avec des cycles de réalisations rapides par petits incréments, en amenant les fonctionnalités qui sont les plus prioritaires en premier. C'est un peu une révolution de la pensée, mais les bénéfices sont énormes. Agile developments allow building incrementally using fast and small development cycles, bringing first the most important features. This is a kind of thought revolution, but the benefits are huge.
  TDD TDD
Le développement orienté tests est une méthodologie qui privilégie le test avant même l'implémentation. Le bénéfice est qu'on a un système conçu pour être testable et ce test reste ensuite valide et réutilisable durant toutes les évolutions du composant. Test oriented development is a technique that focuses on building the tests before the actual implementation. The benefit is that we have a system designed to be tested automatically ant that this initial test remains valid and reusable for the rest of the component life.
  Construisez votre référentiel de services métiers en les basant sur des services managés et REST services Build your core services repository using managed and REST services
En découplant le front end (les GUI ou les applications web) du back end (les services métiers), on permet au système d'être ouvert vers les applications multi-canaux et aussi à des partenaires.
REST est une technologie permettant d'organiser ses services de façon intuitive, standard et documentable.
Les services managés bénéficient de services transverses tels la sécurité, le monitoring et le contrôle.
If you decouple front end ( GUI or web applications) and back end (the business layer), you open your system to multi channel applications and also to partners.
REST is a technology that allows you to organize your services in an standard, intuitive and documentable way.
Managed services benefit cross services functionalities such as security, monitoring and control.
  Interfaces utilisateurs HTML 5 + JavaScript modernes Modern HTML 5 + JavaScript UI
Le futur des applications riches dans les browsers ont indéniablement basculé du côté pure JavaScript applications (en opposition au HTML + JavaScript généré).
HTML5 et les frameworks JavaScript modernes comme angularJS permettent de réaliser de vraies applications web scalables et libèrent les serveurs du gaspillage de ressources mémoire et CPU.
The future of rich browser applications is now targeted at pure JavaScript applications (opposed to generated HTML + JavaScript).
HTML5 and modern JavaScript frameworks like angularJS allow building truly scalable web applications that releases servers from CPU or memory resources waste.
  Intégration continue Continuous integration
L'intégration continue est un mode d'intégration qui privilégie l'automatisation complète de votre usine de build de software pour éliminer le coût des tâches récurrentes.
Ainsi chaque jour se construit une version packagée et des rapports de santé de votre software, qui ont été intégralement construite depuis le référentiel de sources, automatiquement testée et validée.
Au cas échéant, si des régressions sont détectées, les développeurs sont automatiquement avertis et invités à corriger les erreurs.
Continuous integration in an integration mode that focuses on full automatic build factory to eliminate the recurring tasks cost.
Thus there is a fully packaged version built every day as well as software health reports, which have been fully built from your source code repository, automatically tested and validated.
In case of non validation, if regressions were detected, people initiators of the regressions are automatically notified and invited to fix them.

En savoir plus Learn more

Analyse de dysfonctionnements de systèmes d'information IT malfunctions analysis

  Les systèmes lents Slow systems
Il arrive que des actions fréquentes comme l'enregistrement d'une donnée prennent trop de temps. Et si ca prenait 1 seconde au lieu de 5 ou 10 ?
Il arrive que la saisie même soit freinée par un système non réactif. Et si le passage de champ à champ d'un formulaire était instantané au lieu de prendre 1 ou 2 secondes ?
Imaginez tout le temps de vos utilisateurs qui serait économisé au final, multiplié par des centaines de personnes.
In some applications it may happen that frequent actions such as saving a data take too much time. What if it took 1 second instead of 5 or 10 ?
Even basic inputting may be hindered by latency. And what if navigating from field to field was immediate opposed to the 1 second it takes ?
Imaging all the time saved overall for your users if this happened, multiplied by hundreds of people.
  L'usage mémoire divergent Divergent memory usage
Certains systèmes ne sont pas stables. On doit les redémarrer tous les 4 heures sinon ils ralentissent puis finissent par se bloquer en épuisement de mémoire.
Ce n'est pas une fatalité. Les "fuites" de mémoire se traitent et on peut arriver à avoir des systèmes qui tiennent des jours, des semaines sans interruption.
Some systems are unstable. You have to restart them every 4 hours otherwise they become slow till they hang in out of memory error.
This is not a fatality. Memory "leaks" can be fixed and you can change your system so that it runs fine for days or weeks without restart.
  Les erreurs pseudo aléatoires Random errors
Il arrive que des utilisateurs rapportent des incidents de fonctionnement non reproductibles.
Ce type de problèmes se traite en recherchant leur trace et en remontant à la cause initiale.
You may get unqualified and non reproducible issues from the users.
This kind of issue can be addressed by searching the problem evidence and find back to the root cause.
  Les plantages de JVM aléatoires Random JVM crashes
Et si le processus du serveur d'application en entier plante (la JVM elle-même), là aussi ça s'analyse. Les rapports de la JVM ne sont pas une langue morte pour nos experts. If the application server process (the JVM itself) crashes you can also analyze the issue. JVM crash reports are not a dead language for our experts.
  Les messages d'erreurs obscurs Obscure error messages
Souvent par erreur de design, les applications JEE présentent à l'utilisateur une exception avec une stack trace au lieu d'un message à destination de l'utilisateur.
Nous pouvons vous aider à faire la part des choses et à remonter des erreurs présentées différemment sur 2 canaux séparés : utilisateurs et exploitants.
Often in JEE applications, error messages are thrown at users with an exception message with a cryptic stack instead of a end user message.
We can help you redesign error handling and present errors on 2 different channels : end user messages in application screens and clear log messages for production support.
  Les erreurs silencieuses Silent errors
Et il arrive aussi que certaines erreurs par excès de zèle soient masquées (par le développeur). Il traite un problème en l'ignorant. Pas de chance, ces erreurs seraient bien plus faciles à identifier si elles étaient traitées à la source.
L'analyse de code et l'analyse de comportement de système permettent d'identifier et corriger ce type d'erreur de design.
Some junior developers tend to mask error situations by catching and ignoring internal errors. Bad choice, these errors would be so easier to diagnose if correctly handled initially. Code analysis and system behavior analysis can help to detect and fix these design errors.

En savoir plus Learn more

Présentations et démonstrations de nouvelles technologies New technologies introductions and proofs of concept

  No SQL (pas seulement SQL) No SQL (not only SQL)
Traditionnellement les données de l'entreprise tombent dans le domaine SQL. La database relationnelle devient le berceau des données de l'entreprise.
Cependant, le saviez-vous ? Le monde SQL est très peu performant en matière de stockage (dans tous les cas) et de restitution (dans certains cas comme celui où la donnée n'est pas déjà en mémoire).
Il existe un monde hors des bases de données SQL qui permettent de répondre à des problématiques d'accès ou stockage en s'affranchissant des limites de performances des serveurs de bases SQL.
Enterprise data traditionally end up in SQL domain. The relational database becomes the enterprise data repository.
However, did you know that SQL world is a poor performer in data storing performance (in all cases) and also for data fetching (in some cases, especially when the data is not already fully cached into memory).
There is another world outside the SQL databases domain SQL that allow achieving better performance and costs and go past the SQL databases limits.
  Big Data Big Data
  • Quand on a passé la barrière du Téraoctet de données.
  • Quand on a passé la barrière d'écriture de données permanente de 100MB/seconde.
  • Quand on doit traiter en moins d'une minute des giga-octets de données.
Tous ces indices indiquent que vous avez passé le cap du Big Data. Plutôt que de répondre au problème par un design propriétaire, il est urgent de regarder ce que les acteurs majeurs come Amazon, Google ont réussi à faire avec succès ces 7 dernières années.
  • When your data size is past one Terabyte.
  • When you are storing on a permanent basis 100Megabytes per second.
  • When you must process within minute giga-bytes of data.
All these clues indicate that you are now in the Big Data world. Rather than trying to solve these problematic with your own solutions , you should have a look at how major actors like Amazon or Google have successfully addressed these problematic within the last 7 years.
  Hadoop Hadoop
Cette technologie est devenue un standard pour le stockage "sécurisé" énorme.
Et elle est aussi devenue la plateforme du traitement Big Data de masse.
It is the de facto cheap standard for enormous storage.
And this is the platform for Big Data processing.
  Databases orientées documents Document oriented databases
Pourquoi essayer de stocker dans un database SQL les attachements des emails ou des documents Word arbitraires ?
Il existe d'autres conteneurs (parfois gratuits) qui font bien mieux le travail, car conçus pour et permettant des recherches naturelles par mots clef.
Why trying to store in a SQL database email attachments or arbitrary MS Word documents ?
There are other containers (even some free ones) better designed for this purpose, that allow natural searches using keywords.
  Databases orientées colonnes Columns oriented databases
Le modèle de tables à colonnes prédéfinies et fixes n'est pas le seul modèle existant.
Il vaut mieux parfois penser autrement pour adresser des problématiques plus riches.
Data modeling using fixed and predefined column sets is not the only model.
It is sometimes better to think differently to address some deeper problematic.
  Caches distribués Distributed caches
Si on veut un accès instantané à une donnée (très) volumineuse, plutôt que d'acheter des machines et des licences énormes, il vaut mieux utiliser une architecture adaptée à cet objectif, bien moins chère. If you are looking to instant access on a (huge) dataset, rather than buying enormous machines and licenses, you'd better use an architecture designed for the job, much cheaper.
  Frameworks JavaScript modernes Modern JavaScript frameworks
Et si on vous montrait une application web développée 100% en JavaScript pour le front end ? Vous verriez que c'est relativement simple, léger et extrêmement productif en comparaison des mastodontes que l'on utilise avec les développements 100% Java. What if we showed you a web application using 100% JavaScript design for the front end ? You would see that this is rather simple, light et and very productive compared to the heavy-weight solutions we use when building pure Java front ends.

En savoir plus Learn more

Accompagnement sur des technologies pointues Other High Technologies tutoring

  Développement en C++ moderne et multi plateformes Modern, cross platforms C++ development
Non, le C++ ou le C ne sont pas (encore) morts ! Ils restent même des langages solides, relativement universels et permettent de faire des développements portables pour peu que l'on prenne des APIs standards et qu'on respecte quelques principes de développement. C++ or C languages are not dead (yet) ! They remain strong languages, almost everywhere and allow building cross platform developments if you use standard APIs and respect a few development standards.
  Moniteur transactionnel Tuxedo Tuxedo transaction monitor
Tuxedo (ex-produit BEA, maintenant Oracle) est un produit middleware servant à héberger des services transactionnels réalisés en C (ou en Cobol).
Sa robustesse légendaire en fait un des produits middleware les plus appréciés en production informatique.
Tuxedo (ex-BEA product, now owned by Oracle) is a middleware product whose goal is to host carrier grade transactional services, written in C language (or Cobol).
Tuxedo is famous for its legendary robustness and is appreciated by production teams in charge of these platforms.
  Développement efficaces en Java Effective Java core development
Il ne suffit pas de connaître la base du langage pour faire des développements efficaces. Il est important de bien maîtriser l'ensemble de la plateforme Java SE, de comprendre les subtiles différences des multiple conteneurs et d'utiliser les bonnes classes aux bons endroits pour réaliser du code optimal.
Egalement, connaissez-vous les nombreuses fonctionnalités présentes dans Java SE ?
  • java.util.concurrent, concurrence ultra performante
  • Contrôle de processus
  • Nio/Nio2, les IO non bloquantes.
  • Rmi, les appels inter-processus
  • Jmx, le monitoring interne
  • Les multiples APIs XML (jaxb, jaxp, dom, sax, stax,...)
Knowing the language basics is not enough to build effective software. It is really important to master the whole Java SE platform, to understand the subtle differences of the various containers and to use the right classes at the right locations to build optimal code.
And do you know the many features already present in Java SE ?
  • java.util.concurrent, ultra optimized concurrency
  • Process control
  • Nio/Nio2, non blocking IO.
  • Rmi, inter-process remote calls
  • Jmx, internal JVM monitoring
  • The many XML APIs (jaxb, jaxp, dom, sax, stax,...)
  Programmation multithread Multithread programming
Que ce soit en Java ou en C++, la programmation multithread demande de la rigueur et la compréhension des accès concurrents à la donnée. Whether you code in Java or C++, multithread programming requires extra care and requires understanding on concurrent data accesses.
  Java Edition Entreprise Java Enterprise Edition
Java EE, son florilège de spécifications et ses nombreuses implémentations dans les multiples serveurs d'applications sont de prime abord déroutants :
  • servlet, JSP, et aussi maintenant JSF.
  • EJB, JPA, MDB.
  • JMS, JNDI, JTA.
Tout cet écosystème est totalement maîtrisé par nos experts.
Java EE, its too many specifications and the various application servers implementations ...
servlet, JSP, and also now JSF.
EJB, JPA, MDB.
JMS, JNDI, JTA.
This ecosystem is fully mastered by our experts.
  Serveurs d'application (Weblogic, Jboss, Tomcat, Jetty, Apache Httpd,...) Application servers (Weblogic, Jboss, Tomcat, Jetty, Apache Httpd,...)
Weblogic serveur, Jboss, Tomcat, TomEE, Jetty, Apache Httpd,...
Tous ces produits avec des milliers d'options de configuration et leur documentation sont plutôt complexes. Nous les connaissons bien pour les avoir tout pratiqués avec succès depuis plus de 10 ans.
Weblogic server, Jboss, Tomcat, TomEE, Jetty, Apache Httpd,...
All these products have thousands of configuration options and a somehow cryptic documentation. We know very well these products, we have successfully used them all for more than 10 years.
  Mapping Object Relationnel Object Relational Mapping
Le transfert des objets Java en base de données repose sur des frameworks complexes. Que ce soit Hibernate, TopLink ou Ibatis, laissez-nous vous aider à choisir le modèle de persistance qui vous convient. Java objects persistence in database relies on complex frameworks. It could be Hibernate, TopLink or Ibatis, let us help you choose the persistence model that better suits you.
  Programmation réseau et sockets Sockets network programming
HTTP, le "web", tout repose sur les communications TCP/IP et de l'utilisation par les programmes des sockets. Si vous avez besoin de descendre en programmation ou en analyse à bas niveau sur ces sujets, nous saurons vous épauler car nous les connaissons très bien. HTTP, the "web", everything relies on TCP/IP communications and the use of sockets by the programs. If you need go deep into low level network programming or analysis we can assist you because we know these topics very well.
  Mélanger Java et C++ Mixing Java and C++
Le saviez-vous ?
Du code Java peut appeler du code C (ou C++)
De la même manière, du code C ou C++ peut appeler du code Java.
Parfois en intégrant les 2 technologies, on d'affranchit de certaines limites (performances en général de Java vers C et intégration de technologies de C vers Java).
Did you know it?
Java code can call C code (or C++)
And also, C or C++ code can call Java code.
Sometimes it is interesting to integrate the 2 technologies, because you can overcome certain limits.(in general performance limits from Java to C and technology integration from C to Java).
  Debugging avancé Java, JavaScript ou C++ Advanced Java, JavaScript or C++ debugging
La maîtrise des debuggers et quelques techniques de programmation complémentaires permettent de décupler la puissance du debugging et d'attraper des problèmes difficiles à appréhender. Mastering the debuggers with a few additional programming tricks allow to dramatically increase debugging power and allow to capture issues that are usually very hard to catch.
  Extraction et transformations XML avec xslt ou xquery XML query and transformation using xslt or xquery
Les données au format XML peuvent être manipulées et transformées sans "codage" par des langages spécifiques et puissants, mais pas très intuitifs.
  • xquery
  • xpath
  • xslt
Un accompagnement sur ces sujets permet de gagner pas mal de temps et de frustration.
XML data can be extracted or transformed without "code" by specific and powerful query languages (but not very intuitive).
  • xquery
  • xpath
  • xslt
Some tutoring on these topics usually saves a lot of time and a lot of frustration.
  Type XML en database Oracle XML type in Oracle Database
Voir ci-dessus.
Le type XML autorise les 3 technologies pour requêter en base, mais avec une syntaxe hélas mal documentée. Là encore, un accompagnement sur ces sujets avec des vrais exemples qui fonctionnent permet de gagner du temps et d'éviter des erreurs de design.
See above.
XML type allows querying the database using the 3 technologies, but the syntax is unfortunately poorly documented. Again, we can help you to avoid design mistakes and save you a lot of time by providing some really working examples.

En savoir plus Learn more

Contactez-nous Contact us

Pour toute question relative aux services proposés, n'hésitez pas à nous appeler : For any question relative to our services, don't hesitate to call us :

   HIGH TECH ZONE
+33 6 34 51 97 46

78400 Chatou, France

Ou bien écrivez-nous Or send us a message