Enterprise-utvikling med Seam og JBPM
185773b2-42f8-4532-953c-59d9736823c1
|
Presentation |
Abstract:
Mario Aparicio og Eirik R. Larsen fra Ciber presenterer erfaringer med bruk av webrammeverket Seam og prosessmotoren jBPM.
VRVask er et system utviklet av CIBER Norge for validering, manuell korrigering, og rapportering av store antall banktransaksjoner. Systemet er todelt og består av en batch-applikasjon og en web-applikasjon som kommuniserer gjennom en felles database.
For utvikling av web-applikasjonen ble webrammeverket Seam valgt. Bakgrunnen for dette valget er Seams abstraksjon av request / response modellen og støtte for lange brukerinteraksjoner, conversations. Batch-delen av løsningen ble utviklet som en standard Java-applikasjon med Spring og Hibernate.
Vi opplevde Seam som et godt valg av rammeverk for web-løsningen da det gav enkel integrasjon mellom webgrensesnitt, domene og database. På enkelte områder støtte vi imidlertid på utfordringer som muligens kunne vært løst bedre med andre rammeverk.
I utviklingen av batch-løsningen var Spring og Hibernate velegnede rammeverk for håndtering av database og dependency-injection. Derimot fikk vi problemer med håndtering av tilstandslogikk i batch-prosessen. Kompleksiteten ble undervurdert, og vi endte opp med å lagre tilstand i databasen og håndtere all tilstandslogikk programmatisk. Løsningen ble derfor vanskelig å utvikle og vedlikeholde. Etter å ha analysert problemene i batch-løsningen så vi at en prosessmotor med fordel kunne brukes for å håndtere tilstand. Vi valgte å se på prosessverktøyet jBPM da dette er et mye utprøvd verktøy som fungerer bra i et Java-miljø. jBPM er i tillegg godt integrert med andre JBoss-produkter som Hibernate og Seam.
I presentasjonen beskriver vi positive og negative erfaringer med Seam i prosjektet og drøfter når det er fornuftig å bruke dette rammeverket fremfor andre web-rammeverk. Videre presenterer vi hvilke fordeler vi kan oppnå ved å bruke jBPM, og hvilke alternativer man har når man skal innføre et slikt verktøy i tilstandsfulle applikasjoner. Til slutt vil vi fremføre eksempler fra opprinnelig løsning og løsning med jBPM.
Outline:
- Introduksjon
- Presentasjon av nåværende løsning
- Forklare applikasjon og arkitektur
- Forklare hvordan Seam brukes i web-applikasjonen
- Hva fungerte og hva fungerte ikke
- Forklare hvordan batch-applikasjonen er implementert
- Problemer med applikasjonen
- Presentasjon av utvidelse: jBPM
- Hvilke fordeler gir et prosessverktøy som jBPM gir
- Alternative strategier ved bruk av et prosessverktøy
- Forklare hvordan jBPM integreres med applikasjonen
- Eksempel:
- Vise demo av opprinnelig applikasjon
- Vise eksempler med jBPM
Required experience:
Grunnleggende forståelse av Java EE utvikling.
Expected audience:
Utviklere med interesse for enterprise- utvikling og arkitektur.
-
Mario AparicioMario is an experienced developer and architect currently working with SOA and Java development at CIBER Norway. Ciber is an acknowledged consulting company, delivering mission critical solutions with strong focus on Java, and related technologies. Mario holds a Master of Computer Science from Norwegian University of Science and Technology. His main interests are SOA Governance, Process engines, Scrum and software development on the Java platform. This is the second year Mario holds a presentation at JavaZone.
-
Eirik LarsenEirik R. Larsen works as a software engineer in Ciber Norway, an Oslo-based IT consultancy. He graduated as Master of Computer Science from the Norwegian University of Science and Technology in 2005. Eiriks main focus is Java Enterprise-related technologies such as JSF, Hibernate, Seam and EJB.



Intermediate
Enterprise application development and integration