13
IDE Projekto surinkimas Versijų kontrolės sistema Dalykiniai serveriai (AS)

IDE Projekto surinkimas Versijų kontrolės sistema ...klevas.mif.vu.lt/~vaidasj/tp/skaidres/01-Tools.pdf · Cassandra (NoSQL DB) JDBC and JPA Relational DBMS Google Guice –Dependency

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

IDEProjekto surinkimas

Versijų kontrolės sistemaDalykiniai serveriai (AS)

IDE IntelliJ IDEA

Mokama; mano subjektyvia nuomone geriausia Java IDE

VU turi nemokamą prieigą

Eclipse

Nemokama

Universali, bet reikia „susikomplektuoti“ įskiepius

NetBeans

Nemokama, Oracle

Geras Java EE specifikacijų palaikymas

Instrumentinės priemonės 2

Projekto surinkimo (build) įrankiaihttps://karussell.wordpress.com/2009/09/29/evolution-of-build-systems/

Instrumentinės priemonės 3

Projekto surinkimo (build) įrankiai Ant (http://ant.apache.org)

Imperatyvus – jam reikia apibrėžti „receptus“, susidedančius iš paprastų komandų

Projekto katalogų struktūrą reikia susigalvoti pačiam

Apie saugyklas (repositories) buvo pradėta galvoti per vėlai

Praktiškai nebesutinkamas

Maven (http://maven.apache.org) Deklaratyvus – pasakomi norai

Apibrėžia standartinę projekto katalogų struktūrą

Apibrėžia modulio sąvoką; moduliai privalo būti talpinami saugyklose (repositories)

Bene populiariausias šiandien Java pasaulyje

Instrumentinės priemonės 4

Versijų kontrolės sistemos Populiariausios:

Centralizuota: SVN (Subversion)

Decentralizuotos: Git

Mercurial (hg)

Nemokamos projektų saugyklos: GitHub (https://github.com)

GitLab (https://gitlab.com)

VU projektų saugykla (GitLab pagrindu): https://git.mif.vu.lt/

Instrumentinės priemonės 5

Technologinės platformos sąvoka Toks technologijų rinkinys, kad įgalinamas

visapusiškas:

Funkcinių reikalavimų įgyvendinimas:

UI, dalykinis funkcionalumas (business logic), prieiga prie DB duomenų (data access / persistence)

Nefunkcinių (kokybinių) reikalavimų įgyvendinimas:

Saugumas, plečiamumas / modifikuojamumas, darna (consistency), išlygiagretinimas (concurrency), asinchroninis komunikavimas, ...

Technologijos integruotos tarpusavyje

(branda) platformą įmanoma plėsti

Instrumentinės priemonės 6

Technologinių platformų pavyzdžiai Java EE (http://www.oracle.com/technetwork/java/javaee/overview/index.html)

Oracle + Java Comunity Process (JCP)

Spring (https://spring.io/projects/) Pivotal

.Net (https://www.microsoft.com/net)

Lagom (https://www.lightbend.com/lagom) Lightbend (creators of Scala)

OSGi Enterprise (https://www.osgi.org/business/markets-and-solutions/enterprise/)

Ruby on Rails (http://rubyonrails.org/)

...

Instrumentinės priemonės 7

Java EE 7

Instrumentinės priemonės 8

Connector

1.6

Managed Beans 1.0 EJB 3.2

Servlet 3.1

Portable

Extension

s

JSF 2.2JAX-RS

2.0

Bean

Valid

ati

on

1.1

JMS 2.0JPA 2.1

EL 3.0

JTA 1.2

JSP 2.2

Interceptors 1.1 CDI 1.1Common

Annotations 1.1

UpdatedMajor

Release

New

Concurrency Utilities

(JSR 236)

Batch Applications

(JSR 352)

Java API for JSON

(JSR 353)

Java API for WebSocket

(JSR 356)

Spring

Instrumentinės priemonės 9

.Net

Instrumentinės priemonės 10

Lagom(http://www.lagomframework.com/documentation/1.3.x/scala/Technologies.html) Java and Scala

Immutability

Event Sourcing and CQRS Cassandra (NoSQL DB)

JDBC and JPA Relational DBMS

Google Guice – Dependency Injection technologija

Akka – toolkit for building concurrent, distributed, and resilient message-driven systems

Clustering

Instrumentinės priemonės 11

Brandžių platformų bruožas DI – Dependency Injection (priklausomybių

įterpimas)

Java EE – CDI (http://cdi-spec.org/)

Spring – Spring Framework IoC

.Net - Core Microsoft.Extensions.DependencyInjection

Lagom – Google Guice

DI sudaro prielaidas įgalinti modifikuojamumą / plečiamumą

Pvz.; Java EE „Portable extensions“ yra CDI standarto dalis.

Instrumentinės priemonės 12

Java EE dalykiniai serveriai (Java EE Application Servers) Nemokami:

TomEE – http://tomee.apache.org (Apache)

Payara – http://www.payara.fish (C2B2)

WildFly – http://wildfly.org (Red Hat)

WAS Liberty –https://developer.ibm.com/wasdev/websphere-liberty/(IBM)

Mokami:

WebLogic – Oracle

Kiti

Instrumentinės priemonės 13