1 / 117

ADF Development More tales from the trenches

NAAM. ADF Development More tales from the trenches. Aino Andriessen AMIS Services. Systems integrator Co-sourcing Maintenance Oracle, Java, Open Source, ADF, DBA, SOA AMIS technology school Pagoni http://www.amis.nl http://technology.amis.nl/blog/. Aino Andriessen.

pooky
Télécharger la présentation

ADF Development More tales from the trenches

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NAAM ADF DevelopmentMore tales from the trenches Aino Andriessen AMIS Services

  2. Systems integrator • Co-sourcing • Maintenance • Oracle, Java, Open Source, ADF, DBA, SOA • AMIS technology school • Pagoni • http://www.amis.nl • http://technology.amis.nl/blog/

  3. Aino Andriessen • Technical Consultant • Technical Architect • Java, ADF, PL/SQL, XML, ... • SOA , Integration • Software engineering • Quality management • Agile development • aino.andriessen@amis.nl • http://www.fttech.net

  4. Let's build an ADF application to...

  5. experience the development process and...

  6. to build better ADF applications...

  7. Better ?!

  8. Stakeholders customer developer maintenance project lead

  9. better according to... Customer Fully functional Within budget On time

  10. better according to... Project lead Within budget Functional Big

  11. better according to... Developer Organized Fully Featured Stable

  12. better according to... Maintenance Easy to maintain Stable Secure

  13. better according to... Girlfriend Not being late Happy Still have some energy left

  14. How can we make better ADF applications?

  15. Knowledge creates good software A professional attitude creates better software

  16. 5 essentials • Communication • Responsibility • Knowledge • Organization • Fun

  17. Let's start coding...

  18. Sorry, not yet...

  19. Organization... • Project • Development process • Skills • Project structure (file structure) • Code • Design and Architecture • Documentation • Communication • Infrastructure

  20. Software factory

  21. A software factory is a professional way of working supported by tools

  22. Documentation site Source control Tests Developer 2 Developer 2 Inspection Developer 2 Developer Reports Documentation Library Build automation Issue reports Corporate Library Custom Delivery environments Production Public Library Acceptance Test Issue management Integration Development

  23. Can we now start coding?

  24. Almost...

  25. Development principles

  26. Focus on functionality

  27. Code for the future

  28. Refactor without fear

  29. Deploy with joy

  30. separation of concerns

  31. OK, wake up and let's get to business... Demo time...

  32. Build an ADF - JHeadstart application • Address common and not so common issues • ADF 10g • Some 11g

  33. Demo • Regatta Management System • Application to support sailing regatta's. • maintain regatta's • registration • enter racing data • results

  34. Development Goal • Match implementation against stakeholders' concerns : • Functional • Maintainable • Stable • Budget • Organized • Fun • . . .

  35. Business Logic

  36. Business Logic implementation • Business Logic can be implemented at many locations • ADF Faces components • Managed beans • Backing beans • EL-expressions • Attributes • Service methods • VO's • Attributes : transient, calculated • Methods • Entities • Attributes • Validators • Database • Constraints • Views • Stored procedures • ...

  37. The (ADF) challenge • Consistent and comprehensible implementation of business logic.

  38. Functional design

  39. FD • Requirements • Maintain regatta information • Allow sailors / boats to enter a regatta. • Register skipper and captain (owner) with some personal details • Schedule racings • Easy registration of race details, only by certain people • Publish results • Nice look and feel • Easy to use • Handle handicap system • Business rules • Participant, skipper, must be older than 18 • Same boat may enter only once • Finishtime after starttime • Participant can have only one result • It should be able to reset the finish of a participants, in case of error • Register if the boat didn't start or finish, using the common codes like DNF, DNS, DSQ etc. • Extra information about this situation must be entered • Races cannot be scheduled at the same time

  40. Functions / Use cases • Maintain regatta's • Register for a regatta • Enter racing data • Publish results • Supportive functions

  41. Design and Architecture

  42. ADF 'architecture' • ADF applications tend to evolve instead of being designed. • Viewobjects are created when needed • Managed beans are created as needed • Application Modules function merely as a service-hatch • ADF doesn't force you into an organized application, except maybe the model and viewController. • ADF offers multiple solutions for the same problem and in the end all of them will eventually appear in the application. JBF

  43. ADF architecture ADF Faces ADF model (binding) ADF BC Database

  44. ADF architecture ADF Faces Managed beans ADF model (binding) ADF BC Application Modules ViewObjects Objects Entities Database Stored Procedures Views Tables

  45. Application Integration ADF Application Webservices Database Files Notification Messaging

  46. Service Architecture

  47. Function / Use Case approach • The application module, the service, is the core of the application • Each function / use case is implemented as a service. • Services can be nested

  48. ADF architecture ADF Faces Webservices ADF model (binding) Service Service Service Service Service ADF BC Webservices Database Files Notification Messaging

  49. Define the Services (Application Modules) first.

  50. RMS Services

More Related