Java vývoj na míru

Java outsourcing/outstaffing

Zkuste to s námi, 40 hodin TRIAL zdarma

Chceme, aby váš projekt byl úspěšný

Java vývoj na míru vašim potřebám

Proč si vybrat Javu

Věříme, že není potřeba představovat programovací jazyk Java. Jde o jeden z nejpoužívanějších programovacích jazyků na světě. Podle Tiobe indexu je Java nejpopulárnější programovací jazyk. Vývoj Javy je řízen tzv. Java Community procesem, formalizovaným mechanismem, který umožňuje zainteresovaným stranám vyvíjet a standardizovat technické specifikace Java technologií.

Proč je výhodné použít programovací jazyk Java pro váš software:

  • Bezpečný - je možné spustit nedůvěryhodný kód pouze v bezpečném prostředí sandboxu, nebo spravovat různé úrovně privilegií pomocí security managera.
  • Robustní - automatická kontrola zacházení programů s pamětí prostřednictvím tzv. garbage collectoru a silné typování brání vytvoření nestabilního kódu.
  • Výkonný - počáteční verze javy si vybírala značnou daň na rychlosti za běh ve virtuálním stroji. To už ale dávno neplatí, výkon javy se s každou novou verzí zlepšuje.
  • Distribuovaný - různé části systémů mohou běžet paralelně na mnoha stanicích zároveň.
  • Přenositelný - sestavení aplikace běží nezávisle na hardware - „build once, run everywhere“.

Java Enterprise aplikace

Java Platform, Enterprise Edition (Java EE) je specifikace platformy pro vývoj podnikového software, postavené na standardní verzi Javy. Obsahuje prvky specifické pro podnikové aplikace, jakými jsou například:

  • Několikavrstvá architektura - standard v podnikových aplikacích. Typicky nalezneme třívrstvé aplikace či rozdělení na model-view-controller.
  • Podpora pro webové služby - klient a server komunikují přes HTTP protokol. Lze vystavit různá rozhraní služeb jako je REST, SOAP atp.
  • Objektově relační zobrazení (ORM) - most mezi objekty jazyka Java a modelem uchovávaným v relační databázi.
  • EJB a JMS - Enterprise JavaBeans a Java messaging. Technologie pro komunikaci mezi vzdálenými nebo lokálními systémy.

V oblasti vývoje Java Enterprise aplikací máme dlouholeté zkušenosti a zákazníky, kteří u nás outsourcují přes 5 let a stále pokračují. Aplikace námi vytvořené mají dokumentaci, čistý kód, jednotný styl... tím minimalizujeme našim zákazníkům náklady na údržbu a další rozvoj. V této oblasti Javy se věnujeme převážně integraci systémů a služeb, vývoji Mule ESB a dalším podnikovým identity a access management systémům jako je Keycloak single sign-on.

S námi můžete aplikace a služby dále rozšiřovat ...

Java sustaining & testing

Údržba kódu (sustaining) a testování vyžaduje jiný přístup a jiný skill-set než vývoj nových aplikací. Tyto oblasti nám nejsou cizí a od našich zákazníků jsme již převzali několik projektů, které udržujeme, dále vyvíjíme a opravujeme – jsme schopni se ponořit do složitosti aplikací a provést transformace tak, aby se vývoj zlepšil a údržba co nejvíce zlevnila.

Sustaining a testing projektů, kde je náš tým od začátku je mnohem jednodušší, protože my při tvorbě aplikací počítáme s vývojem projektu i v budoucnu. K tomu nám pomáhají profesionální nástroje a aplikace:

  • JUnit, TestNG, REST Assured a další - automatické testování aplikací, API a zdrojových kódů.
  • EasyMock, PowerMock a další - podpůrné nástroje testování - mockování dat a výsledků.
  • Jenkins CI - nástroj pro continuous integration (pomáhá při sestavování verzí aplikací obsahujících nové opravy).
  • Vagrant a Docker - umožňuje nám během testování spustit kompletní infrastrukturu (např. kopii prostředí zákazníka) nad níž se provádí automatické testování.

Microservices

Pro mnohé naše zákazníky vyvíjíme projekty (nebo jejich části, kde to má smysl) pomocí sady mikroslužeb (microservices). Tyto microservices lze velmi dobře navzájem kombinovat a docílit tak velmi složitých funkcionalit s minimálními náklady na údržbu a vývoj. Další rozšiřování projektu je potom velmi flexibilní a rychlé díky tomu, že microservices jsou vzájemě oddělené aplikace, lze jen přidat další službu do již funkčního řetězce služeb. Navíc microservices je možné velmi dobře kombinovat s podnikovými enterprise aplikacemi jako je Mule ESB. Výhody použití microservices jsou zřejmé:

  • Škálovatelnost - velmi jednoduše lze škálovat celý systém microservices (nebo jen některou část) podle potřeby.
  • Snadný vývoj a údržba - každá služba je jen malý kus kódu a vývojáři ji tak snadno a rychle pochopí a mohou dělat vývoj mnohem efektivněji než s monolitickou aplikací.
  • Možnost změny technologie - oddělení služeb umožňuje snadno změnit technologie podle potřeby a dává tak zákazníkům obrovskou volnost.
  • Izolace proti chybám - selháním jedné služby zůstávají větší aplikace (projekty) do značné míry neovlivněny.

IoT a wearables

Již několik let pracujeme na projektech IoT a wearables. Našim zákazníkům umožňujeme sběr dat (a zasílání dat nebo příkazů) přímo z (do) hardwarových zařízení – ať už se jedná o GPS moduly do aut, bezdrátové senzory a čidla nebo o hardwarové zařízení pro běžné užití tzv. wearables. Data transformujeme z nejnižších síťových packetů až do systémů pro uložení a analýzy dat Big Data a nebo datových gridů. Většina našich projektů IoT a wearables je založena na microservices, které zvládají zpracovávat (díky snadnému škálování) obrovská množství dat, která proudí oběmi směry – mezi servery a hardwarovými zařízeními.

Pokud máte projekt v této oblasti, neváhejte a kontaktujte nás. My se hardwaru nebojíme...

Naše řešení

Nabízíme transparentní přístup k outsourcingu tak, aby riziko pro vás bylo minimální nejen na začátku, ale po celou dobu:

  • 40 hodin TRIAL - zkuste jaké je to spolupracovat s námi, bez rizika.
  • Postupný růst - můžete začít s málem a postupně kolem projektu společne vybudujeme tým (často máme týmy hybridní, tj. lidi od nás a od vás v jednom týmu).
  • Zdrojové kódy - zákazník je vždy vlastníkem zdrojových kódů, my zákazníky nevydíráme.
  • Dokumentace a styl kódu - celý náš tým vždy píše dokumentace k aplikacím a API. Stejně tak do zdrojových kódů pomocí standardu JavaDoc a udržuje jednotný styl těchto kódů. Nebudete mít problém aplikace později převzít do interního vývoje nebo údržby.
  • Otevřenost - pokud budete chtít mít vaše zdrojové kódy během vývoje uloženy u nás, můžete se kdykoliv podívat v jakém jsou stavu nebo si je stáhnout k sobě (budete k nim mít přístup 24h denně), my nemáme co skrývat. Stejně tak jsou vám k dispozici přístupy na Jenkins nebo na jiné části naší infrastruktury, které se využívají pro váš projekt. Stejně tak pro nás není problém používat infrastrukturu zákazníka včetně ukládání zdrojových kódů přímo u zákazníka, pokud si to přeje.
  • Společně k úspěchu - chceme být součástí vašeho týmu, být v co nejbližším kontaktu a společně vytvořit úspěšný produkt, který vám přinese zisk. Jen tak budeme moci být skutečnými a dlouhodobými partnery.
  • Proč s námi - naše firemní hodnoty a důvody proč s námi spolupracovat nejsou jen řeči. Takto zkrátka fungujeme a jsme rádi, že zákazníci tyto hodnoty vidí a oceňují.