Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Java enterprise real world

1,101 views

Published on

Oracle Java Developer Day
Bucharest
20 October 2011

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Java enterprise real world

  1. 1. Advantage Software Factory Java Enterprise in the Real World NextReports Octombrie, 2011Advantage Software Factory www.asf.ro
  2. 2. Agenda Despre noi Arhitectură aplicaţie de tip enterprise Arhitectură creare artefacte NextReports Frameworks Modalităţi de integrare Demo ConcluziiAdvantage Software Factory www.asf.ro
  3. 3. Despre noi Advantage Software Factory firmă românească înfiinţată în 2001 4 linii de afaceri: Sistemul de colectare Capone Suita de aplicaţii AnytimeCRM Software-ul de raportare NextReports Dezvoltarea de soluţii la cererea clientului Prezentare Decebal Şuiu, Senior Java Developer Mihai Dincă-Panaitescu, Senior Java DeveloperAdvantage Software Factory www.asf.ro
  4. 4. Arhitectură aplicaţie enterpriseAdvantage Software Factory www.asf.ro
  5. 5. Arhitectură creare artefacteAdvantage Software Factory www.asf.ro
  6. 6. NextReports Suită de aplicaţii Java pentru crearea şi distribuirea de rapoarte în mediul enterprise Designer gratuit de rapoarte Engine (API) gratuit pentru rularea rapoartelorAdvantage Software Factory www.asf.ro
  7. 7. NextReports Enterprise Server - centralizare - administrare - rulare programată automată - distribuţie - versionare - istoric - monitorizare - securitate - vizualizare in timp real - analizăAdvantage Software Factory www.asf.ro
  8. 8. NextReports: aplicaţie enterpriseAdvantage Software Factory www.asf.ro
  9. 9. NextReports: creare artefacteAdvantage Software Factory www.asf.ro
  10. 10. Spring Injectare dependinţe (DI) Tranzacţii Simplificare acces la storage Securitate AOP Configurabilitate: servicii, UIAdvantage Software Factory www.asf.ro
  11. 11. Spring public class ReportServiceImpl implements ReportService { private StorageDao storageDao; @Required public void setStorageDao(StorageDao storageDao) { this.storageDao = storageDao; } @Transactional(readOnly = true) @Secured("AFTER_ACL_COLLECTION_READ") public List<RunReportHistory> getRunHistory() { return storageDao.getRunHistory(); } }Advantage Software Factory www.asf.ro
  12. 12. JackRabbit JCR - storage, acces si administrare de conţinut - structură de date ierarhică - versionare - control acces - căutare JackRabbit - implementare completă JCR - integrare cu Spring JCROM - framework de mapare între obiectele Java şi JCR - bazat pe adnotări (fără XML)Advantage Software Factory www.asf.ro
  13. 13. JackRabbit @JcrNode (classNameProperty="className", mixinTypes = {"mix:referenceable", "mix:versionable"}) public class Chart { @JcrProperty private String description; @JcrReference private DataSource dataSource; @JcrChildNode(createContainerNode = false) private ChartContent content; … }Advantage Software Factory www.asf.ro
  14. 14. Wicket POJO Uşurinţă în dezvoltare (Java + HTML) Componente reutilizabile Suport AJAX Integrare cu Spring WiQuery (JQuery)Advantage Software Factory www.asf.ro
  15. 15. Wicket ActionPanel.java public class ActionPanel extends Panel { @SpringBean private ReportService reportService; public ActionPanel(String id, final IModel<Entity> model) { add(new Label("entityId", "Id")); } } ActionPanel.html <wicket:panel> <label wicket:id="entityId">[]</label> </wicket:panel>Advantage Software Factory www.asf.ro
  16. 16. Jersey Implementare JAX-RS Oferă un API pentru apeluri REST Integrare cu SpringAdvantage Software Factory www.asf.ro
  17. 17. Jersey @Path("storage") public class StorageWebService { @InjectParam private StorageService storageService; @POST @Path("publishReport") public void publishReport(ReportMetaData reportMetaData) {..} }Advantage Software Factory www.asf.ro
  18. 18. Integrare Creare de API-uri uşor de utilizat FluentReportRunner .report(loadReport(new FileInputStream(“test.xml”))) .connectTo(connection) .withQueryTimeout(60) .withParameterValues(createParameterValues()) .formatAs(ReportRunner.HTML_FORMAT) .run(new FileOutputStream("test.html")); Procese de sincronizare Externalizarea securităţii Servicii WebAdvantage Software Factory www.asf.ro
  19. 19. Demo Prezentare NextReportsAdvantage Software Factory www.asf.ro
  20. 20. Concluzii Alegere framework-uri: Necesităţile de implementare Funcţionalităţi Interoperabilitate cu alte framework-uri Usurinţa în utilizare ComunitateAdvantage Software Factory www.asf.ro
  21. 21. Contact Advantage Software Factory address: 169 Calea Floreasca, IPA building, 6th floor, Sect. 1, Bucharest, Romania. phone: +4 01 242 87 20 fax: +4 01 242 87 22 web: www.next-reports.com demo: demo.next-reports.com email: next-support@asf.ro decebal.suiu@asf.ro mihai.panaitescu@asf.roAdvantage Software Factory www.asf.ro

×