Hello,
Az igazsághoz mindig több út vezet. Én próbálom a legrövidebbet megtalálni :). Összegyűjtöttem néhány számomra fontos vezérlő elvet, amit az áhított megoldásnak (framework) teljesíteni kellene.
- MVC modell megvalósítható vele (nem gányolás útján)
- Hatékonyan használható, könnyen tanulható
- Széles körben használt, szabványos
- Az alkalmazás adatbázis függetlensége megvalósítható vele (ez nem biztos h fw kérdése)
A leendő alkalmazásról néhány gondolat:
- Adatfeldolgozás orientált (kevés adatfelvitel, sok lekérdezés)
- user,group,acl szintű jogosultságkezelés (JAAS?)
- Viszonylag kis felhasználószám (10-1500)
- Fontos lehet az alkalmazás elkülöníthetősége (profil ?) (pl. két különböző felhasználói csoport ua. az app-ot használja más db-vel)
- Legyen jól skálázható
Nice to have:
- Formok definiálási lehetősége pl. xml-ből (az oldalon X csoportnak X formot mutatom és validálom, Y-nak Y formot.)
- Riportolásra valami jó kis tool (JasperReports ?)
- Lehetőleg problémamentesen cserélhető legyen a DB backend, ha szükséges
- Külső rendszerkapcsolatok (pl.web service) lehetősége
Első sorban egy iránymutatásra lennék kíváncsi, ki milyen eszközrendszerrel állna neki a feladatnak (milyen alkalmazásszerver, IDE, web framework stb.) és miért pont azzal stb.
(Nyilván vannak erősen szubjektív szempontok).
Köszönöm előre is!
update:
Fontos h java legyen :)
update2:
Gyűlik az info szépen, köszönöm az eddigieket. Az még érdekelne, hogy pl. a mit nyerhetek alkalmazás szerverek terén egy container-el szemben (glassfish vs. tomcat vagy jetty ? Kell e ez nekem a vázolt feladathoz ?)
Köszi.
update3:
Most modellezem a különféle megoldásokat. Kerestem a Netbeans-ben a Visual Editor-t, de szépen kivették belőle :(. A 6.5.1-ben van meg utoljára. Tudom, a design legyen a designerek dolga, azok meg ne matassanak a nb-ben, de azért mégis.. A jelenlegi 6.9-ben nyoma sincs. Szóval elkeserítő picit a helyzet ebből a szempontból.
Ki, hogy oldja meg ezt a kérdést ? (Külön tool-t használ (pl. DW), kézzel rakja össze az oldalt stb.)
Köszi.
update4:
Az UML modellező plugin sem része már a Netbeans-nek (6.7-ig benne volt)
Jöhetnek az alternatívák UML modellezésre. (tudom, ne használjak nb-t).
update5:
Végül, de szerintem nem utoljára a fejlesztői környezetről, infrastruktúráról szeretnék begyűjteni minél több információt.
A következők a tervek:
- A fejlesztők localhost-on fejlesztenek, tesztelnek elsődlegesen (SVN, közös Maven repo)
- Lenne egy teszt szerver, ahova időnként deploy-olnánk a kész cuccot.
(Itt lenne a részletes teszt, mielőtt élesbe kerül a rendszer.)
- Harmadik lépcsőként jöhetne az éles rendszer
Érdekelne pl. a projekten belüli csomagok (Business Logic, DAO stb. mit és hogyan érdemes csomagolni) vagy akár az SVN repo célszerű felépítése.
Köszi.
update6:
DI (Dependency Injection) miért jó nekem ?
- 10194 megtekintés
Hozzászólások
Fontos, hogy Java legyen? O:)
Mer' ha nem, akkor Django. A teljesitendo kovetelmenyeknek mind megfelel, user kezeles beepitve (es bovitheto), egyszeruen megoldhato hogy egyik instanceban X legyen a config, mashol Y. Akar magan appon belul is megoldhato, hogy egyik esetben egyik db-t hasznalja, masikban masikat.
DB backend cserelheto, van hozza nagyon fasza migration megoldas is (South), ami cserehez annyira nem szukseges, ellenben a modellek valtozasait nagyon jol tudja kovetni, es segit a DB upgradeben, stb.
--
|8]
- A hozzászóláshoz be kell jelentkezni
- A hozzászóláshoz be kell jelentkezni
Ruby on Rails
--
"SzAM-7 -es, tudjátok amivel a Mirage-okat szokták lelőni" - Robi.
- A hozzászóláshoz be kell jelentkezni
Akkor már Grails a Java miatt :)
- A hozzászóláshoz be kell jelentkezni
http://www.stripesframework.org/
2-3 éve használjuk Struts és Struts2 helyett. Kb. 10 alkalmazást írtunk vele (a legnagyobb esetén több mint 100 ezer regisztrált felhasználó - közigazgatási alkalmazás). Hatékony, megbízható, gyors, egyszerű.
"Csak a változás állandó." - Herakleitos ---> Használj VCS-t!
- A hozzászóláshoz be kell jelentkezni
Hmm. Igéretes, amit írnak róla.
- A hozzászóláshoz be kell jelentkezni
+1, nekem most van egy stripes-os alkalmazásom, és elég könnyedén lehet vele dolgozni, és mentes az XML hegesztéstől, amit nagyon utáltam :D
- A hozzászóláshoz be kell jelentkezni
Én a következőket javaslom:
Spring az aljára DI-nek
Spring Security a beléptetés/jogkezeléshez (és akkor azon keresztül lehet JAAS is)
Hibernate a db független db kezeléshez (JPA criteria apin keresztül + Springes tranzakciókezelés)
Apache Wicket az UI-hoz. Korábban Spring MVC-t használtam, de a wicket sokkal elegánsabb.
Mivel nem csak a frameworköket kérdezted, hanem a fejlesztőkörnyezetet is.
- Java 6: mert az összes többi régi. Ha az ügyfél nagyon igényli akkor le lehet adni 5-ösre.
- Maven 3 alapú projekt. Mert kényelmesen leegyszerűsíti az életedet, ami a függőségeket illeti.
- Servlet 2.5/3.0-ra és JPA-ra építkezés. Mert ez a két Java standard tényleg jó.
- fejlesztés Eclipse-ben m2eclipse pluginnal + Tomcat 7-tel. Mert én ezzel szoktam meg. De ez elvileg megy Netbeans-szel is meg IntelliJ-vel is.
- verziókövetés: svn vagy git. Eclipse-ben van plugin mindkettőhöz.
Ha a fenti frameworkökre építkezel az alkalmazásod hordozható lehet az alkalmazásszerverek és db-k között is.
- A hozzászóláshoz be kell jelentkezni
Icefaces-t használ valaki ? Egy ismerős benne találta meg az "igazit".
- A hozzászóláshoz be kell jelentkezni
Én használtam, de engem annyira azért nem nyűgözött le. Az ExtJS viszont annál inkább.
- A hozzászóláshoz be kell jelentkezni
Én igen, IceFaces2 (JSF2) + Hibernate + GlassFish3. Szerintem jó kombó.
Üdv: Tamaas
- A hozzászóláshoz be kell jelentkezni
Az IceFaces2-t még nem néztem, az csak december végével jött ki, ha jól tudom.
- A hozzászóláshoz be kell jelentkezni
Igen, de én már a bétát is használtam. Ha korábban is Facelet-eket használtál elég egyszerű a migrálás és van pár nagyon szép új funkció.
Ha JSF-ezik valaki csak ajánlani tudom.
JSP-re viszont Struts2-t használok, az sem rossz, bár nagyon más...
- A hozzászóláshoz be kell jelentkezni
Ki fogom próbálni. Ahogy látom az inputFile komponenst dobták és újat kreáltak helyette, így migráláskor azt is kalapálni kellene ennek megfelelően.
Kár, hogy pár nagyon pofás kis komponens csak fizetősként elérhető.
- A hozzászóláshoz be kell jelentkezni
Én az 1.8-as fizetős komponenseiben eléggé csalódtam illetve az egész elég lassúnak tűnik. Esetleg primefaces?
- A hozzászóláshoz be kell jelentkezni
Nekem nem tűnt lassúnak, bár fizetős komponensekből egyet sem próbáltam.
A primefaces nem rossz, bár nem tudom, hogy mostanság mekkora fejlesztői gárda van mögötte. Ha jól tudom, akkor egy török srác kezdte és fejlesztgette az egészet az elején és becsületére legyen mondva, hogy nem rossz, amit művelt.
Bár nem kizárt, hogy most már odaállt mögé egy csapat és van "ipari" méretű support is akár, de én még abban az időben néztem, amikor még egyedül (max pár önkéntes bedolgozó) nyomta az ipart és még a fórumbejegyzésekre is szinte csak ő válaszolt. Szóval ilyen igazi kis one-man-show volt akkoriban. :)
- A hozzászóláshoz be kell jelentkezni
http://zkoss.org tudom, ágyúval verébre, de előbb-utóbb mindenki galambra meg varjúra vált és a végén már csak pár lépés a csillagromboló. :)
- A hozzászóláshoz be kell jelentkezni
Hát ez az én bajom :). Annyi info-val nyomasztotok, hogy ember legyen a talpán, aki ebből kitalálja, hogy merre tovább :D:D.
- A hozzászóláshoz be kell jelentkezni
Igazából azt kellene kitalálnod, hogy biztos, hogy kb. 0-ról akarsz-e fejleszteni, esetleg nem-e lenne jobb egy már meglévő portál rendszer, vagy hasonló, és csak a szükséges pár dolgot fejlesztenéd hozzá.
Ha egy általános keretrendszert használsz, ahol van egy adatbáziskezelő réteg (hibernate), egy keretrendszer, és egy prezentációs réteg (html/ajaxos gui), akkor minden úgy fog kinézni, ahogy szeretnéd, viszont egy csomó fejlesztési időt bele kell tolnod.
Ha egy portál rendszert, vagy valami hasonlót találsz, ami nagyjából lefedi azt, ami neked kell, és csak pár modult kell esetleg hozzáfejleszteni, akkor lehet, hogy sokkal jobban jársz.
Szerintem a projekt előtt nézz körül, hogy kb. mi az, ami elérhető a piacon, és érdemes ezt is a serpenyőbe pakolni...
Ja, ezt még felírnám esetleg a listára:
- A hozzászóláshoz be kell jelentkezni
Ezt például lessétek meg...
- Fontos lehet az alkalmazás elkülöníthetősége (profil ?) (pl. két különböző felhasználói csoport ua. az app-ot használja más db-vel)
Ez mondjuk egy baromi jó kérdés, hogy lehet ezt megoldani?
- A hozzászóláshoz be kell jelentkezni
Pl.: spring-ben van AbstractRoutingDataSource az ilyesmire.
- A hozzászóláshoz be kell jelentkezni
"Ez mondjuk egy baromi jó kérdés, hogy lehet ezt megoldani?"
A portleteknek közösségenként, az insatncable portleteknek meg példányoként saját adathalmazuk van. Persze lehet jogosultságot adni hogy quest is megnézhesse, illetve 1 felhasználó tartozhat több közösségbe is, ezzel nem lesz probléma. A Liferayt egyébként én is csak ajánlani tudom:
- MVC modell megvalósítható vele (nem gányolás útján) [Liferay MVC, meg használhatsz sajátot is Spring, Struts]
- Hatékonyan használható, könnyen tanulható [Nyilván mint mindennél komolyabb dolgokhoz mélyebb ismeret kell, de a hookok meg extek segítségével a Liferayben csak az eltérő működést kell definiálni ha LRes cuccot akarsz átírni]
- Széles körben használt, szabványos [Asszem ezzel nincs gond]
- Az alkalmazás adatbázis függetlensége megvalósítható vele (ez nem biztos h fw kérdése) [Az alap LR valami 20 féle db-t támogat, a custom portleteknél neked kell erről gondoskodni]
A leendő alkalmazásról néhány gondolat:
- user,group,acl szintű jogosultságkezelés (JAAS?) [LR nem eléggé széleskörű user kezelése van, ugyanis vannak szerfezetek, közösségek, csoportok, teamek, szerepkörök, na meg a felhasználók. Ha ebből nem tudod kihozni amit szeretnél semmiből :D]
- Fontos lehet az alkalmazás elkülöníthetősége (profil ?) (pl. két különböző felhasználói csoport ua. az app-ot használja más db-vel) [erről írtam]
- Legyen jól skálázható [Bár nem tudom ilyen felhasználószámnál ez miért kritérium, de EE liszensz vásárlása esetén van mód a cluster üzemmódra, csak pénztárca kérdése]
Nice to have:
- Formok definiálási lehetősége pl. xml-ből (az oldalon X csoportnak X formot mutatom és validálom, Y-nak Y formot.) [Létezik web-form portlet bár magam sosem próbáltam]
- Riportolásra valami jó kis tool (JasperReports ?) [erről nem tudok nyilatkozni]
- Lehetőleg problémamentesen cserélhető legyen a DB backend, ha szükséges [erről is írtam, a támogatott dbken kívű van import/export cucc, ami közösségenként teljes közösséget minden beállításávál tartalmával együtt kezel]
- Külső rendszerkapcsolatok (pl.web service) lehetősége [Alapból Axis van benne, a legtöbb belső szervíz ki is van ajánlva soap szervízként is, a sajátoknál meg azt használsz ami tetszik]
Amúgy ágyúval verébre :D
- A hozzászóláshoz be kell jelentkezni
Ez a feladat részemről (illetve kollégáim részéről) egy tanulási folyamat kezdete. A projekt elég kicsi ahhoz, hogy kezelhető legyen egy a témában még járatlan team számára, de elég komplex ahhoz, hogy kidolgozzunk egy megfelelő irányt (eszközök, framework, app szerver stb.) a továbblépéshez. Ez kellene a lehető legkisebb kerülőúttal elérni.
Nem rettenünk meg a 0-ról való fejlesztéstől, de nyilván fel szeretnénk használni már kész eszközöket, megoldásokat, tapasztalatot, know-how-t.
Tudom, hogy elég sok a kérdőjel a dologban, de azért bizakodó vagyok a hozzászólások alapján.
- A hozzászóláshoz be kell jelentkezni
Még valami eszembe jutott. Mielőtt nekiálltok bármit is kódolni, pontosan kérdezzétek végig a megrendelőt, hogy mit szeretne, csináljatok rajzokat, webterveket, és azokat mutogassátok nekik, és mondassátok vele szépen végig, hogy mit is akar használni, és hogyan.
Ebbe már párszor belefutottunk, és ilyenkor derül ki, hogy mi az, amit simán csak lekódol az ember, meg mi az, amire csinál egy kis felső framework-öt...
- A hozzászóláshoz be kell jelentkezni
Oracle ADF a framework és JDeveloper az IDE, bár lehet, hogy ide ágyúval verébre lesz.
- A hozzászóláshoz be kell jelentkezni
Biztosan jó megoldás, de nagyon kerülném. Ez szubjektív nyilván, de 10+ éve fejlesztek Oracle eszközökkel és nem szeretnék újfent egy vendor lock-ba lépni.
- A hozzászóláshoz be kell jelentkezni
+1, vendor lock-in-t ahol lehet, kerülném, mi is belefutottunk már ilyenbe.
- A hozzászóláshoz be kell jelentkezni
subs
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
A követelményeid nagy része nem web framework függő, egy ilyen felhasználószámra szinte bármelyik felsorolt jó. A Wicket, Stripes, JSF hármasból célszerű kiválasztani azt, ami a fejlesztőknek a legszimpatikusabb, és azzal végigcsinálni. Én nem annyira hiszek az XML-es definiálásokban (bár már csináltam field-level security interceptort JSF-hez), ha hardcore Java kódereid vannak, akkor a Wicket jó választás lesz, mert sokkal jobb szinten tudod szabályozni a tulajdonságokat, mint a legtöbb ilyen form definícióban, amit eddig láttam.
A JAAS kulcsszót elkerülném, nagyon enterprise és ritkán életszerű dolgokra találták ki, kis projektnél bőven jó egy kis kézi hekkelés, bár a legtöbb webes framework támogat annotáció/konfig alapú biztonságot, eddig nem láttam olyan feladatot, ahol az okos kézi kódolás túl nagy lett volna ezekhez képest (cserébe sokkal rugalmasabb).
A DB backend cserélése nem technológiai, hanem fejlesztésfüggő, ha elkerülitek a vendor-specifikus dolgokat, akkor nyilván könnyen le tudjátok majd cserélni. JPA könnyen tanulható, bátrabbak használhatnak helyette Spring JdbcTemplate-et. Az ugyanaz az alkalmazás más DB-vel egy nagyon érdekes kérdés, egypár interceptor logikával lehet ilyeneket csinálni, de azért jó lenne tudni, hogy mennyire fontos, nem egyszerűbb az, ha van két külön bekonfigurált deploy a két külön adatbázishoz?
Ha be kellene mondani egy stacket, akkor én a Spring + JPA + Wicket + Jetty + Eclipse-et javasolnám egy kezdő projektnek, a követelmények nagy részét egyszerűen meg tudjátok vele oldani, nincs brutális overhead az eszközökben és jól karban tartható. Vaskalapos enterprise vonalon el lehet menni JBoss Seam + társai irányba, ha fizetni is akarsz, akkor Oracle, de nem biztos, hogy a kezdeti látványos drag-and-drop funkcionalitás visszajön akkor, amikor az apróságokat kell hozzárakni a felülethez.
Indulásnak ennyi, aztán számolj majd be arról, hogy mire jutottál :)
- A hozzászóláshoz be kell jelentkezni
Az ugyanaz az alkalmazás más DB-vel egy nagyon érdekes kérdés, egypár interceptor logikával lehet ilyeneket csinálni, de azért jó lenne tudni, hogy mennyire fontos, nem egyszerűbb az, ha van két külön bekonfigurált deploy a két külön adatbázishoz?
Ez szerintem tökéletesen megfelel a célnak. Kezdetben biztos.
- A hozzászóláshoz be kell jelentkezni
http://www.laliluna.de/articles/the-web-framework-evaluation-stripes-fr…
Itt esetleg érdemes körülnézni, összefoglalnak egy csomó web framework-öt.
- A hozzászóláshoz be kell jelentkezni
A JAAS nem egy rossz cucc. Én tartottam tőle, de aztán egyszer beadtam a derekamat és spring securityn keresztül használtam. Nagy előnye, hogy nem kell tudnod valójában hogy is fog menni az autentikálás és honnan jönnek a jogosultságok. Csak leadod a wart, ami egy loginban kér user-t meg pass-t és a JAAS másik felét be lehet konfigurálni az alkalmazásszerverben (de akár tomcatben is). Van ahol ez jól jön (ahol pl. már van egy user kezelés és ahhoz kell integrálódni és az ügyfélnek van is ehhez passzoló alkalmazásszervere), mert így könnyen integrálhatják amihez akarják (LDAP-hoz, AD-hez, DB-hez, txt-hez, egész pontosan ahhoz amit az app szerver támogat) anélkül, hogy az alkalmazáshoz hozzá kellene nyúlni.
A stack-ben egyébként egyetértünk, én is ezt javasoltam fentebb.
- A hozzászóláshoz be kell jelentkezni
Az még érdekelne, hogy pl. a mit nyerhetek alkalmazás szerverek terén egy container-el szemben (glassfish vs. tomcat vagy jetty ?)
- A hozzászóláshoz be kell jelentkezni
Flancos admin felületet. :)
Viccet félretéve: szerintem, ha nem kell semmi olyan JEE feature, ami a servlet container-ben nincs meg (pl.: JMS), és a megrendelő sem ragaszkodik hozzá, akkor a Tomcatnél nincs jobb választás. Egyébként a Glassfish 3 egész jó cucc, dolgoztam vele, de ott is csak azért nem lett Tomcat, mert a management úgy döntött (így lett elég enterprise-os az érzés).
- A hozzászóláshoz be kell jelentkezni
subscribe
---------------------------------------------------
Talisker Single Malt Scotch Whisky aged 10 years :)
- A hozzászóláshoz be kell jelentkezni
Kezd oszlani a köd app server téren.
http://java.dzone.com/articles/glassfish-and-tomcat-whats-the
- A hozzászóláshoz be kell jelentkezni
update3:
Most modellezem a különféle megoldásokat. Kerestem a Netbeans-ben a Visual Editor-t, de szépen kivették belőle :(. A 6.5.1-ben van meg utoljára. Tudom, a design legyen a designerek dolga, azok meg ne matassanak a nb-ben, de azért mégis.. A jelenlegi 6.9-ben nyoma sincs. Szóval elkeserítő picit a helyzet ebből a szempontból.
Ki, hogy oldja meg ezt a kérdést ? (Külön tool-t használ (pl. DW), kézzel rakja össze az oldalt stb.)
Köszi.
- A hozzászóláshoz be kell jelentkezni
netbeans downgrade-del.
- A hozzászóláshoz be kell jelentkezni
Ez akkor is nyomasztó. Itt van a 7.0, de nyoma sincs annak, hogy lenne alternatíva. További érdekes kérdés, h a JDeveloper és a NB, mint közös termékvonal, hogy fog egymás mellett megférni az Oracle tervei szerint.
- A hozzászóláshoz be kell jelentkezni
A visual editor az valami WYSIWYG HTML editor volt?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Igen. Szépen lehetett rá komponenseket rakni, láttad kb. hogy fog kinézni az oldal. Most már ott tartok, h átlépek ezen a problémán, mintsem, hogy a 6.5.1-hez kellene betonoznom magam.
- A hozzászóláshoz be kell jelentkezni
Hat, wysiwyg valoban nincs, viszont windowson van weboldal elonezet, meg css elonezet is. CSS-hez van mondjuk linuxra is cucc, flyingsauce alapokon, de az nekem neha kicsit hulye.
De amugy is, a JSF koraban mar ugyis minden XHTML, arra meg van nagyon sok jo cucc (Dw, Bluefish, nvu, etc.)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Igen, de ettől még pl. egy formot kézzel kell összerakni. Ez más környezetből érkezve, ahol ez megy, visszalépés.
- A hozzászóláshoz be kell jelentkezni
esetleg http://grails.org ?
- A hozzászóláshoz be kell jelentkezni
.
- A hozzászóláshoz be kell jelentkezni
subsrcibe
---
Egy jól megállapított probléma félig megoldott probléma.
- Charles Kettering
- A hozzászóláshoz be kell jelentkezni
Az UML modellező plugin sem része már a Netbeans-nek (6.7-ig benne volt)
Jöhetnek az alternatívák UML modellezésre. (tudom, ne használjak nb-t).
- A hozzászóláshoz be kell jelentkezni
nem tudom, neked jó lesz-e valamire, nekem tanuláshoz StarUML elég volt
- A hozzászóláshoz be kell jelentkezni
Első ránézésre teljesen jónak tűnik. Köszönöm.
- A hozzászóláshoz be kell jelentkezni
Lassan felgyorsulnak az események :).
Tesztelésre ki mit javasol ?
- A hozzászóláshoz be kell jelentkezni
Ha webes felületet kell, akkor mondjuk a Selenium.
- A hozzászóláshoz be kell jelentkezni
Errol a Seleniumrol mar tobbszor hallottam, de meg mindig nem tiszta, hogy mi ez. Egy keret a JUnit fole? JUnit replacement?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Replacement-nek nem mondanám, a Selenium webes GUI teszteléshez remek, a JUnit-ot ennél azért mélyebb szintre pozícionálnám a tesztelésben.
Nem szükséges hozzá alapból teszt framework, de képes együttműködni más teszt frameworkökkel is, mint a JUnit vagy a TestNG. Ezért én inkább azt mondanám, hogy nem fölé, hanem mellé, aminek egyébként kiváló integrációs lehetőségei vannak.
- A hozzászóláshoz be kell jelentkezni
Wicket (http://wicket.apache.org/)
érdekes lehet még a wicket alapú BrixCMS (https://github.com/brix-cms)
Vaadin alkalmazás frameworknek nagyon jó
(http://vaadin.com/home)
Ami még ígéretesnek tűnik, de nem használtuk még az a SpringRoo (http://www.springsource.org/roo)
Azt látom, hogy sok mellékvágány útján kezdenek a java web frameworkök végre letisztulni, egyszerűen, gyorsan, tisztán és hatékonyan nagyon látványos eredményeket lehet elérni wickettel, vaadinnal, ZK-val.
- A hozzászóláshoz be kell jelentkezni
Vaadin-t nézegettem én is. Szemet gyönyörködtető az biztos..
ps:
Konkrét Vaadin tapasztalata esetleg van valakinek ? Vagy pl. Wicket vs. Vaadin összehasonlítva pro/con ?
Köszönöm!
- A hozzászóláshoz be kell jelentkezni
Wicket:
-sokkal inkább web ÉS application framework
-a layout xhtml-ben megadható, külső eszközzel szerkeszthető -> designernek oda lehet adni.
-szinte bármilyen xhtml kimenetet tudsz vele varázsolni, persze a kész widgetek megkötik a kezed.
-nagyon egyszerű benne bármilyen további saját egyedi widget gyártása (panel).
-nem áll mögötte cég, eléggé szét vannak szórva az infók és a kész widgetek a weben
Vaadin
-sokkal inkább application framework
-sokkal több gyári komponens
-nincs xhtml, xml kód a layout megadáskor, csak tiszta java kód.
-cég van az egész mögött, vehetsz céges supportot és extra vidgeteket.
- A hozzászóláshoz be kell jelentkezni
+1 vaadin-nak.
Most ismerkedek vele egy céges belső alkalmazás kapcsán és eléggé jó cucc.. :)
- A hozzászóláshoz be kell jelentkezni
Végül, de szerintem nem utoljára a fejlesztői környezetről, infrastruktúráról szeretnék begyűjteni minél több információt.
A következők a tervek:
- A fejlesztők localhost-on fejlesztenek, tesztelnek elsődlegesen (SVN, közös Maven repo)
- Lenne egy teszt szerver, ahova időnként deploy-olnánk a kész cuccot.
(Itt lenne a részletes teszt, mielőtt élesbe kerül a rendszer.)
- Harmadik lépcsőként jöhetne az éles rendszer
Érdekelne pl. a projekten belüli csomagok (Business Logic, DAO stb. mit és hogyan érdemes csomagolni) vagy akár az SVN repo célszerű felépítése.
Köszi.
- A hozzászóláshoz be kell jelentkezni
fel
- A hozzászóláshoz be kell jelentkezni
Engem most meg fognak itt kövezni, de a mavent csak akkor használd, ha ismered és pontosan tudod használni. Én a mavennel eddig csak szívtam, pedig értek hozzá, hatalmas projekteken használtuk, saját plugint is írtunk, de azóta is kerülöm mint lábammal a vizet.
Saját erősen szubjektív vélemény:
Kis projekten nem éri meg használni.
Közepes, nagy projekten vannak előnyei, de szerintem lassú mint a dög és hatékonytalan.
Nagyon nagy projekten viszont extra szívás. Mi konkrétan a maven miatt éjszakáztunk 3x egyébként triviális dolgok miatt és csúsztunk heteket.
Én maradnék ant-nál.
Verziókezelés:
Ez engem is érdekel, ha valakinek van tapasztalata, ossza meg. Mi mostanság akrunk váltani svn-ről (ami ugye centralizált) valami distributedre, pl. git vagy mercurial.
Distributed version control esetén viszont okosan célszerű kialakítani a repository struktúrát (több hierarchikus szinten), hogy az előnyeit ki tudd használni.
Szoftver belső architektúra:
Bármilyen szoftvert írsz (akár desktop alkalmazást is) célszerű szétválasztani bizonyos funkcionális rétegeket. A business logic, a view mindenképpen különüljön el, akkor is, ha nem használsz EJB-ket vagy enterprise technológiát.
- A hozzászóláshoz be kell jelentkezni
Itt egesz jol leirja a srac, hogy mavent miert NE:
http://kent.spillner.org/blog/work/2009/11/14/java-build-tools.html
Az a legrosszabb, hogy nekem ebbol a listabol szinte majdnem minden pont "ismeros".
- A hozzászóláshoz be kell jelentkezni
Maven builds are an infinite cycle of despair that will slowly drag you into the deepest, darkest pits of hell (where Maven itself was forged).
:D
Biztos nem röhögnék 3 nap éjszakázás után, bár nekem is volt részem ilyenben bőven, de ott nem a maven volt a bűnös :).
Ami számomra eddigi negatívum, hogy a build ideje nagyságrenddel megnőtt.
A projekt egyébként nem lesz nagy, kb. tizes nagyságrendű külső lib kell hozzá terveim szerint, ezt kezelhető mennyiségnek tartom.
- A hozzászóláshoz be kell jelentkezni
Próbáld meg az mvn -o kapcsolót. Ettől nem fog minden fordításnál minden csomag esetén kinézni a hálóra, hogy van-e már újabb verzió.
De egyébiránt tényleg bűn lassú.
- A hozzászóláshoz be kell jelentkezni
Nekem kezdo Java-skent foleg azert tetszik a Maven, mert letolt minden fuggoseget, ami nekem kell, nem kell a verziokezelot terhelnem a binaris blobhalmokkal. Aztan, ha nagyon nem tetszik a viselkedese, a build folyamatban mar hasznalhatok ant kifejezeseket.
Viszont ez a -o kapocsolo ez nagyon hasznos dolog.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Maven repo nagyon nagy josag. Sajat repo meg nagyobb.(artifactory)
Amikor az ember kisse szokatlan dolgot akar,meg ha nagyon egyszeru dologrol is van szo, tenyleg van nagy tanakodas hogyan is kene ravenni a maven-t.
Viszont van jo par varazs pluginja, ami nagyon komplex dologot megtesz nagyon egyszeruen.
A nagy bajom vele, hogy nehezen tudom osszeegyeztetni pl. a gentoo build rendszerevel, pont azert mert maga kezeli fuggosegeket es letolteseket is.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
En ugy szoktam, hogy ahol bizton szukseg van maven-re, rubygems-re, cpan-ra, vagy barmi olyanra, ami a gentoo build rendszerevel osszeegyeztethetetlen, ott csak az alaprendszewrt huzom fel emerge-vel, onnantol a build rendszerre hagyatkozom. Igy nincsenek osszeferhetetlensegeskedesek.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
+1
én most a Gradle-lel kísérletezek. Még korai kijelenteni 100%-ban, de hozza az ant+ivy rugalmasságot, minimális konfigurációs igénnyel...
- A hozzászóláshoz be kell jelentkezni
Én azért fordultam ehhez, mert nem akartam már ant-ot és el akartam kerülni a mavent. Mivel gyorsan fejlődő stádiumában kapcsolódtam a használatába, voltak még gyermekbetegségei (nem tudom most hogyan áll a helyzet, mert amit kialakítottam, ahhoz már jó ideje nem kellett hozzányúlni :-). Általában a verzióváltások során voltak kisebb döccenők. Aktív a lista, segítőkészek a fejlesztők.
- A hozzászóláshoz be kell jelentkezni
Hudson CI sem art a haznal. (Vagy bamboo)
Ami meg nem art, ha tud valaki jo scripteket irni majd kod mozgatasokhoz.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Miért netbeans vagy miért eclipse ? pro/con pls.
Tudom szubjektív meg hitvita, de komolyan érdekel.
- A hozzászóláshoz be kell jelentkezni
Én csak azt tudom megmondani, hogy mért/mikor ne Eclipse:
Ha hálózati meghajtón dolgozol pillanatok alatt crash lesz a vége. Pár kb a vágólapra és szétesik az egész rendszer...
Nem tudom, hogy az újabb verziókban megoldották-e ezt, de a NetBeans és én tökéletesen megvagyunk, úgyhogy nem is igazán érdekel.
- A hozzászóláshoz be kell jelentkezni
Ezt is megneznem a helyedben.
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
A feature-listaja nagyon klassz, van vele szemelyes tapasztalatod? Vagy valakinek?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
az igazán jó dolgok az ultimate-ben vannak. jó cucc, főleg a refactoringos része
- A hozzászóláshoz be kell jelentkezni
Mindhárommal (NB, Eclipse, Idea) dolgoztam eleget ahhoz, h legyen tapasztalatom.
Az általuk kínált szolgáltatásban talán nincsenek nagy eltérések, bár mindig lehet olyanokat találni, ami valakinek hiányzik az egyikben, de megvan a másikban. Sokáig a fő ellenérv az összehasonlításban az ár/érték arány volt, amiből -lévén akkor fizetős - az Idea volt hátul. Azóta a community verzió ingyenes lett. Az "enterprise" funkcionalitásért fizetni kell. Nota bene, ha valaki egy összeszedettebb verziót akar Eclipsből, azért is fizetni kell, ha kevesebbet is.
(Kérdés persze, h kell-e ezen spórolni akkor, amikor a produktivitásban bőven visszajön az ár...)
Használhatóságban, átgondoltságban, dizájnban, a gond nélküli verzióváltásokban, pluginekben nálam toronymagasan vezet az Idea.
- A hozzászóláshoz be kell jelentkezni
Felraktam, kiprobaltam. Nem rossz, de nekem a NB utan nagyon nehezkes a hasznalata, nem all kezre.
Azt kulon fajlalom, hogy a Ruby, Python, etc. az kulon editor, nem lehet - vagy nem talaltam meg, hogyan lehet - pluginkent felrakni oket.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Gyanítom, h némi használat után rá fogsz jönni mennyivel logikusabban felépített és kézreálló minden az IDEA-ban.
A plugin dolgot nem értem:
Settings/Plugins/Available és látok Ruby és Python plugineket
A gugli "intellij idea ruby" ezt adja:
http://www.jetbrains.com/idea/features/ruby_rails.html
- A hozzászóláshoz be kell jelentkezni
En pedig felraktam, es azt mondja, a Ruby plugint nem tudja betolteni. Erre az oldalra visz, segitsegnyujtas helyett: http://confluence.jetbrains.net/display/RUBYDEV/RubyMine+and+IntelliJ+I… . Attol, hogy a listaban szerepel, meg nem mukodik.
Szerk: kis google, es megoldas: http://stackoverflow.com/questions/2597473/intellij-and-ruby-plugin-won…
Szoval nekem felejtos, ahhoz, hogy kiprobaljam, nem fogok fizetni erte. Ha jo, akkor, esetleg, talan. De addig nekem a NetBeans tokeletes.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Kezd elkapni a harctéri idegbaj..
Valaki nézze már meg légyszi, hogy az alábbi példa működik e nála ?
http://www.mkyong.com/wicket/wicket-spring-integration-example/
Mert nálam rohadtul nem megy. Semmivel :(.
Ezekkel próbáltam:
nb 6.7.1, nb 7.0
maven 3.0.3
win és linux alatt, glassfish 3.1, tomcat 7.0, tomcat 6.0
jdk 1.6.0_25-b06
Ua. az eredmény:
Unexpected RuntimeException
WicketMessage: Markup of type 'html' for component 'com.mkyong.user.FileUploadPage' not found. Enable debug messages for org.apache.wicket.util.resource to get a list of all filenames tried.: [Page class = com.mkyong.user.FileUploadPage, id = 0, version = 0]
Köszi!
- A hozzászóláshoz be kell jelentkezni
Eclipse + m2eclipse plugin-nal így működik:
- zip kitömörít
- .settings mappa, .classpath, .project fájlok törlése
- Eclipse-be beimportál mint maven project
- build + deploy + start Tomcat 7-be
- behív nyitó oldalt, örül.
Egyébként az alapvető baj az a példával, hogy maven alatt default-ból a nem java fájlokat nem a src/main/java alá kellene tenni, hanem a src/main/resources alatt lenne a helye. Úgyhogy ha könyvtárhelyesen áthúzod a .html-t a java könyvtárból a resources-ba, akkor feltételezem a NetBeans maven pluginja is képes lesz helyesen kezelni.
- A hozzászóláshoz be kell jelentkezni
Azz... Kipróbálom.
- A hozzászóláshoz be kell jelentkezni
Egyébként az alapvető baj az a példával, hogy maven alatt default-ból a nem java fájlokat nem a src/main/java alá kellene tenni, hanem a src/main/resources alatt lenne a helye.
Nb alatt a wicket plugin az src/main/java alá rakja a html-t is.
Átraktam a resources-ba, semmi változás. Pénteken olvastam egy olyat, h valakinek nem minden fájl került be a war-ba valami bug miatt.
Megnéztem az enyémet is, egy darab html sem volt benne, a maven szépen kiszűrte nekem. Az alábbi rész a pom.xml-be iktatásával rávettem, hogy ne tegye ;). Most megy szépen.
Köszönöm a segítséget..
(Amúgy atom, hogy valaki legyárt egy demo-t, odarakja a forrást .zip-ben, ami elvileg kell, hogy forduljon bármiféle IDE nélkül és mégse megy. A kezdő user meg örül :).
pom.xml build részhez:
http://pastebin.com/WYmRpFGS
- A hozzászóláshoz be kell jelentkezni
Szvsz itt alapveto nyugok vannak.
Eloszor is, a html fajlok a webapp reszei, nem resourcok, es foleg nem java kod.
Tessek a war plugin mukodeset elolvasni itten: http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filter…
Utana pedig at kene strukturalni a projektet.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Eloszor is, a html fajlok a webapp reszei, nem resourcok, es foleg nem java kod.
Abszolút így van. Shame on me én csak a demo appból szerettem volna egy működőképest gyártani. Ha átrakom a html-t a WEB-INF alá természetesen működik. A linket köszönöm!
- A hozzászóláshoz be kell jelentkezni
Wicket eseten a komponensek templatjei, amik egyszeru html fajlok, a classpathrol vannak olvasva, ugyhogy semmi shame nincs benne. Ez a def mukodes:
foo.bar.MyPanel.java es hozza foo.bar.MyPanel.html
Azert van igy, mert igy az ui komponensek jar-ba csomagolhatoak es fuggosegkent bedobalhatoak barmelyik web projektbe. Annyi, hogy en a resource-s alatt tartom oket, mert onnan a pom.xml buvolese nelkul is bekerulnek a leforditott classpathra a java melle.
- A hozzászóláshoz be kell jelentkezni
Ha sima jar-okat forditasz, akkor igen, lehet. Ha azonban war fajlt csinalsz, az a Maven-nel mas kategoria, mas plugin dolgozza fel a pom.xml-t. Attol, mert mukodik a resources mappabol is, meg nem feltetlen oda valo.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Ha wicket komponenst fejleszt, akkor a wicket html-je oda valo (a classpath-ra). Mindegy, hogy war vagy jar, a resources mappa mindket esetben ugyanugy kerul feldolgozasra.
- A hozzászóláshoz be kell jelentkezni
Az lehet, de a maven war pluginjenek van egy szemlelete, amit erdemes lehet kovetni, mert a jovoben lehet, hogy nem ugyanugy fog mukdoni a ket dolog. Az hogy most olyan, az nem jelent garanciat a jovore nezvest.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Kerlek fejtsd ki, hogy konkretan mire gondolsz.
- A hozzászóláshoz be kell jelentkezni
El tudom kepzelni, hogy a jovoben filterezve legyenek a resources mappabol a webes fajlok, es megjelenjen egy olyan opcio, hogy ezeket akar kulon csomagkent allitsa ossze, vagy mas hasonlo.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Ha ezt megtennek egy bugot raknanak a rendszerbe. A classpath szintu resource-ok felett a war pluginnak nincs joga rendelkezni. Egyetlen dolgot tehet vele: elerhetove teszi, ahogy a class-okat is.
Erre mar az is eleg indok, hogy a resources mappa configja nem plugin belugy, hanem projekt szintu. Valoszinu, hogy a compiler plugin kezeli minden esetben (akar jar akar war a csomagolas tipusa).
Az is valotlanna tenne egy ilyen modositast, filterezest, hogy a Servlet 3 egyik uj funkcioja, hogy a /META-INF/resources alol, a classpathrol, is kiszolgal resourceokat (pl.: http://localhost:8080/mypic.png eseten a png lehet egy jarban az emlitett konyvtarban).
A "webapp" mappa ezzel szemben war plugin specifikus. Konfigolni is a war plugin szintjen kell (ha valaki akarja). Ezzel vegezhetnenek backward incompatible valtozasokat, de ezt sem tartanam valoszinunek, a mavenesek kifejezetten sok energiat forditanak arra, hogy a verziovaltasok visszafele kompatiblisek legyenek (lasd 2 -> 3 valtas).
- A hozzászóláshoz be kell jelentkezni
A kollégákat kérném szépen, h ne rontsuk el a topicot flame-eléssel.
Nem mintha eddig ez jellemző lett volna, csak ne csapjon át, ha lehet.
A szakmai érveket meg ontsátok pls. :D.
Köszönöm!
- A hozzászóláshoz be kell jelentkezni
DI (Dependency Injection) miért jó nekem ? Ha valaki röviden leírná...
(A működést értem, de lényeget még nem látom..).
- A hozzászóláshoz be kell jelentkezni
Gondolom a wiki cikkeket már olvastad ([1], [2]). Ha buzzwordoket kellene mondani, akkor decoupling és loose coupling valósítható meg vele.
Pl.: van egy dao interface-d, adatelérési műveletekkel. Van egy pure jdbc db alapú implementációd hozzá. Akkor regisztrálod a dbdao-d példányát a DI-ben és azok az objektumok, amiknek erre van szükségük, automatikusan megkapják ezt, amikor létrejönnek. Ha cserélni akarod (mondjuk hibernate alapúra) egy másik implementációra, akkor elég ezt az egy regisztrációt lecserélni, minden ettől függő egyéb objektum innentől az újat fogja megkapni.
Régebben setter alapú injection volt az általános, de a good practice nevében ma már a konstruktor alapú injection a menő, úgyhogy ezt érdemes szem előtt tartani.
Ahogy én látom két népszerűbb van a spring meg a guice. Szvsz. tisztán a DI funkcionalitás miatt nem lehet ma már dönteni, sokat számít, hogy mi mást használsz még ezekből a frameworkokből. Én a spring-et használom, mert már akkor is használtam, amikor még nem volt guice és nincs vele semmi gondom. Az xml alapú konfigjával sincs bajom ugyanis ezzel kapok egy kész konfigurációs megoldást is (db elérések konfigurálása az ügyfélnél simán egy módosítás a spring xml-ben). Ezen kívül is sok spring alapú cuccot szoktam használni (spring security, hibernate/jpa támogatás, apache cxf, régebben spring mvc, ...).
1 DI: http://en.wikipedia.org/wiki/Dependency_injection
2 IoC: http://en.wikipedia.org/wiki/Inversion_of_control
- A hozzászóláshoz be kell jelentkezni
Köszönöm szépen. Spring-et fogok használni (Spring Security-t is).
A két cikket már olvastam illetve még többet is. Lassan majd összeáll a kép.
- A hozzászóláshoz be kell jelentkezni
Két db között kellene majd adatokat szinkronizálnom, az egyik oracle a másik meg valami a mysql,postgres,oracle hármasból.
Az egyik felén van egy kliens/szerveres app, a másikon meg amiről a topic szólna. Adatcseréről illetve néhány bináris állomány (pdf) szinkronizálásáról lenne szó. Szerintetek hogy érdemes ezt megoldani ?
A db-k feltételezzük, hogy egymástól távol vannak. Valami web service-s megoldásra gondoltam első körben, de nyitott vagyok mindenre :).
- A hozzászóláshoz be kell jelentkezni
Ennyi infóra nehéz jó ötletet adni, mert felmerülnek kérdések:
- mekkora adatmennyiséggel kell számolni (db esetén táblák, sorok száma, bináris esetén fájlok mennyisége és mérete)
- milyen gyakran kell szinkronizálni
- mit értünk szinkronizálás alatt: mindkét rendszerben egymástól függetlenül változhatnak az adatok és ezért két irányba kell szinkronizálni vagy az egyik csak backup
- az egymástól távol mit jelent: az interneten keresztül megy a kapcsolat?
(Kevésbé érdekes: a CRUD-ból minden játszik (insert, update, delete)? Táblák autoincrementesek? DB szerkezetet is kell szinkronizálni?)
Néhány általános javaslat a megoldáshoz (ettől létezhetnek optimálisabb megoldások is a fenti kérdésekre adott válaszok függvényében):
- szerver oldalra springes webalkalmazás amiben van egy apache cxf-es soap szolgáltatás
- kliens oldalon parancssoros spring app amiben ugyancsak cxf-fel könnyen elintézhető a soap rész
- ha a kapcsolat az internet akkor mindenképpen, de amúgy sem árthat, https + autentikáció kell (WS-security)
- bináris fájlokról fájlméret, hash, utolsó módosítás dátuma adatbázis fenntartása, szinkronizálás ezen infók alapján (hogy változott -e egy fájl)
- mivel több db is lehetséges jpa-t (egész pontosan hibernatet) javaslok a db kezeléshez
- A hozzászóláshoz be kell jelentkezni
Nyilván általános megoldás nehéz adni. Néhány dolgot pontosítanék.
- adatmennyiség naponta néhány Mb, havonta egyszer néhány tíz Mb.
- a fájlokat havonta kell A-ról B-re eljuttatni
- az egyéb adatokat naponta néhányszor A és B között két irányban.
- nem, nem backupról van szó, hanem B reprezentál egy bizonyos adatkört A-ból, amit néha, megfelelő szabályok alapján kell szinkronizálni illetve eljuttatni egyik helyről a másikra (ott egy ember vagy egy algortimus már eldönti mi legyen vele).
- CRUD játszik, törölni nem nagyon kell
- a táblák egy része még nincs meg más részük nem autoinkrementes
DB szerkezetet nem szinkronizálunk csak rekordokat
Apache CFX, SOAP volt az első gondolatom. Szerver oldalon a Springes webapp adott lesz :).
A kapcsolatnál intranetes és internetes kapcsolatot egyaránt feltételezni kell, így SSL mindenképp illetve a web service auth is játszik.
A fájlok esetén elég lesz egy hash illetve egy timestamp, hogy mikoriak. Mivel itt kizárólag A-ból B-be vándorolnak a cuccok. Ezeket BLOB-ba kell majd raknom, a fájlrendszer itt szerintem nem lenne nyerő.
Megnyugtató, hogy nem lövök annyira mellé az elképzeléseket illetően.. :)
- A hozzászóláshoz be kell jelentkezni
Így nem néz ki vészesnek a dolog. Pár szvsz megjegyzés:
- van már ötleted arra, hogy hogyan fogod kiszűrni az új/módosult/törölt sorokat? Ha van timestamp a sorokon akkor lenne talán a legegyszerűbb.
- "az egyéb adatokat naponta néhányszor A és B között két irányban", ezt azért majd pontosítani kell nehogy instant replikációt értsenek alatta :)
- sok új technológiát szándékozol használni, általában projektenként jó ha 1-2 újat szokott az ember bevezetni, úgyhogy ezek megismerésére szánj plusz időt
- A hozzászóláshoz be kell jelentkezni
Így nem néz ki vészesnek a dolog. Pár szvsz megjegyzés:
- van már ötleted arra, hogy hogyan fogod kiszűrni az új/módosult/törölt sorokat? Ha van timestamp a sorokon akkor lenne talán a legegyszerűbb.
Még nincs lebontva a projekt ennyire részletesen. Ezzel szerintem nem lesz gond. Az adatmódosítások egyoldalúak lesznek. Ha B-n valami módosul, akkor az triggerel egy kérelmet, megtörténik a szinkronizálása B-ről A-ra, majd A dönt, hogy jóváhagyja e. Ha igen, akkor ack-ot küld B-nek, hogy rendben. A-ról B-re küldött adatok esetén pedig B meglátja mit küldött A, de nem piszkálhat bele, mivel ezek read only dolgok (adatközlés, információ.)
- "az egyéb adatokat naponta néhányszor A és B között két irányban", ezt azért majd pontosítani kell nehogy instant replikációt értsenek alatta :)
Semmiképp. Én határozom meg a gyakoriságot illetve a módszert is. Az ügyfél meg használja.
- sok új technológiát szándékozol használni, általában projektenként jó ha 1-2 újat szokott az ember bevezetni, úgyhogy ezek megismerésére szánj plusz időt
Hát igen. Ez az egyik fájó pont. Arra gondoltam, h inkább két héttel több szívás, de legyen rendesen kitalálva és végrehajtva a projekt.
Nem cél a bleeding edge technológiák hajhászása, de mivel idegen területre léptünk ezért minden új.
Amúgy erősségem a helyzet gyors átlátása :). Ami viszont megnyugtató, hogy közel húsz év fejlesztői múlttal még mindig vannak olyan eszközök, megoldások vagy feladatok, amik hihetetlenül inspirálnak. Szóval kis lépés az embernek, hosszúlépés meg nekem ;) és mindenkinek aki hozzáértő és segítő szándékkal ellát információkkal.
- A hozzászóláshoz be kell jelentkezni
Mint kevesse hozzaerto kerdezem: feltetlen kell spring + cxf? Sima JAX-WS nem lenne eleg?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Mint abszolút hozzá nem értő :), fogalmam sincs. Nem tudom melyik lightweight melyik sem. Egyelőre csak van egy ötletem, hogy lehetne megoldani. Az eszköz az kérdéses még..
- A hozzászóláshoz be kell jelentkezni
Mint abszolút hozzá nem értő :), fogalmam sincs.
Ha csak gépek lesznek a játékban emberek nélkül, akkor elég a JAX-WS. Ha emberek is akarják használni (szép webes felület etc.), akkor használj spring-et is.
Nem olvastam az egész topic-ot, de úgy érzem eléggé képbe kerültem ahhoz, hogy beledumáljak.
A framework legyen spring-es. Én mindenképp a hármas spring-et javasolnám.
A spring web mvc-t gyönyörűen lehet annotációkon keresztül konfigurálni (@RequestMapping).
A gép-gép kommunikációhoz pedig JAX-WS-t ajánlok. Szintén gyerekjáték annotációval létrehozni a szolgáltatásokat (@WebService).
A maven is remek döntés, tanuld meg használni a különböző package type-okat (legalább az alapokat: JAR, WAR, EAR). Nagyon hasznos lehet a jövőben bármelyik projekt-nél.
Alkalmazás szervernek mindegy mit használsz. A fenti kombinációt egy mezei web container is kezeli (akár egy jetty is elég). Természetesen ha kinövi a rendszered a terét, akkor érdemes egy könnyen clusterezhető megoldást választani (a legtöbb AS erre is ad támogatást).
- A hozzászóláshoz be kell jelentkezni
Lehet, hogy elég, végül is a Java6-ban benne van. Nincs vele tapasztalatom, mert amikor legutoljára néztem nem találtam olyan példát, hogy a JAX-WS szolgáltatásomat sima war-ként összecsomagolva bedobhatom egy tetszőleges (nem módosított) servlet container-be (2.5+), ami egy tetszőleges (nem feltétlen sun-os) jdk-n fut (5+) és működni fog. CXF-fel meg ezt megkapom.
- A hozzászóláshoz be kell jelentkezni
A tetszoleges kontener mehet, a sunos JDK meg eleg sok platformon megvan ahhoz, hogy ne legyen akadlay.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant. | Gentoo Portal
- A hozzászóláshoz be kell jelentkezni
Ez tényleg attól függ mennyire tudod kontrollálni a cél környezetet. A munkám során nekem sok megrendelő sok környezetével volt már dolgom és sokszor már meglévő infrastruktúrához kell igazodni (OS, DB, servlet container - AS, JDK mindenféle kombinációban és így volt köztük ibm és jrockit jdk is). Nekem ezért fontos, hogy mindent a war-ból tudjak intézni valóban platform független módon.
- A hozzászóláshoz be kell jelentkezni