270 likes | 416 Views
Die Grazer E-Government Plattform Version 2.0 Technischer (pre)View http://egov.graz.gv.at. Inhalt. Inhalt. Ziele Entwicklung des Geschäftsmodells (neue) Systemarchitektur Business Process Engine Projektstruktur Entwicklungsumgebung Ausblick. Die Ziele von 2.0.
E N D
Die Grazer E-Government Plattform Version 2.0 Technischer (pre)View http://egov.graz.gv.at
Inhalt Inhalt • Ziele • Entwicklung des Geschäftsmodells • (neue) Systemarchitektur • Business Process Engine • Projektstruktur • Entwicklungsumgebung • Ausblick
Die Ziele von 2.0 • Konsolidierung der Plattform • Technisch (und funktional) • Neue (weiterentwickelte) Architektur • Für verbesserte softwaretechnische Qualität • Einführung neuer Technologien • Entfernung unliebsamer Technologien • Basis für • eGraz • eGovernet
Die konkreten Ziele • Spring Application Framework • Bessere (feingranular) Gliederung in Subprojekte (Artifakte) • Entfernung von EJB 2.1 • Besonders Entity Beans • Java 5, Testbarkeit • Neue JBoss AS version • Definierter Stand zur Weiterentwicklung • Fortschritt: der Grundstein ist gelegt
Die Architektur • Evolution der (guten) bestehenden Architektur • Treibender Faktor • BPE (jBPM) als integraler Bestandteil • Das sich ändernde Business Modell änderte die Architektur Anforderungen
XML XML web frontend System Architecture BPE (jBPM) externalservices internalservices domain services backend (transaction) domainmodel
https://alambra.fh-joanneum.at/svn/transfer/egraz/trunk/egraz2/egraz.build/resources/processes/2.0/Test_Process.xmlhttps://alambra.fh-joanneum.at/svn/transfer/egraz/trunk/egraz2/egraz.build/resources/processes/2.0/Test_Process.xml
Prozessdefinition • State nodes • Automatische Aktionen • Ausführung und Transition zum nächsten Element • Implement EGPAction (command pattern) • SpringEGPActionHandler (state-name = bean name) • Task nodes • Asynchrone Ausführung (menschliche Interaktion) • z.B. Payment • „Tool“ zur Erledigung notwendig (web sites) • Workdesk für den Bürger • Dynamisch erweiterbar • Rückkehr vom Backend?
Administration • Prozess Definitionen erstellen/warten • Eclipse plugin (graph + xml) • /svn/transfer/egraz/trunk/egraz2/egraz.build/resources/processes/ • Web Administrationsoberfläche • Upload Process definition • Zuordnung (ProcDef <> Formular • ProcedureProcessMappingBean • ProcessMappingService • http://egov.graz.gv.at/admin/procedure-process-mapping.jsf
Projektstruktur - Infrastruktur • Reengineering der Projektstruktur • Kleinere Artefakte -> schnellerer build Prozess • Aufarbeitung der Dependencies • egraz.build • Maven multiproject base, resourcen (doc, prozesse) • egraz.ear • Assembly application ear • egraz.infrastructure (jar) • Gemeinsame Basis Infrastruktur • Spring AppContext, Konfiguration (commons-config), utils
Projektstruktur – core (business) • egraz.actions.ejb • EJB Action Implementierungen • egraz.bpe (jar) • Repräsentation und Abstraktion der BPE • Interfaces und unabhängige Logik (EGPController) • Taskmanagement, BPE Administration • egraz.jbpm (jar) • BPE Implementierung durch jBPM • egraz.domain (ejb) • Domain model (Datenmodell) • Enity Beans -> Hibernate
Projektstruktur – core (business) • egraz.domain.services (ejb) • Service Layer um das domain model • SLSBs -> Pojo Services • FunctionFacade, PaymentFacade, PortalService • egraz.etc (jar) • Allgemeine Dienste (TextTemplates, einfache Validation) • egraz.notification (ejb) • „Altes“ Notification System • E-Mailing, ELAK Rückmeldung, elek. Bescheid • Ablösung durch Message System geplant
Projektstruktur – core (business) • egraz.payment (jar) • Actions und Utils für E-Payment, Pricing, SAP Export • egraz.verification (jar) • SZR, ZMR Abstraktion
Projektstruktur - Integration • egraz.comm (jar) • „Neues“ Kommunikationsmodul (Nachrichten im System) • egraz.integration (jar) • Email, EPS, moass • egraz.szr (jar) • SZR-Webservice Zugriff („generierter“ Axis stub) • egraz.zmr (jar) • ZMR-Webservice Zugriff („generierter“ Axis stub) • egraz.tx (ejb) • Transaktion Layer (Backend Anbindung) • Email, ELAK, WebService (Lenkererhebung)
Spring Details • Spring 2.0 • Spring IoC Container managet alle Abhängigkeiten • Jedes Projekt: /src/resources/spring/{projname}.beans.xml • egraz.infrastructure • Spring backbone • SpringServiceLocator (manual lookup) • Zusammengesetzter Application Context • Web Integration • Child application context fürs Web • JSF – managed bean integration • Struts Actions integration (
Server Konfiguration • Ziel: Umstellung auf neue JBoss AS Version • 4.04 GA -> Unmöglich • 4.03 SP1 -> „OK“ • 4.05 GA -> ? • JBoss ClassLoader from Hell • Class loading isolation • Parallele Versionen von Libraries • Reorganisation (Säubern) der Abhängigkeiten • Bedingt Erfolgreich
Entwicklungsumgebung • Maven 1.02 • Eigenes Plugin zum EAR-Buildmaven plugin:download -DartifactId=maven-ear-dependency-plugin -DgroupId=ima -Dversion=0.1 • Maven –d egraz.build erstellt alles • Maven –d egraz.ear deploy deployd ear in Jboss • Subversion • https://alambra.fh-joanneum.at/svn/transfer/egraz • /trunk/egraz2 -> Hauptast • Bugzilla (Bug & issue tracking) • https://alambra.fh-joanneum.at/bugzilla
Entwicklungsumgebung • Eclipse 3.2 • Eclipse Plugins • Subversion plugin http://subclipse.tigris.org/update_1.0.x • Mevenide http://mevenide.codehaus.org/release/eclipse/update/site.xml • SpringIde http://springide.org/updatesite • jBPM (Teil von jbossIDE) http://download.jboss.org/jbosside/updates/stable • World of Java, Jode, AJDT, WebTools usw. • JBoss AS 4.0.3 SP1
Todos – geplante Änderungen • AFS 1.3 Update • Axis / MoaSPSS Probleme lösen • Fehler-Management (für Bürger) • Entity Beans -> Hibernate • Session Beans -> Pojo Services (Spring) • jBPM / Hibernate Session Management/Demarcation • Maven 2.0, Continuous Integration • (Unit)Testbarkeit verbessern
Versionen • JBoss Application Server 4.03 SP1 • Tomcat 5.5.9 • J2EE 1.4, Enterprise Java Beans 2.1 • Spring Framework 2.0 • Hibernate 3.1 • jBPM Business Process Engine 3.1 • AFS – Anecon Form Solutions 1.2.3 -> 1.3 • Eclipse 3.2 • Maven 1.02 • JSF / Myfaces 1.09, Struts 1.2.8, Servlet API 2.4
Kontakt DI (FH) David Ferbas Studiengang Informationsmanagement FH JOANNEUM Gesellschaft mbH Alte Poststraße 147, 8020 Graz Tel: +43 (316) 5453-8529, David.ferbas@fh-joanneum.at, www.fh-joanneum.at DI Barbara Meyer Leiterin E-Government Magistratsdirektion Graz - Informationsmanagement Schmiedgasse 26, 8010 Graz Tel: +43 (316) 872-2418, barbara.meyer@stadt.graz.at, www.graz.at DI Peter Salhofer Studiengang Informationsmanagement FH JOANNEUM Gesellschaft mbH Alte Poststraße 147, 8020 Graz Tel: +43 (316) 5453-8518, peter.salhofer@fh-joanneum.at, www.fh-joanneum.at